iPXE
|
DebugSupport protocol and supporting definitions as defined in the UEFI2.4 specification. More...
#include <ipxe/efi/IndustryStandard/PeImage.h>
Go to the source code of this file.
Data Structures | |
struct | EFI_FX_SAVE_STATE_IA32 |
FXSAVE_STATE. More... | |
struct | EFI_SYSTEM_CONTEXT_IA32 |
IA-32 processor context definition. More... | |
struct | EFI_FX_SAVE_STATE_X64 |
FXSAVE_STATE. More... | |
struct | EFI_SYSTEM_CONTEXT_X64 |
x64 processor context definition. More... | |
struct | EFI_SYSTEM_CONTEXT_IPF |
IPF processor context definition. More... | |
struct | EFI_SYSTEM_CONTEXT_EBC |
EBC processor context definition. More... | |
struct | EFI_SYSTEM_CONTEXT_ARM |
ARM processor context definition. More... | |
struct | EFI_SYSTEM_CONTEXT_AARCH64 |
struct | EFI_SYSTEM_CONTEXT_RISCV64 |
struct | EFI_SYSTEM_CONTEXT_LOONGARCH64 |
union | EFI_SYSTEM_CONTEXT |
Universal EFI_SYSTEM_CONTEXT definition. More... | |
struct | _EFI_DEBUG_SUPPORT_PROTOCOL |
This protocol provides the services to allow the debug agent to register callback functions that are called either periodically or when specific processor exceptions occur. More... | |
Typedefs | |
typedef struct _EFI_DEBUG_SUPPORT_PROTOCOL | EFI_DEBUG_SUPPORT_PROTOCOL |
typedef INTN | EFI_EXCEPTION_TYPE |
Processor exception to be hooked. More... | |
typedef VOID(EFIAPI * | EFI_EXCEPTION_CALLBACK) (IN EFI_EXCEPTION_TYPE ExceptionType, IN OUT EFI_SYSTEM_CONTEXT SystemContext) |
Registers and enables an exception callback function for the specified exception. More... | |
typedef VOID(EFIAPI * | EFI_PERIODIC_CALLBACK) (IN OUT EFI_SYSTEM_CONTEXT SystemContext) |
Registers and enables the on-target debug agent's periodic entry point. More... | |
typedef EFI_STATUS(EFIAPI * | EFI_GET_MAXIMUM_PROCESSOR_INDEX) (IN EFI_DEBUG_SUPPORT_PROTOCOL *This, OUT UINTN *MaxProcessorIndex) |
Returns the maximum value that may be used for the ProcessorIndex parameter in RegisterPeriodicCallback() and RegisterExceptionCallback(). More... | |
typedef EFI_STATUS(EFIAPI * | EFI_REGISTER_PERIODIC_CALLBACK) (IN EFI_DEBUG_SUPPORT_PROTOCOL *This, IN UINTN ProcessorIndex, IN EFI_PERIODIC_CALLBACK PeriodicCallback) |
Registers a function to be called back periodically in interrupt context. More... | |
typedef EFI_STATUS(EFIAPI * | EFI_REGISTER_EXCEPTION_CALLBACK) (IN EFI_DEBUG_SUPPORT_PROTOCOL *This, IN UINTN ProcessorIndex, IN EFI_EXCEPTION_CALLBACK ExceptionCallback, IN EFI_EXCEPTION_TYPE ExceptionType) |
Registers a function to be called when a given processor exception occurs. More... | |
typedef EFI_STATUS(EFIAPI * | EFI_INVALIDATE_INSTRUCTION_CACHE) (IN EFI_DEBUG_SUPPORT_PROTOCOL *This, IN UINTN ProcessorIndex, IN VOID *Start, IN UINT64 Length) |
Invalidates processor instruction cache for a memory range. More... | |
Enumerations | |
enum | EFI_INSTRUCTION_SET_ARCHITECTURE { IsaIa32 = IMAGE_FILE_MACHINE_I386, IsaX64 = IMAGE_FILE_MACHINE_X64, IsaIpf = IMAGE_FILE_MACHINE_IA64, IsaEbc = IMAGE_FILE_MACHINE_EBC, IsaArm = IMAGE_FILE_MACHINE_ARMTHUMB_MIXED, IsaAArch64 = IMAGE_FILE_MACHINE_ARM64 } |
Machine type definition. More... | |
Functions | |
FILE_LICENCE (BSD2_PATENT) | |
Variables | |
EFI_GUID | gEfiDebugSupportProtocolGuid |
DebugSupport protocol and supporting definitions as defined in the UEFI2.4 specification.
The DebugSupport protocol is used by source level debuggers to abstract the processor and handle context save and restore operations.
Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.
Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file DebugSupport.h.
#define EFI_DEBUG_SUPPORT_PROTOCOL_GUID |
Debug Support protocol {2755590C-6F3C-42FA-9EA4-A3BA543CDA25}.
Definition at line 28 of file DebugSupport.h.
#define EXCEPT_IA32_DIVIDE_ERROR 0 |
IA-32 processor exception types.
Definition at line 42 of file DebugSupport.h.
#define EXCEPT_IA32_DEBUG 1 |
Definition at line 43 of file DebugSupport.h.
#define EXCEPT_IA32_NMI 2 |
Definition at line 44 of file DebugSupport.h.
#define EXCEPT_IA32_BREAKPOINT 3 |
Definition at line 45 of file DebugSupport.h.
#define EXCEPT_IA32_OVERFLOW 4 |
Definition at line 46 of file DebugSupport.h.
#define EXCEPT_IA32_BOUND 5 |
Definition at line 47 of file DebugSupport.h.
#define EXCEPT_IA32_INVALID_OPCODE 6 |
Definition at line 48 of file DebugSupport.h.
#define EXCEPT_IA32_DOUBLE_FAULT 8 |
Definition at line 49 of file DebugSupport.h.
#define EXCEPT_IA32_INVALID_TSS 10 |
Definition at line 50 of file DebugSupport.h.
#define EXCEPT_IA32_SEG_NOT_PRESENT 11 |
Definition at line 51 of file DebugSupport.h.
#define EXCEPT_IA32_STACK_FAULT 12 |
Definition at line 52 of file DebugSupport.h.
#define EXCEPT_IA32_GP_FAULT 13 |
Definition at line 53 of file DebugSupport.h.
#define EXCEPT_IA32_PAGE_FAULT 14 |
Definition at line 54 of file DebugSupport.h.
#define EXCEPT_IA32_FP_ERROR 16 |
Definition at line 55 of file DebugSupport.h.
#define EXCEPT_IA32_ALIGNMENT_CHECK 17 |
Definition at line 56 of file DebugSupport.h.
#define EXCEPT_IA32_MACHINE_CHECK 18 |
Definition at line 57 of file DebugSupport.h.
#define EXCEPT_IA32_SIMD 19 |
Definition at line 58 of file DebugSupport.h.
#define EXCEPT_X64_DIVIDE_ERROR 0 |
x64 processor exception types.
Definition at line 136 of file DebugSupport.h.
#define EXCEPT_X64_DEBUG 1 |
Definition at line 137 of file DebugSupport.h.
#define EXCEPT_X64_NMI 2 |
Definition at line 138 of file DebugSupport.h.
#define EXCEPT_X64_BREAKPOINT 3 |
Definition at line 139 of file DebugSupport.h.
#define EXCEPT_X64_OVERFLOW 4 |
Definition at line 140 of file DebugSupport.h.
#define EXCEPT_X64_BOUND 5 |
Definition at line 141 of file DebugSupport.h.
#define EXCEPT_X64_INVALID_OPCODE 6 |
Definition at line 142 of file DebugSupport.h.
#define EXCEPT_X64_DOUBLE_FAULT 8 |
Definition at line 143 of file DebugSupport.h.
#define EXCEPT_X64_INVALID_TSS 10 |
Definition at line 144 of file DebugSupport.h.
#define EXCEPT_X64_SEG_NOT_PRESENT 11 |
Definition at line 145 of file DebugSupport.h.
#define EXCEPT_X64_STACK_FAULT 12 |
Definition at line 146 of file DebugSupport.h.
#define EXCEPT_X64_GP_FAULT 13 |
Definition at line 147 of file DebugSupport.h.
#define EXCEPT_X64_PAGE_FAULT 14 |
Definition at line 148 of file DebugSupport.h.
#define EXCEPT_X64_FP_ERROR 16 |
Definition at line 149 of file DebugSupport.h.
#define EXCEPT_X64_ALIGNMENT_CHECK 17 |
Definition at line 150 of file DebugSupport.h.
#define EXCEPT_X64_MACHINE_CHECK 18 |
Definition at line 151 of file DebugSupport.h.
#define EXCEPT_X64_SIMD 19 |
Definition at line 152 of file DebugSupport.h.
#define EXCEPT_IPF_VHTP_TRANSLATION 0 |
Itanium Processor Family Exception types.
Definition at line 239 of file DebugSupport.h.
#define EXCEPT_IPF_INSTRUCTION_TLB 1 |
Definition at line 240 of file DebugSupport.h.
#define EXCEPT_IPF_DATA_TLB 2 |
Definition at line 241 of file DebugSupport.h.
#define EXCEPT_IPF_ALT_INSTRUCTION_TLB 3 |
Definition at line 242 of file DebugSupport.h.
#define EXCEPT_IPF_ALT_DATA_TLB 4 |
Definition at line 243 of file DebugSupport.h.
#define EXCEPT_IPF_DATA_NESTED_TLB 5 |
Definition at line 244 of file DebugSupport.h.
#define EXCEPT_IPF_INSTRUCTION_KEY_MISSED 6 |
Definition at line 245 of file DebugSupport.h.
#define EXCEPT_IPF_DATA_KEY_MISSED 7 |
Definition at line 246 of file DebugSupport.h.
#define EXCEPT_IPF_DIRTY_BIT 8 |
Definition at line 247 of file DebugSupport.h.
#define EXCEPT_IPF_INSTRUCTION_ACCESS_BIT 9 |
Definition at line 248 of file DebugSupport.h.
#define EXCEPT_IPF_DATA_ACCESS_BIT 10 |
Definition at line 249 of file DebugSupport.h.
#define EXCEPT_IPF_BREAKPOINT 11 |
Definition at line 250 of file DebugSupport.h.
#define EXCEPT_IPF_EXTERNAL_INTERRUPT 12 |
Definition at line 251 of file DebugSupport.h.
#define EXCEPT_IPF_PAGE_NOT_PRESENT 20 |
Definition at line 255 of file DebugSupport.h.
#define EXCEPT_IPF_KEY_PERMISSION 21 |
Definition at line 256 of file DebugSupport.h.
#define EXCEPT_IPF_INSTRUCTION_ACCESS_RIGHTS 22 |
Definition at line 257 of file DebugSupport.h.
#define EXCEPT_IPF_DATA_ACCESS_RIGHTS 23 |
Definition at line 258 of file DebugSupport.h.
#define EXCEPT_IPF_GENERAL_EXCEPTION 24 |
Definition at line 259 of file DebugSupport.h.
#define EXCEPT_IPF_DISABLED_FP_REGISTER 25 |
Definition at line 260 of file DebugSupport.h.
#define EXCEPT_IPF_NAT_CONSUMPTION 26 |
Definition at line 261 of file DebugSupport.h.
#define EXCEPT_IPF_SPECULATION 27 |
Definition at line 262 of file DebugSupport.h.
#define EXCEPT_IPF_DEBUG 29 |
Definition at line 266 of file DebugSupport.h.
#define EXCEPT_IPF_UNALIGNED_REFERENCE 30 |
Definition at line 267 of file DebugSupport.h.
#define EXCEPT_IPF_UNSUPPORTED_DATA_REFERENCE 31 |
Definition at line 268 of file DebugSupport.h.
#define EXCEPT_IPF_FP_FAULT 32 |
Definition at line 269 of file DebugSupport.h.
#define EXCEPT_IPF_FP_TRAP 33 |
Definition at line 270 of file DebugSupport.h.
#define EXCEPT_IPF_LOWER_PRIVILEGE_TRANSFER_TRAP 34 |
Definition at line 271 of file DebugSupport.h.
#define EXCEPT_IPF_TAKEN_BRANCH 35 |
Definition at line 272 of file DebugSupport.h.
#define EXCEPT_IPF_SINGLE_STEP 36 |
Definition at line 273 of file DebugSupport.h.
#define EXCEPT_IPF_IA32_EXCEPTION 45 |
Definition at line 277 of file DebugSupport.h.
#define EXCEPT_IPF_IA32_INTERCEPT 46 |
Definition at line 278 of file DebugSupport.h.
#define EXCEPT_IPF_IA32_INTERRUPT 47 |
Definition at line 279 of file DebugSupport.h.
#define EXCEPT_EBC_UNDEFINED 0 |
EBC processor exception types.
Definition at line 439 of file DebugSupport.h.
#define EXCEPT_EBC_DIVIDE_ERROR 1 |
Definition at line 440 of file DebugSupport.h.
#define EXCEPT_EBC_DEBUG 2 |
Definition at line 441 of file DebugSupport.h.
#define EXCEPT_EBC_BREAKPOINT 3 |
Definition at line 442 of file DebugSupport.h.
#define EXCEPT_EBC_OVERFLOW 4 |
Definition at line 443 of file DebugSupport.h.
#define EXCEPT_EBC_INVALID_OPCODE 5 |
Opcode out of range.
Definition at line 444 of file DebugSupport.h.
#define EXCEPT_EBC_STACK_FAULT 6 |
Definition at line 445 of file DebugSupport.h.
#define EXCEPT_EBC_ALIGNMENT_CHECK 7 |
Definition at line 446 of file DebugSupport.h.
#define EXCEPT_EBC_INSTRUCTION_ENCODING 8 |
Malformed instruction.
Definition at line 447 of file DebugSupport.h.
#define EXCEPT_EBC_BAD_BREAK 9 |
BREAK 0 or undefined BREAK.
Definition at line 448 of file DebugSupport.h.
#define EXCEPT_EBC_STEP 10 |
To support debug stepping.
Definition at line 449 of file DebugSupport.h.
#define MAX_EBC_EXCEPTION EXCEPT_EBC_STEP |
For coding convenience, define the maximum valid EBC exception.
Definition at line 453 of file DebugSupport.h.
#define EXCEPT_ARM_RESET 0 |
ARM processor exception types.
Definition at line 475 of file DebugSupport.h.
#define EXCEPT_ARM_UNDEFINED_INSTRUCTION 1 |
Definition at line 476 of file DebugSupport.h.
#define EXCEPT_ARM_SOFTWARE_INTERRUPT 2 |
Definition at line 477 of file DebugSupport.h.
#define EXCEPT_ARM_PREFETCH_ABORT 3 |
Definition at line 478 of file DebugSupport.h.
#define EXCEPT_ARM_DATA_ABORT 4 |
Definition at line 479 of file DebugSupport.h.
#define EXCEPT_ARM_RESERVED 5 |
Definition at line 480 of file DebugSupport.h.
#define EXCEPT_ARM_IRQ 6 |
Definition at line 481 of file DebugSupport.h.
#define EXCEPT_ARM_FIQ 7 |
Definition at line 482 of file DebugSupport.h.
#define MAX_ARM_EXCEPTION EXCEPT_ARM_FIQ |
For coding convenience, define the maximum valid ARM exception.
Definition at line 487 of file DebugSupport.h.
#define EXCEPT_AARCH64_SYNCHRONOUS_EXCEPTIONS 0 |
AARCH64 processor exception types.
Definition at line 519 of file DebugSupport.h.
#define EXCEPT_AARCH64_IRQ 1 |
Definition at line 520 of file DebugSupport.h.
#define EXCEPT_AARCH64_FIQ 2 |
Definition at line 521 of file DebugSupport.h.
#define EXCEPT_AARCH64_SERROR 3 |
Definition at line 522 of file DebugSupport.h.
#define MAX_AARCH64_EXCEPTION EXCEPT_AARCH64_SERROR |
For coding convenience, define the maximum valid ARM exception.
Definition at line 527 of file DebugSupport.h.
#define EXCEPT_RISCV_INST_MISALIGNED 0 |
RISC-V processor exception types.
Definition at line 608 of file DebugSupport.h.
#define EXCEPT_RISCV_INST_ACCESS_FAULT 1 |
Definition at line 609 of file DebugSupport.h.
#define EXCEPT_RISCV_ILLEGAL_INST 2 |
Definition at line 610 of file DebugSupport.h.
#define EXCEPT_RISCV_BREAKPOINT 3 |
Definition at line 611 of file DebugSupport.h.
#define EXCEPT_RISCV_LOAD_ADDRESS_MISALIGNED 4 |
Definition at line 612 of file DebugSupport.h.
#define EXCEPT_RISCV_LOAD_ACCESS_FAULT 5 |
Definition at line 613 of file DebugSupport.h.
#define EXCEPT_RISCV_STORE_AMO_ADDRESS_MISALIGNED 6 |
Definition at line 614 of file DebugSupport.h.
#define EXCEPT_RISCV_STORE_AMO_ACCESS_FAULT 7 |
Definition at line 615 of file DebugSupport.h.
#define EXCEPT_RISCV_ENV_CALL_FROM_UMODE 8 |
Definition at line 616 of file DebugSupport.h.
#define EXCEPT_RISCV_ENV_CALL_FROM_SMODE 9 |
Definition at line 617 of file DebugSupport.h.
#define EXCEPT_RISCV_ENV_CALL_FROM_VS_MODE 10 |
Definition at line 618 of file DebugSupport.h.
#define EXCEPT_RISCV_ENV_CALL_FROM_MMODE 11 |
Definition at line 619 of file DebugSupport.h.
#define EXCEPT_RISCV_INST_ACCESS_PAGE_FAULT 12 |
Definition at line 620 of file DebugSupport.h.
#define EXCEPT_RISCV_LOAD_ACCESS_PAGE_FAULT 13 |
Definition at line 621 of file DebugSupport.h.
#define EXCEPT_RISCV_14 14 |
Definition at line 622 of file DebugSupport.h.
#define EXCEPT_RISCV_STORE_ACCESS_PAGE_FAULT 15 |
Definition at line 623 of file DebugSupport.h.
#define EXCEPT_RISCV_16 16 |
Definition at line 624 of file DebugSupport.h.
#define EXCEPT_RISCV_17 17 |
Definition at line 625 of file DebugSupport.h.
#define EXCEPT_RISCV_18 18 |
Definition at line 626 of file DebugSupport.h.
#define EXCEPT_RISCV_19 19 |
Definition at line 627 of file DebugSupport.h.
#define EXCEPT_RISCV_INST_GUEST_PAGE_FAULT 20 |
Definition at line 628 of file DebugSupport.h.
#define EXCEPT_RISCV_LOAD_GUEST_PAGE_FAULT 21 |
Definition at line 629 of file DebugSupport.h.
#define EXCEPT_RISCV_VIRTUAL_INSTRUCTION 22 |
Definition at line 630 of file DebugSupport.h.
#define EXCEPT_RISCV_STORE_GUEST_PAGE_FAULT 23 |
Definition at line 631 of file DebugSupport.h.
#define EXCEPT_RISCV_MAX_EXCEPTIONS (EXCEPT_RISCV_STORE_GUEST_PAGE_FAULT) |
Definition at line 632 of file DebugSupport.h.
#define EXCEPT_RISCV_IS_IRQ | ( | x | ) | ((x & 0x8000000000000000UL) != 0) |
RISC-V processor exception types for interrupts.
Definition at line 637 of file DebugSupport.h.
#define EXCEPT_RISCV_IRQ_INDEX | ( | x | ) | (x & 0x7FFFFFFFFFFFFFFFUL) |
Definition at line 638 of file DebugSupport.h.
#define EXCEPT_RISCV_IRQ_0 0x8000000000000000UL |
Definition at line 639 of file DebugSupport.h.
#define EXCEPT_RISCV_IRQ_SOFT_FROM_SMODE 0x8000000000000001UL |
Definition at line 640 of file DebugSupport.h.
#define EXCEPT_RISCV_IRQ_SOFT_FROM_VSMODE 0x8000000000000002UL |
Definition at line 641 of file DebugSupport.h.
#define EXCEPT_RISCV_IRQ_SOFT_FROM_MMODE 0x8000000000000003UL |
Definition at line 642 of file DebugSupport.h.
#define EXCEPT_RISCV_IRQ_4 0x8000000000000004UL |
Definition at line 643 of file DebugSupport.h.
#define EXCEPT_RISCV_IRQ_TIMER_FROM_SMODE 0x8000000000000005UL |
Definition at line 644 of file DebugSupport.h.
#define EXCEPT_RISCV_MAX_IRQS (EXCEPT_RISCV_IRQ_INDEX(EXCEPT_RISCV_IRQ_TIMER_FROM_SMODE)) |
Definition at line 645 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT 0 |
LoongArch processor exception types.
The exception types is located in the CSR ESTAT register offset 16 bits, width 6 bits.
If you want to register an exception hook, you can shfit the number left by 16 bits, and the exception handler will know the types.
For example: mCpu->CpuRegisterInterruptHandler ( mCpu, (EXCEPT_LOONGARCH_PPI << CSR_ESTAT_EXC_SHIFT), PpiExceptionHandler );
Definition at line 702 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_PIL 1 |
Definition at line 703 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_PIS 2 |
Definition at line 704 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_PIF 3 |
Definition at line 705 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_PME 4 |
Definition at line 706 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_PNR 5 |
Definition at line 707 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_PNX 6 |
Definition at line 708 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_PPI 7 |
Definition at line 709 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_ADE 8 |
Definition at line 710 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_ALE 9 |
Definition at line 711 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_BCE 10 |
Definition at line 712 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_SYS 11 |
Definition at line 713 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_BRK 12 |
Definition at line 714 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INE 13 |
Definition at line 715 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_IPE 14 |
Definition at line 716 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_FPD 15 |
Definition at line 717 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_SXD 16 |
Definition at line 718 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_ASXD 17 |
Definition at line 719 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_FPE 18 |
Definition at line 720 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_WPE 19 |
Definition at line 721 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_BTD 20 |
Definition at line 722 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_BTE 21 |
Definition at line 723 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_GSPR 22 |
Definition at line 724 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_HVC 23 |
Definition at line 725 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_GCXC 24 |
Definition at line 726 of file DebugSupport.h.
#define MAX_LOONGARCH_EXCEPTION 64 |
For coding convenience, define the maximum valid LoongArch exception.
Definition at line 732 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_SIP0 0 |
LoongArch processor Interrupt types.
Definition at line 737 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_SIP1 1 |
Definition at line 738 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IP0 2 |
Definition at line 739 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IP1 3 |
Definition at line 740 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IP2 4 |
Definition at line 741 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IP3 5 |
Definition at line 742 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IP4 6 |
Definition at line 743 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IP5 7 |
Definition at line 744 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IP6 8 |
Definition at line 745 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IP7 9 |
Definition at line 746 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_PMC 10 |
Definition at line 747 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_TIMER 11 |
Definition at line 748 of file DebugSupport.h.
#define EXCEPT_LOONGARCH_INT_IPI 12 |
Definition at line 749 of file DebugSupport.h.
#define MAX_LOONGARCH_INTERRUPT 16 |
For coding convenience, define the maximum valid LoongArch interrupt.
Definition at line 755 of file DebugSupport.h.
typedef struct _EFI_DEBUG_SUPPORT_PROTOCOL EFI_DEBUG_SUPPORT_PROTOCOL |
Definition at line 23 of file DebugSupport.h.
typedef INTN EFI_EXCEPTION_TYPE |
Processor exception to be hooked.
All exception types for IA32, X64, Itanium and EBC processors are defined.
Definition at line 37 of file DebugSupport.h.
typedef VOID(EFIAPI * EFI_EXCEPTION_CALLBACK) (IN EFI_EXCEPTION_TYPE ExceptionType, IN OUT EFI_SYSTEM_CONTEXT SystemContext) |
Registers and enables an exception callback function for the specified exception.
ExceptionType | Exception types in EBC, IA-32, x64, or IPF. |
SystemContext | Exception content. |
Definition at line 829 of file DebugSupport.h.
typedef VOID(EFIAPI * EFI_PERIODIC_CALLBACK) (IN OUT EFI_SYSTEM_CONTEXT SystemContext) |
Registers and enables the on-target debug agent's periodic entry point.
SystemContext | Exception content. |
Definition at line 842 of file DebugSupport.h.
typedef EFI_STATUS(EFIAPI * EFI_GET_MAXIMUM_PROCESSOR_INDEX) (IN EFI_DEBUG_SUPPORT_PROTOCOL *This, OUT UINTN *MaxProcessorIndex) |
Returns the maximum value that may be used for the ProcessorIndex parameter in RegisterPeriodicCallback() and RegisterExceptionCallback().
This | A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. |
MaxProcessorIndex | Pointer to a caller-allocated UINTN in which the maximum supported processor index is returned. |
EFI_SUCCESS | The function completed successfully. |
Definition at line 875 of file DebugSupport.h.
typedef EFI_STATUS(EFIAPI * EFI_REGISTER_PERIODIC_CALLBACK) (IN EFI_DEBUG_SUPPORT_PROTOCOL *This, IN UINTN ProcessorIndex, IN EFI_PERIODIC_CALLBACK PeriodicCallback) |
Registers a function to be called back periodically in interrupt context.
This | A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. |
ProcessorIndex | Specifies which processor the callback function applies to. |
PeriodicCallback | A pointer to a function of type PERIODIC_CALLBACK that is the main periodic entry point of the debug agent. |
EFI_SUCCESS | The function completed successfully. |
EFI_ALREADY_STARTED | Non-NULL PeriodicCallback parameter when a callback function was previously registered. |
EFI_OUT_OF_RESOURCES | System has insufficient memory resources to register new callback function. |
Definition at line 897 of file DebugSupport.h.
typedef EFI_STATUS(EFIAPI * EFI_REGISTER_EXCEPTION_CALLBACK) (IN EFI_DEBUG_SUPPORT_PROTOCOL *This, IN UINTN ProcessorIndex, IN EFI_EXCEPTION_CALLBACK ExceptionCallback, IN EFI_EXCEPTION_TYPE ExceptionType) |
Registers a function to be called when a given processor exception occurs.
This | A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. |
ProcessorIndex | Specifies which processor the callback function applies to. |
ExceptionCallback | A pointer to a function of type EXCEPTION_CALLBACK that is called when the processor exception specified by ExceptionType occurs. |
ExceptionType | Specifies which processor exception to hook. |
EFI_SUCCESS | The function completed successfully. |
EFI_ALREADY_STARTED | Non-NULL PeriodicCallback parameter when a callback function was previously registered. |
EFI_OUT_OF_RESOURCES | System has insufficient memory resources to register new callback function. |
Definition at line 921 of file DebugSupport.h.
typedef EFI_STATUS(EFIAPI * EFI_INVALIDATE_INSTRUCTION_CACHE) (IN EFI_DEBUG_SUPPORT_PROTOCOL *This, IN UINTN ProcessorIndex, IN VOID *Start, IN UINT64 Length) |
Invalidates processor instruction cache for a memory range.
Subsequent execution in this range causes a fresh memory fetch to retrieve code to be executed.
This | A pointer to the EFI_DEBUG_SUPPORT_PROTOCOL instance. |
ProcessorIndex | Specifies which processor's instruction cache is to be invalidated. |
Start | Specifies the physical base of the memory range to be invalidated. |
Length | Specifies the minimum number of bytes in the processor's instruction cache to invalidate. |
EFI_SUCCESS | The function completed successfully. |
Definition at line 943 of file DebugSupport.h.
Machine type definition.
Enumerator | |
---|---|
IsaIa32 | 0x014C |
IsaX64 | 0x8664 |
IsaIpf | 0x0200 |
IsaEbc | 0x0EBC |
IsaArm | 0x01c2 |
IsaAArch64 | 0xAA64 |
Definition at line 849 of file DebugSupport.h.
FILE_LICENCE | ( | BSD2_PATENT | ) |
EFI_GUID gEfiDebugSupportProtocolGuid |