From 0fb39f6e698d99157b2ce640a4bacd4479c0cf11 Mon Sep 17 00:00:00 2001 From: Tiffany Yang Date: Tue, 21 May 2024 16:43:35 -0700 Subject: [PATCH] init: Support for initializing virtio-console devices This change allows init to ensure that a specified virtio-console device file (`/dev/hvc*`) is available before `ueventd` coldboot. Times out if device path is not encountered within 10 seconds. Bug: 325538592 Test: build bertha_x86_64 and bertha_arm64 Change-Id: Ia1512e69ea607bf4d235595caa53668e2dac500c --- init/block_dev_initializer.cpp | 4 ++++ init/block_dev_initializer.h | 1 + 2 files changed, 5 insertions(+) diff --git a/init/block_dev_initializer.cpp b/init/block_dev_initializer.cpp index a686d0513..8f5215856 100644 --- a/init/block_dev_initializer.cpp +++ b/init/block_dev_initializer.cpp @@ -139,6 +139,10 @@ bool BlockDevInitializer::InitPlatformDevice(const std::string& dev_name) { return InitDevice("/sys/devices/platform", dev_name); } +bool BlockDevInitializer::InitHvcDevice(const std::string& dev_name) { + return InitDevice("/sys/devices/virtual/tty", dev_name); +} + bool BlockDevInitializer::InitDevice(const std::string& syspath, const std::string& device_name) { bool found = false; diff --git a/init/block_dev_initializer.h b/init/block_dev_initializer.h index d5b1f6006..cb1d36555 100644 --- a/init/block_dev_initializer.h +++ b/init/block_dev_initializer.h @@ -34,6 +34,7 @@ class BlockDevInitializer final { bool InitDevices(std::set devices); bool InitDmDevice(const std::string& device); bool InitPlatformDevice(const std::string& device); + bool InitHvcDevice(const std::string& device); private: ListenerAction HandleUevent(const Uevent& uevent, std::set* devices);