Commit graph

27134 commits

Author SHA1 Message Date
Kalesh Singh
a851f3d711 Reland: Memtrack HAL: Add stable AIDL implementation
Bug: 175021432
Test: adb shell dumpsys -l | grep android.hardware.memtrack.IMemtrack
Test: VtsHalMemtrackTargetTest
Change-Id: I686c0ecc31648dc6e58a6ab5e6ae914454111200
2020-12-22 20:49:35 +00:00
Shawn Willden
659f996a5d Change KM attestation generation to managed cert type.
Bug: 171846199
Test: atest VtsHalIdentityTargetTest
Change-Id: I03c55f74a21d24b3db8460b85816a4da5939c4ed
2020-12-22 15:11:01 +00:00
Michael Butler
bf59946c61 Remove 'blocking' param from NN ResilientPreparedModel and *Buffer
This change removes the 'blocking' parameter for the
ResilientPreparedModel::Factory and ResilientBuffer::Factory. The
'blocking' parameter is only useful for ResilientDevice::Factory, which
behind the scenes chooses between the HIDL calls IDevice::getService and
IDevice::tryGetService. The equivalent calls for IPreparedModel and
IBuffer are not used, as both are created from the IDevice object.

This change also modifies the ResilientDevice's device recovery
behavior. Prior to this change, ResilientDevice's recovery mechanism had
the following behavior:
* attempt to call a function
* if the function did not return a DEAD_OBJECT error, return
* if the function returned a DEAD_OBJECT error, attempt to recover the
  device
* whether or not the recovery succeeded, call the function again

This CL changes the behavior so that if device recovery fails,
ResilientDevice will not call the function the second time.

Bug: N/A
Test: mma
Change-Id: Icf37d05c884c740178324fcd046ea56914ef7d44
Merged-In: Icf37d05c884c740178324fcd046ea56914ef7d44
(cherry picked from commit 11761e37a8)
2020-12-21 21:09:56 -08:00
Michael Butler
7fd03c265e Cleanup NN callback error handling
This CL introduces a new templated class CallbackValue to handle HIDL
"return value" callbacks in a terser and more readable way.

This CL also introduces a new macro HANDLE_HAL_STATUS to return from the
current function when an error is present with the ability to append a
more descriptive error message.

Finally, this CL changes the behavior of synchronous executions. Prior
to this CL, IPreparedModel fell back to an asynchronous execution if the
synchronous execution was allowed and failed. This change instead
returns a failure if synchronous execution is allowed and fails.

Bug: 173084343
Test: mma
Change-Id: I62714a932e71dfc77401bbcb9eaaaf3d94fb9707
Merged-In: I62714a932e71dfc77401bbcb9eaaaf3d94fb9707
(cherry picked from commit 98ed9baf5d)
2020-12-21 21:09:37 -08:00
Michael Butler
aad934baa7 Add HIDL lifetime and protecting callback info to NN README
This CL copies information from
packages/modules/NeuralNetworks/runtime/VersionedInterfaces.cpp and
modifies the description to be more appropriate for the NN HAL utility
code.

Specific sections added to the README:
* "HIDL Interface Lifetimes across Processes"
* "Protecting Asynchronous Calls across HIDL"

Bug: 170289677
Test: mma
Change-Id: Id381895535d708b627f4746687b4d12e16560639
Merged-In: Id381895535d708b627f4746687b4d12e16560639
(cherry picked from commit 7a655bb3d4)
2020-12-21 21:09:14 -08:00
Michael Butler
4024d8f4d8 Change NN canonical timings to nanoseconds -- hal
A sibling CL to this CL changes the definition of nn::TimePoint to the
same type as std::chrono::steady_clock::time_point but has changed the
underlying duration representation to use uint64_t. That sibling CL also
renames nn::OptionalTimeoutDuration to nn::OptionalDuration, and changes
the definition to the same type as std::nanoseconds except the
underlying duration representation now uses uint64_t.

This CL makes changes to the NN HAL utility code in response to the
changes in the sibling CL.

