IntelFrameworkModulePkg/Csm: Add code to bypass NULL pointer detection
Legacy has to access interrupt vector, BDA, etc. located in memory between 0-4095. To allow as much code as possible to be monitored by NULL pointer detection, we add code to temporarily disable this feature right before those memory access and enable it again afterwards. Cc: Star Zeng <star.zeng@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Michael Kinney <michael.d.kinney@intel.com> Cc: Ayellet Wolman <ayellet.wolman@intel.com> Suggested-by: Ayellet Wolman <ayellet.wolman@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jian J Wang <jian.j.wang@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
@@ -509,6 +509,8 @@ extern BBS_TABLE *mBbsTable;
|
||||
|
||||
extern EFI_GENERIC_MEMORY_TEST_PROTOCOL *gGenMemoryTest;
|
||||
|
||||
extern BOOLEAN mEndOfDxe;
|
||||
|
||||
#define PORT_70 0x70
|
||||
#define PORT_71 0x71
|
||||
|
||||
@@ -1542,4 +1544,20 @@ LegacyBiosInstallVgaRom (
|
||||
IN LEGACY_BIOS_INSTANCE *Private
|
||||
);
|
||||
|
||||
/**
|
||||
Enable NULL pointer detection
|
||||
*/
|
||||
VOID
|
||||
EnableNullDetection (
|
||||
VOID
|
||||
);
|
||||
|
||||
/**
|
||||
Disable NULL pointer detection
|
||||
*/
|
||||
VOID
|
||||
DisableNullDetection (
|
||||
VOID
|
||||
);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user