You've already forked slimbootloader
mirror of
https://github.com/Dasharo/slimbootloader.git
synced 2026-03-06 15:26:20 -08:00
b6697f12a8
* Enable DebugAgentLib to support source level debug over serial By default, source level debug is NOT enabled. ENABLE_SOURCE_DEBUG needs to be set to 1 in BoardConfig.py of each Platforms. - self.ENABLE_SOURCE_DEBUG = 1 As an initial drop, there are some limitations on APL platform. - Stage1A does not include DebugAgentLib due to Stage1A size limitation(32KB). Further optimization is required. - DebugAgentLib supports ONLY POSTMEM debugging on APL currently. Refer to EDKII Debugging: - https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Debugging - https://github.com/tianocore/tianocore.github.io/wiki/SourceLevelDebugPkg Change-Id: Ia28c5470bc5755768f2b380cc1dabbcb8ee60f0d Signed-off-by: Aiden Park <aiden.park@intel.com> * Additional changes for DebugAgent - Adjust stage size depending on ENABLE_SOURCE_DEBUG Pcd value - Add PeCoffFindAndReportImageInfo - Fix debugger hang at Shell Change-Id: I11b41e5ad610fcb2999e9d43e5dd8f8899e8265a Signed-off-by: Aiden Park <aiden.park@intel.com> * Move PeCoffFindAndReportImageInfo() from LitePeCoffLib to DebugAgentLib Change-Id: I2c4ab4f9561dfd0536da1820048f0e5f2660e2ab Signed-off-by: Aiden Park <aiden.park@intel.com>
59 lines
1.5 KiB
C
59 lines
1.5 KiB
C
/** @file
|
|
CPU Exception Handler Library.
|
|
|
|
Copyright (c) 2012 - 2017, 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
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
|
|
**/
|
|
|
|
#ifndef _CPU_EXCEPTION_LIB_H_
|
|
#define _CPU_EXCEPTION_LIB_H_
|
|
|
|
#define CPU_EXCEPTION_NUM 32
|
|
#define CPU_INTERRUPT_NUM 256
|
|
|
|
//
|
|
// Record exception handler information
|
|
//
|
|
typedef struct {
|
|
UINTN ExceptionStart;
|
|
UINTN ExceptionStubHeaderSize;
|
|
} EXCEPTION_HANDLER_TEMPLATE_MAP;
|
|
|
|
|
|
/**
|
|
Return address map of exception handler template so that C code can generate
|
|
exception tables.
|
|
|
|
@param AddressMap[in, out] Pointer to a buffer where the address map is returned.
|
|
**/
|
|
VOID
|
|
EFIAPI
|
|
AsmGetTemplateAddressMap (
|
|
OUT EXCEPTION_HANDLER_TEMPLATE_MAP *AddressMap
|
|
);
|
|
|
|
|
|
/**
|
|
Update exception handler in IDT table .
|
|
|
|
This function is used to update the IDT exception handler with current stage.
|
|
|
|
@param[in] IdtDescriptor If not NULL, it is new IDT descriptor to be updated.
|
|
if it is NULL, the IDT descriptor will be retrieved from IDT base register.
|
|
|
|
**/
|
|
VOID
|
|
UpdateExceptionHandler (
|
|
IN IA32_DESCRIPTOR *IdtDescriptor
|
|
);
|
|
|
|
#endif
|
|
|