diff --git a/whitechapel/vendor/google/file_contexts b/whitechapel/vendor/google/file_contexts index d479face..2be72002 100644 --- a/whitechapel/vendor/google/file_contexts +++ b/whitechapel/vendor/google/file_contexts @@ -342,6 +342,7 @@ # NeuralNetworks file contexts /vendor/bin/hw/android\.hardware\.neuralnetworks@1\.2-service-armnn u:object_r:hal_neuralnetworks_armnn_exec:s0 /vendor/bin/hw/android\.hardware\.neuralnetworks@1\.3-service-darwinn u:object_r:hal_neuralnetworks_darwinn_exec:s0 +/vendor/bin/hw/android\.hardware\.neuralnetworks@service-darwinn-aidl u:object_r:hal_neuralnetworks_darwinn_exec:s0 # GRIL /vendor/bin/hw/vendor\.google\.radioext@1\.0-service u:object_r:hal_radioext_default_exec:s0 diff --git a/whitechapel/vendor/google/hal_neuralnetworks_darwinn.te b/whitechapel/vendor/google/hal_neuralnetworks_darwinn.te index 5bfbd02a..88a24db9 100644 --- a/whitechapel/vendor/google/hal_neuralnetworks_darwinn.te +++ b/whitechapel/vendor/google/hal_neuralnetworks_darwinn.te @@ -30,3 +30,6 @@ allow hal_neuralnetworks_darwinn proc_version:file r_file_perms; allow hal_neuralnetworks_darwinn fwk_stats_service:service_manager find; binder_call(hal_neuralnetworks_darwinn, system_server); binder_use(hal_neuralnetworks_darwinn) + +# TPU NNAPI to register the service to service_manager. +add_service(hal_neuralnetworks_darwinn, edgetpu_nnapi_service); diff --git a/whitechapel/vendor/google/priv_app.te b/whitechapel/vendor/google/priv_app.te index aed639f7..a1bb0cce 100644 --- a/whitechapel/vendor/google/priv_app.te +++ b/whitechapel/vendor/google/priv_app.te @@ -1,6 +1,9 @@ # Allows privileged applications to discover the EdgeTPU service. allow priv_app edgetpu_service:service_manager find; +# Allows privileged applications to discover the NNAPI TPU service. +allow priv_app edgetpu_nnapi_service:service_manager find; + # Allows privileged applications to access the EdgeTPU device, except open, # which is guarded by the EdgeTPU service. allow priv_app edgetpu_device:chr_file { getattr read write ioctl map }; diff --git a/whitechapel/vendor/google/service.te b/whitechapel/vendor/google/service.te index d775ff08..c47e63f9 100644 --- a/whitechapel/vendor/google/service.te +++ b/whitechapel/vendor/google/service.te @@ -3,3 +3,4 @@ type uwb_vendor_service, service_manager_type, vendor_service; type touch_context_service, service_manager_type, vendor_service; type hal_uwb_service, service_manager_type, vendor_service; type edgetpu_vendor_service, service_manager_type, vendor_service; +type edgetpu_nnapi_service, app_api_service, service_manager_type, vendor_service; diff --git a/whitechapel/vendor/google/service_contexts b/whitechapel/vendor/google/service_contexts index 47b01ba4..4ce5c1bc 100644 --- a/whitechapel/vendor/google/service_contexts +++ b/whitechapel/vendor/google/service_contexts @@ -2,6 +2,9 @@ com.google.edgetpu.IEdgeTpuService/default u:object_r:edgetpu_service:s0 com.google.edgetpu.IEdgeTpuVendorService/default u:object_r:edgetpu_vendor_service:s0 +# TPU NNAPI Service +android.hardware.neuralnetworks.IDevice/google-edgetpu u:object_r:edgetpu_nnapi_service:s0 + com.google.hardware.pixel.display.IDisplay/default u:object_r:hal_pixel_display_service:s0 com.google.input.ITouchContextService/default u:object_r:touch_context_service:s0 uwb_vendor u:object_r:uwb_vendor_service:s0