Hi,
I am a newbie to VMs in general and have read lots of wikis & forums etc. but can't be sure what the answer to the following is. Can the experts clarify, please ?
Scenario : I have Windows host (say win.7) and Linux guest (say fedora 14)
If I run an app (e.g. minicom terminal emulation) on the guest linux, how does the actual hardware UART I/O happen ?
Which if any of the following options is true ?
1- VBox (the VM) use the windows serial port driver to create a virtual hardware for the guest OS.
i.e. minicom talks to fedora/linux driver which talks to VBox virtual UART which talk to windows uart driver which talks to real uart.
2- The uart driver on the guest actually registers interupt handlers etc. for the real hardware through VBox.
An IO interrupt really interrupts the VBOX which really interrupts the fedora/linux which really runs the interrupt handler code that it would run had it been the host os.
i.e. at the guest/fedora level you really do write to the uart registers etc.
I look forward to being enlightened. Thanks.
How does IO virtualisation work in VBox
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: How does IO virtualisation work in VBox
The guest has a virtual UART which it talks to: this typically looks like a traditional legacy COM1. When the guest writes to virtual UART registers the virtualbox emulation code catches it and then does whatever it's configured to do, i.e. talk to a named pipe, or to any host COM port (which need not be COM1). If the latter then the host COM port is selected in the VM settings.