Hi, Any more comments for this version of patch? If no, I'll check in it today. Thanks.
Jian > -----Original Message----- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Jian J > Wang > Sent: Monday, October 09, 2017 10:17 PM > To: edk2-devel@lists.01.org > Subject: [edk2] [PATCH v4 0/6] Add NULL pointer detection feature > > The mechanism behind is to trigger a page fault exception at address 0. > This can be made by disabling page 0 (0-4095) during page table setup. > So this feature can only be available on platform with paging enabled. > > Once this feature is enabled, any code, like CSM, which has to access > memory in page 0 needs to enable this page temporarily in advance and > disable it afterwards. > > PcdNullPointerDetectionPropertyMask is used to control and elaborate > the use cases. For example, BIT7 of this PCD must be set for Windows 7 > boot on Qemu if BIT0 set; or boot will fail. > > Suggested-by: Ayellet Wolman <ayellet.wol...@intel.com> > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Jian J Wang <jian.j.w...@intel.com> > > Jian J Wang (5): > MdeModulePkg/DxeIpl: Implement NULL pointer detection > MdeModulePkg/Core/Dxe: Add EndOfDxe workaround for NULL pointer > detection > UefiCpuPkg/PiSmmCpuDxeSmm: Implement NULL pointer detection for SMM > code > IntelFrameworkModulePkg/Csm: Add code to bypass NULL pointer detection > OvmfPkg/QemuVideoDxe: Bypass NULL pointer detection during VBE SHIM > installing > > Wang, Jian J (1): > MdeModulePkg/MdeModulePkg.dec,.uni: Add NULL pointer detection PCD > > .../Csm/BiosThunk/KeyboardDxe/BiosKeyboard.c | 101 ++++++++++++++ > .../Csm/BiosThunk/KeyboardDxe/BiosKeyboard.h | 2 + > .../Csm/BiosThunk/KeyboardDxe/KeyboardDxe.inf | 2 + > .../Csm/LegacyBiosDxe/LegacyBda.c | 4 + > .../Csm/LegacyBiosDxe/LegacyBios.c | 152 > +++++++++++++++++++++ > .../Csm/LegacyBiosDxe/LegacyBiosDxe.inf | 2 + > .../Csm/LegacyBiosDxe/LegacyBiosInterface.h | 18 +++ > .../Csm/LegacyBiosDxe/LegacyBootSupport.c | 23 +++- > .../Csm/LegacyBiosDxe/LegacyPci.c | 17 ++- > IntelFrameworkModulePkg/Csm/LegacyBiosDxe/Thunk.c | 27 +++- > MdeModulePkg/Core/Dxe/DxeMain.inf | 1 + > MdeModulePkg/Core/Dxe/Mem/Page.c | 4 +- > MdeModulePkg/Core/Dxe/Misc/MemoryProtection.c | 65 +++++++++ > MdeModulePkg/Core/DxeIplPeim/DxeIpl.h | 25 ++++ > MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 1 + > MdeModulePkg/Core/DxeIplPeim/DxeLoad.c | 1 + > MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c | 17 ++- > MdeModulePkg/Core/DxeIplPeim/X64/DxeLoadFunc.c | 4 + > MdeModulePkg/Core/DxeIplPeim/X64/VirtualMemory.c | 93 ++++++++++++- > MdeModulePkg/MdeModulePkg.dec | 13 ++ > MdeModulePkg/MdeModulePkg.uni | 13 ++ > OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf | 1 + > OvmfPkg/QemuVideoDxe/VbeShim.c | 14 ++ > UefiCpuPkg/PiSmmCpuDxeSmm/Ia32/PageTbl.c | 12 ++ > UefiCpuPkg/PiSmmCpuDxeSmm/MpService.c | 25 +++- > UefiCpuPkg/PiSmmCpuDxeSmm/PiSmmCpuDxeSmm.inf | 1 + > UefiCpuPkg/PiSmmCpuDxeSmm/X64/PageTbl.c | 12 ++ > 27 files changed, 628 insertions(+), 22 deletions(-) > > -- > 2.14.1.windows.1 > > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel