[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v3 5/6] vga: Use linear mapping + dirty logging

From: Avi Kivity
Subject: Re: [Qemu-devel] [PATCH v3 5/6] vga: Use linear mapping + dirty logging in chain 4 memory access mode
Date: Wed, 14 Sep 2011 23:15:44 +0300
User-agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:6.0.2) Gecko/20110906 Thunderbird/6.0.2

On 09/14/2011 11:06 PM, Blue Swirl wrote:
On Wed, Sep 14, 2011 at 8:35 AM, Avi Kivity<address@hidden>  wrote:
>  On 09/14/2011 11:27 AM, Alexander Graf wrote:
>>  On 14.09.2011, at 10:24, Jan Kiszka wrote:
>>  >    On 2011-09-14 10:22, Avi Kivity wrote:
>>  >>    On 09/14/2011 11:20 AM, Jan Kiszka wrote:
>>  >>>>
>>  >>>>    Anyway PCI supports the vga region at 0xa0000-0xc0000.  Where is it
>>  >>>>    supposed to be mapped?
>>  >>>
>>  >>>    ...but not all PCI bridges make use of this feature / forward legacy
>>  >>>    requests.
>>  >>>
>>  >>
>>  >>    Then this should be fixed in the bridge?
>>  >
>>  >    Yes, it's a PPC bug.
>>  So how does the bridge not forward it then?
>  I expect that currently vga adds the region to pci_address_space().  We need
>  to create a pci_address_space_vga() function that returns a region for vga
>  to use.  Then add or remove the region to pci_address_space(), within the
>  bridge code, depending on whether the bridge forwards vga accesses or not.

Similar treatment should be also needed for VGA IO ports 0x3b0 etc.

>  (assuming I understood the problem correctly - not sure)

I think you did.

Maybe, but the solution can't be right. The bridge can't distinguish between a BAR mapped at 0xa0000 and the vga device claiming accesses to 0xa0000. Is this what is happening?

The current pci bridge implementation (440fx) uses an alias to instantiate pci 0xa0000-0xc0000 at the same address in the host address space. If you disable it, those addresses map back to RAM - but there is no distinction between a BAR at that address and a VGA card at that address.

I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]