How does IO virtualisation work in VBox

This is for discussing general topics about how to use VirtualBox.
Post Reply
samadagha
Posts: 1
Joined: 12. Jun 2011, 18:23
Primary OS: MS Windows 7
VBox Version: OSE Fedora
Guest OSses: Fedora 14

How does IO virtualisation work in VBox

Post by samadagha »

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

Post by mpack »

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.
Post Reply