Branch zuma from gs201

Branch zuma from gs201 sha1 63751751aa91275b083797278d638078b3a0bf7a

cp/pantah/ripcurrent
cp/gs201/zuma

Bug: 229340586
Change-Id: Ie692d8dbbf0fc4d3b376dc9fe3e930bd3955a88e
Signed-off-by: Aaron Ding <aaronding@google.com>
This commit is contained in:
Aaron Ding 2022-04-15 13:18:52 +08:00
parent e4a3061192
commit e47b3d9991
199 changed files with 3343 additions and 0 deletions

21
aoc/aocd.te Normal file
View file

@ -0,0 +1,21 @@
type aocd, domain;
type aocd_exec, vendor_file_type, exec_type, file_type;
init_daemon_domain(aocd)
# access persist files
allow aocd mnt_vendor_file:dir search;
allow aocd persist_file:dir search;
r_dir_file(aocd, persist_aoc_file);
# sysfs operations
allow aocd sysfs_aoc:dir search;
allow aocd sysfs_aoc_firmware:file w_file_perms;
# dev operations
allow aocd aoc_device:chr_file rw_file_perms;
# allow inotify to watch for additions/removals from /dev
allow aocd device:dir r_dir_perms;
# set properties
set_prop(aocd, vendor_aoc_prop)

18
aoc/aocdump.te Normal file
View file

