From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: Limitation in HVM physmap Date: Fri, 18 Oct 2013 16:06:01 +0100 Message-ID: <52614E59.50103@eu.citrix.com> References: <20131018142012.GB20185@zion.uk.xensource.com> <20131018142824.GA33100@deinos.phlegethon.org> <20131018143640.GC20185@zion.uk.xensource.com> <20131018144149.GB33100@deinos.phlegethon.org> <20131018145611.GD20185@zion.uk.xensource.com> <1382108350.6933.3.camel@kazak.uk.xensource.com> <20131018150417.GF20185@zion.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20131018150417.GF20185@zion.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Wei Liu , Ian Campbell Cc: keir@xen.org, Stefano Stabellini , Tim Deegan , Jan Beulich , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org On 18/10/13 16:04, Wei Liu wrote: > On Fri, Oct 18, 2013 at 03:59:10PM +0100, Ian Campbell wrote: > [...] >>> During OVMF initialization: >>> >>> (d28) PciBus: Resource Map for Root Bridge PciRoot(0x0) >>> (d28) Type = Io16; Base = 0xC000; Length = 0x1000; Alignment = 0xFFF >>> (d28) Base = 0xC000; Length = 0x100; Alignment = 0xFF; Owner = PCI [00|04| >>> (d28) Base = 0xC100; Length = 0x100; Alignment = 0xFF; Owner = PCI [00|03| >>> (d28) Base = 0xC200; Length = 0x10; Alignment = 0xF; Owner = PCI [00|01| >>> (d28) Type = Mem32; Base = 0x80000000; Length = 0x3100000; Alignment = 0x1FFFFF >>> (d28) Base = 0x80000000; Length = 0x2000000; Alignment = 0x1FFFFFF; Owne >>> (d28) |02|00:10] >>> >>> Later when Linux loads EFIFB driver: >>> [ 2.628264] efifb: framebuffer at 0x80000000, mapped to >>> 0xffffc90000100000, using 1876k, total 1875k >>> [ 2.646827] efifb: mode is 800x600x32, linelength=3200, pages=1 >>> [ 2.658833] efifb: scrolling: redraw >>> [ 2.666342] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0 >>> >>> 0xf0000000 is mapped by: >> What hardware is backing the framebuffer at 0x80000000? It doesn't >> appear to be this cirrus device. >> > Looking that the "Resource Map for Root Bridge" 0x8000000 is backed by > 00:02:00 (trancated above) and 00:02.0 is also owned by Cirrus Logic > driver... xentrace -e all should give you a record of all calls to set_p2m_entry(), as well as any MMIO / PIO, so you should be able to verify the remapping / double mapping happening from the other direction. -George