This series is tested and Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com>
On Tue, Jul 24, 2012 at 1:49 PM, Laszlo Ersek <ler...@redhat.com> wrote: > efifb (EFI frame buffer) doesn't work in RHEL-6.3 guests on RHEL-6.3 > qemu-kvm without the "pci=nocrs" guest kernel parameter. This is because > dynamic MMIO range allocation places the emulated Cirrus card's frame > buffer much lower than specified in the _CRS. Try to sync the related > bits. > > v1->v2: > - dropped most of v1 and started from scratch > - ASL / AML heavily based on SeaBIOS commit 2062f2ba by Gerd Hoffmann > <kra...@redhat.com> > - to be applied on top of: > - (svn rev 13538) > - Bei Guan's patch in > <caeqjb-tt0fxup3fjnd+cn7clk5jdjpgjpqpbc+amt+28ohd...@mail.gmail.com> > - my first two patches in <5000520c.6020...@redhat.com> > > v2->v3: > - (rebased to svn r13552) > - coding style fixes > - Ssdt.asl: changed license to 2-clause BSDL, paraphrasing Dsdt.asl > > retested for v3 (pci=nocrs never passed, efifb working): > > 2 GB guest, OVMF debug output > ----------------------------- > PopulateFwData(): base=0x0000000000000000 length=0x00000000000A0000 > top=0x00000000000A0000 type=system > PopulateFwData(): base=0x00000000000A0000 length=0x0000000000060000 > top=0x0000000000100000 type=mmio > PopulateFwData(): base=0x0000000000100000 length=0x000000007FEE0000 > top=0x000000007FFE0000 type=system > PopulateFwData(): base=0x000000007FFE0000 length=0x000000000000C000 > top=0x000000007FFEC000 type=system > PopulateFwData(): base=0x000000007FFEC000 length=0x0000000000014000 > top=0x0000000080000000 type=system > PopulateFwData(): base=0x0000000080000000 length=0x000000007EC01000 > top=0x00000000FEC01000 type=mmio > PopulateFwData(): base=0x00000000FEC01000 length=0x00000000000FF000 > top=0x00000000FED00000 type=nonexistent > PopulateFwData(): base=0x00000000FED00000 length=0x0000000000000400 > top=0x00000000FED00400 type=mmio > PopulateFwData(): base=0x00000000FED00400 length=0x00000000000FFC00 > top=0x00000000FEE00000 type=nonexistent > PopulateFwData(): base=0x00000000FEE00000 length=0x0000000000100000 > top=0x00000000FEF00000 type=mmio > PopulateFwData(): base=0x00000000FEF00000 length=0x0000000F01100000 > top=0x0000001000000000 type=nonexistent > PopulateFwData(): Mmio32MinBase=0x000A0000 Mmio32MaxExclTop=0xFEF00000 > NonMmio32MaxExclTop=0x80000000 > PopulateFwData(): PciWindow32.Base=0x80000000 PciWindow32.End=0xFEEFFFFF > PciWindow32.Length=0x7EF00000 > > 2 GB guest, dumped & decompiled SSDT > ------------------------------------ > /* > * Intel ACPI Component Architecture > * AML Disassembler version 20090123 > * > * Disassembly of SSDT-2048.aml, Tue Jul 24 22:02:31 2012 > * > * > * Original Table Header: > * Signature "SSDT" > * Length 0x00000035 (53) > * Revision 0x01 > * Checksum 0x02 > * OEM ID "REDHAT" > * OEM Table ID "OVMF " > * OEM Revision 0x00000001 (1) > * Compiler ID "INTL" > * Compiler Version 0x20090123 (537461027) > */ > DefinitionBlock ("SSDT-2048.aml", "SSDT", 1, "REDHAT", "OVMF ", > 0x00000001) > { > OperationRegion (FWDT, SystemMemory, 0x7FB76F98, 0x00000030) > } > > 2 GB guest, dmesg extract > ------------------------- > BIOS-e820: 000000007fb21000 - 000000007fb79000 (reserved) > pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] > pci_root PNP0A03:00: host bridge window [mem 0x80000000-0xfeefffff] > > > 3 GB guest, OVMF debug output > ----------------------------- > PopulateFwData(): base=0x0000000000000000 length=0x00000000000A0000 > top=0x00000000000A0000 type=system > PopulateFwData(): base=0x00000000000A0000 length=0x0000000000060000 > top=0x0000000000100000 type=mmio > PopulateFwData(): base=0x0000000000100000 length=0x00000000BFEE0000 > top=0x00000000BFFE0000 type=system > PopulateFwData(): base=0x00000000BFFE0000 length=0x000000000000C000 > top=0x00000000BFFEC000 type=system > PopulateFwData(): base=0x00000000BFFEC000 length=0x0000000000014000 > top=0x00000000C0000000 type=system > PopulateFwData(): base=0x00000000C0000000 length=0x000000003EC01000 > top=0x00000000FEC01000 type=mmio > PopulateFwData(): base=0x00000000FEC01000 length=0x00000000000FF000 > top=0x00000000FED00000 type=nonexistent > PopulateFwData(): base=0x00000000FED00000 length=0x0000000000000400 > top=0x00000000FED00400 type=mmio > PopulateFwData(): base=0x00000000FED00400 length=0x00000000000FFC00 > top=0x00000000FEE00000 type=nonexistent > PopulateFwData(): base=0x00000000FEE00000 length=0x0000000000100000 > top=0x00000000FEF00000 type=mmio > PopulateFwData(): base=0x00000000FEF00000 length=0x0000000F01100000 > top=0x0000001000000000 type=nonexistent > PopulateFwData(): Mmio32MinBase=0x000A0000 Mmio32MaxExclTop=0xFEF00000 > NonMmio32MaxExclTop=0xC0000000 > PopulateFwData(): PciWindow32.Base=0xC0000000 PciWindow32.End=0xFEEFFFFF > PciWindow32.Length=0x3EF00000 > > 3 GB guest, dumped & decompiled SSDT > ------------------------------------ > /* > * Intel ACPI Component Architecture > * AML Disassembler version 20090123 > * > * Disassembly of SSDT-3072.aml, Tue Jul 24 22:02:35 2012 > * > * > * Original Table Header: > * Signature "SSDT" > * Length 0x00000035 (53) > * Revision 0x01 > * Checksum 0xC2 > * OEM ID "REDHAT" > * OEM Table ID "OVMF " > * OEM Revision 0x00000001 (1) > * Compiler ID "INTL" > * Compiler Version 0x20090123 (537461027) > */ > DefinitionBlock ("SSDT-3072.aml", "SSDT", 1, "REDHAT", "OVMF ", > 0x00000001) > { > OperationRegion (FWDT, SystemMemory, 0xBFB76F98, 0x00000030) > } > > 3 GB guest, dmesg extract > ------------------------- > BIOS-e820: 00000000bfb21000 - 00000000bfb79000 (reserved) > pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] > pci_root PNP0A03:00: host bridge window [mem 0xc0000000-0xfeefffff] > > > 6 GB guest, OVMF debug output > ----------------------------- > PopulateFwData(): base=0x0000000000000000 length=0x00000000000A0000 > top=0x00000000000A0000 type=system > PopulateFwData(): base=0x00000000000A0000 length=0x0000000000060000 > top=0x0000000000100000 type=mmio > PopulateFwData(): base=0x0000000000100000 length=0x00000000DFEE0000 > top=0x00000000DFFE0000 type=system > PopulateFwData(): base=0x00000000DFFE0000 length=0x000000000000C000 > top=0x00000000DFFEC000 type=system > PopulateFwData(): base=0x00000000DFFEC000 length=0x0000000000014000 > top=0x00000000E0000000 type=system > PopulateFwData(): base=0x00000000E0000000 length=0x000000001EC01000 > top=0x00000000FEC01000 type=mmio > PopulateFwData(): base=0x00000000FEC01000 length=0x00000000000FF000 > top=0x00000000FED00000 type=nonexistent > PopulateFwData(): base=0x00000000FED00000 length=0x0000000000000400 > top=0x00000000FED00400 type=mmio > PopulateFwData(): base=0x00000000FED00400 length=0x00000000000FFC00 > top=0x00000000FEE00000 type=nonexistent > PopulateFwData(): base=0x00000000FEE00000 length=0x0000000000100000 > top=0x00000000FEF00000 type=mmio > PopulateFwData(): base=0x00000000FEF00000 length=0x0000000001100000 > top=0x0000000100000000 type=nonexistent > PopulateFwData(): base=0x0000000100000000 length=0x00000000A0000000 > top=0x00000001A0000000 type=reserved > PopulateFwData(): base=0x00000001A0000000 length=0x0000000E60000000 > top=0x0000001000000000 type=nonexistent > PopulateFwData(): Mmio32MinBase=0x000A0000 Mmio32MaxExclTop=0xFEF00000 > NonMmio32MaxExclTop=0xE0000000 > PopulateFwData(): PciWindow32.Base=0xE0000000 PciWindow32.End=0xFEEFFFFF > PciWindow32.Length=0x1EF00000 > > 6 GB guest, dumped & decompiled SSDT > ------------------------------------ > /* > * Intel ACPI Component Architecture > * AML Disassembler version 20090123 > * > * Disassembly of SSDT-6144.aml, Tue Jul 24 22:02:37 2012 > * > * > * Original Table Header: > * Signature "SSDT" > * Length 0x00000035 (53) > * Revision 0x01 > * Checksum 0xA2 > * OEM ID "REDHAT" > * OEM Table ID "OVMF " > * OEM Revision 0x00000001 (1) > * Compiler ID "INTL" > * Compiler Version 0x20090123 (537461027) > */ > DefinitionBlock ("SSDT-6144.aml", "SSDT", 1, "REDHAT", "OVMF ", > 0x00000001) > { > OperationRegion (FWDT, SystemMemory, 0xDFB76F98, 0x00000030) > } > > 6 GB guest, dmesg extract > ------------------------- > BIOS-e820: 00000000dfb21000 - 00000000dfb79000 (reserved) > pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff] > pci_root PNP0A03:00: host bridge window [mem 0xe0000000-0xfeefffff] > > Laszlo Ersek (5): > OvmfPkg: clean up memory map > OvmfPkg: install an SSDT with a dynamic OperationRegion called FWDT > OvmfPkg: scan memory space map and populate FWDT (32-bit fields only) > OvmfPkg/AcpiTables/Dsdt.asl: strip trailing whitespace > OvmfPkg/AcpiTables/Dsdt.asl: report the PCI IO ranges set in FWDT > > OvmfPkg/AcpiPlatformDxe/Qemu.c | 212 > ++++++++++++++++++++++++++- > OvmfPkg/PlatformPei/Platform.c | 32 ++--- > OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf | 1 + > OvmfPkg/AcpiTables/AcpiTables.inf | 1 + > OvmfPkg/AcpiTables/Dsdt.asl | 117 +++++++++++++--- > OvmfPkg/AcpiTables/Ssdt.asl | 19 +++ > OvmfPkg/PlatformPei/PlatformPei.inf | 2 + > 7 files changed, 347 insertions(+), 37 deletions(-) > create mode 100644 OvmfPkg/AcpiTables/Ssdt.asl > > > ------------------------------------------------------------------------------ > Live Security Virtual Conference > Exclusive live event will cover all the ways today's security and > threat landscape has changed and how IT managers can respond. Discussions > will include endpoint security, mobile security and the latest in malware > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/edk2-devel ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel