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: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Getting VGA Passthrough to work on Xen Unstable
From: "Beng Heng, Ng" <bengheng@xxxxxxxxxxxxxx>
Date: Fri, 15 May 2009 08:53:36 -0400
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Fri, 15 May 2009 05:55:28 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <64C9D51EC34788takebe_akio@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> <64C9D51EC34788takebe_akio@xxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Thunderbird 2.0.0.21 (Windows/20090302)
Hi Akio,

Thanks for the reply. I didn't make any changes to pci_load_option_roms.
Did you mean pci_setup? :)

- Beng Heng

Akio Takebe wrote:
> Hi,
> 
> 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>