qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [edk2] [edk2 PATCH 0/1] OvmfPkg: grab ACPI tables from


From: Gerd Hoffmann
Subject: Re: [Qemu-devel] [edk2] [edk2 PATCH 0/1] OvmfPkg: grab ACPI tables from QEMU
Date: Tue, 19 Nov 2013 09:54:26 +0100

  Hi,

>   ACPI PciWindow32: Base=0xA0000000 End=0xFEEFFFFF Length=0x5EF00000

>   begin32=c0000000 end32=fec00000 begin64=0 end64=0

qemu & seabios pick a 32bit window size which allows to cover it with a
single mtrr entry.  Size must be a power of two for that to work.

  address@hidden ~]# cat /proc/mtrr 
  reg00: base=0x080000000 ( 2048MB), size= 2048MB, count=1: uncachable

So we have three cases for piix (as you've figured in the source code
already).  Start at 0x80000000 (2G window), 0xc0000000 (1G window) and
0xe0000000 (512M window).

btw: q35 has a fixed 1G window, max low ram addr is 0xb000000, the
remaining address space (0xb0000000 -> 0xc0000000) is used for mmconfig.

> I guess the range starting at 0xc0000000 is somehow "incompatible" with
> the EFI memory map. (I can't actually explain this idea because, again,
> this second range is a proper subset of the former, and its size is
> still 1004MB.)

Probably efi places the gfx memory bar somewhere between 0xa0000000 and
0xc0000000.  Sets up efifb accordingly.  Then the linux kernel loads and
figures "Oh, that bar is outside the 0xc0000000+ window" and goes remap
it -> efifb writes go into nowhere.

cheers,
  Gerd





reply via email to

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