Jump to content

Cvkcmd s: Difference between revisions

From EDM2
Ak120 (talk | contribs)
mNo edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 19: Line 19:
=== Fields ===
=== Fields ===
;Cmd:Command, One of the following:  
;Cmd:Command, One of the following:  
┌────────────────────┬─────┬────────────────────┬────────┬────────┐
{| class="wikitable"
│Command            │Code │Description        │CVK_    │CVK_    │
! Command !!Code !! Description !! CVK_CMDSIZE_ !! CVK_RETSIZE_
│                    │    │                    │CMDSIZE_│RETSIZE_│
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_RMEM || 1 || Read memory || 18 || 20
│CVK_CMD_RMEM        │ 1   │Read memory         │18      │20      │
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_RREG || 3 || Read registers || 18 || 24 +<br />sizeof(<br />RegSa_<br />struc)
│CVK_CMD_RREG        │ 3   │Read registers     │18      │24 +   │
|-
│                    │    │                    │        │sizeof(
| CVK_CMD_WMEM || 4 || Write memory || 20 || 6
│                    │    │                    │        │RegSa_  │
|-
│                    │    │                    │        │struc)
| CVK_CMD_WREG || 6 || Write registers || 20 +<br />sizeof(<br />RegSa_<br />struc) || 2
├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
│CVK_CMD_WMEM        │ 4   │Write memory       │20      │6      │
| CVK_CMD_RUN || 7 || Resume execution || 6 || 0
├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
│CVK_CMD_WREG        │ 6   │Write registers     │20 +   │2      │
| CVK_CMD_KILL || 8 || Reboot victim<br />machine || 2 || 0
│                    │    │                    │sizeof( │        │
|-
│                    │    │                    │RegSa_  │        │
| CVK_CMD_STEP || 9 || Single step || 2 || 0
│                    │    │                    │struc) │        │
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_NUMTOBASE || 13 || Get object/segment<br />information || 14 || 14
│CVK_CMD_RUN        │ 7   │Resume execution   │6      │0      │
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_LIBNAME || 16 || Get module<br />information || 6 || 6
│CVK_CMD_KILL        │ 8   │Reboot victim       │2      │0      │
|-
│                    │    │machine            │        │        │
| CVK_CMD_RAW || 20 || Perform kernel<br />debugger command || 6 ||
├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
│CVK_CMD_STEP        │ 9   │Single step         │2      │0      │
| CVK_CMD_DBIT || 22 || Get selector<br />information || 20 ||
├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
│CVK_CMD_NUMTOBASE  │13  │Get object/segment │14      │14      │
| CVK_CMD_RSTEP || 23 || Range step || 10 || 0
│                    │    │information        │        │        │
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_SCANMTE || 24 || Scan module table || 2 || 6
│CVK_CMD_LIBNAME    │16  │Get module         │6      │6      │
|-
│                    │    │information        │        │        │
| CVK_CMD_SCANTCB || 25 || Scan thread control<br />blocks || 6 || 10
├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
│CVK_CMD_RAW        │20  │Perform kernel     │6      │        │
| CVK_CMD_SEL2LIN || 26 || Convert<br />selector:offset to<br />linear address. || 18 || 6
│                    │    │debugger command   │        │        │
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_LIN2SEL || 27 || Convert linear<br />address to<br />selector:offset. || 18 || 12
│CVK_CMD_DBIT        │22  │Get selector       │20      │        │
|-
│                    │    │information        │        │        │
| CVK_CMD_OBJCOUNT || 28 || Get number of<br />objects/segments in<br />module || 6 || 6
├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
│CVK_CMD_RSTEP      │23  │Range step         │10      │0      │
| CVK_CMD_SCANOBJ || 29 || Scan object/segment<br />table || 14 || 10
├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
│CVK_CMD_SCANMTE    │24  │Scan module table   │2      │6      │
| CVK_CMD_SELINFO || 30 || Get selector<br />information || 18 || 20
├────────────────────┼─────┼────────────────────┼────────┼────────┤
|-
│CVK_CMD_SCANTCB    │25  │Scan thread control │6      │10      │
| CVK_CMD_RNPX || 31 || Read NPX state || 18 || 128
│                    │    │blocks              │        │        │
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_WNPX || 32 || Write NPX state || 128 || 60
│CVK_CMD_SEL2LIN    │26  │Convert            │18      │6      │
|-
│                    │    │selector:offset to │        │        │
| CVK_CMD_ENA || 33 || Enable optional<br />features || 6 || 2
│                    │    │linear address.     │        │        │
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_DIS || 34 || Disable optional<br />features || 6 || 2
│CVK_CMD_LIN2SEL    │27  │Convert linear     │18      │12      │
|-
│                    │    │address to         │        │        │
| CVK_CMD_PIREG || 35 || Register for PAGEIN<br />notification || 14 || 2
│                    │    │selector:offset.   │        │        │
|-
├────────────────────┼─────┼────────────────────┼────────┼────────┤
| CVK_CMD_PIDRG || 36 || Deregister for<br />PAGEIN notification || 14 || 2
│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.  
;Value:Value, command dependent.  
;OffV:Command dependent, usually a linear address.  
;OffV:Command dependent, usually a linear address.  

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).