SourceLevelDebugPkg: Clean up source files
1. Do not use tab characters 2. No trailing white space in one line 3. All files must end with CRLF Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Hao Wu <hao.a.wu@intel.com>
This commit is contained in:
@@ -383,9 +383,9 @@ DebugAgentReadBuffer (
|
||||
UINT32 TimerRound;
|
||||
UINT32 TimerFrequency;
|
||||
UINT32 TimerCycle;
|
||||
|
||||
|
||||
Begin = 0;
|
||||
TimeoutTicker = 0;
|
||||
TimeoutTicker = 0;
|
||||
TimerRound = 0;
|
||||
TimerFrequency = GetMailboxPointer()->DebugTimerFrequency;
|
||||
TimerCycle = GetApicTimerInitCount ();
|
||||
@@ -405,7 +405,7 @@ DebugAgentReadBuffer (
|
||||
while (Index < NumberOfBytes) {
|
||||
if (DebugPortPollBuffer (Handle)) {
|
||||
DebugPortReadBuffer (Handle, Buffer + Index, 1, 0);
|
||||
Index ++;
|
||||
Index ++;
|
||||
continue;
|
||||
}
|
||||
if (Timeout != 0) {
|
||||
@@ -652,7 +652,7 @@ ReadRemainingBreakPacket (
|
||||
if (IS_REQUEST (DebugHeader)) {
|
||||
if (DebugHeader->SequenceNo == (UINT8) (Mailbox->HostSequenceNo + 1)) {
|
||||
//
|
||||
// Only updagte HostSequenceNo for new command packet
|
||||
// Only updagte HostSequenceNo for new command packet
|
||||
//
|
||||
UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, DebugHeader->SequenceNo);
|
||||
return EFI_SUCCESS;
|
||||
@@ -1476,7 +1476,7 @@ CompressData (
|
||||
if (Send) {
|
||||
DebugPortWriteBuffer (Handle, &LastChar, 1);
|
||||
}
|
||||
|
||||
|
||||
} else if (LastCharCount >= 2) {
|
||||
CompressedIndex += 3;
|
||||
LastCharCount -= 2;
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Command header of for Debug Agent library instance.
|
||||
|
||||
Copyright (c) 2010 - 2016, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -126,7 +126,7 @@ typedef union {
|
||||
//
|
||||
UINT32 BreakOnNextSmi : 1; // 1: Break on next SMI
|
||||
UINT32 PrintErrorLevel : 4; // Bitmask of print error level for debug message
|
||||
UINT32 BreakOnBootScript : 1; // 1: Break before executing boot script
|
||||
UINT32 BreakOnBootScript : 1; // 1: Break before executing boot script
|
||||
UINT32 Reserved2 : 26;
|
||||
} Bits;
|
||||
UINT64 Uint64;
|
||||
@@ -285,7 +285,7 @@ DebugReadBreakSymbol (
|
||||
|
||||
@param[in] ErrorLevel The error level of the debug message.
|
||||
@param[in] Format Format string for the debug message to print.
|
||||
@param[in] ... Variable argument list whose contents are accessed
|
||||
@param[in] ... Variable argument list whose contents are accessed
|
||||
based on the format string specified by Format.
|
||||
|
||||
**/
|
||||
@@ -322,13 +322,13 @@ MultiProcessorDebugSupport (
|
||||
|
||||
/**
|
||||
Find and report module image info to HOST.
|
||||
|
||||
|
||||
@param[in] AlignSize Image aligned size.
|
||||
|
||||
|
||||
**/
|
||||
VOID
|
||||
VOID
|
||||
FindAndReportModuleImageInfo (
|
||||
IN UINTN AlignSize
|
||||
IN UINTN AlignSize
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -338,7 +338,7 @@ FindAndReportModuleImageInfo (
|
||||
@retval FALSE IDT entries were not setup by Debug Agent.
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
BOOLEAN
|
||||
IsDebugAgentInitialzed (
|
||||
VOID
|
||||
);
|
||||
@@ -362,7 +362,7 @@ UpdateMailboxChecksum (
|
||||
@param[in] Mailbox Debug Agent Mailbox pointer.
|
||||
|
||||
**/
|
||||
VOID
|
||||
VOID
|
||||
VerifyMailboxChecksum (
|
||||
IN DEBUG_AGENT_MAILBOX *Mailbox
|
||||
);
|
||||
@@ -374,17 +374,17 @@ VerifyMailboxChecksum (
|
||||
@param[in] FlagValue Debug flag value.
|
||||
|
||||
**/
|
||||
VOID
|
||||
VOID
|
||||
SetDebugFlag (
|
||||
IN UINT64 FlagMask,
|
||||
IN UINT32 FlagValue
|
||||
IN UINT32 FlagValue
|
||||
);
|
||||
|
||||
/**
|
||||
Get debug flag in mailbox.
|
||||
|
||||
@param[in] FlagMask Debug flag mask value.
|
||||
|
||||
|
||||
@return Debug flag value.
|
||||
|
||||
**/
|
||||
@@ -399,10 +399,10 @@ GetDebugFlag (
|
||||
@param[in] Mailbox Debug Agent Mailbox pointer.
|
||||
@param[in] Index Mailbox content index.
|
||||
@param[in] Value Value to be set into mail box.
|
||||
|
||||
|
||||
**/
|
||||
VOID
|
||||
UpdateMailboxContent (
|
||||
UpdateMailboxContent (
|
||||
IN DEBUG_AGENT_MAILBOX *Mailbox,
|
||||
IN UINTN Index,
|
||||
IN UINT64 Value
|
||||
@@ -412,7 +412,7 @@ UpdateMailboxContent (
|
||||
Retrieve exception handler from IDT table by ExceptionNum.
|
||||
|
||||
@param[in] ExceptionNum Exception number
|
||||
|
||||
|
||||
@return Exception handler
|
||||
|
||||
**/
|
||||
@@ -425,7 +425,7 @@ GetExceptionHandlerInIdtEntry (
|
||||
Set exception handler in IDT table by ExceptionNum.
|
||||
|
||||
@param[in] ExceptionNum Exception number
|
||||
@param[in] ExceptionHandler Exception Handler to be set
|
||||
@param[in] ExceptionHandler Exception Handler to be set
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -437,15 +437,15 @@ SetExceptionHandlerInIdtEntry (
|
||||
/**
|
||||
Prints a debug message to the debug output device if the specified error level is enabled.
|
||||
|
||||
If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib function
|
||||
GetDebugPrintErrorLevel (), then print the message specified by Format and the
|
||||
If any bit in ErrorLevel is also set in DebugPrintErrorLevelLib function
|
||||
GetDebugPrintErrorLevel (), then print the message specified by Format and the
|
||||
associated variable argument list to the debug output device.
|
||||
|
||||
If Format is NULL, then ASSERT().
|
||||
|
||||
@param[in] ErrorLevel The error level of the debug message.
|
||||
@param[in] IsSend Flag of debug message to declare that the data is being sent or being received.
|
||||
@param[in] Data Variable argument list whose contents are accessed
|
||||
@param[in] Data Variable argument list whose contents are accessed
|
||||
@param[in] Length based on the format string specified by Format.
|
||||
|
||||
**/
|
||||
@@ -455,7 +455,7 @@ DebugAgentDataMsgPrint (
|
||||
IN UINT8 ErrorLevel,
|
||||
IN BOOLEAN IsSend,
|
||||
IN UINT8 *Data,
|
||||
IN UINT8 Length
|
||||
IN UINT8 Length
|
||||
);
|
||||
|
||||
/**
|
||||
|
@@ -142,10 +142,10 @@ DebugAgentIsBsp (
|
||||
)
|
||||
{
|
||||
MSR_IA32_APIC_BASE_REGISTER MsrApicBase;
|
||||
|
||||
|
||||
//
|
||||
// If there are less than 2 CPUs detected, then the currently executing CPU
|
||||
// must be the BSP. This avoids an access to an MSR that may not be supported
|
||||
// must be the BSP. This avoids an access to an MSR that may not be supported
|
||||
// on single core CPUs.
|
||||
//
|
||||
if (mDebugCpuData.CpuCount < 2) {
|
||||
|
@@ -189,7 +189,7 @@ UINT32
|
||||
FindNextPendingBreakCpu (
|
||||
VOID
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Check if all processors are in running status.
|
||||
|
||||
@@ -205,18 +205,18 @@ IsAllCpuRunning (
|
||||
/**
|
||||
Check if the current processor is the first breaking processor.
|
||||
|
||||
If yes, halt other processors.
|
||||
|
||||
If yes, halt other processors.
|
||||
|
||||
@param[in] ProcessorIndex Processor index value.
|
||||
|
||||
|
||||
@return TRUE This processor is the first breaking processor.
|
||||
@return FALSE This processor is not the first breaking processor.
|
||||
|
||||
|
||||
**/
|
||||
BOOLEAN
|
||||
IsFirstBreakProcessor (
|
||||
IN UINT32 ProcessorIndex
|
||||
);
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Supporting functions for IA32 architecture.
|
||||
|
||||
Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -58,9 +58,9 @@ InitializeDebugIdt (
|
||||
IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetHigh = (UINT16)((UINTN)InterruptHandler >> 16);
|
||||
IdtEntry[DEBUG_TIMER_VECTOR].Bits.Selector = CodeSegment;
|
||||
IdtEntry[DEBUG_TIMER_VECTOR].Bits.GateType = IA32_IDT_GATE_TYPE_INTERRUPT_32;
|
||||
|
||||
|
||||
//
|
||||
// If the CPU supports Debug Extensions(CPUID:01 EDX:BIT2), then
|
||||
// If the CPU supports Debug Extensions(CPUID:01 EDX:BIT2), then
|
||||
// Set DE flag in CR4 to enable IO breakpoint
|
||||
//
|
||||
AsmCpuid (1, NULL, NULL, NULL, &RegEdx);
|
||||
@@ -73,7 +73,7 @@ InitializeDebugIdt (
|
||||
Retrieve exception handler from IDT table by ExceptionNum.
|
||||
|
||||
@param[in] ExceptionNum Exception number
|
||||
|
||||
|
||||
@return Exception handler
|
||||
|
||||
**/
|
||||
@@ -90,13 +90,13 @@ GetExceptionHandlerInIdtEntry (
|
||||
|
||||
return (VOID *) (((UINTN)IdtEntry[ExceptionNum].Bits.OffsetLow) |
|
||||
(((UINTN)IdtEntry[ExceptionNum].Bits.OffsetHigh) << 16));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Set exception handler in IDT table by ExceptionNum.
|
||||
|
||||
@param[in] ExceptionNum Exception number
|
||||
@param[in] ExceptionHandler Exception Handler to be set
|
||||
@param[in] ExceptionHandler Exception Handler to be set
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#------------------------------------------------------------------------------
|
||||
#
|
||||
# Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
# This program and the accompanying materials
|
||||
# are licensed and made available under the terms and conditions of the BSD License
|
||||
# which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -235,21 +235,21 @@ NoExtrPush:
|
||||
## insure FXSAVE/FXRSTOR is enabled in CR4...
|
||||
## ... while we're at it, make sure DE is also enabled...
|
||||
mov $1, %eax
|
||||
pushl %ebx # temporarily save value of ebx on stack
|
||||
cpuid # use CPUID to determine if FXSAVE/FXRESTOR
|
||||
pushl %ebx # temporarily save value of ebx on stack
|
||||
cpuid # use CPUID to determine if FXSAVE/FXRESTOR
|
||||
# and DE are supported
|
||||
popl %ebx # retore value of ebx that was overwritten
|
||||
# by CPUID
|
||||
# by CPUID
|
||||
movl %cr4, %eax
|
||||
pushl %eax # push cr4 firstly
|
||||
testl $BIT24, %edx # Test for FXSAVE/FXRESTOR support
|
||||
jz L1
|
||||
orl $BIT9, %eax # Set CR4.OSFXSR
|
||||
L1:
|
||||
L1:
|
||||
testl $BIT2, %edx # Test for Debugging Extensions support
|
||||
jz L2
|
||||
orl $BIT3, %eax # Set CR4.DE
|
||||
L2:
|
||||
L2:
|
||||
movl %eax, %cr4
|
||||
movl %cr3, %eax
|
||||
pushl %eax
|
||||
@@ -322,14 +322,14 @@ L2:
|
||||
# edx still contains result from CPUID above
|
||||
jz L3
|
||||
.byte 0x0f, 0xae, 0x07 # fxsave [edi]
|
||||
L3:
|
||||
L3:
|
||||
|
||||
## save the exception data
|
||||
pushl 8(%esp)
|
||||
|
||||
## Clear Direction Flag
|
||||
cld
|
||||
|
||||
|
||||
## Prepare parameter and call C function
|
||||
pushl %esp
|
||||
pushl %ebx
|
||||
@@ -347,7 +347,7 @@ L3:
|
||||
testl $BIT24, %edx # Test for FXSAVE/FXRESTOR support
|
||||
jz L4
|
||||
.byte 0x0f, 0xae, 0x0e # fxrstor [esi]
|
||||
L4:
|
||||
L4:
|
||||
addl $512,%esp
|
||||
|
||||
## UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
|
||||
@@ -412,4 +412,4 @@ L4:
|
||||
popl %ebp
|
||||
addl $8,%esp # skip eax
|
||||
iretl
|
||||
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Supporting functions for X64 architecture.
|
||||
|
||||
Copyright (c) 2010 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -62,7 +62,7 @@ InitializeDebugIdt (
|
||||
IdtEntry[DEBUG_TIMER_VECTOR].Bits.GateType = IA32_IDT_GATE_TYPE_INTERRUPT_32;
|
||||
|
||||
//
|
||||
// If the CPU supports Debug Extensions(CPUID:01 EDX:BIT2), then
|
||||
// If the CPU supports Debug Extensions(CPUID:01 EDX:BIT2), then
|
||||
// Set DE flag in CR4 to enable IO breakpoint
|
||||
//
|
||||
AsmCpuid (1, NULL, NULL, NULL, &RegEdx);
|
||||
@@ -75,7 +75,7 @@ InitializeDebugIdt (
|
||||
Retrieve exception handler from IDT table by ExceptionNum.
|
||||
|
||||
@param[in] ExceptionNum Exception number
|
||||
|
||||
|
||||
@return Exception handler
|
||||
|
||||
**/
|
||||
@@ -93,13 +93,13 @@ GetExceptionHandlerInIdtEntry (
|
||||
return (VOID *) (IdtEntry[ExceptionNum].Bits.OffsetLow |
|
||||
(((UINTN)IdtEntry[ExceptionNum].Bits.OffsetHigh) << 16) |
|
||||
(((UINTN)IdtEntry[ExceptionNum].Bits.OffsetUpper) << 32));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Set exception handler in IDT table by ExceptionNum.
|
||||
|
||||
@param[in] ExceptionNum Exception number
|
||||
@param[in] ExceptionHandler Exception Handler to be set
|
||||
@param[in] ExceptionHandler Exception Handler to be set
|
||||
|
||||
**/
|
||||
VOID
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Debug Agent library implementition for Dxe Core and Dxr modules.
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -237,7 +237,7 @@ GetDebugPortHandle (
|
||||
/**
|
||||
Worker function to set up Debug Agent environment.
|
||||
|
||||
This function will set up IDT table and initialize the IDT entries and
|
||||
This function will set up IDT table and initialize the IDT entries and
|
||||
initialize CPU LOCAL APIC timer.
|
||||
It also tries to connect HOST if Debug Agent was not initialized before.
|
||||
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Header file for Dxe Core Debug Agent Library instance.
|
||||
|
||||
Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -29,12 +29,12 @@
|
||||
#include "DebugAgent.h"
|
||||
|
||||
/**
|
||||
Install EFI Serial IO protocol based on Debug Communication Library.
|
||||
Install EFI Serial IO protocol based on Debug Communication Library.
|
||||
|
||||
**/
|
||||
VOID
|
||||
InstallSerialIo (
|
||||
VOID
|
||||
);
|
||||
|
||||
|
||||
#endif
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Install Serial IO Protocol that layers on top of a Debug Communication Library instance.
|
||||
|
||||
Copyright (c) 2012 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2012 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -31,7 +31,7 @@ EFIAPI
|
||||
SerialReset (
|
||||
IN EFI_SERIAL_IO_PROTOCOL *This
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
Set new attributes to a serial device.
|
||||
|
||||
@@ -246,7 +246,7 @@ DEBUG_SERIAL_FIFO mSerialFifoForDebug = {0, 0, DEBGU_SERIAL_IO_FIF
|
||||
|
||||
/**
|
||||
Detect whether specific FIFO is empty or not.
|
||||
|
||||
|
||||
@param[in] Fifo A pointer to the Data Structure DEBUG_SERIAL_FIFO.
|
||||
|
||||
@return whether specific FIFO is empty or not.
|
||||
@@ -357,7 +357,7 @@ DebugTerminalFifoRemove (
|
||||
}
|
||||
|
||||
/**
|
||||
Install EFI Serial IO protocol based on Debug Communication Library.
|
||||
Install EFI Serial IO protocol based on Debug Communication Library.
|
||||
|
||||
**/
|
||||
VOID
|
||||
@@ -431,12 +431,12 @@ SerialSetAttributes (
|
||||
//
|
||||
// The Debug Communication Library CAN NOT change communications parameters (if it has)
|
||||
// actually. Because it also has no any idea on what parameters are based on, we cannot
|
||||
// check the input parameters (like BaudRate, Parity, DataBits and StopBits).
|
||||
// check the input parameters (like BaudRate, Parity, DataBits and StopBits).
|
||||
//
|
||||
|
||||
|
||||
//
|
||||
// Update the Timeout value in the mode structure based on the request.
|
||||
// The Debug Communication Library can not support a timeout on writes, but the timeout on
|
||||
// The Debug Communication Library can not support a timeout on writes, but the timeout on
|
||||
// reads can be provided by this module.
|
||||
//
|
||||
if (Timeout == 0) {
|
||||
@@ -444,11 +444,11 @@ SerialSetAttributes (
|
||||
} else {
|
||||
mSerialIoMode.Timeout = Timeout;
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// Update the ReceiveFifoDepth value in the mode structure based on the request.
|
||||
// This module assumes that the Debug Communication Library uses a FIFO depth of
|
||||
// SERIAL_PORT_DEFAULT_RECEIVE_FIFO_DEPTH. The Debug Communication Library may actually be
|
||||
// This module assumes that the Debug Communication Library uses a FIFO depth of
|
||||
// SERIAL_PORT_DEFAULT_RECEIVE_FIFO_DEPTH. The Debug Communication Library may actually be
|
||||
// using a larger FIFO, but there is no way to tell.
|
||||
//
|
||||
if (ReceiveFifoDepth == 0 || ReceiveFifoDepth >= SERIAL_PORT_DEFAULT_RECEIVE_FIFO_DEPTH) {
|
||||
@@ -512,21 +512,21 @@ SerialGetControl (
|
||||
// Raise TPL to prevent recursion from EFI timer interrupts
|
||||
//
|
||||
Tpl = gBS->RaiseTPL (TPL_NOTIFY);
|
||||
|
||||
|
||||
//
|
||||
// Save and disable Debug Timer interrupt to avoid it to access Debug Port
|
||||
//
|
||||
DebugTimerInterruptState = SaveAndSetDebugTimerInterrupt (FALSE);
|
||||
Handle = GetDebugPortHandle ();
|
||||
|
||||
|
||||
//
|
||||
// Always assume the output buffer is empty and the Debug Communication Library can process
|
||||
// more write requests.
|
||||
//
|
||||
*Control = mSerialIoMode.ControlMask | EFI_SERIAL_OUTPUT_BUFFER_EMPTY;
|
||||
|
||||
|
||||
//
|
||||
// Check to see if the Terminal FIFO is empty and
|
||||
// Check to see if the Terminal FIFO is empty and
|
||||
// check to see if the input buffer in the Debug Communication Library is empty
|
||||
//
|
||||
if (!IsDebugTermianlFifoEmpty (&mSerialFifoForTerminal) || DebugPortPollBuffer (Handle)) {
|
||||
@@ -535,14 +535,14 @@ SerialGetControl (
|
||||
|
||||
//
|
||||
// Restore Debug Timer interrupt
|
||||
//
|
||||
//
|
||||
SaveAndSetDebugTimerInterrupt (DebugTimerInterruptState);
|
||||
|
||||
|
||||
//
|
||||
// Restore to original TPL
|
||||
//
|
||||
gBS->RestoreTPL (Tpl);
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -575,13 +575,13 @@ SerialWrite (
|
||||
// Raise TPL to prevent recursion from EFI timer interrupts
|
||||
//
|
||||
Tpl = gBS->RaiseTPL (TPL_NOTIFY);
|
||||
|
||||
|
||||
//
|
||||
// Save and disable Debug Timer interrupt to avoid it to access Debug Port
|
||||
//
|
||||
DebugTimerInterruptState = SaveAndSetDebugTimerInterrupt (FALSE);
|
||||
Handle = GetDebugPortHandle ();
|
||||
|
||||
|
||||
if ((mSerialIoMode.ControlMask & EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) != 0) {
|
||||
if (*BufferSize == 0) {
|
||||
return EFI_SUCCESS;
|
||||
@@ -598,14 +598,14 @@ SerialWrite (
|
||||
|
||||
//
|
||||
// Restore Debug Timer interrupt
|
||||
//
|
||||
//
|
||||
SaveAndSetDebugTimerInterrupt (DebugTimerInterruptState);
|
||||
|
||||
|
||||
//
|
||||
// Restore to original TPL
|
||||
//
|
||||
gBS->RestoreTPL (Tpl);
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -643,13 +643,13 @@ SerialRead (
|
||||
// Raise TPL to prevent recursion from EFI timer interrupts
|
||||
//
|
||||
Tpl = gBS->RaiseTPL (TPL_NOTIFY);
|
||||
|
||||
|
||||
//
|
||||
// Save and disable Debug Timer interrupt to avoid it to access Debug Port
|
||||
//
|
||||
DebugTimerInterruptState = SaveAndSetDebugTimerInterrupt (FALSE);
|
||||
Handle = GetDebugPortHandle ();
|
||||
|
||||
|
||||
Data8 = (UINT8 *) &DebugHeader;
|
||||
Uint8Buffer = (UINT8 *)Buffer;
|
||||
if ((mSerialIoMode.ControlMask & EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) != 0) {
|
||||
@@ -671,7 +671,7 @@ SerialRead (
|
||||
continue;
|
||||
}
|
||||
//
|
||||
// Read the input character from Debug Port
|
||||
// Read the input character from Debug Port
|
||||
//
|
||||
if (!DebugPortPollBuffer (Handle)) {
|
||||
break;
|
||||
@@ -703,14 +703,14 @@ SerialRead (
|
||||
|
||||
//
|
||||
// Restore Debug Timer interrupt
|
||||
//
|
||||
//
|
||||
SaveAndSetDebugTimerInterrupt (DebugTimerInterruptState);
|
||||
|
||||
|
||||
//
|
||||
// Restore to original TPL
|
||||
//
|
||||
gBS->RestoreTPL (Tpl);
|
||||
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -757,7 +757,7 @@ DebugReadBreakFromDebugPort (
|
||||
DebugAgentMsgPrint (DEBUG_AGENT_INFO, "Debug Timer attach symbol received %x", *Data8);
|
||||
*BreakSymbol = *Data8;
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
if (*Data8 == DEBUG_STARTING_SYMBOL_NORMAL) {
|
||||
Status = ReadRemainingBreakPacket (Handle, &DebugHeader);
|
||||
if (Status == EFI_SUCCESS) {
|
||||
@@ -775,7 +775,7 @@ DebugReadBreakFromDebugPort (
|
||||
DebugTerminalFifoAdd (&mSerialFifoForTerminal, *Data8);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
|
@@ -93,7 +93,7 @@
|
||||
|
||||
[Protocols]
|
||||
gEfiSerialIoProtocolGuid ## SOMETIMES_PRODUCES
|
||||
gEfiDevicePathProtocolGuid ## SOMETIMES_PRODUCES
|
||||
gEfiDevicePathProtocolGuid ## SOMETIMES_PRODUCES
|
||||
|
||||
[Pcd]
|
||||
gEfiMdePkgTokenSpaceGuid.PcdFSBClock ## SOMETIMES_CONSUMES
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Debug Agent library implementition.
|
||||
|
||||
Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -77,7 +77,7 @@ GetMailboxFromHob (
|
||||
)
|
||||
{
|
||||
EFI_HOB_GUID_TYPE *GuidHob;
|
||||
UINT64 *MailboxLocation;
|
||||
UINT64 *MailboxLocation;
|
||||
DEBUG_AGENT_MAILBOX *Mailbox;
|
||||
|
||||
GuidHob = GetFirstGuidHob (&gEfiDebugAgentGuid);
|
||||
@@ -87,7 +87,7 @@ GetMailboxFromHob (
|
||||
MailboxLocation = (UINT64 *) (GET_GUID_HOB_DATA(GuidHob));
|
||||
Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);
|
||||
VerifyMailboxChecksum (Mailbox);
|
||||
|
||||
|
||||
return Mailbox;
|
||||
}
|
||||
|
||||
@@ -224,7 +224,7 @@ InitializeDebugAgent (
|
||||
//
|
||||
// Check if Debug Agent initialized in SEC/PEI phase
|
||||
//
|
||||
Mailbox = GetMailboxFromHob ();
|
||||
Mailbox = GetMailboxFromHob ();
|
||||
if (Mailbox != NULL) {
|
||||
mMailboxPointer = Mailbox;
|
||||
break;
|
||||
@@ -237,7 +237,7 @@ InitializeDebugAgent (
|
||||
//
|
||||
// Save original IDT entries
|
||||
//
|
||||
AsmReadIdtr (&IdtDescriptor);
|
||||
AsmReadIdtr (&IdtDescriptor);
|
||||
CopyMem (&IdtEntry, (VOID *)IdtDescriptor.Base, 33 * sizeof(IA32_IDT_GATE_DESCRIPTOR));
|
||||
//
|
||||
// Initialized Debug Agent
|
||||
@@ -269,11 +269,11 @@ InitializeDebugAgent (
|
||||
}
|
||||
//
|
||||
// Find and report PE/COFF image info to HOST
|
||||
//
|
||||
//
|
||||
FindAndReportModuleImageInfo (SIZE_4KB);
|
||||
//
|
||||
// Restore saved IDT entries
|
||||
//
|
||||
//
|
||||
CopyMem ((VOID *)IdtDescriptor.Base, &IdtEntry, 33 * sizeof(IA32_IDT_GATE_DESCRIPTOR));
|
||||
|
||||
break;
|
||||
@@ -381,12 +381,12 @@ InitializeDebugAgent (
|
||||
|
||||
default:
|
||||
//
|
||||
// Only DEBUG_AGENT_INIT_PREMEM_SEC and DEBUG_AGENT_INIT_POSTMEM_SEC are allowed for this
|
||||
// Only DEBUG_AGENT_INIT_PREMEM_SEC and DEBUG_AGENT_INIT_POSTMEM_SEC are allowed for this
|
||||
// Debug Agent library instance.
|
||||
//
|
||||
DEBUG ((EFI_D_ERROR, "Debug Agent: The InitFlag value is not allowed!\n"));
|
||||
CpuDeadLoop ();
|
||||
break;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user