VirtualBox

Ignore:
Timestamp:
Apr 14, 2023 3:17:44 PM (2 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
156854
Message:

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

Location:
trunk/src/VBox/Devices/EFI/FirmwareNew
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/FirmwareNew

  • trunk/src/VBox/Devices/EFI/FirmwareNew/SourceLevelDebugPkg/Include/Guid/DebugAgentGuid.h

    r80721 r99404  
    2222  }
    2323
    24 extern EFI_GUID gEfiDebugAgentGuid;
     24extern EFI_GUID  gEfiDebugAgentGuid;
    2525
    2626#endif
  • trunk/src/VBox/Devices/EFI/FirmwareNew/SourceLevelDebugPkg/Include/Ia32/ProcessorContext.h

    r85718 r99404  
    4040#define SOFT_DEBUGGER_REGISTER_CR4     0x18
    4141
    42 #define SOFT_DEBUGGER_REGISTER_DI      0x19
    43 #define SOFT_DEBUGGER_REGISTER_SI      0x1A
    44 #define SOFT_DEBUGGER_REGISTER_BP      0x1B
    45 #define SOFT_DEBUGGER_REGISTER_SP      0x1C
    46 #define SOFT_DEBUGGER_REGISTER_DX      0x1D
    47 #define SOFT_DEBUGGER_REGISTER_CX      0x1E
    48 #define SOFT_DEBUGGER_REGISTER_BX      0x1F
    49 #define SOFT_DEBUGGER_REGISTER_AX      0x20
     42#define SOFT_DEBUGGER_REGISTER_DI  0x19
     43#define SOFT_DEBUGGER_REGISTER_SI  0x1A
     44#define SOFT_DEBUGGER_REGISTER_BP  0x1B
     45#define SOFT_DEBUGGER_REGISTER_SP  0x1C
     46#define SOFT_DEBUGGER_REGISTER_DX  0x1D
     47#define SOFT_DEBUGGER_REGISTER_CX  0x1E
     48#define SOFT_DEBUGGER_REGISTER_BX  0x1F
     49#define SOFT_DEBUGGER_REGISTER_AX  0x20
    5050
    5151//
    5252// This below registers are only available for x64 (not valid for Ia32 mode)
    5353//
    54 #define SOFT_DEBUGGER_REGISTER_CR8     0x21
    55 #define SOFT_DEBUGGER_REGISTER_R8      0x22
    56 #define SOFT_DEBUGGER_REGISTER_R9      0x23
    57 #define SOFT_DEBUGGER_REGISTER_R10     0x24
    58 #define SOFT_DEBUGGER_REGISTER_R11     0x25
    59 #define SOFT_DEBUGGER_REGISTER_R12     0x26
    60 #define SOFT_DEBUGGER_REGISTER_R13     0x27
    61 #define SOFT_DEBUGGER_REGISTER_R14     0x28
    62 #define SOFT_DEBUGGER_REGISTER_R15     0x29
     54#define SOFT_DEBUGGER_REGISTER_CR8  0x21
     55#define SOFT_DEBUGGER_REGISTER_R8   0x22
     56#define SOFT_DEBUGGER_REGISTER_R9   0x23
     57#define SOFT_DEBUGGER_REGISTER_R10  0x24
     58#define SOFT_DEBUGGER_REGISTER_R11  0x25
     59#define SOFT_DEBUGGER_REGISTER_R12  0x26
     60#define SOFT_DEBUGGER_REGISTER_R13  0x27
     61#define SOFT_DEBUGGER_REGISTER_R14  0x28
     62#define SOFT_DEBUGGER_REGISTER_R15  0x29
    6363
    6464//
    6565// This below registers are FP / MMX / XMM registers
    6666//
    67 #define SOFT_DEBUGGER_REGISTER_FP_BASE            0x30
    68 
    69 #define SOFT_DEBUGGER_REGISTER_FP_FCW          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x00)
    70 #define SOFT_DEBUGGER_REGISTER_FP_FSW          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x01)
    71 #define SOFT_DEBUGGER_REGISTER_FP_FTW          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x02)
    72 #define SOFT_DEBUGGER_REGISTER_FP_OPCODE       (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x03)
    73 #define SOFT_DEBUGGER_REGISTER_FP_EIP          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x04)
    74 #define SOFT_DEBUGGER_REGISTER_FP_CS           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x05)
    75 #define SOFT_DEBUGGER_REGISTER_FP_DATAOFFSET   (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x06)
    76 #define SOFT_DEBUGGER_REGISTER_FP_DS           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x07)
    77 #define SOFT_DEBUGGER_REGISTER_FP_MXCSR        (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x08)
    78 #define SOFT_DEBUGGER_REGISTER_FP_MXCSR_MASK   (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x09)
    79 #define SOFT_DEBUGGER_REGISTER_ST0             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0A)
    80 #define SOFT_DEBUGGER_REGISTER_ST1             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0B)
    81 #define SOFT_DEBUGGER_REGISTER_ST2             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0C)
    82 #define SOFT_DEBUGGER_REGISTER_ST3             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0D)
    83 #define SOFT_DEBUGGER_REGISTER_ST4             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0E)
    84 #define SOFT_DEBUGGER_REGISTER_ST5             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0F)
    85 #define SOFT_DEBUGGER_REGISTER_ST6             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x10)
    86 #define SOFT_DEBUGGER_REGISTER_ST7             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x11)
    87 #define SOFT_DEBUGGER_REGISTER_XMM0            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x12)
    88 #define SOFT_DEBUGGER_REGISTER_XMM1            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x13)
    89 #define SOFT_DEBUGGER_REGISTER_XMM2            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x14)
    90 #define SOFT_DEBUGGER_REGISTER_XMM3            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x15)
    91 #define SOFT_DEBUGGER_REGISTER_XMM4            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x16)
    92 #define SOFT_DEBUGGER_REGISTER_XMM5            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x17)
    93 #define SOFT_DEBUGGER_REGISTER_XMM6            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x18)
    94 #define SOFT_DEBUGGER_REGISTER_XMM7            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x19)
    95 #define SOFT_DEBUGGER_REGISTER_XMM8            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1A)
    96 #define SOFT_DEBUGGER_REGISTER_XMM9            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1B)
    97 #define SOFT_DEBUGGER_REGISTER_XMM10           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1C)
    98 #define SOFT_DEBUGGER_REGISTER_XMM11           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1D)
    99 #define SOFT_DEBUGGER_REGISTER_XMM12           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1E)
    100 #define SOFT_DEBUGGER_REGISTER_XMM13           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1F)
    101 #define SOFT_DEBUGGER_REGISTER_XMM14           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x20)
    102 #define SOFT_DEBUGGER_REGISTER_XMM15           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x21)
    103 #define SOFT_DEBUGGER_REGISTER_MM0             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x22)
    104 #define SOFT_DEBUGGER_REGISTER_MM1             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x23)
    105 #define SOFT_DEBUGGER_REGISTER_MM2             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x24)
    106 #define SOFT_DEBUGGER_REGISTER_MM3             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x25)
    107 #define SOFT_DEBUGGER_REGISTER_MM4             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x26)
    108 #define SOFT_DEBUGGER_REGISTER_MM5             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x27)
    109 #define SOFT_DEBUGGER_REGISTER_MM6             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x28)
    110 #define SOFT_DEBUGGER_REGISTER_MM7             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x29)
    111 
    112 #define SOFT_DEBUGGER_REGISTER_MAX             SOFT_DEBUGGER_REGISTER_MM7
    113 
    114 #define SOFT_DEBUGGER_MSR_EFER                 (0xC0000080)
     67#define SOFT_DEBUGGER_REGISTER_FP_BASE  0x30
     68
     69#define SOFT_DEBUGGER_REGISTER_FP_FCW         (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x00)
     70#define SOFT_DEBUGGER_REGISTER_FP_FSW         (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x01)
     71#define SOFT_DEBUGGER_REGISTER_FP_FTW         (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x02)
     72#define SOFT_DEBUGGER_REGISTER_FP_OPCODE      (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x03)
     73#define SOFT_DEBUGGER_REGISTER_FP_EIP         (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x04)
     74#define SOFT_DEBUGGER_REGISTER_FP_CS          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x05)
     75#define SOFT_DEBUGGER_REGISTER_FP_DATAOFFSET  (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x06)
     76#define SOFT_DEBUGGER_REGISTER_FP_DS          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x07)
     77#define SOFT_DEBUGGER_REGISTER_FP_MXCSR       (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x08)
     78#define SOFT_DEBUGGER_REGISTER_FP_MXCSR_MASK  (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x09)
     79#define SOFT_DEBUGGER_REGISTER_ST0            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0A)
     80#define SOFT_DEBUGGER_REGISTER_ST1            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0B)
     81#define SOFT_DEBUGGER_REGISTER_ST2            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0C)
     82#define SOFT_DEBUGGER_REGISTER_ST3            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0D)
     83#define SOFT_DEBUGGER_REGISTER_ST4            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0E)
     84#define SOFT_DEBUGGER_REGISTER_ST5            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0F)
     85#define SOFT_DEBUGGER_REGISTER_ST6            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x10)
     86#define SOFT_DEBUGGER_REGISTER_ST7            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x11)
     87#define SOFT_DEBUGGER_REGISTER_XMM0           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x12)
     88#define SOFT_DEBUGGER_REGISTER_XMM1           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x13)
     89#define SOFT_DEBUGGER_REGISTER_XMM2           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x14)
     90#define SOFT_DEBUGGER_REGISTER_XMM3           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x15)
     91#define SOFT_DEBUGGER_REGISTER_XMM4           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x16)
     92#define SOFT_DEBUGGER_REGISTER_XMM5           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x17)
     93#define SOFT_DEBUGGER_REGISTER_XMM6           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x18)
     94#define SOFT_DEBUGGER_REGISTER_XMM7           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x19)
     95#define SOFT_DEBUGGER_REGISTER_XMM8           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1A)
     96#define SOFT_DEBUGGER_REGISTER_XMM9           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1B)
     97#define SOFT_DEBUGGER_REGISTER_XMM10          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1C)
     98#define SOFT_DEBUGGER_REGISTER_XMM11          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1D)
     99#define SOFT_DEBUGGER_REGISTER_XMM12          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1E)
     100#define SOFT_DEBUGGER_REGISTER_XMM13          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1F)
     101#define SOFT_DEBUGGER_REGISTER_XMM14          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x20)
     102#define SOFT_DEBUGGER_REGISTER_XMM15          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x21)
     103#define SOFT_DEBUGGER_REGISTER_MM0            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x22)
     104#define SOFT_DEBUGGER_REGISTER_MM1            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x23)
     105#define SOFT_DEBUGGER_REGISTER_MM2            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x24)
     106#define SOFT_DEBUGGER_REGISTER_MM3            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x25)
     107#define SOFT_DEBUGGER_REGISTER_MM4            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x26)
     108#define SOFT_DEBUGGER_REGISTER_MM5            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x27)
     109#define SOFT_DEBUGGER_REGISTER_MM6            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x28)
     110#define SOFT_DEBUGGER_REGISTER_MM7            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x29)
     111
     112#define SOFT_DEBUGGER_REGISTER_MAX  SOFT_DEBUGGER_REGISTER_MM7
     113
     114#define SOFT_DEBUGGER_MSR_EFER  (0xC0000080)
    115115
    116116#pragma pack(1)
     
    121121///
    122122typedef struct {
    123   UINT16  Fcw;
    124   UINT16  Fsw;
    125   UINT16  Ftw;
    126   UINT16  Opcode;
    127   UINT32  Eip;
    128   UINT16  Cs;
    129   UINT16  Reserved1;
    130   UINT32  DataOffset;
    131   UINT16  Ds;
    132   UINT8   Reserved2[2];
    133   UINT32  Mxcsr;
    134   UINT32  Mxcsr_Mask;
    135   UINT8   St0Mm0[10];
    136   UINT8   Reserved3[6];
    137   UINT8   St1Mm1[10];
    138   UINT8   Reserved4[6];
    139   UINT8   St2Mm2[10];
    140   UINT8   Reserved5[6];
    141   UINT8   St3Mm3[10];
    142   UINT8   Reserved6[6];
    143   UINT8   St4Mm4[10];
    144   UINT8   Reserved7[6];
    145   UINT8   St5Mm5[10];
    146   UINT8   Reserved8[6];
    147   UINT8   St6Mm6[10];
    148   UINT8   Reserved9[6];
    149   UINT8   St7Mm7[10];
    150   UINT8   Reserved10[6];
    151   UINT8   Xmm0[16];
    152   UINT8   Xmm1[16];
    153   UINT8   Xmm2[16];
    154   UINT8   Xmm3[16];
    155   UINT8   Xmm4[16];
    156   UINT8   Xmm5[16];
    157   UINT8   Xmm6[16];
    158   UINT8   Xmm7[16];
    159   UINT8   Reserved11[14 * 16];
     123  UINT16    Fcw;
     124  UINT16    Fsw;
     125  UINT16    Ftw;
     126  UINT16    Opcode;
     127  UINT32    Eip;
     128  UINT16    Cs;
     129  UINT16    Reserved1;
     130  UINT32    DataOffset;
     131  UINT16    Ds;
     132  UINT8     Reserved2[2];
     133  UINT32    Mxcsr;
     134  UINT32    Mxcsr_Mask;
     135  UINT8     St0Mm0[10];
     136  UINT8     Reserved3[6];
     137  UINT8     St1Mm1[10];
     138  UINT8     Reserved4[6];
     139  UINT8     St2Mm2[10];
     140  UINT8     Reserved5[6];
     141  UINT8     St3Mm3[10];
     142  UINT8     Reserved6[6];
     143  UINT8     St4Mm4[10];
     144  UINT8     Reserved7[6];
     145  UINT8     St5Mm5[10];
     146  UINT8     Reserved8[6];
     147  UINT8     St6Mm6[10];
     148  UINT8     Reserved9[6];
     149  UINT8     St7Mm7[10];
     150  UINT8     Reserved10[6];
     151  UINT8     Xmm0[16];
     152  UINT8     Xmm1[16];
     153  UINT8     Xmm2[16];
     154  UINT8     Xmm3[16];
     155  UINT8     Xmm4[16];
     156  UINT8     Xmm5[16];
     157  UINT8     Xmm6[16];
     158  UINT8     Xmm7[16];
     159  UINT8     Reserved11[14 * 16];
    160160} DEBUG_DATA_IA32_FX_SAVE_STATE;
    161161
     
    164164///
    165165typedef struct {
    166   UINT32                         ExceptionData;
    167   DEBUG_DATA_IA32_FX_SAVE_STATE  FxSaveState;
    168   UINT32                         Dr0;
    169   UINT32                         Dr1;
    170   UINT32                         Dr2;
    171   UINT32                         Dr3;
    172   UINT32                         Dr6;
    173   UINT32                         Dr7;
    174   UINT32                         Eflags;
    175   UINT32                         Ldtr;
    176   UINT32                         Tr;
    177   UINT32                         Gdtr[2];
    178   UINT32                         Idtr[2];
    179   UINT32                         Eip;
    180   UINT32                         Gs;
    181   UINT32                         Fs;
    182   UINT32                         Es;
    183   UINT32                         Ds;
    184   UINT32                         Cs;
    185   UINT32                         Ss;
    186   UINT32                         Cr0;
    187   UINT32                         Cr1; ///< Reserved
    188   UINT32                         Cr2;
    189   UINT32                         Cr3;
    190   UINT32                         Cr4;
    191   UINT32                         Edi;
    192   UINT32                         Esi;
    193   UINT32                         Ebp;
    194   UINT32                         Esp;
    195   UINT32                         Edx;
    196   UINT32                         Ecx;
    197   UINT32                         Ebx;
    198   UINT32                         Eax;
     166  UINT32                           ExceptionData;
     167  DEBUG_DATA_IA32_FX_SAVE_STATE    FxSaveState;
     168  UINT32                           Dr0;
     169  UINT32                           Dr1;
     170  UINT32                           Dr2;
     171  UINT32                           Dr3;
     172  UINT32                           Dr6;
     173  UINT32                           Dr7;
     174  UINT32                           Eflags;
     175  UINT32                           Ldtr;
     176  UINT32                           Tr;
     177  UINT32                           Gdtr[2];
     178  UINT32                           Idtr[2];
     179  UINT32                           Eip;
     180  UINT32                           Gs;
     181  UINT32                           Fs;
     182  UINT32                           Es;
     183  UINT32                           Ds;
     184  UINT32                           Cs;
     185  UINT32                           Ss;
     186  UINT32                           Cr0;
     187  UINT32                           Cr1; ///< Reserved
     188  UINT32                           Cr2;
     189  UINT32                           Cr3;
     190  UINT32                           Cr4;
     191  UINT32                           Edi;
     192  UINT32                           Esi;
     193  UINT32                           Ebp;
     194  UINT32                           Esp;
     195  UINT32                           Edx;
     196  UINT32                           Ecx;
     197  UINT32                           Ebx;
     198  UINT32                           Eax;
    199199} DEBUG_DATA_IA32_SYSTEM_CONTEXT;
    200200
     
    204204///
    205205typedef struct {
    206   UINT16  Fcw;
    207   UINT16  Fsw;
    208   UINT16  Ftw;
    209   UINT16  Opcode;
    210   UINT32  Eip;
    211   UINT16  Cs;
    212   UINT16  Reserved1;
    213   UINT32  DataOffset;
    214   UINT16  Ds;
    215   UINT8   Reserved2[2];
    216   UINT32  Mxcsr;
    217   UINT32  Mxcsr_Mask;
    218   UINT8   St0Mm0[10];
    219   UINT8   Reserved3[6];
    220   UINT8   St1Mm1[10];
    221   UINT8   Reserved4[6];
    222   UINT8   St2Mm2[10];
    223   UINT8   Reserved5[6];
    224   UINT8   St3Mm3[10];
    225   UINT8   Reserved6[6];
    226   UINT8   St4Mm4[10];
    227   UINT8   Reserved7[6];
    228   UINT8   St5Mm5[10];
    229   UINT8   Reserved8[6];
    230   UINT8   St6Mm6[10];
    231   UINT8   Reserved9[6];
    232   UINT8   St7Mm7[10];
    233   UINT8   Reserved10[6];
    234   UINT8   Xmm0[16];
    235   UINT8   Xmm1[16];
    236   UINT8   Xmm2[16];
    237   UINT8   Xmm3[16];
    238   UINT8   Xmm4[16];
    239   UINT8   Xmm5[16];
    240   UINT8   Xmm6[16];
    241   UINT8   Xmm7[16];
    242   UINT8   Xmm8[16];
    243   UINT8   Xmm9[16];
    244   UINT8   Xmm10[16];
    245   UINT8   Xmm11[16];
    246   UINT8   Xmm12[16];
    247   UINT8   Xmm13[16];
    248   UINT8   Xmm14[16];
    249   UINT8   Xmm15[16];
    250   UINT8   Reserved11[6 * 16];
     206  UINT16    Fcw;
     207  UINT16    Fsw;
     208  UINT16    Ftw;
     209  UINT16    Opcode;
     210  UINT32    Eip;
     211  UINT16    Cs;
     212  UINT16    Reserved1;
     213  UINT32    DataOffset;
     214  UINT16    Ds;
     215  UINT8     Reserved2[2];
     216  UINT32    Mxcsr;
     217  UINT32    Mxcsr_Mask;
     218  UINT8     St0Mm0[10];
     219  UINT8     Reserved3[6];
     220  UINT8     St1Mm1[10];
     221  UINT8     Reserved4[6];
     222  UINT8     St2Mm2[10];
     223  UINT8     Reserved5[6];
     224  UINT8     St3Mm3[10];
     225  UINT8     Reserved6[6];
     226  UINT8     St4Mm4[10];
     227  UINT8     Reserved7[6];
     228  UINT8     St5Mm5[10];
     229  UINT8     Reserved8[6];
     230  UINT8     St6Mm6[10];
     231  UINT8     Reserved9[6];
     232  UINT8     St7Mm7[10];
     233  UINT8     Reserved10[6];
     234  UINT8     Xmm0[16];
     235  UINT8     Xmm1[16];
     236  UINT8     Xmm2[16];
     237  UINT8     Xmm3[16];
     238  UINT8     Xmm4[16];
     239  UINT8     Xmm5[16];
     240  UINT8     Xmm6[16];
     241  UINT8     Xmm7[16];
     242  UINT8     Xmm8[16];
     243  UINT8     Xmm9[16];
     244  UINT8     Xmm10[16];
     245  UINT8     Xmm11[16];
     246  UINT8     Xmm12[16];
     247  UINT8     Xmm13[16];
     248  UINT8     Xmm14[16];
     249  UINT8     Xmm15[16];
     250  UINT8     Reserved11[6 * 16];
    251251} DEBUG_DATA_X64_FX_SAVE_STATE;
    252252
     
    255255///
    256256typedef struct {
    257   UINT64                         ExceptionData;
    258   DEBUG_DATA_X64_FX_SAVE_STATE   FxSaveState;
    259   UINT64                         Dr0;
    260   UINT64                         Dr1;
    261   UINT64                         Dr2;
    262   UINT64                         Dr3;
    263   UINT64                         Dr6;
    264   UINT64                         Dr7;
    265   UINT64                         Eflags;
    266   UINT64                         Ldtr;
    267   UINT64                         Tr;
    268   UINT64                         Gdtr[2];
    269   UINT64                         Idtr[2];
    270   UINT64                         Eip;
    271   UINT64                         Gs;
    272   UINT64                         Fs;
    273   UINT64                         Es;
    274   UINT64                         Ds;
    275   UINT64                         Cs;
    276   UINT64                         Ss;
    277   UINT64                         Cr0;
    278   UINT64                         Cr1; ///< Reserved
    279   UINT64                         Cr2;
    280   UINT64                         Cr3;
    281   UINT64                         Cr4;
    282   UINT64                         Rdi;
    283   UINT64                         Rsi;
    284   UINT64                         Rbp;
    285   UINT64                         Rsp;
    286   UINT64                         Rdx;
    287   UINT64                         Rcx;
    288   UINT64                         Rbx;
    289   UINT64                         Rax;
    290   UINT64                         Cr8;
    291   UINT64                         R8;
    292   UINT64                         R9;
    293   UINT64                         R10;
    294   UINT64                         R11;
    295   UINT64                         R12;
    296   UINT64                         R13;
    297   UINT64                         R14;
    298   UINT64                         R15;
     257  UINT64                          ExceptionData;
     258  DEBUG_DATA_X64_FX_SAVE_STATE    FxSaveState;
     259  UINT64                          Dr0;
     260  UINT64                          Dr1;
     261  UINT64                          Dr2;
     262  UINT64                          Dr3;
     263  UINT64                          Dr6;
     264  UINT64                          Dr7;
     265  UINT64                          Eflags;
     266  UINT64                          Ldtr;
     267  UINT64                          Tr;
     268  UINT64                          Gdtr[2];
     269  UINT64                          Idtr[2];
     270  UINT64                          Eip;
     271  UINT64                          Gs;
     272  UINT64                          Fs;
     273  UINT64                          Es;
     274  UINT64                          Ds;
     275  UINT64                          Cs;
     276  UINT64                          Ss;
     277  UINT64                          Cr0;
     278  UINT64                          Cr1; ///< Reserved
     279  UINT64                          Cr2;
     280  UINT64                          Cr3;
     281  UINT64                          Cr4;
     282  UINT64                          Rdi;
     283  UINT64                          Rsi;
     284  UINT64                          Rbp;
     285  UINT64                          Rsp;
     286  UINT64                          Rdx;
     287  UINT64                          Rcx;
     288  UINT64                          Rbx;
     289  UINT64                          Rax;
     290  UINT64                          Cr8;
     291  UINT64                          R8;
     292  UINT64                          R9;
     293  UINT64                          R10;
     294  UINT64                          R11;
     295  UINT64                          R12;
     296  UINT64                          R13;
     297  UINT64                          R14;
     298  UINT64                          R15;
    299299} DEBUG_DATA_X64_SYSTEM_CONTEXT;
    300300
     
    302302
    303303#endif
    304 
  • trunk/src/VBox/Devices/EFI/FirmwareNew/SourceLevelDebugPkg/Include/ImageDebugSupport.h

    r80721 r99404  
    2020
    2121#endif
    22 
  • trunk/src/VBox/Devices/EFI/FirmwareNew/SourceLevelDebugPkg/Include/Library/DebugCommunicationLib.h

    r85718 r99404  
    1010#define __DEBUG_COMMUNICATION_LIB_H__
    1111
    12 typedef VOID *    DEBUG_PORT_HANDLE;
     12typedef VOID *DEBUG_PORT_HANDLE;
    1313
    1414/**
     
    2323typedef
    2424VOID
    25 (EFIAPI * DEBUG_PORT_CONTINUE)(
     25(EFIAPI *DEBUG_PORT_CONTINUE)(
    2626  IN VOID                *Context,
    2727  IN DEBUG_PORT_HANDLE   DebugPortHandle
     
    7171  );
    7272
    73 
    7473/**
    75   Read data from debug device and save the datas in buffer.
     74  Read data from debug device and save the data in a buffer.
    7675
    7776  Reads NumberOfBytes data bytes from a debug device into the buffer
     
    9291EFIAPI
    9392DebugPortReadBuffer (
    94   IN DEBUG_PORT_HANDLE     Handle,
    95   IN UINT8                 *Buffer,
    96   IN UINTN                 NumberOfBytes,
    97   IN UINTN                 Timeout
     93  IN DEBUG_PORT_HANDLE  Handle,
     94  IN UINT8              *Buffer,
     95  IN UINTN              NumberOfBytes,
     96  IN UINTN              Timeout
    9897  );
    99 
    10098
    10199/**
     
    119117EFIAPI
    120118DebugPortWriteBuffer (
    121   IN DEBUG_PORT_HANDLE     Handle,
    122   IN UINT8                 *Buffer,
    123   IN UINTN                 NumberOfBytes
     119  IN DEBUG_PORT_HANDLE  Handle,
     120  IN UINT8              *Buffer,
     121  IN UINTN              NumberOfBytes
    124122  );
    125123
     
    140138EFIAPI
    141139DebugPortPollBuffer (
    142   IN DEBUG_PORT_HANDLE     Handle
     140  IN DEBUG_PORT_HANDLE  Handle
    143141  );
    144142
    145143#endif
    146 
  • trunk/src/VBox/Devices/EFI/FirmwareNew/SourceLevelDebugPkg/Include/TransferProtocol.h

    r85718 r99404  
    1717// 0.4: Packet compression and decompression.
    1818//
    19 #define DEBUG_AGENT_REVISION_03         ((0 << 16) | 03)
    20 #define DEBUG_AGENT_REVISION_04         ((0 << 16) | 04)
    21 #define DEBUG_AGENT_CAPABILITIES        0
     19#define DEBUG_AGENT_REVISION_03   ((0 << 16) | 03)
     20#define DEBUG_AGENT_REVISION_04   ((0 << 16) | 04)
     21#define DEBUG_AGENT_CAPABILITIES  0
    2222
    2323//
    2424// Definitions for the (A)ttach command
    2525//
    26 #define DEBUG_STARTING_SYMBOL_ATTACH    (0xFA)
     26#define DEBUG_STARTING_SYMBOL_ATTACH  (0xFA)
    2727
    2828//
    2929// Definition for starting symbol of a normal debug packet. Choose a non-ASCII to avoid conflict with other serial output.
    3030//
    31 #define DEBUG_STARTING_SYMBOL_NORMAL    (0xFE)
     31#define DEBUG_STARTING_SYMBOL_NORMAL  (0xFE)
    3232
    3333//
     
    4242//
    4343typedef struct {
    44   UINT8                      StartSymbol;
    45   UINT8                      Command;
    46   UINT8                      Length;    // Length of Debug Packet including header and payload in byte
    47   UINT8                      SequenceNo;
    48   UINT16                     Crc;
     44  UINT8     StartSymbol;
     45  UINT8     Command;
     46  UINT8     Length;                     // Length of Debug Packet including header and payload in byte
     47  UINT8     SequenceNo;
     48  UINT16    Crc;
    4949} DEBUG_PACKET_HEADER;
    5050
     
    5252// Definition for Command field for debug packets
    5353//
    54 #define DEBUG_COMMAND_REQUEST      (0 << 7)
    55 #define DEBUG_COMMAND_RESPONSE     (1 << 7)
    56 
    57 #define IS_REQUEST(x)              (((x)->Command & DEBUG_COMMAND_RESPONSE) == 0)
     54#define DEBUG_COMMAND_REQUEST   (0 << 7)
     55#define DEBUG_COMMAND_RESPONSE  (1 << 7)
     56
     57#define IS_REQUEST(x)  (((x)->Command & DEBUG_COMMAND_RESPONSE) == 0)
    5858
    5959//
    6060// HOST initiated commands
    6161//
    62 #define DEBUG_COMMAND_RESET                       (DEBUG_COMMAND_REQUEST | 0x00)
    63 #define DEBUG_COMMAND_GO                          (DEBUG_COMMAND_REQUEST | 0x01)
    64 #define DEBUG_COMMAND_BREAK_CAUSE                 (DEBUG_COMMAND_REQUEST | 0x02)
    65 #define DEBUG_COMMAND_SET_HW_BREAKPOINT           (DEBUG_COMMAND_REQUEST | 0x03)
    66 #define DEBUG_COMMAND_CLEAR_HW_BREAKPOINT         (DEBUG_COMMAND_REQUEST | 0x04)
    67 #define DEBUG_COMMAND_SINGLE_STEPPING             (DEBUG_COMMAND_REQUEST | 0x05)
    68 #define DEBUG_COMMAND_SET_SW_BREAKPOINT           (DEBUG_COMMAND_REQUEST | 0x06)
    69 #define DEBUG_COMMAND_READ_MEMORY                 (DEBUG_COMMAND_REQUEST | 0x07)
    70 #define DEBUG_COMMAND_WRITE_MEMORY                (DEBUG_COMMAND_REQUEST | 0x08)
    71 #define DEBUG_COMMAND_READ_IO                     (DEBUG_COMMAND_REQUEST | 0x09)
    72 #define DEBUG_COMMAND_WRITE_IO                    (DEBUG_COMMAND_REQUEST | 0x0A)
    73 #define DEBUG_COMMAND_READ_REGISTER               (DEBUG_COMMAND_REQUEST | 0x0B)
    74 #define DEBUG_COMMAND_WRITE_REGISTER              (DEBUG_COMMAND_REQUEST | 0x0C)
    75 #define DEBUG_COMMAND_READ_ALL_REGISTERS          (DEBUG_COMMAND_REQUEST | 0x0D)
    76 #define DEBUG_COMMAND_ARCH_MODE                   (DEBUG_COMMAND_REQUEST | 0x0E)
    77 #define DEBUG_COMMAND_READ_MSR                    (DEBUG_COMMAND_REQUEST | 0x0F)
    78 #define DEBUG_COMMAND_WRITE_MSR                   (DEBUG_COMMAND_REQUEST | 0x10)
    79 #define DEBUG_COMMAND_SET_DEBUG_SETTING           (DEBUG_COMMAND_REQUEST | 0x11)
    80 #define DEBUG_COMMAND_GET_REVISION                (DEBUG_COMMAND_REQUEST | 0x12)
    81 #define DEBUG_COMMAND_GET_EXCEPTION               (DEBUG_COMMAND_REQUEST | 0x13)
    82 #define DEBUG_COMMAND_SET_VIEWPOINT               (DEBUG_COMMAND_REQUEST | 0x14)
    83 #define DEBUG_COMMAND_GET_VIEWPOINT               (DEBUG_COMMAND_REQUEST | 0x15)
    84 #define DEBUG_COMMAND_DETACH                      (DEBUG_COMMAND_REQUEST | 0x16)
    85 #define DEBUG_COMMAND_CPUID                       (DEBUG_COMMAND_REQUEST | 0x17)
    86 #define DEBUG_COMMAND_SEARCH_SIGNATURE            (DEBUG_COMMAND_REQUEST | 0x18)
    87 #define DEBUG_COMMAND_HALT                        (DEBUG_COMMAND_REQUEST | 0x19)
     62#define DEBUG_COMMAND_RESET                (DEBUG_COMMAND_REQUEST | 0x00)
     63#define DEBUG_COMMAND_GO                   (DEBUG_COMMAND_REQUEST | 0x01)
     64#define DEBUG_COMMAND_BREAK_CAUSE          (DEBUG_COMMAND_REQUEST | 0x02)
     65#define DEBUG_COMMAND_SET_HW_BREAKPOINT    (DEBUG_COMMAND_REQUEST | 0x03)
     66#define DEBUG_COMMAND_CLEAR_HW_BREAKPOINT  (DEBUG_COMMAND_REQUEST | 0x04)
     67#define DEBUG_COMMAND_SINGLE_STEPPING      (DEBUG_COMMAND_REQUEST | 0x05)
     68#define DEBUG_COMMAND_SET_SW_BREAKPOINT    (DEBUG_COMMAND_REQUEST | 0x06)
     69#define DEBUG_COMMAND_READ_MEMORY          (DEBUG_COMMAND_REQUEST | 0x07)
     70#define DEBUG_COMMAND_WRITE_MEMORY         (DEBUG_COMMAND_REQUEST | 0x08)
     71#define DEBUG_COMMAND_READ_IO              (DEBUG_COMMAND_REQUEST | 0x09)
     72#define DEBUG_COMMAND_WRITE_IO             (DEBUG_COMMAND_REQUEST | 0x0A)
     73#define DEBUG_COMMAND_READ_REGISTER        (DEBUG_COMMAND_REQUEST | 0x0B)
     74#define DEBUG_COMMAND_WRITE_REGISTER       (DEBUG_COMMAND_REQUEST | 0x0C)
     75#define DEBUG_COMMAND_READ_ALL_REGISTERS   (DEBUG_COMMAND_REQUEST | 0x0D)
     76#define DEBUG_COMMAND_ARCH_MODE            (DEBUG_COMMAND_REQUEST | 0x0E)
     77#define DEBUG_COMMAND_READ_MSR             (DEBUG_COMMAND_REQUEST | 0x0F)
     78#define DEBUG_COMMAND_WRITE_MSR            (DEBUG_COMMAND_REQUEST | 0x10)
     79#define DEBUG_COMMAND_SET_DEBUG_SETTING    (DEBUG_COMMAND_REQUEST | 0x11)
     80#define DEBUG_COMMAND_GET_REVISION         (DEBUG_COMMAND_REQUEST | 0x12)
     81#define DEBUG_COMMAND_GET_EXCEPTION        (DEBUG_COMMAND_REQUEST | 0x13)
     82#define DEBUG_COMMAND_SET_VIEWPOINT        (DEBUG_COMMAND_REQUEST | 0x14)
     83#define DEBUG_COMMAND_GET_VIEWPOINT        (DEBUG_COMMAND_REQUEST | 0x15)
     84#define DEBUG_COMMAND_DETACH               (DEBUG_COMMAND_REQUEST | 0x16)
     85#define DEBUG_COMMAND_CPUID                (DEBUG_COMMAND_REQUEST | 0x17)
     86#define DEBUG_COMMAND_SEARCH_SIGNATURE     (DEBUG_COMMAND_REQUEST | 0x18)
     87#define DEBUG_COMMAND_HALT                 (DEBUG_COMMAND_REQUEST | 0x19)
    8888
    8989//
    9090// TARGET initiated commands
    9191//
    92 #define DEBUG_COMMAND_INIT_BREAK                  (DEBUG_COMMAND_REQUEST | 0x3F)
    93 #define DEBUG_COMMAND_BREAK_POINT                 (DEBUG_COMMAND_REQUEST | 0x3E)
    94 #define DEBUG_COMMAND_MEMORY_READY                (DEBUG_COMMAND_REQUEST | 0x3D)
    95 #define DEBUG_COMMAND_PRINT_MESSAGE               (DEBUG_COMMAND_REQUEST | 0x3C)
    96 #define DEBUG_COMMAND_ATTACH_BREAK                (DEBUG_COMMAND_REQUEST | 0x3B)
     92#define DEBUG_COMMAND_INIT_BREAK     (DEBUG_COMMAND_REQUEST | 0x3F)
     93#define DEBUG_COMMAND_BREAK_POINT    (DEBUG_COMMAND_REQUEST | 0x3E)
     94#define DEBUG_COMMAND_MEMORY_READY   (DEBUG_COMMAND_REQUEST | 0x3D)
     95#define DEBUG_COMMAND_PRINT_MESSAGE  (DEBUG_COMMAND_REQUEST | 0x3C)
     96#define DEBUG_COMMAND_ATTACH_BREAK   (DEBUG_COMMAND_REQUEST | 0x3B)
    9797
    9898//
    9999// Response commands
    100100//
    101 #define DEBUG_COMMAND_OK                          (DEBUG_COMMAND_RESPONSE | 0x00)
    102 #define DEBUG_COMMAND_RESEND                      (DEBUG_COMMAND_RESPONSE | 0x01)
    103 #define DEBUG_COMMAND_ABORT                       (DEBUG_COMMAND_RESPONSE | 0x02)
     101#define DEBUG_COMMAND_OK      (DEBUG_COMMAND_RESPONSE | 0x00)
     102#define DEBUG_COMMAND_RESEND  (DEBUG_COMMAND_RESPONSE | 0x01)
     103#define DEBUG_COMMAND_ABORT   (DEBUG_COMMAND_RESPONSE | 0x02)
    104104//
    105105// The below 2 commands are used when transferring big data (like > ~250 bytes).
     
    113113//   OK (no data as ACK)    =>
    114114//
    115 #define DEBUG_COMMAND_IN_PROGRESS                 (DEBUG_COMMAND_RESPONSE | 0x03)
    116 #define DEBUG_COMMAND_CONTINUE                    (DEBUG_COMMAND_RESPONSE | 0x04)
     115#define DEBUG_COMMAND_IN_PROGRESS  (DEBUG_COMMAND_RESPONSE | 0x03)
     116#define DEBUG_COMMAND_CONTINUE     (DEBUG_COMMAND_RESPONSE | 0x04)
    117117//
    118118// The below 2 commands are used to support deferred halt:
     
    120120// TARGET returns HALT_PROCESSED when it receives a GO request and has a pending HALT request.
    121121//
    122 #define DEBUG_COMMAND_HALT_DEFERRED               (DEBUG_COMMAND_RESPONSE | 0x05)
    123 #define DEBUG_COMMAND_HALT_PROCESSED              (DEBUG_COMMAND_RESPONSE | 0x06)
    124 
    125 #define DEBUG_COMMAND_TIMEOUT                     (DEBUG_COMMAND_RESPONSE | 0x07)
    126 #define DEBUG_COMMAND_NOT_SUPPORTED               (DEBUG_COMMAND_RESPONSE | 0x0F)
     122#define DEBUG_COMMAND_HALT_DEFERRED   (DEBUG_COMMAND_RESPONSE | 0x05)
     123#define DEBUG_COMMAND_HALT_PROCESSED  (DEBUG_COMMAND_RESPONSE | 0x06)
     124
     125#define DEBUG_COMMAND_TIMEOUT        (DEBUG_COMMAND_RESPONSE | 0x07)
     126#define DEBUG_COMMAND_NOT_SUPPORTED  (DEBUG_COMMAND_RESPONSE | 0x0F)
    127127
    128128//
    129129// Definition for data field for debug packets
    130130//
    131 #define DEBUG_DATA_UPPER_LIMIT                    0xff  // Upper limit for the data size, by the limit of the packet header definition.
    132 
    133 #define DEBUG_DATA_MAXIMUM_REAL_DATA              (DEBUG_DATA_UPPER_LIMIT - sizeof (DEBUG_PACKET_HEADER))
     131#define DEBUG_DATA_UPPER_LIMIT  0xff                    // Upper limit for the data size, by the limit of the packet header definition.
     132
     133#define DEBUG_DATA_MAXIMUM_REAL_DATA  (DEBUG_DATA_UPPER_LIMIT - sizeof (DEBUG_PACKET_HEADER))
    134134
    135135//
     
    137137//
    138138typedef struct {
    139   UINT8       Cause;
    140   UINT64      StopAddress;
     139  UINT8     Cause;
     140  UINT64    StopAddress;
    141141} DEBUG_DATA_RESPONSE_BREAK_CAUSE;
    142142//
     
    158158//
    159159typedef struct {
    160   UINT8       CpuMode;
     160  UINT8    CpuMode;
    161161} DEBUG_DATA_RESPONSE_ARCH_MODE;
    162162//
    163163// Cpu architecture definitions for DEBUG_DATA_RESPONSE_ARCH_MODE
    164164//
    165 #define DEBUG_DATA_BREAK_CPU_ARCH_IA16        0
    166 #define DEBUG_DATA_BREAK_CPU_ARCH_IA32        1
    167 #define DEBUG_DATA_BREAK_CPU_ARCH_X64         2
    168 
    169 typedef struct {
    170   UINT8  Length:2;                   // Refer to below DEBUG_DATA_BREAKPOINT_LENGTH_XX macros
    171   UINT8  Access:2;                   // Refer to below DEBUG_DATA_BREAKPOINT_ACCESS_XX macros
    172   UINT8  Index:2;                    // Index of debug register
    173   UINT8  Reserved:2;
     165#define DEBUG_DATA_BREAK_CPU_ARCH_IA16  0
     166#define DEBUG_DATA_BREAK_CPU_ARCH_IA32  1
     167#define DEBUG_DATA_BREAK_CPU_ARCH_X64   2
     168
     169typedef struct {
     170  UINT8    Length   : 2;             // Refer to below DEBUG_DATA_BREAKPOINT_LENGTH_XX macros
     171  UINT8    Access   : 2;             // Refer to below DEBUG_DATA_BREAKPOINT_ACCESS_XX macros
     172  UINT8    Index    : 2;             // Index of debug register
     173  UINT8    Reserved : 2;
    174174} DEBUG_DATA_BREAKPOINT_TYPE;
    175 #define DEBUG_DATA_BREAKPOINT_MEMORY_ACCESS    (0x3)
    176 #define DEBUG_DATA_BREAKPOINT_IO_ACCESS        (0x2)
    177 #define DEBUG_DATA_BREAKPOINT_MEMORY_WRITE     (0x1)
    178 #define DEBUG_DATA_BREAKPOINT_MEMORY_EXECUTE   (0x0)
    179 #define DEBUG_DATA_BREAKPOINT_LENGTH_32        (0x3)
    180 #define DEBUG_DATA_BREAKPOINT_LENGTH_64        (0x2)
    181 #define DEBUG_DATA_BREAKPOINT_LENGTH_16        (0x1)
    182 #define DEBUG_DATA_BREAKPOINT_LENGTH_8         (0x0)
     175#define DEBUG_DATA_BREAKPOINT_MEMORY_ACCESS   (0x3)
     176#define DEBUG_DATA_BREAKPOINT_IO_ACCESS       (0x2)
     177#define DEBUG_DATA_BREAKPOINT_MEMORY_WRITE    (0x1)
     178#define DEBUG_DATA_BREAKPOINT_MEMORY_EXECUTE  (0x0)
     179#define DEBUG_DATA_BREAKPOINT_LENGTH_32       (0x3)
     180#define DEBUG_DATA_BREAKPOINT_LENGTH_64       (0x2)
     181#define DEBUG_DATA_BREAKPOINT_LENGTH_16       (0x1)
     182#define DEBUG_DATA_BREAKPOINT_LENGTH_8        (0x0)
    183183
    184184//
     
    186186//
    187187typedef struct {
    188   DEBUG_DATA_BREAKPOINT_TYPE Type;
    189   UINT64                     Address;
     188  DEBUG_DATA_BREAKPOINT_TYPE    Type;
     189  UINT64                        Address;
    190190} DEBUG_DATA_SET_HW_BREAKPOINT;
    191191
     
    194194//
    195195typedef struct {
    196   UINT8                      IndexMask;  // 0x0f will clear all hw breakpoints
     196  UINT8    IndexMask;                    // 0x0f will clear all hw breakpoints
    197197} DEBUG_DATA_CLEAR_HW_BREAKPOINT;
    198198
     
    201201//
    202202typedef struct {
    203   UINT64                     Address;
     203  UINT64    Address;
    204204} DEBUG_DATA_SET_SW_BREAKPOINT;
    205205
    206206typedef struct {
    207   UINT8                      OriginalData;
     207  UINT8    OriginalData;
    208208} DEBUG_DATA_RESPONSE_SET_SW_BREAKPOINT;
    209209
     
    212212//
    213213typedef struct {
    214   UINT64                     Address;
    215   UINT8                      Width;
    216   UINT16                     Count;
     214  UINT64    Address;
     215  UINT8     Width;
     216  UINT16    Count;
    217217} DEBUG_DATA_READ_MEMORY;
    218218
     
    221221//
    222222typedef struct {
    223   UINT64                     Address;
    224   UINT8                      Width;
    225   UINT16                     Count;
    226   UINT8                      Data[1];  // The actual length is (Width * Count)
     223  UINT64    Address;
     224  UINT8     Width;
     225  UINT16    Count;
     226  UINT8     Data[1];                   // The actual length is (Width * Count)
    227227} DEBUG_DATA_WRITE_MEMORY;
    228228
     
    231231//
    232232typedef struct {
    233   UINT64                     Port;
    234   UINT8                      Width;
     233  UINT64    Port;
     234  UINT8     Width;
    235235} DEBUG_DATA_READ_IO;
    236236
    237237typedef struct {
    238   UINT8                      Data[1];  // The actual length depends on the packet header
     238  UINT8    Data[1];                    // The actual length depends on the packet header
    239239} DEBUG_DATA_RESPONSE_READ_IO;
    240240
     
    243243//
    244244typedef struct {
    245   UINT64                     Port;
    246   UINT8                      Width;
    247   UINT8                      Data[1];  // The actual length is Width
     245  UINT64    Port;
     246  UINT8     Width;
     247  UINT8     Data[1];                   // The actual length is Width
    248248} DEBUG_DATA_WRITE_IO;
    249249
     
    252252//
    253253typedef struct {
    254   UINT8                      Index;   // defined as SOFT_DEBUGGER_REGISTER_XX
     254  UINT8    Index;                     // defined as SOFT_DEBUGGER_REGISTER_XX
    255255} DEBUG_DATA_READ_REGISTER;
    256256
     
    259259//
    260260typedef struct {
    261   UINT8                      Index;   // defined as SOFT_DEBUGGER_REGISTER_XX
    262   UINT8                      Length;
    263   UINT8                      Data[1]; // The actual length is Length
     261  UINT8    Index;                     // defined as SOFT_DEBUGGER_REGISTER_XX
     262  UINT8    Length;
     263  UINT8    Data[1];                  // The actual length is Length
    264264} DEBUG_DATA_WRITE_REGISTER;
    265265
     
    268268//
    269269typedef struct {
    270   UINT32                     Index;
     270  UINT32    Index;
    271271} DEBUG_DATA_READ_MSR;
    272272
    273273typedef struct {
    274   UINT64                     Value;
     274  UINT64    Value;
    275275} DEBUG_DATA_RESPONSE_READ_MSR;
    276276
     
    279279//
    280280typedef struct {
    281   UINT32                     Index;
    282   UINT64                     Value;
     281  UINT32    Index;
     282  UINT64    Value;
    283283} DEBUG_DATA_WRITE_MSR;
    284284
     
    287287//
    288288typedef struct {
    289   UINT32                    Revision;
    290   UINT32                    Capabilities;
     289  UINT32    Revision;
     290  UINT32    Capabilities;
    291291} DEBUG_DATA_RESPONSE_GET_REVISION;
    292292
     
    295295//
    296296typedef struct {
    297   UINT8                     ExceptionNum;
    298   UINT32                    ExceptionData;
     297  UINT8     ExceptionNum;
     298  UINT32    ExceptionData;
    299299} DEBUG_DATA_RESPONSE_GET_EXCEPTION;
    300300
     
    303303//
    304304typedef struct {
    305   UINT8                    Key;
    306   UINT8                    Value;
     305  UINT8    Key;
     306  UINT8    Value;
    307307} DEBUG_DATA_SET_DEBUG_SETTING;
    308308//
     
    315315// Bitmask of print error level for debug message
    316316//
    317 #define DEBUG_AGENT_ERROR     BIT0
    318 #define DEBUG_AGENT_WARNING   BIT1
    319 #define DEBUG_AGENT_INFO      BIT2
    320 #define DEBUG_AGENT_VERBOSE   BIT3
     317#define DEBUG_AGENT_ERROR    BIT0
     318#define DEBUG_AGENT_WARNING  BIT1
     319#define DEBUG_AGENT_INFO     BIT2
     320#define DEBUG_AGENT_VERBOSE  BIT3
    321321
    322322//
     
    324324//
    325325typedef struct {
    326   UINT32                    ViewPoint;     // The index of viewpoint will be set
     326  UINT32    ViewPoint;                     // The index of viewpoint will be set
    327327} DEBUG_DATA_SET_VIEWPOINT;
    328328
     
    331331//
    332332typedef struct {
    333   UINT32                    ViewPoint;     // The index of viewpoint will be returned
     333  UINT32    ViewPoint;                     // The index of viewpoint will be returned
    334334} DEBUG_DATA_RESPONSE_GET_VIEWPOINT;
    335335
     
    338338//
    339339typedef struct {
    340   UINT32                    Eax;           // The value of EAX prior to invoking the CPUID instruction
    341   UINT32                    Ecx;           // The value of ECX prior to invoking the CPUID instruction
     340  UINT32    Eax;                           // The value of EAX prior to invoking the CPUID instruction
     341  UINT32    Ecx;                           // The value of ECX prior to invoking the CPUID instruction
    342342} DEBUG_DATA_CPUID;
    343343
    344344typedef struct {
    345   UINT32                    Eax;           // The value of EAX returned by the CPUID instruction
    346   UINT32                    Ebx;           // The value of EBX returned by the CPUID instruction
    347   UINT32                    Ecx;           // The value of ECX returned by the CPUID instruction
    348   UINT32                    Edx;           // The value of EDX returned by the CPUID instruction
     345  UINT32    Eax;                           // The value of EAX returned by the CPUID instruction
     346  UINT32    Ebx;                           // The value of EBX returned by the CPUID instruction
     347  UINT32    Ecx;                           // The value of ECX returned by the CPUID instruction
     348  UINT32    Edx;                           // The value of EDX returned by the CPUID instruction
    349349} DEBUG_DATA_RESPONSE_CPUID;
    350350
     
    353353//
    354354typedef struct {
    355   UINT64                    Start;
    356   UINT32                    Count;
    357   UINT32                    Alignment;
    358   BOOLEAN                   Positive;      // TRUE to search in higher address memory
    359   UINT8                     DataLength;
    360   UINT8                     Data[1];
     355  UINT64     Start;
     356  UINT32     Count;
     357  UINT32     Alignment;
     358  BOOLEAN    Positive;                     // TRUE to search in higher address memory
     359  UINT8      DataLength;
     360  UINT8      Data[1];
    361361} DEBUG_DATA_SEARCH_SIGNATURE;
    362362
    363363typedef struct {
    364   UINT64                    Address;       // -1 indicates not found
     364  UINT64    Address;                       // -1 indicates not found
    365365} DEBUG_DATA_RESPONSE_SEARCH_SIGNATURE;
    366366
     
    368368
    369369#endif
    370 
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette