1# evs reference hardware driver service
2hal_server_domain(hal_evs_driver, hal_evs)
3hal_client_domain(hal_evs_driver, hal_evs)
4
5# allow init to launch processes in this context
6type hal_evs_driver_exec, exec_type, file_type, vendor_file_type;
7init_daemon_domain(hal_evs_driver)
8binder_use(hal_evs_driver)
9
10# Allow use of USB devices, gralloc buffers, and surface flinger
11allow hal_evs_driver device:dir { open read };
12allow hal_evs_driver video_device:chr_file rw_file_perms;
13hal_client_domain(hal_evs_driver, hal_graphics_allocator);
14hal_client_domain(hal_evs_driver, hal_graphics_composer)
15hal_client_domain(hal_evs_driver, hal_configstore)
16
17# Allow the driver to access EGL
18allow hal_evs_driver gpu_device:chr_file rw_file_perms;
19allow hal_evs_driver gpu_device:dir search;
20
21# Allow the driver to use SurfaceFlinger
22binder_call(hal_evs_driver, surfaceflinger);
23allow hal_evs_driver surfaceflinger_service:service_manager find;
24allow hal_evs_driver ion_device:chr_file r_file_perms;
25
26# Allow the driver to access kobject uevents
27allow hal_evs_driver self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
28
29# Allow the driver to use automotive display proxy service
30allow hal_evs_driver automotive_display_service_server:binder call;
31allow hal_evs_driver fwk_automotive_display_hwservice:hwservice_manager find;
32allow hal_evs_driver automotive_display_service:fd use;
33