Merge "storage: add missing bug_map" into main
diff --git a/interrupts/init.interrupts.rc b/interrupts/init.interrupts.rc
index 9492fdc..52fcaa5 100644
--- a/interrupts/init.interrupts.rc
+++ b/interrupts/init.interrupts.rc
@@ -1,23 +1,16 @@
on init
# Create the directory for the trace instance during early init
- mkdir /sys/kernel/tracing/instances/irq_gia_google 0755 root root
+ chmod 666 /sys/kernel/tracing/instances/irq_gia_google
+ chmod 666 /sys/kernel/tracing/instances/irq_gia_google/trace
chown system system /sys/kernel/tracing/instances/irq_gia_google
chown system system /sys/kernel/tracing/instances/irq_gia_google/trace
- # Enable gia events
- write /sys/kernel/tracing/instances/irq_gia_google/events/irq_gia/enable 1
-
# There are some very high frequency IRQ events happening all the time. Tracing
# them is not absolute necessity, but a flood of them is noise for more interesting
# events that we want to capture. All these high frequency IRQs have virq < 11.
write /sys/kernel/tracing/instances/irq_gia_google/events/irq/filter "irq > 11"
- write /sys/kernel/tracing/instances/irq_gia_google/events/irq/irq_handler_entry/enable 1
- write /sys/kernel/tracing/instances/irq_gia_google/events/irq/irq_handler_exit/enable 1
# Keep the buffer size small. This size is practically enough for debug purpose.
# Having low size helps because this entire buffer gets dumped in bugreport.
# Having a large size can impact bugreport size and time it takes to pack/unpack.
write /sys/kernel/tracing/instances/irq_gia_google/buffer_size_kb 512
-
- # Go!
- write /sys/kernel/tracing/instances/irq_gia_google/tracing_on 1
diff --git a/modem/modem_svc_sit/compatibility_matrix.xml b/modem/modem_svc_sit/compatibility_matrix.xml
new file mode 100644
index 0000000..14d987a
--- /dev/null
+++ b/modem/modem_svc_sit/compatibility_matrix.xml
@@ -0,0 +1,11 @@
+<compatibility-matrix version="1.0" type="framework">
+ <!-- Optional since older devices will not register any services. -->
+ <hal format="aidl" optional="true">
+ <name>com.google.pixel.shared_modem_platform</name>
+ <version>3</version>
+ <interface>
+ <name>ISharedModemPlatform</name>
+ <instance>default</instance>
+ </interface>
+ </hal>
+</compatibility-matrix>
diff --git a/modem/modem_svc_sit/sepolicy/attributes b/modem/modem_svc_sit/sepolicy/attributes
new file mode 100644
index 0000000..2cc802d
--- /dev/null
+++ b/modem/modem_svc_sit/sepolicy/attributes
@@ -0,0 +1 @@
+hal_attribute(shared_modem_platform)
diff --git a/modem/modem_svc_sit/sepolicy/file_contexts b/modem/modem_svc_sit/sepolicy/file_contexts
new file mode 100644
index 0000000..d6f4a74
--- /dev/null
+++ b/modem/modem_svc_sit/sepolicy/file_contexts
@@ -0,0 +1,2 @@
+# modem_svc_sit
+/vendor/bin/shared_modem_platform u:object_r:modem_svc_sit_exec:s0
\ No newline at end of file
diff --git a/modem/modem_svc_sit/sepolicy/hal_shared_modem_platform.te b/modem/modem_svc_sit/sepolicy/hal_shared_modem_platform.te
new file mode 100644
index 0000000..8771563
--- /dev/null
+++ b/modem/modem_svc_sit/sepolicy/hal_shared_modem_platform.te
@@ -0,0 +1,8 @@
+# Allow binder connection from client to server
+binder_call(hal_shared_modem_platform_client, hal_shared_modem_platform_server)
+
+# Allow client to find the service, server to register the service
+hal_attribute_service(hal_shared_modem_platform, hal_shared_modem_platform_service)
+
+# Allow binder communication from server to service_manager
+binder_use(hal_shared_modem_platform_server)
diff --git a/modem/modem_svc_sit/sepolicy/modem_svc_sit.te b/modem/modem_svc_sit/sepolicy/modem_svc_sit.te
new file mode 100644
index 0000000..b1ed074
--- /dev/null
+++ b/modem/modem_svc_sit/sepolicy/modem_svc_sit.te
@@ -0,0 +1,2 @@
+# Modem SVC will register the default instance of the AIDL ISharedModemPlatform hal.
+hal_server_domain(modem_svc_sit, hal_shared_modem_platform)
diff --git a/modem/modem_svc_sit/sepolicy/service.te b/modem/modem_svc_sit/sepolicy/service.te
new file mode 100644
index 0000000..0fd48ee
--- /dev/null
+++ b/modem/modem_svc_sit/sepolicy/service.te
@@ -0,0 +1,2 @@
+# define hal_shared_modem_platform_service
+type hal_shared_modem_platform_service, hal_service_type, service_manager_type;
diff --git a/modem/modem_svc_sit/sepolicy/service_contexts b/modem/modem_svc_sit/sepolicy/service_contexts
new file mode 100644
index 0000000..58232f7
--- /dev/null
+++ b/modem/modem_svc_sit/sepolicy/service_contexts
@@ -0,0 +1,2 @@
+# Bind Shared Modem Platform AIDL service name to the SELinux type.
+com.google.pixel.shared_modem_platform.ISharedModemPlatform/default u:object_r:hal_shared_modem_platform_service:s0
diff --git a/modem/modem_svc_sit/shared_modem_platform.mk b/modem/modem_svc_sit/shared_modem_platform.mk
new file mode 100644
index 0000000..6e9b05d
--- /dev/null
+++ b/modem/modem_svc_sit/shared_modem_platform.mk
@@ -0,0 +1,14 @@
+# This file is not included in `modem.mk` since this is included at the
+# beginning of each `device.mk` file, and so will be called before
+# `SHARED_MODEM_PLATFORM_VENDOR` is defined later in the file.
+# This file supoorts Whitechapel(gs101), Whitechapel Pro(gs201), Zuma, Zuma Pro.
+# This file doesn't support devices which AP is after Zuma Pro.
+# For device after Zuma Pro please use gs-common/modem/shared_modem_platform/shared_modem_platform.mk
+SOONG_CONFIG_NAMESPACES += shared_modem_platform
+SOONG_CONFIG_shared_modem_platform += \
+ vendor
+SOONG_CONFIG_shared_modem_platform_vendor := $(SHARED_MODEM_PLATFORM_VENDOR)
+
+PRODUCT_PACKAGES += shared_modem_platform
+DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/modem/modem_svc_sit/compatibility_matrix.xml
+BOARD_SEPOLICY_DIRS += device/google/gs-common/modem/modem_svc_sit/sepolicy
diff --git a/modem/shared_modem_platform/sepolicy/file_contexts b/modem/shared_modem_platform/sepolicy/file_contexts
new file mode 100644
index 0000000..8760799
--- /dev/null
+++ b/modem/shared_modem_platform/sepolicy/file_contexts
@@ -0,0 +1,2 @@
+# shared_modem_platform
+/vendor/bin/shared_modem_platform u:object_r:shared_modem_platform_exec:s0
\ No newline at end of file
diff --git a/modem/shared_modem_platform/sepolicy/shared_modem_platform.te b/modem/shared_modem_platform/sepolicy/shared_modem_platform.te
new file mode 100644
index 0000000..7fc7a30
--- /dev/null
+++ b/modem/shared_modem_platform/sepolicy/shared_modem_platform.te
@@ -0,0 +1,2 @@
+# Shared modem platform will register the default instance of the AIDL ISharedModemPlatform hal.
+hal_server_domain(shared_modem_platform, hal_shared_modem_platform)
diff --git a/modem/shared_modem_platform/shared_modem_platform.mk b/modem/shared_modem_platform/shared_modem_platform.mk
index 3f50c37..3c2a109 100644
--- a/modem/shared_modem_platform/shared_modem_platform.mk
+++ b/modem/shared_modem_platform/shared_modem_platform.mk
@@ -1,6 +1,8 @@
# This file is not included in `modem.mk` since this is included at the
# beginning of each `device.mk` file, and so will be called before
# `SHARED_MODEM_PLATFORM_VENDOR` is defined later in the file.
+# This file supports support devices which AP is after zumapro(not include).
+# For device before zumapro(include) please use gs-common/modem/modem_svc_sit/shared_modem_platform.mk
SOONG_CONFIG_NAMESPACES += shared_modem_platform
SOONG_CONFIG_shared_modem_platform += \
vendor
@@ -8,4 +10,4 @@
PRODUCT_PACKAGES += shared_modem_platform
DEVICE_PRODUCT_COMPATIBILITY_MATRIX_FILE += device/google/gs-common/modem/shared_modem_platform/compatibility_matrix.xml
-BOARD_VENDOR_SEPOLICY_DIRS += device/google/gs-common/modem/shared_modem_platform/sepolicy
+BOARD_SEPOLICY_DIRS += device/google/gs-common/modem/shared_modem_platform/sepolicy
diff --git a/performance/experiments/apf/Android.bp b/performance/experiments/apf/Android.bp
new file mode 100644
index 0000000..e5e9f7c
--- /dev/null
+++ b/performance/experiments/apf/Android.bp
@@ -0,0 +1,10 @@
+package {
+ default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+prebuilt_etc {
+ name: "pixel-apf-experiment.rc",
+ src: "pixel-apf-experiment.rc",
+ vendor: true,
+ sub_dir: "init",
+}
diff --git a/performance/experiments/apf/apf.mk b/performance/experiments/apf/apf.mk
new file mode 100644
index 0000000..d8bc338
--- /dev/null
+++ b/performance/experiments/apf/apf.mk
@@ -0,0 +1 @@
+PRODUCT_PACKAGES += pixel-apf-experiment.rc
diff --git a/performance/experiments/apf/pixel-apf-experiment.rc b/performance/experiments/apf/pixel-apf-experiment.rc
new file mode 100644
index 0000000..f160dba
--- /dev/null
+++ b/performance/experiments/apf/pixel-apf-experiment.rc
@@ -0,0 +1,11 @@
+# APF experiment (go/pixel-perf-apf-experiment).
+on property:vendor.perf.allow_experiments=1 && \
+ property:vendor.pixel.system.phenotype.Perf__apf_experiment=true
+ setprop vendor.powerhal.apf_disabled true
+ setprop vendor.powerhal.apf_enabled false
+
+# Rampdown of the experiment.
+on property:vendor.perf.allow_experiments=1 && \
+ property:vendor.pixel.system.phenotype.Perf__apf_experiment=""
+ setprop vendor.powerhal.apf_disabled false
+ setprop vendor.powerhal.apf_enabled true
diff --git a/performance/experiments/experiments.mk b/performance/experiments/experiments.mk
index 191332d..b14b823 100644
--- a/performance/experiments/experiments.mk
+++ b/performance/experiments/experiments.mk
@@ -3,3 +3,4 @@
PRODUCT_PACKAGES += pixel-experiments-recovery.sh
include device/google/gs-common/performance/experiments/kswapd/kswapd.mk
+include device/google/gs-common/performance/experiments/apf/apf.mk
diff --git a/performance/sepolicy/proc_vendor_sched.te b/performance/sepolicy/proc_vendor_sched.te
new file mode 100644
index 0000000..dc78c75
--- /dev/null
+++ b/performance/sepolicy/proc_vendor_sched.te
@@ -0,0 +1,2 @@
+#Vendor Sched
+allow proc_vendor_sched proc:filesystem associate;