Граф коммитов

2523 Коммитов

Автор SHA1 Сообщение Дата
jljusten 31fb605c32 OvmfPkg: assorted whitespace removal
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13718 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:67164dcd2e0856cb5aa0f9affe18e2dc99638a16
2020-09-17 16:10:47 -07:00
jljusten dd14cc1815 OvmfPkg/BlockMmioToBlockIoDxe: Fix allocation size error
When allocating the BLOCK_MMIO_TO_BLOCK_IO_DEVICE structure, we were
not allocating a large enough amount. We were allocating the size of
the pointer, rather than the size of the structure.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13688 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:8d531995e2c0b72350eb46bcd33bbcb03bc27a68
2020-09-17 16:10:47 -07:00
jljusten dcc2b18f0b OVMF X64: Allow enabling SOURCE_DEBUG_ENABLE on GCC44
Currently if SOURCE_DEBUG_ENABLE is enabled when building with
GCC44, then the SEC module will not fit into SECFV.

This change increases the size of SECFV to allow this.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13687 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:82045b2f7ac0ec0270fd58fe30f101dd628a59ae
2020-09-17 16:10:47 -07:00
jljusten 208887e7ab OvmfPkg: get boot order from QEMU
Set the boot order based on configuration retrieved from QEMU.

Attempt to retrieve the "bootorder" fw_cfg file from QEMU. Translate the
OpenFirmware device paths therein to UEFI device path fragments. Match the
translated fragments against the enumerated BootOptionList, and rewrite
the BootOrder NvVar so that it corresponds to the order described in
fw_cfg.

The user is expected to configure working boot options first.

Tested via virt-manager's boot order widget.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13683 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:2cd086a675535b6fc4cb54a75d10ca6f26a2da9e
2020-09-17 16:10:47 -07:00
jljusten a49dd41dd0 OvmfPkg/PlatformPei: Shrink memory range for PCI MMIO allocation
Including the range of [0xFC000000, 0xFD000000) for PCI MMIO
allocation created a conflict for Xen's HVM loader.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13682 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:67fe5bed945d89370f8c054b670c9575749f7a59
2020-09-17 16:10:47 -07:00
ydong10 64b4f67e8d Update file guid to avoid conflict with other file.
Signed-off-by: Eric Dong <eric.dong@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13643 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:db1126d218ff92fa324350d077f1a610560260c7
2020-09-17 16:10:47 -07:00
jljusten 038307c7e2 OvmfPkg: Add custom SecureBootConfigDxe that doesn't reset
We don't force a platform reset for OVMF when PK is changed in
custom mode setup.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Lee Rosenbaum <lee.g.rosenbaum@intel.com>
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13635 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:8c71ec8f11dd3e8f5163df48d1175c975aa19973
2020-09-17 16:10:47 -07:00
jljusten 951526de99 OvmfPkg/AcpiPlatformDxe: Fix Visual Studio build issues
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13634 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:ff8dd312ddaa945a313f091c7157a34a12e7067a
2020-09-17 16:10:46 -07:00
jljusten 583e481a71 OvmfPkg: Support GCC47 toolchain
When GCC >= 4.7 is detected, use the GCC47 toolchain.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
[jordan.l.justen@intel.com: reword commit message for OvmfPkg]
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13630 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:743094a2898ed8a1f07e770f50cd2d3081be2c0f
2020-09-17 16:10:46 -07:00
jljusten 5d12da0927 OvmfPkg: generate full MADT dynamically, synchronize contents with qemu
Represent the set of possible PCI link target IRQs with
Pcd8259LegacyModeEdgeLevel. This ensures that the 8259 Interrupt
Controller code in PcAtChipsetPkg will treat them as level-triggered too.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13628 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:498f7d8ddd4f60c8c8226bb6e672be04ab4c18e0
2020-09-17 16:10:46 -07:00
jljusten 4ccfa2018b OvmfPkg: have PlatformBdsLib::PciInitialization conform to the _PRS
Also set some INTLN values, informatively.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13627 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:05c89c7f0cd8417d7131d9714ed561f398972512
2020-09-17 16:10:46 -07:00
jljusten c389221680 OvmfPkg: PlatformBdsLib: the balloon device (RAM Memory) is in slot 5
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13626 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:a5595b1e0eee3d541f17c054ae3af83f11c17465
2020-09-17 16:10:46 -07:00
jljusten 34c74a3888 OvmfPkg: fix interrupt routing in the DSDT, bump revision number
Rotate links over devices and pins so that they match qemu.