Bug: 174297663
Test: mma
Test: NeuralNetworksTest_static
Change-Id: If44d9aefadb2c78b632ff289b5ff5a49f766525c
Merged-In: If44d9aefadb2c78b632ff289b5ff5a49f766525c
(cherry picked from commit ca11420785)
2020-12-21 21:08:43 -08:00
Treehugger Robot
2528ddcab2 Merge "Revise keymint_tags.h" 2020-12-21 18:11:08 +00:00
Treehugger Robot
d389d1659a Merge "Change KeyParameters to use a union." 2020-12-21 18:10:58 +00:00
Mikhail Naganov
65dc8832cf Merge "Audio VTS: Improve stability, update config validation test" 2020-12-21 17:28:31 +00:00
Treehugger Robot
dfe843477b Merge "Keymint: Use ndk_platform." 2020-12-19 12:22:37 +00:00
Janis Danisevskis
5ba093377c Revise keymint_tags.h
* replace NullOr with std::optional.
* Add mising tag.
* Undefine helper macros so that keymint_tags.h can be used together
  with keymaster_tags.h
* Check if KeyParameterValue variant matches KeyParameterTag in
  accessors.

Test: VtsAidlKeyMintTargetTest
Change-Id: I6c951071f30fd27c8c21a2e8cc86f421a3bc37d9
2020-12-18 08:34:20 -08:00
Shawn Willden
83fa6413ac Change KeyParameters to use a union.
AIDL now supports union types.  This CL changes KeyParameter to use
one.

Test: VtsAidlKeyMintTargetTest
Change-Id: I5112611b161e3de1ea86105ea3c7ed0912036a7b
2020-12-18 08:38:28 -07:00
Treehugger Robot
69c290564a Merge "Add android-5.10 support for S" 2020-12-17 20:12:00 +00:00
Janis Danisevskis
24c0470408 Keymint: Use ndk_platform.
Test: N/A
Change-Id: I7e97d9d475a639cfe92c9e6b01689c9ff80d2abc
2020-12-17 11:34:59 -07:00
Mikhail Naganov
79903fea44 Audio VTS: Improve stability, update config validation test
Major challenge: the configuration of HAL tests
depends on the APM XML configuration file which may be
invalid. The code that reads the configuration
has been updated to avoid crashes when the config
is invalid.

In CheckConfig_audioPolicyConfigurationValidation the
dependency on the config parser was removed. Previously,
a failure to parse the config by the config parser would
lead to the test being skipped, which isn't correct
as it must fail in this case.

Minor fixes to V7 tests to pass on a real life legacy HAL.

Bug: 36733185
Test: run VtsHalAudioV7_0TargetTest on a device with V6
Test: run VtsHalAudioV7_0TargetTest on a device with
      a side-loaded V7 and invalid APM config file
Test: run VtsHalAudioV7_0TargetTest on a device with
      a side-loaded V7
Change-Id: I746339ff69ab455dc64eef9a17827d047b357329
2020-12-16 15:30:28 -08:00
Steven Moreland
a9cfd015bf Merge "Update OWNERS for 2020" 2020-12-16 22:19:25 +00:00
Treehugger Robot
dbb1258329 Merge changes from topic "aosp-default-wrapper"
* changes:
  HidlUtils: remove temporary conversion functions
  audio: Update default effect HAL wrapper to support V7
  audio: Update default wrapper to support V7
  audio: Extend HidlUtils for the default wrapper needs
2020-12-16 20:05:07 +00:00
Steven Moreland
7479f38654 Update OWNERS for 2020
- remove ex-Android (yim@)
- add devinmoore@ (new native API counciler)
- cleanup format

Bug: N/A
Test: N/A
Change-Id: I23400850e2fbbeae95c7eeb9241f69b0c05c8fd4
2020-12-16 18:09:12 +00:00
Treehugger Robot
276369a3df Merge "Extend test timeout value from 180s to 600s" 2020-12-16 03:18:58 +00:00
Mikhail Naganov
bae2336665 HidlUtils: remove temporary conversion functions
Remove temporary conversion functions and update
the code that was using them.

