Renamed types

This commit is contained in:
Jozef Nagy 2024-05-27 21:45:04 +02:00
parent 5c7e1d3246
commit d7b6e4cb4a
No known key found for this signature in database
GPG key ID: 5B49DC29F09685D6
20 changed files with 1330 additions and 1320 deletions

View file

@ -176,7 +176,7 @@
typedef struct _EFI_DEBUG_SUPPORT_PROTOCOL EFI_DEBUG_SUPPORT_PROTOCOL;
typedef INTN EFI_EXCEPTION_TYPE;
typedef EFI_INTN EFI_EXCEPTION_TYPE;
typedef enum {
IsaIa32 = 0x014C, // IMAGE_FILE_MACHINE_I386
@ -193,306 +193,306 @@ typedef enum {
} EFI_INSTRUCTION_SET_ARCHITECTURE;
typedef struct {
UINT64 R0, R1, R2, R3, R4, R5, R6, R7;
UINT64 Flags;
UINT64 ControlFlags;
UINT64 Ip;
EFI_UINT64 R0, R1, R2, R3, R4, R5, R6, R7;
EFI_UINT64 Flags;
EFI_UINT64 ControlFlags;
EFI_UINT64 Ip;
} EFI_SYSTEM_CONTEXT_EBC;
typedef struct {
UINT16 Fcw;
UINT16 Fsw;
UINT16 Ftw;
UINT16 Opcode;
UINT32 Eip;
UINT16 Cs;
UINT16 Reserved1;
UINT32 DataOffset;
UINT16 Ds;UINT8 Reserved2[10];
UINT8 St0Mm0[10], Reserved3[6];
UINT8 St1Mm1[10], Reserved4[6];
UINT8 St2Mm2[10], Reserved5[6];
UINT8 St3Mm3[10], Reserved6[6];
UINT8 St4Mm4[10], Reserved7[6];
UINT8 St5Mm5[10], Reserved8[6];
UINT8 St6Mm6[10], Reserved9[6];
UINT8 St7Mm7[10], Reserved10[6];
UINT8 Xmm0[16];
UINT8 Xmm1[16];
UINT8 Xmm2[16];
UINT8 Xmm3[16];
UINT8 Xmm4[16];
UINT8 Xmm5[16];
UINT8 Xmm6[16];
UINT8 Xmm7[16];
UINT8 Reserved11[14 * 16];
EFI_UINT16 Fcw;
EFI_UINT16 Fsw;
EFI_UINT16 Ftw;
EFI_UINT16 Opcode;
EFI_UINT32 Eip;
EFI_UINT16 Cs;
EFI_UINT16 Reserved1;
EFI_UINT32 DataOffset;
EFI_UINT16 Ds;EFI_UINT8 Reserved2[10];
EFI_UINT8 St0Mm0[10], Reserved3[6];
EFI_UINT8 St1Mm1[10], Reserved4[6];
EFI_UINT8 St2Mm2[10], Reserved5[6];
EFI_UINT8 St3Mm3[10], Reserved6[6];
EFI_UINT8 St4Mm4[10], Reserved7[6];
EFI_UINT8 St5Mm5[10], Reserved8[6];
EFI_UINT8 St6Mm6[10], Reserved9[6];
EFI_UINT8 St7Mm7[10], Reserved10[6];
EFI_UINT8 Xmm0[16];
EFI_UINT8 Xmm1[16];
EFI_UINT8 Xmm2[16];
EFI_UINT8 Xmm3[16];
EFI_UINT8 Xmm4[16];
EFI_UINT8 Xmm5[16];
EFI_UINT8 Xmm6[16];
EFI_UINT8 Xmm7[16];
EFI_UINT8 Reserved11[14 * 16];
} EFI_FX_SAVE_STATE_IA32;
typedef struct {
UINT32 ExceptionData;
EFI_UINT32 ExceptionData;
EFI_FX_SAVE_STATE_IA32 FxSaveState;
UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
UINT32 Cr0, Cr1 /* Reserved */, Cr2, Cr3, Cr4;
UINT32 Eflags;
UINT32 Ldtr, Tr;
UINT32 Gdtr[2], Idtr[2];
UINT32 Eip;
UINT32 Gs, Fs, Es, Ds, Cs, Ss;
UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
EFI_UINT32 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
EFI_UINT32 Cr0, Cr1 /* Reserved */, Cr2, Cr3, Cr4;
EFI_UINT32 Eflags;
EFI_UINT32 Ldtr, Tr;
EFI_UINT32 Gdtr[2], Idtr[2];
EFI_UINT32 Eip;
EFI_UINT32 Gs, Fs, Es, Ds, Cs, Ss;
EFI_UINT32 Edi, Esi, Ebp, Esp, Ebx, Edx, Ecx, Eax;
} EFI_SYSTEM_CONTEXT_IA32;
typedef struct {
UINT16 Fcw;
UINT16 Fsw;
UINT16 Ftw;
UINT16 Opcode;
UINT64 Rip;
UINT64 DataOffset;
UINT8 Reserved1[8];
UINT8 St0Mm0[10], Reserved2[6];
UINT8 St1Mm1[10], Reserved3[6];
UINT8 St2Mm2[10], Reserved4[6];
UINT8 St3Mm3[10], Reserved5[6];
UINT8 St4Mm4[10], Reserved6[6];
UINT8 St5Mm5[10], Reserved7[6];
UINT8 St6Mm6[10], Reserved8[6];
UINT8 St7Mm7[10], Reserved9[6];
UINT8 Xmm0[16];
UINT8 Xmm1[16];
UINT8 Xmm2[16];
UINT8 Xmm3[16];
UINT8 Xmm4[16];
UINT8 Xmm5[16];
UINT8 Xmm6[16];
UINT8 Xmm7[16];
UINT8 Reserved11[14 * 16];
EFI_UINT16 Fcw;
EFI_UINT16 Fsw;
EFI_UINT16 Ftw;
EFI_UINT16 Opcode;
EFI_UINT64 Rip;
EFI_UINT64 DataOffset;
EFI_UINT8 Reserved1[8];
EFI_UINT8 St0Mm0[10], Reserved2[6];
EFI_UINT8 St1Mm1[10], Reserved3[6];
EFI_UINT8 St2Mm2[10], Reserved4[6];
EFI_UINT8 St3Mm3[10], Reserved5[6];
EFI_UINT8 St4Mm4[10], Reserved6[6];
EFI_UINT8 St5Mm5[10], Reserved7[6];
EFI_UINT8 St6Mm6[10], Reserved8[6];
EFI_UINT8 St7Mm7[10], Reserved9[6];
EFI_UINT8 Xmm0[16];
EFI_UINT8 Xmm1[16];
EFI_UINT8 Xmm2[16];
EFI_UINT8 Xmm3[16];
EFI_UINT8 Xmm4[16];
EFI_UINT8 Xmm5[16];
EFI_UINT8 Xmm6[16];
EFI_UINT8 Xmm7[16];
EFI_UINT8 Reserved11[14 * 16];
} EFI_FX_SAVE_STATE_X64;
typedef struct {
UINT64 ExceptionData;
EFI_UINT64 ExceptionData;
EFI_FX_SAVE_STATE_X64 FxSaveState;
UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
UINT64 Cr0, Cr1 /* Reserved */, Cr2, Cr3, Cr4, Cr8;
UINT64 Rflags;
UINT64 Ldtr, Tr;
UINT64 Gdtr[2], Idtr[2];
UINT64 Rip;
UINT64 Gs, Fs, Es, Ds, Cs, Ss;
UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
EFI_UINT64 Dr0, Dr1, Dr2, Dr3, Dr6, Dr7;
EFI_UINT64 Cr0, Cr1 /* Reserved */, Cr2, Cr3, Cr4, Cr8;
EFI_UINT64 Rflags;
EFI_UINT64 Ldtr, Tr;
EFI_UINT64 Gdtr[2], Idtr[2];
EFI_UINT64 Rip;
EFI_UINT64 Gs, Fs, Es, Ds, Cs, Ss;
EFI_UINT64 Rdi, Rsi, Rbp, Rsp, Rbx, Rdx, Rcx, Rax;
EFI_UINT64 R8, R9, R10, R11, R12, R13, R14, R15;
} EFI_SYSTEM_CONTEXT_X64;
typedef struct {
UINT64 Reserved;
UINT64 R1, R2, R3, R4, R5, R6, R7, R8, R9, R10,
EFI_UINT64 Reserved;
EFI_UINT64 R1, R2, R3, R4, R5, R6, R7, R8, R9, R10,
R11, R12, R13, R14, R15, R16, R17, R18, R19, R20,
R21, R22, R23, R24, R25, R26, R27, R28, R29, R30,
R31;
UINT64 F2[2], F3[2], F4[2], F5[2], F6[2],
EFI_UINT64 F2[2], F3[2], F4[2], F5[2], F6[2],
F7[2], F8[2], F9[2], F10[2], F11[2],
F12[2], F13[2], F14[2], F15[2], F16[2],
F17[2], F18[2], F19[2], F20[2], F21[2],
F22[2], F23[2], F24[2], F25[2], F26[2],
F27[2], F28[2], F29[2], F30[2], F31[2];
UINT64 Pr;
UINT64 B0, B1, B2, B3, B4, B5, B6, B7;
EFI_UINT64 Pr;
EFI_UINT64 B0, B1, B2, B3, B4, B5, B6, B7;
// application registers
UINT64 ArRsc, ArBsp, ArBspstore, ArRnat;
UINT64 ArFcr;
UINT64 ArEflag, ArCsd, ArSsd, ArCflg;
UINT64 ArFsr, ArFir, ArFdr;
UINT64 ArCcv;
UINT64 ArUnat;
UINT64 ArFpsr;
UINT64 ArPfs, ArLc, ArEc;
EFI_UINT64 ArRsc, ArBsp, ArBspstore, ArRnat;
EFI_UINT64 ArFcr;
EFI_UINT64 ArEflag, ArCsd, ArSsd, ArCflg;
EFI_UINT64 ArFsr, ArFir, ArFdr;
EFI_UINT64 ArCcv;
EFI_UINT64 ArUnat;
EFI_UINT64 ArFpsr;
EFI_UINT64 ArPfs, ArLc, ArEc;
// control registers
UINT64 CrDcr, CrItm, CrIva, CrPta, CrIpsr, CrIsr;
UINT64 CrIip, CrIfa, CrItir, CrIipa, CrIfs, CrIim;
UINT64 CrIha;
EFI_UINT64 CrDcr, CrItm, CrIva, CrPta, CrIpsr, CrIsr;
EFI_UINT64 CrIip, CrIfa, CrItir, CrIipa, CrIfs, CrIim;
EFI_UINT64 CrIha;
// debug registers
UINT64 Dbr0, Dbr1, Dbr2, Dbr3, Dbr4, Dbr5, Dbr6, Dbr7;
UINT64 Ibr0, Ibr1, Ibr2, Ibr3, Ibr4, Ibr5, Ibr6, Ibr7;
EFI_UINT64 Dbr0, Dbr1, Dbr2, Dbr3, Dbr4, Dbr5, Dbr6, Dbr7;
EFI_UINT64 Ibr0, Ibr1, Ibr2, Ibr3, Ibr4, Ibr5, Ibr6, Ibr7;
// virtual registers
UINT64 IntNat;
EFI_UINT64 IntNat;
} EFI_SYSTEM_CONTEXT_IPF;
typedef struct {
UINT32 R0;
UINT32 R1;
UINT32 R2;
UINT32 R3;
UINT32 R4;
UINT32 R5;
UINT32 R6;
UINT32 R7;
UINT32 R8;
UINT32 R9;
UINT32 R10;
UINT32 R11;
UINT32 R12;
UINT32 SP;
UINT32 LR;
UINT32 PC;
UINT32 CPSR;
UINT32 DFSR;
UINT32 DFAR;
UINT32 IFSR;
EFI_UINT32 R0;
EFI_UINT32 R1;
EFI_UINT32 R2;
EFI_UINT32 R3;
EFI_UINT32 R4;
EFI_UINT32 R5;
EFI_UINT32 R6;
EFI_UINT32 R7;
EFI_UINT32 R8;
EFI_UINT32 R9;
EFI_UINT32 R10;
EFI_UINT32 R11;
EFI_UINT32 R12;
EFI_UINT32 SP;
EFI_UINT32 LR;
EFI_UINT32 PC;
EFI_UINT32 CPSR;
EFI_UINT32 DFSR;
EFI_UINT32 DFAR;
EFI_UINT32 IFSR;
} EFI_SYSTEM_CONTEXT_ARM;
typedef struct {
// General Purpose Registers
UINT64 X0;
UINT64 X1;
UINT64 X2;
UINT64 X3;
UINT64 X4;
UINT64 X5;
UINT64 X6;
UINT64 X7;
UINT64 X8;
UINT64 X9;
UINT64 X10;
UINT64 X11;
UINT64 X12;
UINT64 X13;
UINT64 X14;
UINT64 X15;
UINT64 X16;
UINT64 X17;
UINT64 X18;
UINT64 X19;
UINT64 X20;
UINT64 X21;
UINT64 X22;
UINT64 X23;
UINT64 X24;
UINT64 X25;
UINT64 X26;
UINT64 X27;
UINT64 X28;
UINT64 FP; // x29 - Frame Pointer
UINT64 LR; // x30 - Link Register
UINT64 SP; // x31 - Stack Pointer
EFI_UINT64 X0;
EFI_UINT64 X1;
EFI_UINT64 X2;
EFI_UINT64 X3;
EFI_UINT64 X4;
EFI_UINT64 X5;
EFI_UINT64 X6;
EFI_UINT64 X7;
EFI_UINT64 X8;
EFI_UINT64 X9;
EFI_UINT64 X10;
EFI_UINT64 X11;
EFI_UINT64 X12;
EFI_UINT64 X13;
EFI_UINT64 X14;
EFI_UINT64 X15;
EFI_UINT64 X16;
EFI_UINT64 X17;
EFI_UINT64 X18;
EFI_UINT64 X19;
EFI_UINT64 X20;
EFI_UINT64 X21;
EFI_UINT64 X22;
EFI_UINT64 X23;
EFI_UINT64 X24;
EFI_UINT64 X25;
EFI_UINT64 X26;
EFI_UINT64 X27;
EFI_UINT64 X28;
EFI_UINT64 FP; // x29 - Frame Pointer
EFI_UINT64 LR; // x30 - Link Register
EFI_UINT64 SP; // x31 - Stack Pointer
// FP/SIMD Registers
UINT64 V0[2];
UINT64 V1[2];
UINT64 V2[2];
UINT64 V3[2];
UINT64 V4[2];
UINT64 V5[2];
UINT64 V6[2];
UINT64 V7[2];
UINT64 V8[2];
UINT64 V9[2];
UINT64 V10[2];
UINT64 V11[2];
UINT64 V12[2];
UINT64 V13[2];
UINT64 V14[2];
UINT64 V15[2];
UINT64 V16[2];
UINT64 V17[2];
UINT64 V18[2];
UINT64 V19[2];
UINT64 V20[2];
UINT64 V21[2];
UINT64 V22[2];
UINT64 V23[2];
UINT64 V24[2];
UINT64 V25[2];
UINT64 V26[2];
UINT64 V27[2];
UINT64 V28[2];
UINT64 V29[2];
UINT64 V30[2];
UINT64 V31[2];
UINT64 ELR; // Exception Link Register
UINT64 SPSR; // Saved Processor Status Register
UINT64 FPSR; // Floating Point Status Register
UINT64 ESR; // Exception syndrome register
UINT64 FAR; // Fault Address Register
EFI_UINT64 V0[2];
EFI_UINT64 V1[2];
EFI_UINT64 V2[2];
EFI_UINT64 V3[2];
EFI_UINT64 V4[2];
EFI_UINT64 V5[2];
EFI_UINT64 V6[2];
EFI_UINT64 V7[2];
EFI_UINT64 V8[2];
EFI_UINT64 V9[2];
EFI_UINT64 V10[2];
EFI_UINT64 V11[2];
EFI_UINT64 V12[2];
EFI_UINT64 V13[2];
EFI_UINT64 V14[2];
EFI_UINT64 V15[2];
EFI_UINT64 V16[2];
EFI_UINT64 V17[2];
EFI_UINT64 V18[2];
EFI_UINT64 V19[2];
EFI_UINT64 V20[2];
EFI_UINT64 V21[2];
EFI_UINT64 V22[2];
EFI_UINT64 V23[2];
EFI_UINT64 V24[2];
EFI_UINT64 V25[2];
EFI_UINT64 V26[2];
EFI_UINT64 V27[2];
EFI_UINT64 V28[2];
EFI_UINT64 V29[2];
EFI_UINT64 V30[2];
EFI_UINT64 V31[2];
EFI_UINT64 ELR; // Exception Link Register
EFI_UINT64 SPSR; // Saved Processor Status Register
EFI_UINT64 FPSR; // Floating Point Status Register
EFI_UINT64 ESR; // Exception syndrome register
EFI_UINT64 FAR; // Fault Address Register
} EFI_SYSTEM_CONTEXT_AARCH64;
typedef struct {
// Integer registers
UINT32 Zero, Ra, Sp, Gp, Tp, T0, T1, T2;
UINT32 S0FP, S1, A0, A1, A2, A3, A4, A5, A6, A7;
UINT32 S2, S3, S4, S5, S6, S7, S8, S9, S10, S11;
UINT32 T3, T4, T5, T6;
EFI_UINT32 Zero, Ra, Sp, Gp, Tp, T0, T1, T2;
EFI_UINT32 S0FP, S1, A0, A1, A2, A3, A4, A5, A6, A7;
EFI_UINT32 S2, S3, S4, S5, S6, S7, S8, S9, S10, S11;
EFI_UINT32 T3, T4, T5, T6;
// Floating registers for F, D and Q Standard Extensions
UINT128 Ft0, Ft1, Ft2, Ft3, Ft4, Ft5, Ft6, Ft7;
UINT128 Fs0, Fs1, Fa0, Fa1, Fa2, Fa3, Fa4, Fa5, Fa6, Fa7;
UINT128 Fs2, Fs3, Fs4, Fs5, Fs6, Fs7, Fs8, Fs9, Fs10, Fs11;
UINT128 Ft8, Ft9, Ft10, Ft11;
EFI_UINT128 Ft0, Ft1, Ft2, Ft3, Ft4, Ft5, Ft6, Ft7;
EFI_UINT128 Fs0, Fs1, Fa0, Fa1, Fa2, Fa3, Fa4, Fa5, Fa6, Fa7;
EFI_UINT128 Fs2, Fs3, Fs4, Fs5, Fs6, Fs7, Fs8, Fs9, Fs10, Fs11;
EFI_UINT128 Ft8, Ft9, Ft10, Ft11;
} EFI_SYSTEM_CONTEXT_RISCV32;
typedef struct {
// Integer registers
UINT64 Zero, Ra, Sp, Gp, Tp, T0, T1, T2;
UINT64 S0FP, S1, A0, A1, A2, A3, A4, A5, A6, A7;
UINT64 S2, S3, S4, S5, S6, S7, S8, S9, S10, S11;
UINT64 T3, T4, T5, T6;
UINT128 Ft0, Ft1, Ft2, Ft3, Ft4, Ft5, Ft6, Ft7;
UINT128 Fs0, Fs1, Fa0, Fa1, Fa2, Fa3, Fa4, Fa5, Fa6, Fa7;
UINT128 Fs2, Fs3, Fs4, Fs5, Fs6, Fs7, Fs8, Fs9, Fs10, Fs11;
UINT128 Ft8, Ft9, Ft10, Ft11;
EFI_UINT64 Zero, Ra, Sp, Gp, Tp, T0, T1, T2;
EFI_UINT64 S0FP, S1, A0, A1, A2, A3, A4, A5, A6, A7;
EFI_UINT64 S2, S3, S4, S5, S6, S7, S8, S9, S10, S11;
EFI_UINT64 T3, T4, T5, T6;
EFI_UINT128 Ft0, Ft1, Ft2, Ft3, Ft4, Ft5, Ft6, Ft7;
EFI_UINT128 Fs0, Fs1, Fa0, Fa1, Fa2, Fa3, Fa4, Fa5, Fa6, Fa7;
EFI_UINT128 Fs2, Fs3, Fs4, Fs5, Fs6, Fs7, Fs8, Fs9, Fs10, Fs11;
EFI_UINT128 Ft8, Ft9, Ft10, Ft11;
} EFI_SYSTEM_CONTEXT_RISCV64;
typedef struct {
// Integer registers
UINT128 Zero, Ra, Sp, Gp, Tp, T0, T1, T2;
UINT128 S0FP, S1, A0, A1, A2, A3, A4, A5, A6, A7;
UINT128 S2, S3, S4, S5, S6, S7, S8, S9, S10, S11;
UINT128 T3, T4, T5, T6;
EFI_UINT128 Zero, Ra, Sp, Gp, Tp, T0, T1, T2;
EFI_UINT128 S0FP, S1, A0, A1, A2, A3, A4, A5, A6, A7;
EFI_UINT128 S2, S3, S4, S5, S6, S7, S8, S9, S10, S11;
EFI_UINT128 T3, T4, T5, T6;
// Floating registers for F, D and Q Standard Extensions
UINT128 Ft0, Ft1, Ft2, Ft3, Ft4, Ft5, Ft6, Ft7;
UINT128 Fs0, Fs1, Fa0, Fa1, Fa2, Fa3, Fa4, Fa5, Fa6, Fa7;
UINT128 Fs2, Fs3, Fs4, Fs5, Fs6, Fs7, Fs8, Fs9, Fs10, Fs11;
UINT128 Ft8, Ft9, Ft10, Ft11;
EFI_UINT128 Ft0, Ft1, Ft2, Ft3, Ft4, Ft5, Ft6, Ft7;
EFI_UINT128 Fs0, Fs1, Fa0, Fa1, Fa2, Fa3, Fa4, Fa5, Fa6, Fa7;
EFI_UINT128 Fs2, Fs3, Fs4, Fs5, Fs6, Fs7, Fs8, Fs9, Fs10, Fs11;
EFI_UINT128 Ft8, Ft9, Ft10, Ft11;
} EFI_SYSTEM_CONTEXT_RISCV128;
typedef struct {
UINT64 R0;
UINT64 R1;
UINT64 R2;
UINT64 R3;
UINT64 R4;
UINT64 R5;
UINT64 R6;
UINT64 R7;
UINT64 R8;
UINT64 R9;
UINT64 R10;
UINT64 R11;
UINT64 R12;
UINT64 R13;
UINT64 R14;
UINT64 R15;
UINT64 R16;
UINT64 R17;
UINT64 R18;
UINT64 R19;
UINT64 R20;
UINT64 R21;
UINT64 R22;
UINT64 R23;
UINT64 R24;
UINT64 R25;
UINT64 R26;
UINT64 R27;
UINT64 R28;
UINT64 R29;
UINT64 R30;
UINT64 R31;
UINT64 CRMD; // CuRrent MoDe information
UINT64 PRMD; // PRe-exception MoDe information
UINT64 EUEN; // Extended component Unit ENable
UINT64 MISC; // MISCellaneous controller
UINT64 ECFG; // Execption ConFiGuration
UINT64 ESTAT; // Exeption STATus
UINT64 ERA; // Exception Return Address
UINT64 BADV; // BAD Virtual address
UINT64 BADI; // BAD Instruction
EFI_UINT64 R0;
EFI_UINT64 R1;
EFI_UINT64 R2;
EFI_UINT64 R3;
EFI_UINT64 R4;
EFI_UINT64 R5;
EFI_UINT64 R6;
EFI_UINT64 R7;
EFI_UINT64 R8;
EFI_UINT64 R9;
EFI_UINT64 R10;
EFI_UINT64 R11;
EFI_UINT64 R12;
EFI_UINT64 R13;
EFI_UINT64 R14;
EFI_UINT64 R15;
EFI_UINT64 R16;
EFI_UINT64 R17;
EFI_UINT64 R18;
EFI_UINT64 R19;
EFI_UINT64 R20;
EFI_UINT64 R21;
EFI_UINT64 R22;
EFI_UINT64 R23;
EFI_UINT64 R24;
EFI_UINT64 R25;
EFI_UINT64 R26;
EFI_UINT64 R27;
EFI_UINT64 R28;
EFI_UINT64 R29;
EFI_UINT64 R30;
EFI_UINT64 R31;
EFI_UINT64 CRMD; // CuRrent MoDe information
EFI_UINT64 PRMD; // PRe-exception MoDe information
EFI_UINT64 EUEN; // Extended component Unit ENable
EFI_UINT64 MISC; // MISCellaneous controller
EFI_UINT64 ECFG; // Execption ConFiGuration
EFI_UINT64 ESTAT; // Exeption STATus
EFI_UINT64 ERA; // Exception Return Address
EFI_UINT64 BADV; // BAD Virtual address
EFI_UINT64 BADI; // BAD Instruction
} EFI_SYSTEM_CONTEXT_LOONGARCH64;
typedef union {
@ -525,14 +525,14 @@ typedef
EFI_STATUS
(EFIAPI *EFI_GET_MAXIMUM_PROCESSOR_INDEX)(
IN EFI_DEBUG_SUPPORT_PROTOCOL *This,
OUT UINTN *MaxProcessorIndex
OUT EFI_UINTN *MaxProcessorIndex
);
typedef
EFI_STATUS
(EFIAPI *EFI_REGISTER_PERIODIC_CALLBACK)(
IN EFI_DEBUG_SUPPORT_PROTOCOL *This,
IN UINTN ProcessorIndex,
IN EFI_UINTN ProcessorIndex,
IN EFI_PERIODIC_CALLBACK PeriodicCallback
);
@ -540,7 +540,7 @@ typedef
EFI_STATUS
(EFIAPI *EFI_REGISTER_EXCEPTION_CALLBACK)(
IN EFI_DEBUG_SUPPORT_PROTOCOL *This,
IN UINTN ProcessorIndex,
IN EFI_UINTN ProcessorIndex,
IN EFI_EXCEPTION_CALLBACK ExceptionCallback,
IN EFI_EXCEPTION_TYPE ExceptionType
);
@ -549,9 +549,9 @@ typedef
EFI_STATUS
(EFIAPI *EFI_INVALIDATE_INSTRUCTION_CACHE)(
IN EFI_DEBUG_SUPPORT_PROTOCOL *This,
IN UINTN ProcessorIndex,
IN EFI_UINTN ProcessorIndex,
IN VOID *Start,
IN UINT64 Length
IN EFI_UINT64 Length
);
typedef struct _EFI_DEBUG_SUPPORT_PROTOCOL {
@ -584,8 +584,8 @@ typedef
EFI_STATUS
(EFIAPI *EFI_DEBUGPORT_WRITE)(
IN EFI_DEBUGPORT_PROTOCOL *This,
IN UINT32 Timeout,
IN OUT UINTN *BufferSize,
IN EFI_UINT32 Timeout,
IN OUT EFI_UINTN *BufferSize,
IN VOID *Buffer
);
@ -593,8 +593,8 @@ typedef
EFI_STATUS
(EFIAPI *EFI_DEBUGPORT_READ)(
IN EFI_DEBUGPORT_PROTOCOL *This,
IN UINT32 Timeout,
IN OUT UINTN *BufferSize,
IN EFI_UINT32 Timeout,
IN OUT EFI_UINTN *BufferSize,
OUT VOID *Buffer
);
@ -624,19 +624,19 @@ typedef struct _EFI_DEBUGPORT_PROTOCOL {
#define EFI_DEBUG_IMAGE_INFO_TYPE_NORMAL 0x01
typedef struct {
UINT32 ImageInfoType;
EFI_UINT32 ImageInfoType;
EFI_LOADED_IMAGE_PROTOCOL *LoadedImageProtocolInstance;
EFI_HANDLE ImageHandle;
} EFI_DEBUG_IMAGE_INFO_NORMAL;
typedef union {
UINT32 *ImageInfoType;
EFI_UINT32 *ImageInfoType;
EFI_DEBUG_IMAGE_INFO_NORMAL *NormalImage;
} EFI_DEBUG_IMAGE_INFO;
typedef struct {
volatile UINT32 UpdateStatus;
UINT32 TableSize;
volatile EFI_UINT32 UpdateStatus;
EFI_UINT32 TableSize;
EFI_DEBUG_IMAGE_INFO *EfiDebugImageInfoTable;
} EFI_DEBUG_IMAGE_INFO_TABLE_HEADER;