Cvkcmd s: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE:cvkcmd_s}} | |||
Data associated with the kernel debugger communications protocol. | Data associated with the kernel debugger communications protocol. | ||
=== Type === | === 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 ==== | ==== C Declaration Method ==== | ||
typedef struct | typedef struct | ||
=== Fields === | === Fields === | ||
;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 | |||
|} | |||
;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). | |||
[[Category: | [[Category:Data type]] |
Latest revision as of 17:40, 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 |
- 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).