cvkcmd_s
Appearance
Data associated with the kernel debugger communications protocol.
Type
USHORT Cmd ULONG Value ULONG OffV USHORT SegV USHORT MTE USHORT PID USHORT TID USHORT DBit RegSA_struc Reg UCHAR MemCache
C Declaration Method
typedef struct
Fields
- Cmd
- Command, One of the following:
Command | Code | Description | CVK_CMDSIZE_ | CVK_RETSIZE_ |
---|---|---|---|---|
CVK_CMD_RMEM | 1 | Read memory | 18 | 20 |
CVK_CMD_RREG | 3 | Read registers | 18 | 24 + sizeof( RegSa_ struc) |
CVK_CMD_WMEM | 4 | Write memory | 20 | 6 |
CVK_CMD_WREG | 6 | Write registers | 20 + sizeof( RegSa_ struc) |
2 |
CVK_CMD_RUN | 7 | Resume execution | 6 | 0 |
CVK_CMD_KILL | 8 | Reboot victim machine |
2 | 0 |
CVK_CMD_STEP | 9 | Single step | 2 | 0 |
CVK_CMD_NUMTOBASE | 13 | Get object/segment information |
14 | 14 |
CVK_CMD_LIBNAME | 16 | Get module information |
6 | 6 |
CVK_CMD_RAW | 20 | Perform kernel debugger command |
6 | |
CVK_CMD_DBIT | 22 | Get selector information |
20 | |
CVK_CMD_RSTEP | 23 | Range step | 10 | 0 |
CVK_CMD_SCANMTE | 24 | Scan module table | 2 | 6 |
CVK_CMD_SCANTCB | 25 | Scan thread control blocks |
6 | 10 |
CVK_CMD_SEL2LIN | 26 | Convert selector:offset to linear address. |
18 | 6 |
CVK_CMD_LIN2SEL | 27 | Convert linear address to selector:offset. |
18 | 12 |
CVK_CMD_OBJCOUNT | 28 | Get number of objects/segments in module |
6 | 6 |
CVK_CMD_SCANOBJ | 29 | Scan object/segment table |
14 | 10 |
CVK_CMD_SELINFO | 30 | Get selector information |
18 | 20 |
CVK_CMD_RNPX | 31 | Read NPX state | 18 | 128 |
CVK_CMD_WNPX | 32 | Write NPX state | 128 | 60 |
CVK_CMD_ENA | 33 | Enable optional features |
6 | 2 |
CVK_CMD_DIS | 34 | Disable optional features |
6 | 2 |
CVK_CMD_PIREG | 35 | Register for PAGEIN notification |
14 | 2 |
CVK_CMD_PIDRG | 36 | Deregister for PAGEIN notification |
14 | 2 |
┌────────────────────┬─────┬────────────────────┬────────┬────────┐ │Command │Code │Description │CVK_ │CVK_ │ │ │ │ │CMDSIZE_│RETSIZE_│ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_RMEM │ 1 │Read memory │18 │20 │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_RREG │ 3 │Read registers │18 │24 + │ │ │ │ │ │sizeof( │ │ │ │ │ │RegSa_ │ │ │ │ │ │struc) │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_WMEM │ 4 │Write memory │20 │6 │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_WREG │ 6 │Write registers │20 + │2 │ │ │ │ │sizeof( │ │ │ │ │ │RegSa_ │ │ │ │ │ │struc) │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_RUN │ 7 │Resume execution │6 │0 │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_KILL │ 8 │Reboot victim │2 │0 │ │ │ │machine │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_STEP │ 9 │Single step │2 │0 │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_NUMTOBASE │13 │Get object/segment │14 │14 │ │ │ │information │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_LIBNAME │16 │Get module │6 │6 │ │ │ │information │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_RAW │20 │Perform kernel │6 │ │ │ │ │debugger command │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_DBIT │22 │Get selector │20 │ │ │ │ │information │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_RSTEP │23 │Range step │10 │0 │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_SCANMTE │24 │Scan module table │2 │6 │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_SCANTCB │25 │Scan thread control │6 │10 │ │ │ │blocks │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_SEL2LIN │26 │Convert │18 │6 │ │ │ │selector:offset to │ │ │ │ │ │linear address. │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_LIN2SEL │27 │Convert linear │18 │12 │ │ │ │address to │ │ │ │ │ │selector:offset. │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_OBJCOUNT │28 │Get number of │6 │6 │ │ │ │objects/segments in │ │ │ │ │ │module │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_SCANOBJ │29 │Scan object/segment │14 │10 │ │ │ │table │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_SELINFO │30 │Get selector │18 │20 │ │ │ │information │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_RNPX │31 │Read NPX state │18 │128 │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_WNPX │32 │Write NPX state │128 │60 │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_ENA │33 │Enable optional │6 │2 │ │ │ │features │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_DIS │34 │Disable optional │6 │2 │ │ │ │features │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_PIREG │35 │Register for PAGEIN │14 │2 │ │ │ │notification │ │ │ ├────────────────────┼─────┼────────────────────┼────────┼────────┤ │CVK_CMD_PIDRG │36 │Deregister for │14 │2 │ │ │ │PAGEIN notification │ │ │ └────────────────────┴─────┴────────────────────┴────────┴────────┘
- Value
- Value, command dependent.
- OffV
- Command dependent, usually a linear address.
- SegV
- Command dependent. Usually slot number of thread.
- MTE
- Module Table Entry
- PID
- Process Identifier
- TID
- Thread Identifier
- DBit
- Flags from the CS selector.
- Reg
- Register save area
MemCache Data area used for variable length data in a command or response. Maximum size of the data is CVK_MEMCACHE_SIZE (512).