WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] Getting VGA Passthrough to work on Xen Unstable

To: "Beng Heng, Ng" <bengheng@xxxxxxxxxxxxxx>, xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Getting VGA Passthrough to work on Xen Unstable
From: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Date: Fri, 15 May 2009 14:34:05 +0900
Cc:
Delivery-date: Thu, 14 May 2009 22:34:35 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4A0CA09B.6060708@xxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <4A0CA09B.6060708@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi,

>Hi all,
>
>I've tried to filter out parts of XCI that are relevant to VGA
>passthrough (most, if not all, are Jean Guyader's work) and apply them
>to Xen unstable. The patch doesn't work with changeset 19597. I'm not
>sure why. But I've gotten DomU to boot up showing only the physical gfx
>on previous changesets. I didn't have a chance to test the gfx
>functionalities though. I made a lot of simplifications, such as
>excluding user options, and ignoring HID passthrough for now. The patch
>is hardcoded for VGA passthrough on HVM guests. The reason is really to
>study which are the parts really affect VGA passthrough, and of course
>ultimately getting VGA passthrough to work.
>
>This may seem like taking a step backwards, but I think there are many
>people out there who are new, like me, and are really interested to
>understand and get VGA passthrough to work correctly. I'm hoping that
>experts out there can provide constructive criticism on this patch, and
>of course provide suggestions on how to make this patch work for the
>latest changeset.
>
I suspect the VGA rom doesn't be loaded.
pci_load_option_roms() loads only mass stroage devices and serial bus 
controller.
You need to remove the ckeck.

@tools/firmware/hvmloader/hvmloader.c
 476 static int pci_load_option_roms(uint32_t rom_base_addr)
 477 {
 478     uint32_t option_rom_addr, rom_phys_addr = rom_base_addr;
 479     uint16_t vendor_id, device_id;
 480     uint8_t devfn, class;
 481 
 482     for ( devfn = 0; devfn < 128; devfn++ )
 483     {
 484         class     = pci_readb(devfn, PCI_CLASS_DEVICE + 1);
 485         vendor_id = pci_readw(devfn, PCI_VENDOR_ID);
 486         device_id = pci_readw(devfn, PCI_DEVICE_ID);
 487 
 488         if ( (vendor_id == 0xffff) && (device_id == 0xffff) )
 489             continue;
 490 
 491         /*
 492          * Currently only scan options from mass storage devices and serial
 493          * bus controller (Fibre Channel included).
 494          */
 495         if ( (class != 0x1) && (class != 0xc) )
 496             continue;
 497 
 498         option_rom_addr = pci_readl(devfn, PCI_ROM_ADDRESS);
 499         if ( !option_rom_addr )
 500             continue;
 501 
 502         /* Ensure Expansion Bar is enabled before copying */
 503         pci_writel(devfn, PCI_ROM_ADDRESS, option_rom_addr | 0x1);
 504 
 505         rom_phys_addr += scan_option_rom(
 506             devfn, vendor_id, device_id,
 507             (void *)(option_rom_addr & ~2047), rom_phys_addr);
 508 
 509         /* Restore the default original value of Expansion Bar */
 510         pci_writel(devfn, PCI_ROM_ADDRESS, option_rom_addr);
 511     }
 512 
 513     return rom_phys_addr - rom_base_addr;
 514 }
 
Best Regards,

Akio Takebe


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>