if (Mailbox == NULL) {\r
DEBUG ((EFI_D_ERROR, "DebugAgent: Failed to allocate memory!\n"));\r
CpuDeadLoop ();\r
+ } else {\r
+ MailboxLocation = (UINT64)(UINTN)Mailbox;\r
+ MailboxLocationPointer = BuildGuidDataHob (\r
+ &gEfiDebugAgentGuid,\r
+ &MailboxLocation,\r
+ sizeof (UINT64)\r
+ );\r
+ //\r
+ // Initialize Debug Timer hardware and save its frequency\r
+ //\r
+ InitializeDebugTimer (&DebugTimerFrequency);\r
+ UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
+ //\r
+ // Update IDT entry to save the location pointer saved mailbox pointer\r
+ //\r
+ SetLocationSavedMailboxPointerInIdtEntry (MailboxLocationPointer);\r
}\r
- MailboxLocation = (UINT64)(UINTN)Mailbox;\r
- MailboxLocationPointer = BuildGuidDataHob (\r
- &gEfiDebugAgentGuid,\r
- &MailboxLocation,\r
- sizeof (UINT64)\r
- );\r
- //\r
- // Initialize Debug Timer hardware and save its frequency\r
- //\r
- InitializeDebugTimer (&DebugTimerFrequency);\r
- UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
- //\r
- // Update IDT entry to save the location pointer saved mailbox pointer\r
- //\r
- SetLocationSavedMailboxPointerInIdtEntry (MailboxLocationPointer);\r
//\r
// Save init arch type when debug agent initialized\r
//\r