1type chre, domain;
2type chre_exec, vendor_file_type, exec_type, file_type;
3init_daemon_domain(chre)
4
5# Permit communication with AoC
6allow chre aoc_device:chr_file rw_file_perms;
7
8# Allow CHRE to determine AoC's current clock
9allow chre sysfs_aoc:dir search;
10allow chre sysfs_aoc_boottime:file r_file_perms;
11
12# Allow CHRE to create thread to watch AOC's device
13allow chre device:dir r_dir_perms;
14
15# Allow CHRE to use the USF low latency transport
16usf_low_latency_transport(chre)
17
18# Allow CHRE to talk to the WiFi HAL
19allow chre hal_wifi_ext:binder { call transfer };
20allow chre hal_wifi_ext_hwservice:hwservice_manager find;
21allow chre hal_wifi_ext_service:service_manager find;
22
23# Allow CHRE host to talk to stats service
24allow chre fwk_stats_service:service_manager find;
25binder_call(chre, stats_service_server)
26
27# Allow CHRE to use WakeLock
28wakelock_use(chre)
29
30# Allow CHRE to block suspend, which is required to use EPOLLWAKEUP.
31allow chre self:global_capability2_class_set block_suspend;
32