add wait_for_keymaster

Bug: 79228237
Test: boots with patch
Change-Id: I581bcd4c4dd92c5b7be70eb351ecba20225e1eee
This commit is contained in:
Paul Crowley 2018-02-07 14:41:26 -08:00
parent 4a04cad4ec
commit 8f82879901
2 changed files with 56 additions and 0 deletions

View file

@ -163,6 +163,7 @@ cc_binary {
required: [ required: [
"mke2fs", "mke2fs",
"vold_prepare_subdirs", "vold_prepare_subdirs",
"wait_for_keymaster",
], ],
} }
@ -183,6 +184,28 @@ cc_binary {
init_rc: ["vdc.rc"], init_rc: ["vdc.rc"],
} }
cc_binary {
name: "wait_for_keymaster",
defaults: ["vold_default_flags"],
srcs: [
"wait_for_keymaster.cpp",
"Keymaster.cpp",
],
shared_libs: [
"libbase",
"libbinder",
"android.hardware.keymaster@3.0",
"android.hardware.keymaster@4.0",
"libhardware",
"libhardware_legacy",
"libhidlbase",
"libhwbinder",
"libkeymaster4support",
],
}
cc_binary { cc_binary {
name: "secdiscard", name: "secdiscard",
defaults: ["vold_default_flags"], defaults: ["vold_default_flags"],

33
wait_for_keymaster.cpp Normal file
View file

@ -0,0 +1,33 @@
/*
* Copyright (C) 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 "Keymaster.h"
int main(int argc, char** argv) {
setenv("ANDROID_LOG_TAGS", "*:v", 1);
if (getppid() == 1) {
// If init is calling us then it's during boot and we should log to kmsg
android::base::InitLogging(argv, &android::base::KernelLogger);
} else {
android::base::InitLogging(argv, &android::base::StderrLogger);
}
LOG(INFO) << "Waiting for Keymaster device";
android::vold::Keymaster keymaster;
LOG(INFO) << "Keymaster device ready";
return 0;
}