]> git.proxmox.com Git - mirror_edk2.git/commit
UefiCpuPkg/CpuDxe: implement non-stop mode for uefi
authorJian J Wang <jian.j.wang@intel.com>
Mon, 20 Aug 2018 03:31:00 +0000 (11:31 +0800)
committerJian J Wang <jian.j.wang@intel.com>
Wed, 29 Aug 2018 23:22:30 +0000 (07:22 +0800)
commitdcc026217fdc363f55c217039fc43d344f69fed6
treee4604fd52c48ec0bf0d463a2c8ca455f18d8102a
parent16b918bbaf51211a32ae04d9d8a5ba6ccca25a6a
UefiCpuPkg/CpuDxe: implement non-stop mode for uefi

Same as SMM profile feature, a special #PF is used to set page attribute
to 'present' and a special #DB handler to reset it back to 'not-present',
right after the instruction causing #PF got executed.

Since the new #PF handler won't enter into dead-loop, the instruction
which caused the #PF will get chance to re-execute with accessible pages.

The exception message will still be printed out on debug console so that
the developer/QA can find that there's potential heap overflow or null
pointer access occurred.

Cc: Eric Dong <eric.dong@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jian J Wang <jian.j.wang@intel.com>
Reviewed-by: Eric Dong <eric.dong@intel.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
UefiCpuPkg/CpuDxe/CpuDxe.h
UefiCpuPkg/CpuDxe/CpuDxe.inf
UefiCpuPkg/CpuDxe/CpuMp.c
UefiCpuPkg/CpuDxe/CpuPageTable.c