Closed andreeaflorescu closed 4 years ago
That'd be great to have the serial device implementation provided by rust-vmm, but do we want this to live in its own crate? I mean I can think of the i8042 or the CMOS device which are also what we could call legacy devices and it might make sense to group them together. WDYT?
I agree that a generic vm-superio or vm-isa crate makes the most sense.
Yeah, a generic vm-superio with feature bits is welcomed:)
Sounds good to me. I'll create a vm-superio crate.
Created repository: https://github.com/rust-vmm/vm-superio
Crate Name: serial-console
Short Description
This crate provides emulation for legacy serial console. We can start off with the emulation we currently have in Firecracker and add support for other implementations if that's needed.
This crate will depend on vm-device so that it can implement
DeviceIo
andvmm-sys-util
. As in Firecracker we also use metrics for this device, I was thinking of also experimenting with the metric design proposal. For more details about the metric design proposal, please check this comment: https://github.com/rust-vmm/community/issues/86#issuecomment-595170869Why is this crate relevant to the rust-vmm project?
This crate is needed so that we can implement a minimal reference VMM using rust-vmm components. A serial console is also pretty useful when debugging and it looks like all Rust VMMs have some sort of implementation for it.