@ -0,0 +1,18 @@
type aocdump, domain;
type aocdump_exec, vendor_file_type, exec_type, file_type;
init_daemon_domain(aocdump)
userdebug_or_eng(`
# Permit communication with AoC
allow aocdump aoc_device:chr_file rw_file_perms;
allow aocdump radio_vendor_data_file:dir rw_dir_perms;
allow aocdump radio_vendor_data_file:file create_file_perms;
allow aocdump wifi_logging_data_file:dir create_dir_perms;
allow aocdump wifi_logging_data_file:file create_file_perms;
set_prop(aocdump, vendor_audio_prop);
r_dir_file(aocdump, proc_asound)
allow aocdump self:unix_stream_socket create_stream_socket_perms;
allow aocdump audio_vendor_data_file:sock_file { create unlink };
')

5
aoc/device.te Normal file
View file

@ -0,0 +1,5 @@
# AOC device
type aoc_device, dev_type;
# AMCS device
type amcs_device, dev_type;

17
aoc/file.te Normal file
View file

@ -0,0 +1,17 @@
# sysfs
type sysfs_aoc_dumpstate, sysfs_type, fs_type;
type sysfs_aoc_boottime, sysfs_type, fs_type;
type sysfs_aoc_firmware, sysfs_type, fs_type;
type sysfs_aoc, sysfs_type, fs_type;
type sysfs_aoc_reset, sysfs_type, fs_type;
type sysfs_pixelstats, fs_type, sysfs_type;
# persist
type persist_aoc_file, file_type, vendor_persist_type;
type persist_audio_file, file_type, vendor_persist_type;
# vendor
type aoc_audio_file, file_type, vendor_file_type;
# data
type audio_vendor_data_file, file_type, data_file_type;

34
aoc/file_contexts Normal file
View file

@ -0,0 +1,34 @@
# AoC devices
/dev/acd-audio_output_tuning u:object_r:aoc_device:s0
/dev/acd-audio_bulk_tx u:object_r:aoc_device:s0
/dev/acd-audio_bulk_rx u:object_r:aoc_device:s0
/dev/acd-audio_input_tuning u:object_r:aoc_device:s0
/dev/acd-audio_input_bulk_tx u:object_r:aoc_device:s0
/dev/acd-audio_input_bulk_rx u:object_r:aoc_device:s0
/dev/acd-sound_trigger u:object_r:aoc_device:s0
/dev/acd-hotword_notification u:object_r:aoc_device:s0
/dev/acd-hotword_pcm u:object_r:aoc_device:s0
/dev/acd-ambient_pcm u:object_r:aoc_device:s0
/dev/acd-model_data u:object_r:aoc_device:s0
/dev/acd-debug u:object_r:aoc_device:s0
/dev/acd-audio_tap[0-9]* u:object_r:aoc_device:s0
/dev/acd-audio_dcdoff_ref u:object_r:aoc_device:s0
/dev/acd-com.google.usf u:object_r:aoc_device:s0
/dev/acd-logging u:object_r:aoc_device:s0
/dev/aoc u:object_r:aoc_device:s0
/dev/amcs u:object_r:amcs_device:s0
# AoC vendor binaries
/vendor/bin/aocd u:object_r:aocd_exec:s0
/vendor/bin/aocdump u:object_r:aocdump_exec:s0
/vendor/bin/hw/vendor\.google\.audiometricext@1\.0-service-vendor u:object_r:hal_audiometricext_default_exec:s0
# AoC audio files
/vendor/etc/aoc(/.*)? u:object_r:aoc_audio_file:s0
# Aoc persist files
/mnt/vendor/persist/aoc(/.*)? u:object_r:persist_aoc_file:s0
/mnt/vendor/persist/audio(/.*)? u:object_r:persist_audio_file:s0
# Audio data files
/data/vendor/audio(/.*)? u:object_r:audio_vendor_data_file:s0

28
aoc/genfs_contexts Normal file
View file

@ -0,0 +1,28 @@
# AOC
genfscon sysfs /devices/platform/19000000.aoc/aoc_clock_and_kernel_boottime u:object_r:sysfs_aoc_boottime:s0
genfscon sysfs /devices/platform/19000000.aoc/firmware u:object_r:sysfs_aoc_firmware:s0
genfscon sysfs /devices/platform/19000000.aoc u:object_r:sysfs_aoc:s0
genfscon sysfs /devices/platform/19000000.aoc/reset u:object_r:sysfs_aoc_reset:s0
genfscon sysfs /devices/platform/19000000.aoc/services u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/restart_count u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/coredump_count u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/control/ring_buffer_wakeup u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/control/host_ipc_wakeup u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/control/usf_wakeup u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/control/audio_wakeup u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/control/logging_wakeup u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/control/hotword_wakeup u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/control/memory_exception u:object_r:sysfs_aoc_dumpstate:s0
genfscon sysfs /devices/platform/19000000.aoc/control/memory_votes u:object_r:sysfs_aoc_dumpstate:s0
# pixelstat_vendor
genfscon sysfs /devices/platform/audiometrics/codec_state u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/hs_codec_state u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/speaker_impedance u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/speaker_excursion u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/speaker_heartbeat u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/speaker_temp u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/mic_broken_degrade u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/codec_crashed_counter u:object_r:sysfs_pixelstats:s0
genfscon sysfs /devices/platform/audiometrics/hwinfo_part_number u:object_r:sysfs_pixelstats:s0

35
aoc/hal_audio_default.te Normal file
View file

@ -0,0 +1,35 @@
vndbinder_use(hal_audio_default)
hwbinder_use(hal_audio_default)
allow hal_audio_default audio_vendor_data_file:dir rw_dir_perms;
allow hal_audio_default audio_vendor_data_file:file create_file_perms;
r_dir_file(hal_audio_default, aoc_audio_file);
r_dir_file(hal_audio_default, mnt_vendor_file);
r_dir_file(hal_audio_default, persist_audio_file);
allow hal_audio_default persist_file:dir search;
allow hal_audio_default aoc_device:file rw_file_perms;
allow hal_audio_default aoc_device:chr_file rw_file_perms;
allow hal_audio_default hal_audio_ext_hwservice:hwservice_manager { find add };
allow hal_audio_default amcs_device:file rw_file_perms;
allow hal_audio_default amcs_device:chr_file rw_file_perms;
allow hal_audio_default sysfs_pixelstats:file rw_file_perms;
#allow access to DMABUF Heaps for AAudio API
allow hal_audio_default dmabuf_heap_device:chr_file r_file_perms;
get_prop(hal_audio_default, vendor_audio_prop);
hal_client_domain(hal_audio_default, hal_health);
hal_client_domain(hal_audio_default, hal_thermal);
allow hal_audio_default fwk_sensor_hwservice:hwservice_manager find;
userdebug_or_eng(`
allow hal_audio_default self:unix_stream_socket create_stream_socket_perms;
allow hal_audio_default audio_vendor_data_file:sock_file { create unlink };
')
wakelock_use(hal_audio_default);

View file

@ -0,0 +1,12 @@
type hal_audiometricext_default, domain;
type hal_audiometricext_default_exec, vendor_file_type, exec_type, file_type;
init_daemon_domain(hal_audiometricext_default)
allow hal_audiometricext_default amcs_device:chr_file rw_file_perms;
allow hal_audiometricext_default sysfs_pixelstats:file rw_file_perms;
get_prop(hal_audiometricext_default, vendor_audio_prop);
get_prop(hal_audiometricext_default, hwservicemanager_prop);
hwbinder_use(hal_audiometricext_default);
add_hwservice(hal_audiometricext_default, hal_audiometricext_hwservice);

6
aoc/hwservice.te Normal file
View file

@ -0,0 +1,6 @@
# Audio
type hal_audio_ext_hwservice, hwservice_manager_type;
# AudioMetric
type hal_audiometricext_hwservice, hwservice_manager_type;

4
aoc/hwservice_contexts Normal file
View file

@ -0,0 +1,4 @@
# Audio
vendor.google.whitechapel.audio.audioext::IAudioExt u:object_r:hal_audio_ext_hwservice:s0
vendor.google.audiometricext::IAudioMetricExt u:object_r:hal_audiometricext_hwservice:s0

4
aoc/property.te Normal file
View file

@ -0,0 +1,4 @@
# AoC
vendor_internal_prop(vendor_aoc_prop)
# Audio
vendor_internal_prop(vendor_audio_prop)

11
aoc/property_contexts Normal file
View file

@ -0,0 +1,11 @@
# AoC
vendor.aoc.firmware.version u:object_r:vendor_aoc_prop:s0
# for audio
vendor.audio_hal.period_multiplier u:object_r:vendor_audio_prop:s0
vendor.audiodump.enable u:object_r:vendor_audio_prop:s0
persist.vendor.audio. u:object_r:vendor_audio_prop:s0
vendor.audiodump.log.ondemand u:object_r:vendor_audio_prop:s0
vendor.audiodump.log.config u:object_r:vendor_audio_prop:s0
vendor.audiodump.output.dir u:object_r:vendor_audio_prop:s0
vendor.audiodump.encode.disable u:object_r:vendor_audio_prop:s0