blob: 60d856f62785d38f8c130b73c27e4fd0047c6bb7 [file] [log] [blame]
Jocelyn Bohr185432c2015-08-13 14:16:09 -07001// Copyright 2015 The Chromium OS Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
Yi Chouf964bab2020-12-10 11:50:28 +08005#include <memory>
6
Yi Chou9d24b462020-12-04 01:12:57 +08007#include "tpm2-simulator/simulator.h"
Yi Chouf964bab2020-12-10 11:50:28 +08008#include "tpm2-simulator/tpm_executor_tpm2_impl.h"
Jocelyn Bohr185432c2015-08-13 14:16:09 -07009
Yi Choudee22a52020-12-07 15:06:22 +080010#include <base/at_exit.h>
Yi Chou9d24b462020-12-04 01:12:57 +080011#include <base/logging.h>
Yi Choudee22a52020-12-07 15:06:22 +080012#include <brillo/flag_helper.h>
Yi Chou9d24b462020-12-04 01:12:57 +080013#include <brillo/syslog_logging.h>
Jocelyn Bohr185432c2015-08-13 14:16:09 -070014
Yi Chou9d24b462020-12-04 01:12:57 +080015int main(int argc, char* argv[]) {
Yi Choudee22a52020-12-07 15:06:22 +080016 DEFINE_bool(sigstop, true, "raise SIGSTOP when TPM initialized");
17 DEFINE_string(work_dir, "/mnt/stateful_partition/unencrypted/tpm2-simulator",
18 "Daemon data folder");
19
20 base::AtExitManager at_exit;
21
22 brillo::FlagHelper::Init(argc, argv, "TPM2 simulator");
Yi Chou9d24b462020-12-04 01:12:57 +080023 brillo::InitLog(brillo::kLogToSyslog | brillo::kLogToStderrIfTty);
Jocelyn Bohr185432c2015-08-13 14:16:09 -070024
Yi Choudee22a52020-12-07 15:06:22 +080025 if (chdir(FLAGS_work_dir.c_str()) < 0) {
26 PLOG(ERROR) << "Failed to change to current directory";
Jocelyn Bohr185432c2015-08-13 14:16:09 -070027 }
Yi Chou9d24b462020-12-04 01:12:57 +080028
Yi Chouf964bab2020-12-10 11:50:28 +080029 auto tpm_executor_impl =
30 std::make_unique<tpm2_simulator::TpmExecutorTpm2Impl>();
31
32 tpm2_simulator::SimulatorDaemon daemon(tpm_executor_impl.get());
Yi Choudee22a52020-12-07 15:06:22 +080033 daemon.set_sigstop_on_initialized(FLAGS_sigstop);
34
Yi Chou9d24b462020-12-04 01:12:57 +080035 daemon.Run();
Jocelyn Bohr185432c2015-08-13 14:16:09 -070036}