rust-vmm / community

rust-vmm community content
499 stars 28 forks source link

Crate Addition Request: vm-superio #89

Closed andreeaflorescu closed 4 years ago

andreeaflorescu commented 4 years ago

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 and vmm-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-595170869

Why 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.

sboeuf commented 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?

bonzini commented 4 years ago

I agree that a generic vm-superio or vm-isa crate makes the most sense.

jiangliu commented 4 years ago

Yeah, a generic vm-superio with feature bits is welcomed:)

andreeaflorescu commented 4 years ago

Sounds good to me. I'll create a vm-superio crate.

andreeaflorescu commented 4 years ago

Created repository: https://github.com/rust-vmm/vm-superio