Paul Schulze
2008-Aug-01 19:05 UTC
[Xen-users] Second Dom0-like DomU with graphics hardware access
Hey everyone, First, I think I just more or less succeeded on passing my primary (and only) graphics card, an onboard ATI Radeon HD3200, through to a DomU. Or at least there is no error message stating otherwise, when I start the DomU and the device is shown when lspci is used. Before someone gets too excited, Xorg still complains about not finding the device and the output from booting the Xen kernel is still the only thing, displayed on the connected monitor. Now the first question is, does anyone have an idea on how to prevent Xen from grabbing and writing its output to the VGA hardware, if it should already have a serial console to work with? I am assuming, that even if I have the kernel output to the serial console and have pciback hide the graphics card, Xen still hands the graphics card directly to the Dom0, if it shows its messages on one and the kernel grabs it, even if it isn''t needed for output. This might cause Xorg in the DomU not to find the device. If this isn''t the problem here, does anyone have any ideas on what is going wrong? The second question is, does anyone know if it is possible to have PS2 devices (aka. keyboard and mouse) exclusively assigned to one DomU? I would really like to separate the VM, controlling Xen and my desktop VM for various reasons (f.e. to not have to restart every DomU along with the Dom0, if the desktop system receives an update, security and so on). Since I can use the serial console from another device to control Xen (or use SSH), I really don''t need keyboard and mouse in the Dom0 and having PS2 support in the Desktop DomU would be just nice, especially since I''m a little short on USB input devices right now, so the USB controllers, I passed to the same DomU aren''t much help. And the third problem, I am facing at the moment, I still don''t get the boot output or any login prompt on the connected monitor, probably because the TTYs are fake in a Xen DomU. Is there a way to have these connect to the real VGA adapter instead? Thanks, Paul. P.S.: To round up the crazy stuff, if anyone knows a way to intercept signals from the power button in Dom0, Id like to know. Would be nice if I could start up and shutdown the Desktop DomU like that. -- Paul Schulze avlex@gmx.net Public Key: http://solaris-net.dyndns.org/keys/key_avlex.asc "Making mistakes is human, but to really fuck things up you need Computers" _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Paul Schulze
2008-Aug-01 19:26 UTC
[Xen-users] Second Dom0-like DomU with graphics hardware access
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hey everyone, First, I think I just more or less succeeded on passing my primary (and only) graphics card, an onboard ATI Radeon HD3200, through to a DomU. Or at least there is no error message stating otherwise, when I start the DomU and the device is shown when lspci is used. Before someone gets too excited, Xorg still complains about not finding the device and the output from booting the Xen kernel is still the only thing, displayed on the connected monitor. Now the first question is, does anyone have an idea on how to prevent Xen from grabbing and writing its output to the VGA hardware, if it should already have a serial console to work with? I am assuming, that even if I have the kernel output to the serial console and have pciback hide the graphics card, Xen still hands the graphics card directly to the Dom0, if it shows its messages on one and the kernel grabs it, even if it isn''t needed for output. This might cause Xorg in the DomU not to find the device. If this isn''t the problem here, does anyone have any ideas on what is going wrong? The second question is, does anyone know if it is possible to have PS2 devices (aka. keyboard and mouse) exclusively assigned to one DomU? I would really like to separate the VM, controlling Xen and my desktop VM for various reasons (f.e. to not have to restart every DomU along with the Dom0, if the desktop system receives an update, security and so on). Since I can use the serial console from another device to control Xen (or use SSH), I really don''t need keyboard and mouse in the Dom0 and having PS2 support in the Desktop DomU would be just nice, especially since I''m a little short on USB input devices right now, so the USB controllers, I passed to the same DomU aren''t much help. And the third problem, I am facing at the moment, I still don''t get the boot output or any login prompt on the connected monitor, probably because the TTYs are fake in a Xen DomU. Is there a way to have these connect to the real VGA adapter instead? Thanks, Paul. P.S.: To round up the crazy stuff, if anyone knows a way to intercept signals from the power button in Dom0, Id like to know. Would be nice if I could start up and shutdown the Desktop DomU like that. - -- Paul Schulze avlex@gmx.net Public Key: http://solaris-net.dyndns.org/keys/key_avlex.asc "Making mistakes is human, but to really fuck things up you need Computers" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Darwin) iD8DBQFIk2N3YDWOGtiChoARArk+AJkB0NerkWHV6BLRbYj62oT+0T6sxQCfSyTO BC7zhdQ5W9XqsyyYaMzfYKo=IHla -----END PGP SIGNATURE----- _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users
Paul Schulze
2008-Aug-08 01:58 UTC
[Xen-users] Re: Second Dom0-like DomU with graphics hardware access
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hey everyone, This is a little followup on my previous messages, to let you know what I found out until now. I haven''t really solved any of these problems, but I am getting closer and I wanted to let you guys know what I found out in case someone wants to try or has an idea here. Am 01.08.2008 um 21:26 schrieb Paul Schulze:> First, I think I just more or less succeeded on passing my primary > (and only) graphics card, an onboard ATI Radeon HD3200, through to > a DomU. Or at least there is no error message stating otherwise, > when I start the DomU and the device is shown when lspci is used. > Before someone gets too excited, Xorg still complains about not > finding the device and the output from booting the Xen kernel is > still the only thing, displayed on the connected monitor.I managed to make Xorg detect the card by simply fixing arch/x86/mm/ hypervisor.c with having it export xen_invlpg_mask in the Ubuntu source package. I think this was also making trouble for people using the fglrx driver in Dom0, so here is the patch for the Ubuntu source package (might work with other systems too): - --- debian/binary-custom.d/xen/patchset/005-xen-fglrx-fix.patch - ------------------------------------ diff -Naur linux-2.6.24.orig/arch/x86/mm/hypervisor.c linux-2.6.24/ arch/x86/mm/hypervisor.c - --- linux-2.6.24.orig/arch/x86/mm/hypervisor.c 2008-08-07 03:36:57.000000000 +0200 +++ linux-2.6.24/arch/x86/mm/hypervisor.c 2008-08-07 03:38:32.000000000 +0200 @@ -157,6 +157,7 @@ set_xen_guest_handle(op.arg2.vcpumask, mask->bits); BUG_ON(HYPERVISOR_mmuext_op(&op, 1, NULL, DOMID_SELF) < 0); } +EXPORT_SYMBOL(xen_invlpg_mask); #endif /* CONFIG_SMP */ - --- End 005-xen-fglrx-fix.patch - ------------------------------------------------------------------------ - ------- This actually enables me to load the closed source kernel module, which at the moment seems to be the only device driver in the Ubuntu repositories that really recognizes my onboard ATI Radeon HD3200 (the AMD 780G chipset was released in May, Ubuntu 8.04 in April, so its no surprise that neither the radeonfb nor radeon(hd) drivers find it). I am not sure why VESA mode isn''t working, but I suspect that there are interface parts from the system BIOS needed and I highly doubt that Xen provides those (or Asus just skipped the VESA BIOS on my board). I also passed the PCI-to-PCI bridge for the graphics card along to the DomU, whereby I am not so sure if that is really needed. The problem now is, that I don''t get any output on the monitor and the X server fails with: (II) LoadModule: "vgahw" (II) Loading /usr/lib/xorg/modules//libvgahw.so (II) Module vgahw: vendor="X.Org Foundation" compiled for 1.4.0.90, module version = 0.1.0 ABI class: X.Org Video Driver, version 2.0 (II) fglrx(0): PCI bus 0 card 5 func 0 (**) fglrx(0): Depth 24, (--) framebuffer bpp 32 (II) fglrx(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps) (==) fglrx(0): Default visual is TrueColor (II) fglrx(0): PCS database file /etc/ati/amdpcsdb not found (II) fglrx(0): Creating PCS database from initial defaults instead (==) fglrx(0): RGB weight 888 (II) fglrx(0): Using 8 bits per RGB (8 bit DAC) (==) fglrx(0): Gamma Correction for I is 0x06419064 (==) fglrx(0): Gamma Correction for II is 0x06419064 (==) fglrx(0): Buffer Tiling is ON (--) fglrx(0): Chipset: "ATI Radeon HD 3200 Graphics" (Chipset = 0x9610) (--) fglrx(0): (PciSubVendor = 0x1002, PciSubDevice = 0x0000) (--) fglrx(0): board vendor info: original ATI graphics adapter (--) fglrx(0): Linear framebuffer (phys) at 0x40000000 (--) fglrx(0): MMIO registers at 0x50000000 (==) fglrx(0): ROM-BIOS at 0x000c0000 (WW) System lacks support for changing MTRRs Fatal server error: xf86MapVidMem: Could not mmap framebuffer (0x000a0000,0x20000) (Bad address) The same error message has been reported about 2 months ago (on this list I believe) for a NVidia graphics adapter, which sounds to me like it is a "problem" with Xen, rather than the closed source driver. If anyone knows of a way to fix this, please let me know.> Now the first question is, does anyone have an idea on how to > prevent Xen from grabbing and writing its output to the VGA > hardware, if it should already have a serial console to work with? > I am assuming, that even if I have the kernel output to the serial > console and have pciback hide the graphics card, Xen still hands > the graphics card directly to the Dom0, if it shows its messages on > one and the kernel grabs it, even if it isn''t needed for output. > This might cause Xorg in the DomU not to find the device. If this > isn''t the problem here, does anyone have any ideas on what is going > wrong?To not have Xen output on the VGA hardware, the console=com1 is also needed in addition to the com1= parameter for Xen, since the default seems to be to use VGA hardware above everything else. I am not sure if the graphics card isn''t still being grabbed by something though, since it is showing an empty screen with a text mode cursor blinking in the upper left corner. This would also explain the above Xorg error message, but I am really not sure about this. Opposing it would be the fact, that I tried to send text to every console, available in /dev in Dom0 and DomU and nothing got printed, which for me would be to be expected if all the console devices in the Xen DomU are fake except for xvc0. For now, I have Grub, Xen and Linux output to com1/ ttyS0 and switched all the VMs to use ttyS for console output too (though I am not sure if this is correct, but just to be safe for testing). Did I miss anything here?> The second question is, does anyone know if it is possible to have > PS2 devices (aka. keyboard and mouse) exclusively assigned to one > DomU? I would really like to separate the VM, controlling Xen and > my desktop VM for various reasons (f.e. to not have to restart > every DomU along with the Dom0, if the desktop system receives an > update, security and so on). Since I can use the serial console > from another device to control Xen (or use SSH), I really don''t > need keyboard and mouse in the Dom0 and having PS2 support in the > Desktop DomU would be just nice, especially since I''m a little > short on USB input devices right now, so the USB controllers, I > passed to the same DomU aren''t much help.Nothing new here, I am still trying to figure out the best way to work around the limitations, but apparently, USB is the only choice here for now. Guess its time to buy a new keyboard.> And the third problem, I am facing at the moment, I still don''t get > the boot output or any login prompt on the connected monitor, > probably because the TTYs are fake in a Xen DomU. Is there a way to > have these connect to the real VGA adapter instead?Nothing new here either, any hint would be appreciated. If someone has an idea on one or more of these problems, please let me know. Thanks. Paul. P.S.: Oh yeah, while I was on my crazy PCI passthrough run, I also managed to pass the onboard sound device(s) to the desktop DomU. The board is an Asus M3A-H/HDMI with AMD 780G chipset. The sound seems to be working rather well I''d say. - -- Paul Schulze avlex@gmx.net Public Key: http://solaris-net.dyndns.org/keys/key_avlex.asc "Making mistakes is human, but to really fuck things up you need Computers" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (Darwin) iD8DBQFIm6hcYDWOGtiChoARAh4GAJ0admT+/ZuMSAzpB0NxKVQbvXvuTQCdEiZv RX3KKTT5X1n5CWnPuZqXC64=L3nW -----END PGP SIGNATURE----- _______________________________________________ Xen-users mailing list Xen-users@lists.xensource.com http://lists.xensource.com/xen-users