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

Re: [Xen-devel] Limitation in HVM physmap



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

> Does this VM have two graphics cards and therefore two drivers (efifb
> and cirrusfb/vesafb/etc)?
> 
> If there are two gfx cards then there should be two framebuffers and
> therefore no mfn sharing in the p2m, although you would probably be
> better off arranging for their to only one gfx card...
> 

AIUI there is only one card.

Wei.

> > 
> > 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 (prog-if 00 [VGA 
> > controller])
> >     Subsystem: Red Hat, Inc Device 1100
> >     Physical Slot: 2
> >     Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
> > Stepping- SERR- FastB2B- DisINTx-
> >     Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- 
> > <MAbort- >SERR- <PERR- INTx-
> >     Latency: 0
> >     Region 0: Memory at f0000000 (32-bit, prefetchable) [size=32M]
> >     Region 1: Memory at f3010000 (32-bit, non-prefetchable) [size=4K]
> >     Expansion ROM at f3000000 [disabled] [size=64K]
> > 
> > > And how would this work with a real graphics card?  Isn't there only
> > > one BAR that controls where the framebuffer presents itself?
> > > 
> > 
> > No idea. Maybe I'm missing something? TBH I've never had any EFI-capable
> > hardware. 
> > 
> > Wei.
> > 
> > > Tim.
> 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.