Commit Graph

222 Commits

Author SHA1 Message Date
jljusten 8d531995e2 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
2012-08-28 21:21:44 +00:00
jljusten 82045b2f7a 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
2012-08-28 21:21:30 +00:00
jljusten 2cd086a675 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
2012-08-27 23:28:30 +00:00
jljusten 67fe5bed94 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
2012-08-27 23:28:15 +00:00
ydong10 db1126d218 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
2012-08-17 05:31:47 +00:00
jljusten 8c71ec8f11 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
2012-08-15 00:03:59 +00:00
jljusten ff8dd312dd 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
2012-08-15 00:03:35 +00:00
jljusten 743094a289 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
2012-08-13 17:06:49 +00:00
jljusten 498f7d8ddd 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
2012-08-13 15:42:07 +00:00
jljusten 05c89c7f0c 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
2012-08-13 15:41:43 +00:00
jljusten a5595b1e0e 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
2012-08-13 15:41:31 +00:00
jljusten 9388fd3d3a 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
2012-08-13 15:41:18 +00:00
jljusten cc2f2c41c8 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
2012-08-13 15:41:07 +00:00
jljusten ba01f3b98f 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
2012-08-13 15:40:54 +00:00
jljusten b636c6e5ff 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
2012-08-13 15:40:43 +00:00
jljusten a42bdfccc3 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
2012-08-13 15:40:31 +00:00
jljusten 56daf8b90e 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
2012-08-13 15:40:19 +00:00
jljusten cc16a9298b 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
2012-08-13 15:40:07 +00:00
jljusten 5e57fb754a 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
2012-08-13 15:39:55 +00:00
jljusten 6d4f320d0c 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
2012-08-13 15:39:43 +00:00
jljusten c2129fe67b 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
2012-08-13 15:39:32 +00:00
jljusten fb5147921a 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
2012-08-13 15:39:20 +00:00
jljusten 5bf66edf13 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
2012-08-13 15:39:08 +00:00
jljusten cf5cfe8da8 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
2012-08-13 15:38:55 +00:00
jljusten 062c1cf744 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
2012-08-13 15:38:39 +00:00
jljusten 7c9ff57b11 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
2012-08-13 15:38:16 +00:00
jljusten 2712ab4f54 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
2012-08-13 15:37:50 +00:00
jljusten 26af9aca92 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
2012-08-09 23:27:05 +00:00
jljusten cf98e61d1a 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
2012-07-31 18:18:20 +00:00
jljusten 0228e59863 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
2012-07-31 18:18:11 +00:00
jljusten 57c0beb609 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
2012-07-31 18:18:01 +00:00
jljusten 253a2ea73f 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
2012-07-31 18:17:51 +00:00
jljusten cb678aa85e 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
2012-07-31 18:17:37 +00:00
jljusten 53de44aade 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
2012-07-31 17:54:39 +00:00
jljusten cd45566925 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
2012-07-31 17:54:30 +00:00
jljusten 0b5a5022e5 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
2012-07-31 17:54:18 +00:00
jljusten b90aefa9e4 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
2012-07-26 16:36:39 +00:00
jljusten 0ac9bc9be4 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
2012-07-23 17:10:29 +00:00
jljusten b5c91f01d2 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
2012-07-18 22:34:01 +00:00
jljusten 4804ef4943 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
2012-07-18 22:33:48 +00:00
jljusten 377e758c3f 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
2012-07-18 22:33:33 +00:00
jljusten 41d3576849 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
2012-07-10 22:43:42 +00:00
jljusten 578630802e 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
2012-07-10 22:43:30 +00:00
jljusten aadb1d098d 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
2012-07-10 22:43:19 +00:00
jljusten bab41b50f6 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
2012-07-10 22:43:05 +00:00
ydong10 917ab9077d 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
2012-06-07 03:21:17 +00:00
jljusten 75ccc2b211 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
2012-06-01 17:55:00 +00:00
jljusten 255b418415 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
2012-05-30 23:15:59 +00:00
jljusten 54235984ee 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
2012-05-30 23:15:42 +00:00
jljusten 522203de37 OvmfPkg/AcpiPlatformDxe: Detect QEMU & Xen
Detect QEMU & Xen, and allow each to choose how to publish
the individual ACPI tables.

Currently both paths simply publish the tables unmodified.

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@13385 6f19259b-4bc3-4df7-8a09-765794883524
2012-05-30 23:15:27 +00:00