PIIX4 function 3 (Power Management Module) unconditionally uses the INTA
interrupt pin. SCI from this module requires IRQ9.

Keep other assignments off IRQ9. Only IRQ5, IRQ10, IRQ11 remain for PCI
devices.

Bump OEMRevision in the DSDT.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13625 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:9388fd3d3a51578e68d34d5cfde4f1662ef86da8
2020-09-17 16:10:46 -07:00
jljusten ab36e364fe OvmfPkg: add parallel port to the DSDT
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13624 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:cc2f2c41c8b27060824b54a17b4c254dc9f3aeba
2020-09-17 16:10:46 -07:00
jljusten 5928f8e604 OvmfPkg: fix the _UID of \_SB.PCI0.LPC.LNKD in the DSDT
LNKD is the fourth PNP0C0F.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13623 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:ba01f3b98fa0fd18c1aa28a003b336d0d3720d10
2020-09-17 16:10:46 -07:00
jljusten bf81e31d77 OvmfPkg: add comments to the DSDT, remove trailing empty line
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13622 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:b636c6e5ff206df71d0307e06d6c6ee2af976b3e
2020-09-17 16:10:46 -07:00
jljusten 6b4e6ee2ad OvmfPkg: _DIS and _SRS methods should have permanent effect
Kill PDIS and PSRS as they are writing to copies of PIR[A-D], not PIR[A-D]
themselves. Use specialized _DIS and _SRS methods that access PIR[A-D]
directly.

