Audio
ES1370 emulation es1370.c
Soundblaster 16 emulation sb16.c
Graphic
VGA Emulator vga*
Cirrus CLGD 54xx VGA Emulator cirrus_vga.c
Xen Console xen_console.c
QEMU VNC display driver ..\vnc.c
Net
e1000 Ethernet emulation e1000*
NE2000 emulation ne2000.c
QEMU RTL8139 emulation rtl8139.c
Other
PC System Emulator pc.c, ..\vl.c
PCI pci*
PCI MSI support pt-msi.c
QEMU PC keyboard emulation pckbd.c
QEMU VMMouse emulation vmmouse.c
PS/2 Port ps2*
QEMU MC146818 RTC emulation mc146818rtc.c
usb usb*, ..\usb*
Battery Management battery_mgmt*
DMA emulation dma.c, ..\dma*
Floppy disk emulator (Intel 82078) fdc*
QEMU IDE disk and CD/DVD-ROM Emulator ide.c, cdrom.c
LSI53C895A SCSI Host Bus Adapter emulation lsi53c895a.c
ACPI & PIIX acpi, piix*
QEMU 8253/8254 interval timer emulation i8254.c
QEMU 8259 interrupt controller emulation i8259.c
QEMU Parallel PORT emulation parallel.c
PC speaker emulation pcspk.c
APIC apic.c
ISA Bus isa*
16550A UART emulation serial.c
SCSI Device emulation scsi*
TPM tpm*
High Precisition Event Timer emulation hpet*
QEMU I2C bus interface i2c*
SMBus device emulation smbus*
Virtio Devices virtio*
VMPort emulation vmport.c
XEN event channel device xen_platform*
Xen paravirt framebuffer xenfb*, ..\xenfbfront.c
XenStore ..\xenstore.c
-Anh
On Fri, May 7, 2010 at 2:13 PM, Anh Nguyen
<nguyenminhanh@xxxxxxxxx> wrote:
Thanks Stefano,
I looked into the code and this is what I got. Does this look right to you?
Audio
ES1370 emulation
es1370.c
Soundblaster
16 emulation
sb16.c
Graphic
VGA Emulator
vga*
Cirrus
CLGD 54xx VGA Emulator
cirrus_vga.c
Xen
Console
xen_console.c
QEMU VNC
display driver
..\vnc.c
Net
e1000 Ethernet emulation
e1000*
NE2000
emulation
ne2000.c
QEMU
RTL8139 emulation
rtl8139.c
PC System Emulator
pc.c, ..\vl.c
PCI
pci*
PCI MSI support
pt-msi.c
QEMU PC keyboard emulation
pckbd.c
QEMU VMMouse emulation
vmmouse.c
PS/2 Port
ps2*
QEMU MC146818 RTC emulation
mc146818rtc.c
usb
usb*, ..\usb*
Battery Management
battery_mgmt*
DMA emulation
dma.c, ..\dma*
Floppy disk emulator (Intel
82078)
fdc*
QEMU IDE disk and CD/DVD-ROM
Emulator
ide.c, cdrom.c
LSI53C895A SCSI Host Bus Adapter
emulation
lsi53c895a.c
ACPI & PIIX
acpi, piix*
QEMU 8253/8254 interval timer
emulation
i8254.c
QEMU 8259 interrupt controller
emulation
i8259.c
QEMU Parallel PORT emulation
parallel.c
PC speaker emulation
pcspk.c
APIC
apic.c
ISA Bus
isa*
16550A UART emulation
serial.c
SCSI Device emulation
scsi*
TPM
tpm*
High Precisition Event Timer
emulation
hpet*
QEMU I2C bus interface
i2c*
SMBus device emulation
smbus*
Virtio Devices
virtio*
VMPort emulation
vmport.c
XEN event channel device
xen_platform*
Xen paravirt framebuffer
xenfb*, ..\xenfbfront.c
XenStore
..\xenstore.c
Best,
On Fri, May 7, 2010 at 3:56 AM, Stefano Stabellini
<stefano.stabellini@xxxxxxxxxxxxx> wrote:
On Thu, 6 May 2010, George Dunlap wrote:
> Ahn, the backends and frontends depends on which version of the kernel
> you're using. Do you want to look at the pv-ops kernel (the long-term
> future), or the xen-linux kernel (a fork which will never make it
> as-is into Linux, but is ATM more widely used)?
>
> Stefano, which devices are enabled in qemu in our Xen tree? Can you
> give Anh some pointers on how to find out which files correspond to
> those devices? Thanks!
>
Just starting a Linux HVM guest and executing lspci in the guest is a
good start :)
The entry to point to start all the emulated devices in qemu is
pc_init1 in hw/pc.c, from there you can find out all the
initialization functions of the emulated hardware provided by qemu to
the guest.
The main ones are the graphic card (two models available:
hw/cirrus_vga.c and hw/vga.c), network cards (two models available:
hw/e1000.c, hw/rtl8139.c), PIIX4 (hw/piix4acpi.c), PIIX3 (hw/piix_pci.c,
hw/ide.c, hw/usb-uhci.c), usb devices (hw/usb-hid.c), the xen pci
platofirm device (hw/xen_platform.c) and the serial card (hw/serial.c).