Bug: 142480271
Test: m
Change-Id: Idf36dbac398efbc03bd6da68c79f6fb1ddc24e9c
Merged-In: Idf36dbac398efbc03bd6da68c79f6fb1ddc24e9c
2020-12-16 01:14:03 +00:00
Mikhail Naganov
f363ed4f96 audio: Update default effect HAL wrapper to support V7
During this conversion, the functionality of the V7 wrapper
hasn't been tested yet. This will be done in a separate CL
that will also include required updates to the VTS tests.

Since the changes were made to the code shared with pre-V7
versions, verified that V6 HAL didn't regress.

Bug: 142480271
Test: atest VtsHalAudioEffectV6_0TargetTest
Test: m VtsHalAudioEffectV7_0TargetTest
Test: m android.hardware.audio@7.0-service.example
Change-Id: I72389c8d564596bef22b47dfdcb2e77d636ef0a3
Merged-In: I72389c8d564596bef22b47dfdcb2e77d636ef0a3
2020-12-16 01:14:02 +00:00
Mikhail Naganov
e1a9c8f8b8 audio: Update default wrapper to support V7
During this conversion, the functionality of the V7 wrapper
hasn't been tested yet. This will be done in a separate CL
that will also include required updates to the VTS tests.

Since the changes were made to the code shared with pre-V7
versions, verified that V6 HAL didn't regress.

Bug: 142480271
Test: atest VtsHalAudioV6_0TargetTest
Test: m VtsHalAudioV7_0TargetTest
Change-Id: I0e42fe1279912ffa78ce40c69f6aa2054e84d385
Merged-In: I0e42fe1279912ffa78ce40c69f6aa2054e84d385
2020-12-16 01:14:02 +00:00
Mikhail Naganov
b52e93f516 audio: Extend HidlUtils for the default wrapper needs
Add conversions used by the default wrapper.

Promote some conversions to pre-V7 interface to reduce
version-based forking in the default wrapper code.

Bug: 142480271
Test: atest android.hardware.audio.common@7.0-util_tests
Change-Id: I93c482eeaf08442271be2656693be5395ca53762
Merged-In: I93c482eeaf08442271be2656693be5395ca53762
2020-12-16 01:14:02 +00:00
Kalesh Singh
b2a38b62b5 Merge "Revert "Memtrack HAL: Add stable AIDL implementation"" 2020-12-16 00:48:06 +00:00
Alistair Delva
b724f36b85 Add android-5.10 support for S
Bug: 175707513
Change-Id: I6799b4ba3dad9b4ae6d8fe2646a2f07d24310537
2020-12-15 16:42:56 -08:00
Kalesh Singh
28641ffb08 Revert "Memtrack HAL: Add stable AIDL implementation"
Revert "libmemtrack: Add support for AIDL memtrack HAL"

Revert "Add stable aidl memtrack HAL to product packages"

Revert "Add stable aidl memtrack hal to vndk list"

Revert "Memtrack HAL stable aidl sepolicy"

Revert "Add android.hardware.memtrack-unstable-ndk_platform"

Revert submission 1518702-memtrack-aidl

Reason for revert: Broken tests and boot time regressions
Reverted Changes:
Ic4dd70e2c:Add android.hardware.memtrack-unstable-ndk_platfor...
Iaf99d0ca4:Add stable aidl memtrack HAL to product packages
Iac54ae2ba:Add stable aidl memtrack hal to vndk list
If310210a3:libmemtrack: Add support for AIDL memtrack HAL
Ib6c634def:Memtrack HAL: Add stable AIDL implementation
I5e1d0e006:Memtrack HAL stable aidl sepolicy

Change-Id: I4a9e3522afe9e9189b7eddc9520d5ef2e2b74520
2020-12-16 00:19:38 +00:00
Steven Moreland
74e043ba2d support lib for libcutils<->NDK AIDL handle
The native_handle API is notoriously tricky to work with, and this is
expected to be very common. So, adding a small helper library.

