Add support for dba hal in common edgetpu packages
Previously supported in some cases. Now extend it to all common cases Bug: 263394888 Test: Built and ran DBA Hal on Android Device Change-Id: I9a5c6a6c8d8b6c23a7d86678ecae57a9f0bcdf7a
This commit is contained in:
parent
ca14af53f7
commit
810349517a
@ -19,5 +19,9 @@ PRODUCT_PACKAGES += \
|
|||||||
# TPU TFlite Delegate
|
# TPU TFlite Delegate
|
||||||
PRODUCT_PACKAGES += \
|
PRODUCT_PACKAGES += \
|
||||||
libedgetpu_util
|
libedgetpu_util
|
||||||
|
# TPU DBA AIDL HAL service
|
||||||
|
PRODUCT_PACKAGES += com.google.edgetpu.dba-service
|
||||||
|
# TPU DBA C API library
|
||||||
|
PRODUCT_PACKAGES += libedgetpu_dba.google
|
||||||
|
|
||||||
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/edgetpu/sepolicy
|
BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/edgetpu/sepolicy
|
||||||
|
38
edgetpu/sepolicy/edgetpu_dba_service.te
Normal file
38
edgetpu/sepolicy/edgetpu_dba_service.te
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
# EdgeTPU DBA service.
|
||||||
|
type edgetpu_dba_server, domain;
|
||||||
|
type edgetpu_dba_server_exec, exec_type, vendor_file_type, file_type;
|
||||||
|
init_daemon_domain(edgetpu_dba_server)
|
||||||
|
|
||||||
|
# The vendor service will use binder calls.
|
||||||
|
binder_use(edgetpu_dba_server);
|
||||||
|
|
||||||
|
# The vendor service will serve a binder service.
|
||||||
|
binder_service(edgetpu_dba_server);
|
||||||
|
|
||||||
|
# EdgeTPU DBA service to register the service to service_manager.
|
||||||
|
add_service(edgetpu_dba_server, edgetpu_dba_service);
|
||||||
|
|
||||||
|
# Allow EdgeTPU DBA service to look for TPU instance in /dev/edgetpu or /dev/edgetpu-soc.
|
||||||
|
allow edgetpu_dba_server edgetpu_device:chr_file rw_file_perms;
|
||||||
|
|
||||||
|
# Allow EdgeTPU DBA service to request power hints from the Power Service.
|
||||||
|
hal_client_domain(edgetpu_dba_server, hal_power)
|
||||||
|
|
||||||
|
# Allow EdgeTPU DBA service to access hardware buffers and ION memory.
|
||||||
|
allow edgetpu_dba_server hal_allocator:fd use;
|
||||||
|
allow edgetpu_dba_server hal_graphics_mapper_hwservice:hwservice_manager find;
|
||||||
|
allow edgetpu_dba_server hal_graphics_allocator:fd use;
|
||||||
|
allow edgetpu_dba_server gpu_device:chr_file rw_file_perms;
|
||||||
|
allow edgetpu_dba_server gpu_device:dir r_dir_perms;
|
||||||
|
allow edgetpu_dba_server ion_device:chr_file r_file_perms;
|
||||||
|
|
||||||
|
# Allow EdgeTPU DBA service to read the overcommit_memory info.
|
||||||
|
allow edgetpu_dba_server proc_overcommit_memory:file r_file_perms;
|
||||||
|
|
||||||
|
# Allow EdgeTPU DBA service to read the kernel version.
|
||||||
|
# This is done inside the InitGoogle.
|
||||||
|
allow edgetpu_dba_server proc_version:file r_file_perms;
|
||||||
|
|
||||||
|
# Allow EdgeTPU DBA service to send trace packets to Perfetto with SELinux enabled
|
||||||
|
# under userdebug builds.
|
||||||
|
userdebug_or_eng(`perfetto_producer(edgetpu_dba_server)')
|
@ -22,3 +22,5 @@
|
|||||||
/data/vendor/hal_neuralnetworks_darwinn(/.*)? u:object_r:hal_neuralnetworks_darwinn_data_file:s0
|
/data/vendor/hal_neuralnetworks_darwinn(/.*)? u:object_r:hal_neuralnetworks_darwinn_data_file:s0
|
||||||
/data/vendor/edgetpu(/.*)? u:object_r:edgetpu_vendor_service_data_file:s0
|
/data/vendor/edgetpu(/.*)? u:object_r:edgetpu_vendor_service_data_file:s0
|
||||||
|
|
||||||
|
# EdgeTPU DBA service
|
||||||
|
/vendor/bin/hw/com\.google\.edgetpu.dba-service u:object_r:edgetpu_dba_server_exec:s0
|
||||||
|
@ -7,4 +7,3 @@ allow priv_app edgetpu_nnapi_service:service_manager find;
|
|||||||
# Allows privileged applications to access the EdgeTPU device, except open,
|
# Allows privileged applications to access the EdgeTPU device, except open,
|
||||||
# which is guarded by the EdgeTPU service.
|
# which is guarded by the EdgeTPU service.
|
||||||
allow priv_app edgetpu_device:chr_file { getattr read write ioctl map };
|
allow priv_app edgetpu_device:chr_file { getattr read write ioctl map };
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
type edgetpu_nnapi_service, app_api_service, service_manager_type;
|
type edgetpu_nnapi_service, app_api_service, service_manager_type;
|
||||||
type edgetpu_vendor_service, service_manager_type, hal_service_type;
|
type edgetpu_vendor_service, service_manager_type, hal_service_type;
|
||||||
|
type edgetpu_dba_service, app_api_service, service_manager_type;
|
||||||
|
|
||||||
# EdgeTPU binder service type declaration.
|
# EdgeTPU binder service type declaration.
|
||||||
type edgetpu_app_service, service_manager_type;
|
type edgetpu_app_service, service_manager_type;
|
||||||
|
@ -5,3 +5,6 @@ android.hardware.neuralnetworks.IDevice/google-edgetpu u:object_r:edgetpu_nna
|
|||||||
|
|
||||||
# EdgeTPU service
|
# EdgeTPU service
|
||||||
com.google.edgetpu.IEdgeTpuAppService/default u:object_r:edgetpu_app_service:s0
|
com.google.edgetpu.IEdgeTpuAppService/default u:object_r:edgetpu_app_service:s0
|
||||||
|
|
||||||
|
# EdgeTPU DBA Service
|
||||||
|
com.google.edgetpu.dba.IDevice/default u:object_r:edgetpu_dba_service:s0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user