blob: 0162ceb065812d49eddcadcb4531c23b21bebdd8 [file] [log] [blame]
type hal_neuralnetworks_darwinn, domain;
hal_server_domain(hal_neuralnetworks_darwinn, hal_neuralnetworks)
type hal_neuralnetworks_darwinn_exec, exec_type, vendor_file_type, file_type;
init_daemon_domain(hal_neuralnetworks_darwinn)
# DarwiNN Hidl service.
add_hwservice(hal_neuralnetworks_darwinn, hal_darwinn_hwservice)
# The TPU HAL looks for TPU instance in /sys/class/abc-pcie-tpu/.
allow hal_neuralnetworks_darwinn sysfs:dir { open read };
# And opens the device at /dev/abc-pcie-tpu_0.
allow hal_neuralnetworks_darwinn abc_tpu_device:chr_file { getattr ioctl map open read write };
# Allow opening airbrush devices (DRAM and DMA drivers).
allow hal_neuralnetworks_darwinn airbrush_device:chr_file rw_file_perms;
allow hal_neuralnetworks_darwinn hal_airbrush_hwservice:hwservice_manager find;
# Allow DawrinNN service to use a client-provided fd residing in /vendor/etc/.
allow hal_neuralnetworks_darwinn vendor_configs_file:file { read getattr map };
allow hal_neuralnetworks_darwinn airbrush_tpu_service:service_manager find;
binder_call(hal_neuralnetworks_darwinn, airbrush)
vndbinder_use(hal_neuralnetworks_darwinn)
# Allows DarwiNN HAL to talk to Power HAL.
hal_client_domain(hal_neuralnetworks_darwinn, hal_power);
# Allow DarwiNN HAL to talk to stats service, and to make binder calls to it.
allow hal_neuralnetworks_darwinn fwk_stats_hwservice:hwservice_manager find;
binder_call(hal_neuralnetworks_darwinn, stats_service_server)
# Allow DarwiNN HAL full access to its shared files with Camera HAL.
allow hal_neuralnetworks_darwinn hal_neuralnetworks_darwinn_hal_camera_data_file:file create_file_perms;
allow hal_neuralnetworks_darwinn hal_neuralnetworks_darwinn_hal_camera_data_file:dir rw_dir_perms;