P framework can work with 4.14 kernel. 0 should
be updated to the correct value in a follow-up
patch.
This creates the following tags in all matrices:
Kernel 4.14 common requirements
Kernel 4.14 requirements on CONFIG_ARM is set
Kernel 4.14 requirements on CONFIG_ARM64 is set
Bug: 72409164
Bug: 77886167
Test: manually inspect built matrix
Change-Id: I82168df314ad61b21440ec5c703db8358468e083
Merged-In: I82168df314ad61b21440ec5c703db8358468e083
HAL development is starting for Andorid Q, so we need this.
Test: m compatibility_matrix.current.xml
Test: assemble_vintf (but b/78895849)
Test: boot a Pixel device after setting its target-level to 4
and verify that the compatibility check passes, and the
file is in the correct location (system/etc/vintf) and that
the dependencies are setup properly.
Change-Id: I42426d0145a97c719092306abc4f7ce8fa2b51bd
Requirements for legacy/1/2.xml has changed because
android-base.cfg files are changed. These files should
build from an older snapshot of the requirements.
Fixes: 78576469
Test: builds
Test: vts_treble_vintf_test
Change-Id: I908ebbe495ae06f983ef983a1be7937cf6be1c12
nfc@1.0 requires a conf file (libnfc-nci.conf) in order to work.
Since this file has no schema, it is a system<->vendor violation
and must be placed on the system image, however this makes the
system image non-generic.
nfc@1.1 contains this configuration in the interface, and so it
can be used entirely without creating a Treble violation.
Test: P-launching devices have nfc@1.1
Bug: 72080121
Change-Id: I7a99eb7cd5e577be0c70b4c5124f28fa471717e6
P framework can work with 4.14 kernel. 0 should
be updated to the correct value in a follow-up
patch.
This creates the following tags in all matrices:
Kernel 4.14 common requirements
Kernel 4.14 requirements on CONFIG_ARM is set
Kernel 4.14 requirements on CONFIG_ARM64 is set
Bug: 72409164
Bug: 77886167
Test: manually inspect built matrix
Change-Id: I82168df314ad61b21440ec5c703db8358468e083
This freezes the current compatibility_matrix for
Android P.
Fixes: 68112778
Test: m (assemble_vintf checks devices)
Change-Id: Ida30b7ba7f5df7c2755bd7c737190574b9195a92
Framework only uses these instances. If a vendor extension
of the framework use more instances, they should be added
via DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
Bug: 68112778
Test: builds + treehugger (telephony test)
Change-Id: Ie08db3c61f940d78e33f46ecc36e931dc688a7aa
Add bluetooth.a2dp to matrix as optional HAL.
Bug: 68112778
Test: m framework_compatibility_matrix.xml
Change-Id: I818a1d278eeae625f563ce74f056140407c50a64
Add radio.config to matrix as optional HAL.
Bug: 68112778
Test: m framework_compatibility_matrix.xml
Change-Id: If4466e3f189897219b33cf7da09883cf63c66de3
Enforce that all hals in the device manifest are
in framework compatibility matrix -- at build time.
Bug: 65028233
Test: build a phone without DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX.
Change-Id: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Merged-In: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Add LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE and
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE for a more generic case.
Test: m framework_compatibility_matrix.xml -j
Bug: 65028233
Change-Id: Iec142d161daa18122e7a6daebb82c7230cb98ba6
Merged-In: Iec142d161daa18122e7a6daebb82c7230cb98ba6
All "private" environment variables to assemble_vintf
(inserted by the build rules, not build system variables)
should have this prefix (to distinguish against,
e.g. PRODUCT_ENFORCE_VINTF_MANIFEST)
Test: m framework_compatibility_matrix -j
Bug: 65028233
Change-Id: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
Merged-In: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
Enforce that all hals in the device manifest are
in framework compatibility matrix -- at build time.
Bug: 65028233
Test: build a phone without DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX.
Change-Id: Ibf220f80ca3621ddbf8288d372d5f40336e45248
Add LOCAL_ASSEMBLE_VINTF_ENV_VARS_OVERRIDE and
LOCAL_ASSEMBLE_VINTF_ERROR_MESSAGE for a more generic case.
Test: m framework_compatibility_matrix.xml -j
Bug: 65028233
Change-Id: Iec142d161daa18122e7a6daebb82c7230cb98ba6
All "private" environment variables to assemble_vintf
(inserted by the build rules, not build system variables)
should have this prefix (to distinguish against,
e.g. PRODUCT_ENFORCE_VINTF_MANIFEST)
Test: m framework_compatibility_matrix -j
Bug: 65028233
Change-Id: Iaefa88cefc0918fb86235ea6fcd8e367cbd82788
This correctly specifies the requirement of framework
on device. Specifically:
A device at target FCM version 2 is still required to
provide 1.0/default as specified in 2.xml.
Combined matrix at FCM version 2 has the following:
optional: 1.1/.*
optional: 1.0/.*
required: 1.0/default
A device at target FCM version 3 is required to provide
1.0-1/(any instance) as specified in 3.xml.
Matrix at FCM version 3 has the following:
required: 1.1/.*
optional: 1.0/.*
OTA: old libvintf does not recognize the <regex-instance>
tag, and parse this as "no instance requirements"
(satisfyAllInstances returns true). Hence this should
state no restrictions for old libvintf.
Caveat:
if a device does not provide any DRM instance, OTA
(specifically, full OTA that upgrades vendor image to
target level 3) will pass, but when the device is booted
there will be run-time checks about inconsistent builds
and VTS failures. But this case should be caught at build
time.
Test: vts_treble_vintf_test
Test: vts_testability_checker64 --compliance \
android.hardware.drm@1.0::IDrmFactory
Test: vts_testability_checker64 --compliance \
android.hardware.drm@1.1::IDrmFactory
Fixes: 73556059
Bug: 68112778
Change-Id: I45c76356d304a94d716eddebc621d367c0ce165a
... along with compatibility_matrix.device.xml.
The new module cm.device.xml contains the original content
of empty.xml (kernel configs, sepolicy, etc.) as well
as HALs from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
This variable points to a framework compatibility matrix
that contains framework HALs as a vendor extension; all
HALs in this file must be optional.
Bug: 65028233
Test: m framework_compatibility_matrix.xml -j and manual inspection
Test: vts_treble_vintf_test
Change-Id: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
Merged-In: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
Use regular expression. NN HAL is a new
HAL so this does not break OTA.
Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: I1bfb916854c62fa75d341d4572a15a944178eb47
Use regular expression. Camera HAL is an optional
HAL so this does not break OTA.
Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: Idf2b8cbe49f5a913df744833147bb1c48588c956
... along with compatibility_matrix.device.xml.
The new module cm.device.xml contains the original content
of empty.xml (kernel configs, sepolicy, etc.) as well
as HALs from DEVICE_FRAMEWORK_COMPATIBILITY_MATRIX_FILE.
This variable points to a framework compatibility matrix
that contains framework HALs as a vendor extension; all
HALs in this file must be optional.
Bug: 65028233
Test: m framework_compatibility_matrix.xml -j and manual inspection
Test: vts_treble_vintf_test
Change-Id: I94949f62f7f5b332d845f2e7fa4714df7c49ed3e
Use regular expression. Radio HAL is an optional
HAL so this does not break OTA.
Bug: 73738616
Test: builds
Test: vts_treble_vintf_test (compatible and No deprecate HALs)
Change-Id: I00a0d97a9528e0c4a72bde6244e47dc2842686ed
The strongbox instance of the Keymaster 4.0 HAL
is optional, as not all P devices are expected
to provide an implementation.
Test: builds
Bug: 68112778
Change-Id: I96a18cb31058d82b04ba3486a88ceac26058a7d2
Strongbox is not supported on all devices
and breaks device builds (cf_x86_phone-userdebug).
This change to be relanded once dependencies are resolved.
Test: builds
Bug: 68112778
Change-Id: I846cdbcfdf7d0a76e0c86518da8a1bb4eeed3caa
Device targeting the last level must use the last version of the
audio HAL.
Bug: 38184704
Test: cuttlefish has no build target, so there is no way to test,
nevertheless the exact same trivial change was made to Pixel 2
Change-Id: If767803e08caf5b03edcea26fd8dba1cca12cc38
Signed-off-by: Kevin Rocard <krocard@google.com>
Upgrading devices are allowed to stay on audio V2,
but can also update to V4.
Bug: 38184704
Test: compile and check V4 can be loaded and functional with lshal
Change-Id: Ib1c8381925837a8402ae535755a0558afcf26f4d
Signed-off-by: Kevin Rocard <krocard@google.com>
It used BOARD_SEPOLICY_VERS as a workaround, which is incorrect.
Test: m framework_compatibility_matrix.xml -j
Bug: 67920434
Change-Id: I029edd2f573740af272f8b767bb1ec5cc1dc0415
* devices with Shipping FCM version
legacy / O / O-MR1 use 3.18, 4.4, 4.9
* devices with Shipping FCM version P use 4.4 4.9
Bug: 72389707
Test: manual inspection on
$OUT/system/etc/vintf/compatibility_matrix.*.xml
Change-Id: I4f37325c0210f88e9e6d3e7136a82d50da3e93fe
Moved framework_compatibility_matrix.xml module definition
from target/board/Android.mk here because it depends on
compatibility_matrix.*.xml.
Test: m dist
Bug: 69636193
Change-Id: I7480b27756992b47555f6b397925170ae9d1ac22