f38a002624126ca837865826f948edc9100d6e8a |
|
26-Apr-2017 |
Janis Danisevskis <jdanis@google.com> |
Make keymaster more self contained Keymaster uses UniquePtr, a reimplementation of std::unique_ptr offered by the Android framework. As keymaster becomes part of the trebbelized HAL, it must build with the vndk. As such it must not use framework headers. An attempt to replace UniquePtr with std::unique_ptr, which is available in the vndk, failed because keymaster, i.e., parts thereof, must also build and run in the Trusty environment which does not have a full C++ STL. This patch makes keymaster more self contained. To that end the following was done by this patch. * Install a copy of UniquePtr.h in include/keymaster. * Add a tiny subset of STL symbols to keymaster. * Reorganize linking units and * build parts of keymaster with stl: "none". libkeymaster1 was split into libkeymaster_portable and libkeymaster. The former comprises all compilation units that are included in the keymaster TA (trusted app) and must run on Trusty. This library is built with the option stl: "none" to raise compilation errors as soon as someone tries to use STL features. A tiny subset of STL symbols, which are also available in Trusty is weakly defined in keymaster_stl.cpp. The latter library comprises some other functionality that is used by the softkeymasterdevice on Android and may use the STL. Bug: 37467707 Test: keymaster vts tests and keystore cts test Change-Id: I884336e1a2d2c6402a2c7deb27010fd88b907b6b
/system/keymaster/include/keymaster/new
|
cf3763f666d2236159a22b496b6ede55878aa100 |
|
03-May-2017 |
Janis Danisevskis <jdanis@google.com> |
Revert "Make keymaster more self contained" This reverts commit dcd67c1dd0a457feec619974b3d7d077903012a8. Reason for revert: build breakage Change-Id: Id7a1b29d82f69ab21e7c461dbabc4e1466870359
/system/keymaster/include/keymaster/new
|
dcd67c1dd0a457feec619974b3d7d077903012a8 |
|
26-Apr-2017 |
Janis Danisevskis <jdanis@google.com> |
Make keymaster more self contained Keymaster uses UniquePtr, a reimplementation of std::unique_ptr offered by the Android framework. As keymaster becomes part of the trebbelized HAL, it must build with the vndk. As such it must not use framework headers. An attempt to replace UniquePtr with std::unique_ptr, which is available in the vndk, failed because keymaster, i.e., parts thereof, must also build and run in the Trusty environment which does not have a full C++ STL. This patch makes keymaster more self contained. To that end the following was done by this patch. * Install a copy of UniquePtr.h in include/keymaster. * Add a tiny subset of STL symbols to keymaster. * Reorganize linking units and * build parts of keymaster with stl: "none". libkeymaster1 was split into libkeymaster_portable and libkeymaster. The former comprises all compilation units that are included in the keymaster TA (trusted app) and must run on Trusty. This library is built with the option stl: "none" to raise compilation errors as soon as someone tries to use STL features. A tiny subset of STL symbols, which are also available in Trusty is weakly defined in keymaster_stl.cpp. The latter library comprises some other functionality that is used by the softkeymasterdevice on Android and may use the STL. Test: keymaster vts tests and keystore cts test Change-Id: Iba03b45cc3d20854c577160f90fe24bfa7857986
/system/keymaster/include/keymaster/new
|