[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: Host <-> guest interface port?
From: |
Matthew Mastracci |
Subject: |
[Qemu-devel] Re: Host <-> guest interface port? |
Date: |
Tue, 04 May 2004 17:32:01 -0600 |
User-agent: |
Mozilla Thunderbird false StumbleUpon/1.77 (Windows/20040406) |
Fabrice Bellard wrote:
Matthew Mastracci wrote:
Would it be possible to add a host/guest interface port, akin to how
VMWare handles this? It's a convenient way to get/set various
properties from the host while running the guest operating system.
This also allows a smoother mouse interface - ie: auto
capture/release of the mouse as it hits the screen boundaries,
clipboard synchronization as well as synchronization of the guest's
clock with the host's.
Some more info on the VMWare port is here:
http://chitchat.at.infoseek.co.jp/vmware/backdoor.html
Of course it is possible to add that, but first we must define the
features we want and implement the necessary support in the guest
OSes, which seems to be the most difficult AFAIK. Clipboard support
would be interesting. Does anyone know how to implement it for Linux
and Windows guests ?
I can implement text-clipboard-passing for a windows guest without much
effort. If the CPU protection for the IO port is disabled, even when
running at IOPL3, it could be implemented entirely in userspace.
It would be nice to define standard register values for the different
features, as well as add functionality to query the availability of the
feature. For instance, the first two registers could define the
supported interface:
Register 0: Returns the maximum supported register index by the current
version of QEMU
Register 1: Write to the register with a given register index - returns
1 if supported or 0 if unsupported or disabled.
Possible register functionality (off the top of my head):
- Get host clock: returns the host clock time in UTC (useful for clock
sync between guest/host)
- Get host clock TZ: returns the host clock offset relative to UTC
- Set host's clipboard
- Get host's clipboard
- Attach/detach virtual device (floppy/cd/etc)
- Transfer file (?)
- Read guest filesystem
Matt.
matt.vcf
Description: Vcard