Fixes: 175432703
Test: atest libaidlcommonsupport_test
Change-Id: I4a00d2b14fefe6c979ee656e353e117661a1a483
2020-12-15 16:45:20 +00:00
Treehugger Robot
baf61434fd Merge "Use safe_union correctly" 2020-12-15 16:30:44 +00:00
Thiébaud Weksteen
a07d055654 Merge "Add getAllowedNetworkTypesBitmap HAL API" 2020-12-15 12:39:51 +00:00
Grzegorz Kołodziejczyk
0f0c5d17d2 Use safe_union correctly
As described in source.android.com/devices/architecture/hidl/safe_union
value must be assigned through generated getter, rather than assigning it directly.

Test: vts-tradefed run vts -m VtsHalBluetoothAudioV2_1TargetTest
Sponsor: jpawlowski@
Bug: 150670922
Change-Id: Iefc7ee98163ec2b3387fc01c3d69c1dcd15e94bc
2020-12-15 11:08:16 +00:00
Treehugger Robot
e5d68ba29c Merge "Memtrack HAL: Add stable AIDL implementation" 2020-12-14 18:36:10 +00:00
Richard Liu
670532f318 Increase NNAPI VTS single-test timeout to 20m.
Meet timeout when run NNAPI VTS on some A35 CPU device.
Enlarge the single-test timeout from 1m to 20m.

Bug: 175510656

Test cases:
VtsHalNeuralnetworksV1_0TargetTest
VtsHalNeuralnetworksV1_1TargetTest

Change-Id: I869208c79ff4c1d1928603a5630f456915928957
2020-12-14 17:23:40 +00:00
Treehugger Robot
4d13d0027c Merge "Remove authorization set serialization." 2020-12-14 14:30:52 +00:00
Treehugger Robot
dd9d98c339 Merge "Move tag type comments where they belong." 2020-12-14 14:30:15 +00:00
Treehugger Robot
5fb746bc9f Merge "Various cleanups" 2020-12-14 14:30:10 +00:00
Treehugger Robot
6c1dd66442 Merge changes from topic "aosp-default-wrapper"
* changes:
  audio: Use docstrings instead of comments in types.hal files
  Implement a.h.audio.common@7.0-util module
  Move UUID conversions into their own class
2020-12-14 08:55:22 +00:00
Amit Mahajan
d35457c922 Merge "Receive forwarded number from Modem" 2020-12-14 07:48:41 +00:00
Shawn Willden
747eeaea28 Remove authorization set serialization.
This is no longer needed in KeyMint. Keystore2 implements similar
functionality in Rust.

Test: Build
Change-Id: Ia43716449756935619fb22ef5aba113e420c2687
2020-12-13 23:48:10 -07:00
Shawn Willden
09b5826c68 Move tag type comments where they belong.
Because AIDL doesn't allow tag values to be constructed the way we
did in HIDL (and before), each tag definition carries a comment
specifying what the "magic" tag type value used in its construction
means.  This CL moves those comments so they're adjacent to the value
they're documenting.

Test: Build
Change-Id: I30b037f9ddf6bf2b07326a53959d490e045c891a
2020-12-13 23:48:10 -07:00
Shawn Willden
1d3f85e891 Various cleanups
Mostly just removal of old-style #include guards in favor of #pragm
once, reorganization of header includes, correction of copyright
years, etc.

Test: VtsAidlKeyMintTargetTest
Change-Id: I070584ecec550a2f133b1c19f36f99e7b5544e7c
2020-12-13 23:48:10 -07:00
Mikhail Naganov
ec5df2d747 audio: Use docstrings instead of comments in types.hal files
Converted comments into docstrings for enums and structures
in Audio HAL V7 definition.

Bug: 142480271
Test: m
Change-Id: Id5e36e7a42e2600ab69612819f8260110871c711
Merged-In: Id5e36e7a42e2600ab69612819f8260110871c711
2020-12-11 22:10:50 +00:00
Mikhail Naganov
1b444a5332 Implement a.h.audio.common@7.0-util module
This includes a rewrite of HidlUtils for V7.
A unit test is added for its conversion functions.

