Jump to content

Cvkcmd s

From EDM2
Revision as of 22:36, 23 November 2016 by Ak120 (talk | contribs)

cvkcmd_s

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