42 files changed, 6493 insertions, 19016 deletions
diff --git a/4.0/service.cpp b/4.0/service.cpp new file mode 100755 index 0000000..6a7105a --- a/dev/null +++ b/4.0/service.cpp @@ -0,0 +1,43 @@ +/* +** +** Copyright 2018, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + +#include <android-base/logging.h> +#include <android/hardware/keymaster/4.0/IKeymasterDevice.h> +#include <hidl/HidlTransportSupport.h> +#include <amlogic_keymaster/AmlogicKeymaster.h> +#include <amlogic_keymaster/AmlogicKeymaster4Device.h> + +int main() { + ::android::hardware::configureRpcThreadpool(1, true); + auto trustyKeymaster = new keymaster::AmlogicKeymaster(); + int err = trustyKeymaster->Initialize(); + if (err != 0) { + LOG(FATAL) << "Could not initialize AmlogicKeymaster (" << err << ")"; + return -1; + } + + auto keymaster = new ::keymaster::V4_0::AmlogicKeymaster4Device(trustyKeymaster); + + auto status = keymaster->registerAsService(); + if (status != android::OK) { + LOG(FATAL) << "Could not register service for Keymaster 4.0 (" << status << ")"; + return -1; + } + + android::hardware::joinRpcThreadpool(); + return -1; // Should never get here. +} |