This series is also available at:
https://github.com/hwu25/edk2/tree/ovmf_8259_8254_v2


V2 changes:

Due to the file license change, rebase the whole series onto the tip of
the master branch. The 'Contributed-under' tag is removed from the log
messages as well.

The V2 series keeps all the 'Reviewed-by' tags from Laszlo from the
previous version of the series.


V1 history:

As a sub-task to remove the IntelFrameworkPkg (BZ-1604),

8259InterruptControllerDxe driver (PcAtChipsetPkg)
Legacy8259 protocol (IntelFrameworkPkg)
8254TimerDxe driver (PcAtChipsetPkg)

will be removed in the near future. Meanwhile, OVMF will still require
those components (due to CSM support & HPET emulation stability concern).

Thus, the series will copy the below 8259/8254 components:

A. 8259InterruptControllerDxe driver (PcAtChipsetPkg)
B. Two 8259 related PCDs (PcAtChipsetPkg)
C. Legacy8259 protocol (IntelFrameworkPkg)
D. 8254TimerDxe driver (PcAtChipsetPkg)

in the OvmfPkg to address the above-mentioned issue.


Tests done for the proposed series:

A. OvmfPkg build pass for VS2015 & GCC5 tool chains;
B. Boot to Shell with commands:
  qemu-system-x86_64.exe -pflash <SOME_PATH>\OVMF.fd -debugcon file:boot.log 
-global isa-debugcon.iobase=0x402
  qemu-system-x86_64.exe -machine q35 -pflash <SOME_PATH>\OVMF.fd -debugcon 
file:boot.log -global isa-debugcon.iobase=0x402
C. 'stall X' command under Shell to verify the timer is working properly.


(Please note that there will be a subsequent patch to remove the 8259/8254
components after platforms dropping the dependencies on them.)

Cc: Jordan Justen <jordan.l.jus...@intel.com>
Cc: Laszlo Ersek <ler...@redhat.com>
Cc: Ard Biesheuvel <ard.biesheu...@linaro.org>
Cc: David Woodhouse <dw...@infradead.org>
Cc: Ray Ni <ray...@intel.com>


Hao Wu (8):
  OvmfPkg: Copy 8259InterruptControllerDxe driver from PcAtChipsetPkg
  OvmfPkg: Copy Legacy8259 protocol definitions from IntelFrameworkPkg
  OvmfPkg/OvmfPkg.dec: Add 8259-related PCDs in OVMF DEC file
  OvmfPkg/8259InterruptControllerDxe: Update to make it build for OVMF
  OvmfPkg/AcpiPlatformDxe: Consume the 8259 PCD defined in OvmfPkg
  OvmfPkg: Copy 8254TimerDxe driver from PcAtChipsetPkg
  OvmfPkg/8254TimerDxe: Update to make it build for OVMF
  OvmfPkg: Update DSC/FDF files to consume 8259/8254 drivers in OvmfPkg

 OvmfPkg/OvmfPkg.dec                                    |  29 +-
 OvmfPkg/OvmfPkgIa32.dsc                                |   6 +-
 OvmfPkg/OvmfPkgIa32X64.dsc                             |   6 +-
 OvmfPkg/OvmfPkgX64.dsc                                 |   6 +-
 OvmfPkg/OvmfPkgIa32.fdf                                |   4 +-
 OvmfPkg/OvmfPkgIa32X64.fdf                             |   4 +-
 OvmfPkg/OvmfPkgX64.fdf                                 |   4 +-
 OvmfPkg/8254TimerDxe/8254Timer.inf                     |  42 ++
 OvmfPkg/8259InterruptControllerDxe/8259.inf            |  45 ++
 OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf            |   5 +-
 OvmfPkg/8254TimerDxe/Timer.h                           | 185 ++++++
 OvmfPkg/8259InterruptControllerDxe/8259.h              | 218 +++++++
 OvmfPkg/Include/Protocol/Legacy8259.h                  | 291 +++++++++
 OvmfPkg/8254TimerDxe/Timer.c                           | 401 +++++++++++++
 OvmfPkg/8259InterruptControllerDxe/8259.c              | 622 
++++++++++++++++++++
 OvmfPkg/8254TimerDxe/Timer.uni                         |  16 +
 OvmfPkg/8254TimerDxe/TimerExtra.uni                    |  14 +
 OvmfPkg/8259InterruptControllerDxe/Legacy8259.uni      |  16 +
 OvmfPkg/8259InterruptControllerDxe/Legacy8259Extra.uni |  14 +
 19 files changed, 1909 insertions(+), 19 deletions(-)
 create mode 100644 OvmfPkg/8254TimerDxe/8254Timer.inf
 create mode 100644 OvmfPkg/8259InterruptControllerDxe/8259.inf
 create mode 100644 OvmfPkg/8254TimerDxe/Timer.h
 create mode 100644 OvmfPkg/8259InterruptControllerDxe/8259.h
 create mode 100644 OvmfPkg/Include/Protocol/Legacy8259.h
 create mode 100644 OvmfPkg/8254TimerDxe/Timer.c
 create mode 100644 OvmfPkg/8259InterruptControllerDxe/8259.c
 create mode 100644 OvmfPkg/8254TimerDxe/Timer.uni
 create mode 100644 OvmfPkg/8254TimerDxe/TimerExtra.uni
 create mode 100644 OvmfPkg/8259InterruptControllerDxe/Legacy8259.uni
 create mode 100644 OvmfPkg/8259InterruptControllerDxe/Legacy8259Extra.uni

-- 
2.12.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#38756): https://edk2.groups.io/g/devel/message/38756
Mute This Topic: https://groups.io/mt/31014305/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to