Start DebugAgent from the beginning of Stage1B
Hardware Breakpoints must be used during CAR execution until memory has been initiailzed for APL platform. In order to use Hareware Breakpoints in UDK debugger, add FlashRange in UDK config file and force to cover CAR area. In SoftDebugger.ini of Windows UDK Debugger Or In /etc/udkdebugger.conf of Linux UDK Debugger [Target System] FlashRange = 0xFEF00000:0x1100000 Additionally, added Stage1BBase in STAGE1A_HOB fixed Stage1A module base report Change-Id: I717f87bf141168de0b0987eb309fd4c5d48d3c14 Signed-off-by: Aiden Park <aiden.park@intel.com>
This commit is contained in:
parent
2373df3eb1
commit
e74b4e5ce5
|
@ -62,6 +62,7 @@ typedef struct {
|
|||
UINT32 VerInfoBase;
|
||||
UINT32 AllocDataBase;
|
||||
UINT32 AllocDataLen;
|
||||
UINT32 Stage1BBase;
|
||||
} STAGE1A_HOB;
|
||||
|
||||
typedef struct {
|
||||
|
|
|
@ -134,7 +134,7 @@ SecStartup2 (
|
|||
Stage1aAsmHob = (STAGE1A_ASM_HOB *)Params;
|
||||
|
||||
Src = PcdGet32 (PcdStage1AFdBase) + PcdGet32 (PcdFSPTSize);
|
||||
PeCoffFindAndReportImageInfo (Src);
|
||||
PeCoffFindAndReportImageInfo ((UINT32) (UINTN) GET_STAGE_MODULE_BASE (Src));
|
||||
|
||||
LdrGlobal = GetLoaderGlobalDataPointer ();
|
||||
|
||||
|
@ -405,6 +405,7 @@ ContinueFunc (
|
|||
PeCoffFindAndReportImageInfo ((UINT32) GET_STAGE_MODULE_BASE (StageBase));
|
||||
StageEntry = (STAGE_ENTRY) GET_STAGE_MODULE_ENTRY (StageBase);
|
||||
if (StageEntry != NULL) {
|
||||
Stage1aHob->Stage1BBase = StageBase;
|
||||
StageEntry (Stage1aHob);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -278,11 +278,15 @@ SecStartup2 (
|
|||
|
||||
DEBUG ((DEBUG_INFO, "\n============= Intel Slim Bootloader STAGE1B =============\n"));
|
||||
|
||||
Stage1aHob = (STAGE1A_HOB *) Params;
|
||||
if (Stage1aHob->Stage1BBase != 0) {
|
||||
PeCoffFindAndReportImageInfo ((UINT32) (UINTN) GET_STAGE_MODULE_BASE (Stage1aHob->Stage1BBase));
|
||||
}
|
||||
|
||||
// Reload Exception handler
|
||||
UpdateExceptionHandler (NULL);
|
||||
|
||||
// Migrate data from Stage1A HOB to Stage1B HOB
|
||||
Stage1aHob = (STAGE1A_HOB *)Params;
|
||||
ZeroMem (&Stage1bHob, sizeof (STAGE1B_HOB));
|
||||
Stage1bHob.CarBase = Stage1aHob->CarBase;
|
||||
Stage1bHob.CarTop = Stage1aHob->CarTop;
|
||||
|
@ -382,8 +386,6 @@ SecStartup2 (
|
|||
RemapStage ();
|
||||
}
|
||||
|
||||
PeCoffFindAndReportImageInfo ((UINT32) (UINTN) SecStartup2);
|
||||
|
||||
OldStatus = SaveAndSetDebugTimerInterrupt (FALSE);
|
||||
InitializeDebugAgent (DEBUG_AGENT_INIT_POSTMEM_SEC, NULL, NULL);
|
||||
SaveAndSetDebugTimerInterrupt (OldStatus);
|
||||
|
|
Loading…
Reference in New Issue