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! -George On Sun, May 2, 2010 at 12:47 AM, Anh Nguyen <nguyenminhanh@gmail.com> wrote:> Hi George, > I want to measure the size of Xen virtual devices (in term of lines of > code), for both HVM and PV guests. From what I learnt, Xen uses > Qemu daemon running in Dom 0 to emulate virtual devices for HVM guests. For > PV guests, backend devices in Dom 0 talks to frontend devices in Dom U. > I tried to post this question to xen-devel list but they did not go through. > I would really appreciate if you could help me to answer them, or point me > to the right direction: > 1. What devices are offered to Xen HVM guests, what about Xen PV guests? > 2. Where can I find the source code for those devices? > Thanks a lot, > Anh > > On Sat, May 1, 2010 at 5:18 PM, Sam King <kingst@uiuc.edu> wrote: >> >> Hi George, >> >> One of my students, Anh (included in this email), has some questions about >> Xen. He has tried posting to the newsgroup without much luck, I was hoping >> that you could either answer his questions or point him in the right >> direction. >> >> Cheers, >> Sam > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Hi George, I am interested in the xen-linux kernel for PV guests. For HVM guests, I find it a bit difficult to pinpoint exactly what devices are enabled because the ioemu-qemu-xen directory inside xen source seems to contain a lot of code not used by xen. Thanks, On Thu, May 6, 2010 at 1:36 PM, George Dunlap <George.Dunlap@eu.citrix.com>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! > > -George > > On Sun, May 2, 2010 at 12:47 AM, Anh Nguyen <nguyenminhanh@gmail.com> > wrote: > > Hi George, > > I want to measure the size of Xen virtual devices (in term of lines of > > code), for both HVM and PV guests. From what I learnt, Xen uses > > Qemu daemon running in Dom 0 to emulate virtual devices for HVM guests. > For > > PV guests, backend devices in Dom 0 talks to frontend devices in Dom U. > > I tried to post this question to xen-devel list but they did not go > through. > > I would really appreciate if you could help me to answer them, or point > me > > to the right direction: > > 1. What devices are offered to Xen HVM guests, what about Xen PV guests? > > 2. Where can I find the source code for those devices? > > Thanks a lot, > > Anh > > > > On Sat, May 1, 2010 at 5:18 PM, Sam King <kingst@uiuc.edu> wrote: > >> > >> Hi George, > >> > >> One of my students, Anh (included in this email), has some questions > about > >> Xen. He has tried posting to the newsgroup without much luck, I was > hoping > >> that you could either answer his questions or point him in the right > >> direction. > >> > >> Cheers, > >> Sam > > > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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). _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
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@eu.citrix.com> 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). > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Sorry. The table format was lost in the previous email. 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@gmail.com> 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@eu.citrix.com> 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). >> >> >> >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
On Fri, 7 May 2010, Anh Nguyen wrote:> Sorry. The table format was lost in the previous email. > 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.cthis is not emulated hardware but a paravirtualized backend for PV guests> QEMU VNC display driver ..\vnc.cthis is just a qemu display driver, to render the guest framebuffer using vnc> 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.cpt-msi and pass-through.c are for direct assignment of real pci devices to the guest> QEMU PC keyboard emulation pckbd.c > QEMU VMMouse emulation vmmouse.cI don''t think we use this> PS/2 Port ps2* > QEMU MC146818 RTC emulation mc146818rtc.cthe rtc emulator is in xen> 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.cboth the timer and interrupt controller emulators are in xen> QEMU Parallel PORT emulation parallel.c > PC speaker emulation pcspk.c > APIC apic.cthe apic emulator is in xen> ISA Bus isa*we don''t use this> 16550A UART emulation serial.c > SCSI Device emulation scsi* > TPM tpm* > High Precisition Event Timer emulation hpet*the hpet emulator is in xen> QEMU I2C bus interface i2c*we don''t use these> SMBus device emulation smbus*we don''t use these> Virtio Devices virtio*we don''t use these> VMPort emulation vmport.cwe don''t use this> XEN event channel device xen_platform* > Xen paravirt framebuffer xenfb*, ..\xenfbfront.cthis is not emulated hardware but another PV backend for PV guests> XenStore ..\xenstore.c >this is to interface qemu with xenstore _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel