Cvkcmd s: Difference between revisions
Appearance
mNo edit summary |
|||
Line 19: | Line 19: | ||
=== Fields === | === Fields === | ||
;Cmd:Command, One of the following: | ;Cmd:Command, One of the following: | ||
{| class="wikitable" | |||
! Command !!Code !! Description !! CVK_CMDSIZE_ !! CVK_RETSIZE_ | |||
|- | |||
| CVK_CMD_RMEM || 1 || Read memory || 18 || 20 | |||
|- | |||
| CVK_CMD_RREG || 3 || Read registers || 18 || 24 +<br />sizeof(<br />RegSa_<br />struc) | |||
|- | |||
| CVK_CMD_WMEM || 4 || Write memory || 20 || 6 | |||
|- | |||
| CVK_CMD_WREG || 6 || Write registers || 20 +<br />sizeof(<br />RegSa_<br />struc) || 2 | |||
|- | |||
| CVK_CMD_RUN || 7 || Resume execution || 6 || 0 | |||
|- | |||
| CVK_CMD_KILL || 8 || Reboot victim<br />machine || 2 || 0 | |||
|- | |||
| CVK_CMD_STEP || 9 || Single step || 2 || 0 | |||
|- | |||
| CVK_CMD_NUMTOBASE || 13 || Get object/segment<br />information || 14 || 14 | |||
|- | |||
| CVK_CMD_LIBNAME || 16 || Get module<br />information || 6 || 6 | |||
|- | |||
| CVK_CMD_RAW || 20 || Perform kernel<br />debugger command || 6 || | |||
|- | |||
| CVK_CMD_DBIT || 22 || Get selector<br />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<br />blocks || 6 || 10 | |||
|- | |||
| CVK_CMD_SEL2LIN || 26 || Convert<br />selector:offset to<br />linear address. || 18 || 6 | |||
|- | |||
| CVK_CMD_LIN2SEL || 27 || Convert linear<br />address to<br />selector:offset. || 18 || 12 | |||
|- | |||
| CVK_CMD_OBJCOUNT || 28 || Get number of<br />objects/segments in<br />module || 6 || 6 | |||
|- | |||
| CVK_CMD_SCANOBJ || 29 || Scan object/segment<br />table || 14 || 10 | |||
|- | |||
| CVK_CMD_SELINFO || 30 || Get selector<br />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<br />features || 6 || 2 | |||
|- | |||
| CVK_CMD_DIS || 34 || Disable optional<br />features || 6 || 2 | |||
|- | |||
| CVK_CMD_PIREG || 35 || Register for PAGEIN<br />notification || 14 || 2 | |||
|- | |||
| CVK_CMD_PIDRG || 36 || Deregister for<br />PAGEIN notification || 14 || 2 | |||
|} | |||
┌────────────────────┬─────┬────────────────────┬────────┬────────┐ | ┌────────────────────┬─────┬────────────────────┬────────┬────────┐ | ||
│Command │Code │Description │CVK_ │CVK_ │ | │Command │Code │Description │CVK_ │CVK_ │ |
Revision as of 17:39, 19 May 2025
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).