qemu-devel
[Top][All Lists]
Advanced

[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: Thu, 15 Sep 2011 10:30:22 +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:25 PM, Blue Swirl wrote:
On Wed, Sep 14, 2011 at 8:15 PM, Avi Kivity<address@hidden>  wrote:
>  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?

If VGA enable is set, the bridge will forward the accesses to VGA
memory or ports to secondary interface. It doesn't care which device
uses them. This is described in VGA support chapter in the PCI bridge
spec.

That doesn't match the original description, where it appeared that the vga window collided with a BAR.

--
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]