driver/intel/fsp2_0: Disable NULL deref code when calling FSP
FSP needs interrupts disable so also disable generating exceptions around debug registers. Change-Id: Ia49dde68d45b71e231aaf32a0e6fd847f0e06146 Signed-off-by: Arthur Heymans <arthur@aheymans.xyz> Reviewed-on: https://review.coreboot.org/c/coreboot/+/64426 Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com> Reviewed-by: Uwe Poeche <uwe.poeche@siemens.com> Reviewed-by: Sean Rhodes <sean@starlabs.systems> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
@@ -7,10 +7,15 @@
|
||||
|
||||
/* Places data and instructions breakpoints at address zero. */
|
||||
void null_breakpoint_init(void);
|
||||
void null_breakpoint_disable(void);
|
||||
#else
|
||||
static inline void null_breakpoint_init(void)
|
||||
{
|
||||
/* Not implemented */
|
||||
/* Not implemented */
|
||||
}
|
||||
static inline void null_breakpoint_disable(void)
|
||||
{
|
||||
/* Not implemented */
|
||||
}
|
||||
#endif
|
||||
#endif /* _NULL_BREAKPOINT_H_ */
|
||||
|
@@ -57,11 +57,16 @@ void null_breakpoint_init(void)
|
||||
create_instruction_breakpoint();
|
||||
}
|
||||
|
||||
static void null_breakpoint_disable(void *unused)
|
||||
void null_breakpoint_disable(void)
|
||||
{
|
||||
breakpoint_remove(null_fetch_bp);
|
||||
breakpoint_remove(null_deref_bp);
|
||||
}
|
||||
|
||||
BOOT_STATE_INIT_ENTRY(BS_OS_RESUME, BS_ON_ENTRY, null_breakpoint_disable, NULL);
|
||||
BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_BOOT, BS_ON_ENTRY, null_breakpoint_disable, NULL);
|
||||
static void null_breakpoint_disable_hook(void *unused)
|
||||
{
|
||||
null_breakpoint_disable();
|
||||
}
|
||||
|
||||
BOOT_STATE_INIT_ENTRY(BS_OS_RESUME, BS_ON_ENTRY, null_breakpoint_disable_hook, NULL);
|
||||
BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_BOOT, BS_ON_ENTRY, null_breakpoint_disable_hook, NULL);
|
||||
|
Reference in New Issue
Block a user