(This should be solvable by passing RefOf (PIRA) etc to PDIS/PSRS, however
the RHEL-6.3 kernel AML parser seems to choke on it. The rules described
in ACPIspec5.0 Table 19-316 "Object Storing and Copying Rules" don't seem
to work:

    ACPI Error: Needed [Integer/String/Buffer], found [Reference]
    ffff88003ee02420 (20090903/exresop-422)

    ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for
    [OpcodeName unavailable] (20090903/dswexec-445)

    ACPI Error (psparse-0537): Method parse/execution failed
    [\_SB_.PCI0.LPC_.PDIS] (Node ffff88003f638b50), AE_AML_OPERAND_TYPE

    ACPI Error (psparse-0537): Method parse/execution failed
    [\_SB_.PCI0.LPC_.LNKA._DIS] (Node ffff88003f638a10),
    AE_AML_OPERAND_TYPE

When changing the method too, so that it writes to DerefOf (Arg0) instead
of Arg0, ie. explicitly dereferencing rather than expecting the auto-deref
to work:

    ACPI Error: Needed type [Reference], found [RegionField]
    ffff88003f639858 (20090903/exresop-104)

    ACPI Exception: AE_AML_OPERAND_TYPE, While resolving operands for
    [OpcodeName unavailable] (20090903/dswexec-445)

    ACPI Error (psparse-0537): Method parse/execution failed
    [\_SB_.PCI0.LPC_.PDIS] (Node ffff88003f638b50), AE_AML_OPERAND_TYPE

    ACPI Error (psparse-0537): Method parse/execution failed
    [\_SB_.PCI0.LPC_.LNKA._DIS] (Node ffff88003f638a10),
    AE_AML_OPERAND_TYPE

In short, when passing a RefOf, it is recognized as a reference inside the
method but mistakenly refused. When trying to deref it explicitly with
DerefOf, then it's suddenly not recognized as a reference.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13621 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:a42bdfccc34fa671891758fed27b4618ba5e5142
2020-09-17 16:10:46 -07:00
jljusten 14d41b3a0a OvmfPkg: unlike PIIX4, qemu needs ActiveHigh for interrupt sharing
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13620 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:56daf8b90e208e6a32499775a104225f9989681c
2020-09-17 16:10:46 -07:00
jljusten 4885d2699a OvmfPkg: simplify _CRS, _PRS, _SRS methods in the DSDT
Use Extended Interrupt Descriptors in the _CRS, _PRS, _SRS methods of
\_SB.PCI0.LPC.LNK[A-D], eliminating bit shifting.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13619 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:cc16a9298b55ac20d95aa6da2043211ed49afbba
2020-09-17 16:10:46 -07:00
jljusten 53b90621fc OvmfPkg: add qemu debug console port to XTRA device
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13618 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:5e57fb754a6d50825cb011b02193dc8a3924fc46
2020-09-17 16:10:46 -07:00
jljusten a493e4e1a2 OvmfPkg: fix LAPIC RangeLength in DSDT
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13617 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:6d4f320d0c7bc76e49949098db149162989b1ad8
2020-09-17 16:10:46 -07:00
jljusten 9b2ea33397 OvmfPkg: sync FADT with QEMU: PM Timer is 24-bit
Clear TMR_VAL_EXT.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13616 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:c2129fe67b89adbacb3e990c6baca974d7539495
2020-09-17 16:10:46 -07:00
jljusten e1277a9dad OvmfPkg: sync FADT with QEMU: boot architecture flags
Clear boot architecture flags: LEGACY_DEVICES, 8042 keyboard controller.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13615 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:fb5147921a06c567a99f6533c2ab102c1466ca9d
2020-09-17 16:10:46 -07:00
jljusten 3f86cb359f OvmfPkg: sync FADT with QEMU: clear DAY_ALRM
"RTC day of the month alarm feature is not supported".

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13614 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:5bf66edf13e7a084404bf150be2e0010afdf60d5
2020-09-17 16:10:46 -07:00
jljusten 03246ed3ee OvmfPkg: sync FADT with QEMU: cleanup FLUSH_SIZE / FLUSH_STRIDE
Since WBINVD is supported, clear ignored FLUSH_SIZE and FLUSH_STRIDE.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13613 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:cf5cfe8da84f2d3eb4e0b3161baa53ff487de45d
2020-09-17 16:10:46 -07:00
jljusten 013b33def7 OvmfPkg: sync FADT with QEMU: disable PM2 control block
Remove support for optional PM2 control block.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13612 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:062c1cf74424e2c5606a43ea87dbce8ea8741433
2020-09-17 16:10:46 -07:00
jljusten 39c6134fd8 OvmfPkg: sync FADT with QEMU: correct SMI_CMD
- Qemu's PIIX emulation actually supports SMM and ACPI_ENABLE /
  ACPI_DISABLE.

- After enabling SMI_CMD (SMI_CMD_IO_PORT), further values to be written
  there must be synchronized with qemu: PSTATE_CNT, CST_CNT.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13611 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:7c9ff57b11a04132a8892574a6539ae62c11be62
2020-09-17 16:10:46 -07:00
jljusten e094601935 OvmfPkg: cleanup whitespace in Facp.aslc / Platform.h
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13610 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:2712ab4f5440efd4d340e7bbc0722be75a0f464b
2020-09-17 16:10:46 -07:00
jljusten 516bf0c824 OvmfPkg/AcpiPlatformDxe: Fix Visual Studio build issues
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13602 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:26af9aca92e11b77dbb9cf942d9dae92a71bfbbd
2020-09-17 16:10:46 -07:00
jljusten 6f2b446cd8 OvmfPkg/AcpiTables/Dsdt.asl: report the PCI IO ranges set in FWDT
Based on SeaBIOS commit 2062f2ba by Gerd Hoffmann <kraxel@redhat.com>.

v3: comments on FWDT fields

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13576 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:cf98e61d1a6aea646f8f4063d950c2f3f2a00596
2020-09-17 16:10:46 -07:00
jljusten 41d611822b OvmfPkg/AcpiTables/Dsdt.asl: strip trailing whitespace
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13575 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:0228e598634428fd8c86ce7c33f3639720aa794a
2020-09-17 16:10:46 -07:00
jljusten fd380d8cd0 OvmfPkg: scan memory space map and populate FWDT (32-bit fields only)
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
[jordan.l.justen@intel.com: minor cleanup]
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13574 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:57c0beb609a75349c067075b45cdafce1a1b77f8
2020-09-17 16:10:46 -07:00
jljusten 3b5d1662c4 OvmfPkg: install an SSDT with a dynamic OperationRegion called FWDT
"FWDT" ("firmware data") is allocated as EfiReservedMemoryType, with
AllocateReservedPool(). <MdePkg/Include/Library/MemoryAllocationLib.h>
doesn't seem to provide direct access to EfiACPIReclaimMemory, but at this
point the former seems sufficient.

Based on SeaBIOS commit 2062f2ba by Gerd Hoffmann <kraxel@redhat.com>.

v3:
- coding style fixes:
  - BDAT     -> FWDT
  - __packed -> #pragma pack(1)
  - BFLD     -> FIRMWARE_DATA, PCI_WINDOW
  - Bfld     -> FwData
- Ssdt.asl: changed license to 2-clause BSDL, paraphrasing Dsdt.asl

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13573 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:253a2ea73fe0a3a02177c25930c289df77e122b2
2020-09-17 16:10:46 -07:00
jljusten 2fe9f12107 OvmfPkg: clean up memory map
Fix IO-APIC range size.
Add HPET.
Take LAPIC base from PCD and fix range size.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13572 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:cb678aa85e6199ff28c7ce5d8a9d9eb96a42c851
2020-09-17 16:10:46 -07:00
jljusten 07774a9609 OvmfPkg/*.dsc: Move PCD locations to be similar to OvmfPkgIa32X64.dsc
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13571 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:53de44aadea62587682964e358ca0b2274e39079
2020-09-17 16:10:46 -07:00
jljusten a9fdae46d6 OvmfPkg: Move DxeServicesTableLib to common LibraryClasses
ConSplitterDxe (UEFI_DRIVER) now uses this library class.
Move the library mapping to the common LibraryClasses section.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13570 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:cd45566925e002668c880c26ee99039023784b67
2020-09-17 16:10:46 -07:00
jljusten 7af1024959 OvmfPkg: Disable debugging for UNIXGCC to save space
UNIXGCC builds larger images than GCC44, and can have issues
fitting into the FD image. Therefore, when using UNIXGCC,
debug will be disabled by default.

The README file is updated with instructions for selectively
enabling debug for UNIXGCC.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13569 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:0b5a5022e5b5377d07d06e6c330fd4305ac47f9d
2020-09-17 16:10:46 -07:00
jljusten 0c48ee24ab OvmfPkg: add support for debug console on port 0x402
This patch adds support for a debug console on the same port that is used
by SeaBIOS.  This makes it easier to debug OVMF, because it does not mix
debug and serial output on the same device.  It also makes it easier to
leave some of the debug messages on even in release builds.

To enable it, pass "-debugcon stdio -global isa-debugcon.iobase=0x402" to
QEMU.

The new mechanism is enabled by default, but a regular serial console can
be chosen by adding -D DEBUG_ON_SERIAL_PORT to the build options.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
[jordan.l.justen@intel.com: MAX_DEBUG_MESSAGE_LENGTH=>0x100, p=>Ptr]
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13562 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:b90aefa9e46c2c2628bfbf62e43b366678b9af07
2020-09-17 16:10:46 -07:00
jljusten 0d4fe857c4 OvmfPkg: introduce QemuFwCfgFindFile ()
Tested with the "bootorder" fw_cfg file. Example contents (leading space
added and line terminators transcribed for readability):

  /pci@i0cf8/ide@1,1/drive@0/disk@0<LF>
  /pci@i0cf8/ide@1,1/drive@1/disk@0<LF>
  /pci@i0cf8/ethernet@3/ethernet-phy@0<NUL>

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13549 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:0ac9bc9be45eace87fa43d395889274051badccc
2020-09-17 16:10:46 -07:00
jljusten f674359c01 OvmfPkg/AcpiPlatformDxe: rely on built-in checksumming
Implementation in
"MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableProtocol.c":

  InstallAcpiTable()
    SetAcpiTable(... Checksum=TRUE ...)
      AddTableToList(... Checksum=TRUE ...)
        AcpiPlatformChecksum()

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13543 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:b5c91f01d257207c3b19f91057c50faf66af47ed
2020-09-17 16:10:46 -07:00
jljusten ecba1b9320 OvmfPkg/AcpiPlatformDxe/Xen.c: reuse CalculateSum8
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13542 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:4804ef4943d6b22a4d86e5d05f717af28d4ca82e
2020-09-17 16:10:46 -07:00
jljusten ab41f1fbda OvmfPkg/AcpiPlatformDxe: Add Xen ACPI tables support
This patch adds Xen ACPI tables support to OVMF.
Use EFI_ACPI_TABLE_PROTOCOL to publish all Xen ACPI tables in OVMF,
while keeping the Qemu and KVM support.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Bei Guan <gbtju85@gmail.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13541 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:377e758c3f10216c2638a3ae4bc75fd4d70fbfef
2020-09-17 16:10:46 -07:00
jljusten 5329c3c043 OvmfPkg BDS: Remove support for loading vgabios-cirrus.bin from 0xc0000
Older QEMU versions would load vgabios-cirrus.bin at 0xc0000 in
system RAM. We would then find this ROM, and try to run it, since
it would be our QEMU Video driver.

Now, the QEMU Video driver is just merged into the main OVMF
firmware image, so this support is unused.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13522 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:41d3576849fc55ce15358d674796e380a687c0ca
2020-09-17 16:10:46 -07:00
jljusten b4ffb45198 accept "-n THREADNUMBER" in OvmfPkg build script
v1->v2:
- change from "-j JOBS"

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13521 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:578630802ee5b38cb19894c4944261afa4d92c17
2020-09-17 16:10:46 -07:00
jljusten 7e9719d544 embed OvmfVideo.rom into OVMF.fd
This enables qemu to use OVMF with a single -bios option. Based on
<http://lists.xen.org/archives/html/xen-devel/2012-03/msg01992.html>.

v1->v2:
- move xen-devel link from code to commit message
- cover all three FDF files

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
[jordan.l.justen@intel.com: remove vgabios-cirrus.bin from build.sh/README]
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13520 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:aadb1d098d4daf34b8bf8169f8784dfc00023241
2020-09-17 16:10:46 -07:00
jljusten 0bd06171ff increase MEMFD size to enable secure boot build
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13519 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:bab41b50f64c6660fd7e01840f158ce2955b2983
2020-09-17 16:10:46 -07:00
ydong10 d21713a3d9 Fix file guid conflict.
Signed-off-by: Eric Dong <eric.dong@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13430 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:917ab9077d0a77abe8abb66499d79d3d49bada2f
2020-09-17 16:10:46 -07:00
jljusten 3d899d1051 OvmfPkg/AcpiPlatformDxe: Fix VS2010 build issue
Reported-by: Liming Gao <liming.gao@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13425 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:75ccc2b2111a318d25aae6df9d17590f0c04e814
2020-09-17 16:10:46 -07:00
jljusten 4ae425d298 OvmfPkg/AcpiPlatformDxe: Dynamically add Local APIC entries in MADT
Update MADT processing for QEMU to add additional Local APIC
entries to the MADT.

The MADT is still built with a single Local APIC entry.
If the AcpiPlatformDxe driver determines that more processors
are available, then additional Local APIC entries are added
to the MADT at runtime.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13387 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:255b4184154dd2f336c8c9f0c162a06a3655d8c6
2020-09-17 16:10:46 -07:00
jljusten 3ddb4304f0 OvmfPkg ACPI MADT: Make processor IDs zero based
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13386 6f19259b-4bc3-4df7-8a09-765794883524
MU SOURCE COMMIT:54235984ee6a9d0abe0797ee00d358a0ed6df861
2020-09-17 16:10:46 -07:00