As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.
The 'vndk' tag for VNDK module is formated as below:
vndk: {
enabled: true,
},
VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.
Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Merged-In: If0eb0c1bddfa5bdc7ea0ca4635d4e53b59836582
Change-Id: If0eb0c1bddfa5bdc7ea0ca4635d4e53b59836582
(cherry picked from commit eff28dc3ba)
To prevent property name collisions between properties of system and
vendor, 'vendor.' prefix must be added to a vendor HAL service name.
You can see the details in http://go/treble-sysprop-compatibility.
Test: succeeded building and tested on a walleye device
Bug: 36796459
Change-Id: I4e8fbee791ec917a8f627a1366f4d44ec7e6febc
Configstore was down-revisioned from 1.1 to 1.0 in oc-dr1-dev,
oc-mr1-dev and oc-mr1-dev-plus-aosp. Therefore configstore in
oc-dr1-dev-plus-aosp will also be down-revisioned to 1.0.
Bug: 65124635
Test: build & boot test on sailfish + walleye
Change-Id: Ia2614439cd620fbe5fbd427571ab55a15089cc47
Merged-In: Ia68993a22b975d9a5dd19175988077481ded7559
And use VtsHalTargetTestDefaults.
This is a partial cherry-pick of ag/2657080.
Bug: 64040096
Test: compiles, works fine in internal master
Merged-In: I8f6995e9536a9aefe283ee3effec9f5a7f03b620
Change-Id: I76d47d8546416b57055841851a9d343026cd3210
Configstore was up-revisioned from 1.0 to 1.1. However no new
APIs were added to 1.1. Therefore configstore in mr1 will be down
revisioned to 1.0.
Bug: 64999074
Test: lshal | grep configsotre
Test: "cat proc/<configstore pid>/status | grep Seccomp " return:
Seccomp: 2
Change-Id: Ia2614439cd620fbe5fbd427571ab55a15089cc47
Information such as tombstones and callstack are important when
debugging why a process crashed. configstore's seccomp filter
and selinux policy are currently overly strict and are blocking
the collection of crash data.
In order to keep configstore's sandbox as strict as possible, use
Crash_dump's fallback mechanism to collect crash data. This uses a
local socket to send crash data to tombstoned.
Bug: 64768925
Test: killall -ABRT android.hardware.configstore@1.1-service
Verify that configstore callstack gets dumped to logcat.
Verify that a crash tombstone gets recorded to /data/tombstones
Test: proto_fuzzer runs without crashing
Change-Id: I3c3e13d6aa1c1e2dda2a619dfa815375ee7ebff6
(cherry picked from commit 60ced29112)
Information such as tombstones and callstack are important when
debugging why a process crashed. configstore's seccomp filter
and selinux policy are currently overly strict and are blocking
the collection of crash data.
In order to keep configstore's sandbox as strict as possible, use
Crash_dump's fallback mechanism to collect crash data. This uses a
local socket to send crash data to tombstoned.
Bug: 64768925
Test: killall -ABRT android.hardware.configstore@1.1-service
Verify that configstore callstack gets dumped to logcat.
Verify that a crash tombstone gets recorded to /data/tombstones
Test: proto_fuzzer runs without crashing
Change-Id: I3c3e13d6aa1c1e2dda2a619dfa815375ee7ebff6
This reverts commit 8ac1971678.
Reason for revert: Didn't remove automotive changes from this CL.
Merged-In: I8608c8f636c35f21e4246a805a9eff6d14124e0a
Change-Id: I1c660cffc8817ad0b33da9f6eceb3d88e7c48416
And use VtsHalTargetTestDefaults.
Bug: 64040096
Test: crop out all non-affected tests from vts-hal-hidl.xml and run
vts-tradefed run commandAndExit vts-hal-hidl --skip-all-system-status-check
--skip-preconditions
2 failures, same as without this change:
GatekeeperHidlTest.DeleteAllUsersTest
GatekeeperHidlTest.DeleteUserTest
Change-Id: I8f6995e9536a9aefe283ee3effec9f5a7f03b620
Configstore HAL is accessible to third party apps and thus requires
a tight sandbox that reflects the limited system access this HAL
needs.
We use two primary mechanisms to sandbox configstore, selinux and
seccomp, with the goal of restricting its access to userspace and
the kernel. The addition of a seccomp filter is primarily aimed
at reducing the kernel's attack surface that is reachable by
configstore HAL.
Seccomp filters are architecture dependent, so filters need to be
added for each architecture. This change adds a seccomp filter for
arm64 and issues a non-fatal runtime warning for other architectures
which still require a seccomp filter.
Bug: 36453956
Test: boot Marlin and Angler. Verify that configstore is not aborting
due to seccomp violations.
Test: "cat proc/<configstore pid>/status | grep seccomp " returns:
seccomp: 2
Which indicates that configstore is using seccomp-bpf.
Change-Id: Iab014ff357b7329085a5e18a92f51838d2c72371
(cherry picked from commit ed95043d64)
As a VNDK module, Android.bp must have 'vndk' tag as well as
'vendor_available: true'.
The 'vndk' tag for VNDK module is formated as below:
vndk: {
enabled: true,
},
VNDK modules will be installed both in system/lib(64) as normal and
in system/lib(64)/vndk as a vendor variant.
Bug: 63866913
Test: build and boot with BOARD_VNDK_VERSION=current
Change-Id: If0eb0c1bddfa5bdc7ea0ca4635d4e53b59836582
Update the Android.bp generated with hidl-gen.
Test: build with and without BOARD_VNDK_VERSION=current
Bug: 63866913
Change-Id: I1a9db1df49e0f13c5790da2b118ae9ec63ba34a7
Allow HAL definition libs to be static.
Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1483d572bea6799717d1614fb7d52fe225e31104
Allow them to be static.
This is required for a couple of reasons:
- enabling HIDL passthrough in recovery
- enabling VTS tests to be static blobs
Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Merged-In: I1b2401fb273ab80819e3870aa71fe742269674ba
Change-Id: I1b2401fb273ab80819e3870aa71fe742269674ba
(cherry picked from commit 7206708528)
hwbinder.jar will be used instead of framework.jar on build-time, but
on runtime framework.jar will be used.
This is to cut the circular dependency when using configstore from
Android framework.
Bug: 35771640
Test: no test.
Change-Id: I04cab676c91d2ea423f5e2c1b2b9efa15e522f37
Allow them to be static.
This is required for a couple of reasons:
- enabling HIDL passthrough in recovery
- enabling VTS tests to be static blobs
Bug: 32920003
Bug: 64040096
Test: update-all-google-makefiles.sh
Change-Id: I1b2401fb273ab80819e3870aa71fe742269674ba
Configstore HAL is accessible to third party apps and thus requires
a tight sandbox that reflects the limited system access this HAL
needs.
We use two primary mechanisms to sandbox configstore, selinux and
seccomp, with the goal of restricting its access to userspace and
the kernel. The addition of a seccomp filter is primarily aimed
at reducing the kernel's attack surface that is reachable by
configstore HAL.
Seccomp filters are architecture dependent, so filters need to be
added for each architecture. This change adds a seccomp filter for
arm64 and issues a non-fatal runtime warning for other architectures
which still require a seccomp filter.
Bug: 36453956
Test: boot Marlin and Angler. Verify that configstore is not aborting
due to seccomp violations.
Test: "cat proc/<configstore pid>/status | grep seccomp " returns:
seccomp: 2
Which indicates that configstore is using seccomp-bpf.
Change-Id: Iab014ff357b7329085a5e18a92f51838d2c72371
Add vts test module for configstore@1.1
Test: make vts -j40 && run commandAndExit vts -m
VtsHalConfigstoreV1_1Target
Bug: 63071317
Change-Id: I405f4409bc2ac4acdf07728b950ba9b653eb3328
Make sure getService return value is not null before running
testcase
Test: make vts -j40 && vts-tradefed run commandAndExit vts -m
VtsHalConfigstoreV1_0Target
Bug:62931371
Merged-In: I432e07c0c61a308b814d88cab9027a95ff24d8b5
(cherry picked from commit 60ff24c62e)
Change-Id: Id9bb2a3fb2c4caf02c7e03c1529cefe2570c5453
These makefiles are not in dev topic branches
or AOSP currently so they were not updated. This
update adds hidl-generated-module defaults.
Test: pass
Change-Id: Ie52c54877d795bf5358aa600e6d1a13a4f166d25
Previously, the service handle for the configstore needs to be retrieved
for every calls. This change reduces the time for retrieving multiple
configstore items from a same client by caching the service handle per a
configstore interface class.
Bug: 38411900
Test: built and tested on sailfish.
Change-Id: Iaff81e9f2b026aee0bd3865f5d5ed3fb7b6056e0
This change provides a reference implementation of the configstore HAL
v1.1.
Bug: 37727469
Test: Built sailfish-userdebug and configstore-1.1 works
Change-Id: I75e7fd1da8e90ae48d779a3ba28957c5a93a5529
Utils.h does not need to include ISurfaceFlingerConfigs.h.
Bug: 37727469
Test: successfully built sailfish-userdebug
Change-Id: I6650020bfc3b265d871ca3244b8900c336f98419
android.hidl.base@1.0 and android.hidlmanager@1.0 are built into libhidltransport.
Test: links
Bug: 33276472
Change-Id: I424371932af129bba9d58dcf8652c64297f35f05
This CL adds a code for printing log messages in clients-side utility
library functions (getXXX) for configstore so that the developer can
figure out which configuration values are actually retrieved from the configstore.
Bug: 36275627
Test: Built and check the log message appears
Change-Id: I7d5d80ca7a0317816c71016e013f9e73ad23ee08
Merged-In: I2c0895f8afbbb2947b62164acaf62a491c451dc0
(cherry picked from commit 0dc72ecbb7)
Log messages for the retrieved values from configstore will be
automatically printed at the client side (by configstore-utils).
Bug: 36275627
Test: Built and check the log messages
Change-Id: Id5033a74ef58778e93e39be6ac5b9e10ee28c5cf
This CL adds a code for printing log messages in clients-side utility
library functions (getXXX) for configstore so that the developer can
figure out which configuration values are actually retrieved from the configstore.
Bug: 36275627
Test: Built and check the log message appears
Change-Id: I2c0895f8afbbb2947b62164acaf62a491c451dc0
HIDL_FETCH_... is required only for passthrough mode, but Configstore
does not provide passthrough mode.
Bug: 35325577
Test: build and check configstore works
Change-Id: I35e916ad4a6c321303a3888dabb4884b17146e16
Merged-In: Iac3ed57568f18c3a8a7f7423a361b0fe45aa54ab
HIDL_FETCH_... is required only for passthrough mode, but Configstore
does not provide passthrough mode.
Bug: 35325577
Test: build and check configstore works
Change-Id: Iac3ed57568f18c3a8a7f7423a361b0fe45aa54ab
This reverts commit 2877c167ff.
Add useVrFlinger() method to SurfaceFlinger ConfigStore, which is
used to ensure we only start vr flinger on Daydream ready devices.
Bug: 35885165
Test: Checked for "SurfaceFlinger UseVrFlinger" in the logs,
confirmed it only shows up for Daydream ready devices.
Change-Id: I839b650b63cd008de03feb4c771b330374bd0682
This change removes target "android.hardware.configstore@1.0-impl" to
disable passthrough mode.
Bug: 35325577
Test: android.hardware.configstore@1.0-impl.so not exist in outputs and
configstore works in binderized mode
Change-Id: Ieedb6fea179d50ac35fc32b0e21752b2334558ae
Add useVrFlinger() method to SurfaceFlinger ConfigStore, which is
used to ensure we only start vr flinger on Daydream ready devices.
Bug: 35885165
Test: Checked for "SurfaceFlinger UseVrFlinger" in the logs,
confirmed it only shows up for Daydream ready devices.
Change-Id: I3c39b1f094e28f06b510171fc0968cf71f5d5550
This adds to configstore@1.0 HAL two new configuration
items that indicate if the display support WideColor
or HDR.
Configuration is controlled by TARGET_HAS_WIDE_COLOR_DISPLAY
and TARGET_HAS_HDR_DISPLAY in the board config file.
Test: make tests in libs/gui/tests/
Test: adb sync
Test: adb shell /data/nativetest/libgui_test/libgui_test
Change-Id: I442febc602851577c470c038a7fbf056c8ed25a7
This change makes android.hardware.configstore-utils library built as
a header-only library instead of a static library.
Design doc: go/design-confighal
Bug: 35397068
Test: build, run
Change-Id: I59c7c8802aeb1fb687af24cfdb2bbb38723e6221
Merged-In: Idee48816a1a271bdb9ba8cf907d98c3823925da4
This change adds to configstore@1.0 HAL a new configuration item
for surfaceflinger; useTripleFramebuffer()
In the default implementation, useTripleFramebuffer() will return true
only if the build flag NUM_FRAMEBUFFER_SURFACE_BUFFERS is defined as 3.
Bug: 34723491
Test: build & run. log message "SurfaceFlinger FrameBuffer: ?"
should be seen.
Change-Id: I7ab9f17f43d68ee7b37b5db8c24b542db4d1c216
Merged-In: Iac97e25cd69717c73a135f6b2a44538124544987
this change adds a set of library functions to facilitate
accessing(retrieving) configuration items.
Specifically, added template functions for accessing configuration
items for following types:
OptionalBool, OptionalInt32, OptionalUInt32, OptionalInt64,
OptionalUInt64, OptionalString
Bug: 34724435
Test: build, run
Change-Id: I28d565dcfc04bb71bf891d1b48ce2ec6192eb21f
Merged-in: Icca56d0d9e086b9d94c9b1168df041bf7d418698
This change adds configstore@1.0 HAL which provides static configuration values
to the framework. As a first attempt, a configuration item in the
surfaceflinger (VSYNC_EVENT_PHASE_OFFSET_NS) is choosen and converted to
a HAL function named vsyncEventPhaseoffsetNs().
Bug: 34314793
Test: build & run. make sure that configstore is up and running.
$ ps -A | grep configstore
Change-Id: I0692190180cadc8e3f64ee840c737e05b519a135
Merged-in: Ibc70b14176d2e0144a5745d71ceba49ebc3ca706
This change makes android.hardware.configstore-utils library built as
a header-only library instead of a static library.
Design doc: go/design-confighal
Bug: 35397068
Test: build, run
Change-Id: Idee48816a1a271bdb9ba8cf907d98c3823925da4
This change adds to configstore@1.0 HAL a new configuration item
for surfaceflinger; useTripleFramebuffer()
In the default implementation, useTripleFramebuffer() will return true
only if the build flag NUM_FRAMEBUFFER_SURFACE_BUFFERS is defined as 3.
Bug: 34723491
Test: build & run. log message "SurfaceFlinger FrameBuffer: ?"
should be seen.
Change-Id: Iac97e25cd69717c73a135f6b2a44538124544987
this change adds a set of library functions to facilitate
accessing(retrieving) configuration items.
Specifically, added template functions for accessing configuration
items for following types:
OptionalBool, OptionalInt32, OptionalUInt32, OptionalInt64,
OptionalUInt64, OptionalString
Design doc: go/design-confighal
Bug: 34724435
Test: build, run
Change-Id: Icca56d0d9e086b9d94c9b1168df041bf7d418698
We need google shims on the vendor partition because they are providing
an implementation of a vendor defined interface. They were written by
google just as a courtesy/to make the transition easier. They're
basically a set for vendors to assemble their hal implementations
from.
Bug: 34135607
Test: marlin persist.hal.binderization on/off
Change-Id: I2e2af5af39264cf290259755bb9b2eb9827a21f5
Java intermediates are now created in the common rather than the device-
specific generated sources subdirectory.
Bug: 33842609
Test: make
Change-Id: I16af4cd19bf0b24baa0ad9ebfdb86b4d959c8672
This change adds configstore@1.0 HAL which provides static configuration values
to the framework. As a first attempt, a configuration item in the
surfaceflinger (VSYNC_EVENT_PHASE_OFFSET_NS) is choosen and converted to
a HAL function named vsyncEventPhaseoffsetNs().
Design doc: go/design-confighal
Bug: 34314793
Test: build & run. make sure that configstore is up and running.
$ ps -A | grep configstore
Change-Id: Ibc70b14176d2e0144a5745d71ceba49ebc3ca706