Made necessary minor adjustments to the HAL V7 types.
Also, fixed definition of 'audioFormatsList' to allow for
vendor extensions.

Bug: 142480271
Bug: 173647783
Test: m && atest android.hardware.audio.common@7.0-util_tests
Change-Id: Ib883f1c246fce78c004846516699aa724d4b5d44
Merged-In: Ib883f1c246fce78c004846516699aa724d4b5d44
2020-12-11 22:10:10 +00:00
Mikhail Naganov
4122f6328a Move UUID conversions into their own class
Mechanical extraction of HidlUtils::uuidFrom/ToHal into
a dedicated class UuidUtils.

Bug: 142480271
Test: m
Change-Id: Ic5333ba32dc293f32c5562d0ef05bde8e5f9b302
Merged-In: Ic5333ba32dc293f32c5562d0ef05bde8e5f9b302
2020-12-11 22:09:43 +00:00
Yomna Nasser
e8bfa9c4e1 Add getAllowedNetworkTypesBitmap HAL API
Adds corresponding query API getAllowedNetworkTypesBitmap to
existing setAllowedNetworkTypeBitmap.

Test: atest
Bug: 171791177
Change-Id: Ib8f0075dda41d4876a14f7223a067e34626a4675
Merged-In: Ib8f0075dda41d4876a14f7223a067e34626a4675
2020-12-11 21:18:31 +00:00
Shawn Willden
08a7e43e78 Revert^2 "Move keymint to android.hardware.security."
1ffcdebadd

Bug: 175345910
Bug: 171429297
Exempt-From-Owner-Approval: re-landing topic with no changes in this CL.
Change-Id: I691cad252f188b54a8076589d9955774d74d4729
2020-12-11 20:36:59 +00:00
Orion Hodson
495ceb90fd Merge "Revert "Move keymint to android.hardware.security."" 2020-12-11 12:29:46 +00:00
Orion Hodson
1ffcdebadd Revert "Move keymint to android.hardware.security."
Revert "Keystore 2.0 SPI: Move keymint spec to security namespace."

Revert "Keystore 2.0: Move keymint spec to security namespace."

Revert "Keystore 2.0: Move keymint spec to security namespace."

Revert "Move keymint to android.hardware.security."

Revert "Configure CF to start KeyMint service by default."

Revert "Move keymint to android.hardware.security."

Revert "Move keymint to android.hardware.security."

Revert submission 1522123-move_keymint

Reason for revert: Build breakage
Bug: 175345910
Bug: 171429297
Reverted Changes:
Ief0e9884a:Keystore 2.0: Move keymint spec to security namesp...
Idb54e8846:Keystore 2.0: Move keymint spec to security namesp...
I9f70db0e4:Remove references to keymint1
I2b4ce3349:Keystore 2.0 SPI: Move keymint spec to security na...
I2498073aa:Move keymint to android.hardware.security.
I098711e7d:Move keymint to android.hardware.security.
I3ec8d70fe:Configure CF to start KeyMint service by default.
Icbb373c50:Move keymint to android.hardware.security.
I86bccf40e:Move keymint to android.hardware.security.

Change-Id: I160cae568ed6b15698bd0af0b19c6c949528762d
2020-12-11 10:45:43 +00:00
Jack Yu
f916560188 Extend test timeout value from 180s to 600s
There are several test cases that may take longer duration to complete.
Extend the timeout value to ensure there is sufficient running duration.

Bug: 174717076
Test: atest VtsHalNfcV1_0TargetTest
Change-Id: I4fc15184f0715131c45247820e1edbaae511b8a3
2020-12-11 16:01:45 +08:00
Treehugger Robot
f3ff53da1a Merge changes from topic "aosp-audio-base-h"
* changes:
  audio: Add @export annotations to microphone-related enums
  Make audio*-base.h files autogenerated again
2020-12-10 22:57:35 +00:00
Shawn Willden
0a89757936 Merge "Move keymint to android.hardware.security." 2020-12-10 22:49:14 +00:00