Menu

Commands

Fox Cutter

At the moment the command list for BootDebug is rather limited, but it will expand as the program is fleshed out. Additionally the parameter parsing is a bit weak and will have to be improved to properly support things like ranges.

All numeric input is in hexadecimal.

Addresses

There are three different ways to enter an address in a command, depending on what you want to do.

  • Literal This is simply an address. IE: D 00100000
  • Relative This will allow you to have an address relative to the current address. You can prefix the address value with + or - to add are subtracted the value from the current address. IE: D +100 or D -100
  • Current If you want to use the current address, you can use the value of : by itself. IE: D :

Dump

The dump command displays the contents of a given memory location. It should be able to print any memory that accessible inside of the 32-bit address space.

D[b|w|d|q] [Address] [Length]

[b|w|d|q]: Display as Byte data, Word data DWord data or QWord Data. Byte data is the default.

[Address]: The address to begin the dump at. If not provided it will start at the current address.

[Length]: The number of bytes to dump, the default is 0x80.

Searches for data in memory

S[b|w|d|q] Address Length Value

[b|w|d|q]: Search for Byte data, Word data or DWord data. Byte data is the default.

Address: the address to start the search

Length: How many bytes to search over

Value: The data to search for. This can be provided as a quoted string (but only with byte data), or as a list of hex values separated by a space.

Enter

Enters data into memory

S[b|w|d|q] Address Value

[b|w|d|q]: Enter Byte data, Word data or DWord data. Byte data is the default.

Address: the address to enter the data

Value: The data to enter. This can be provided as a quoted string (but only with byte data), or as a list of hex values separated by a space.

Register

Displays or modifies system registers.

R CR[0,2-4] [Value]

This version of the command will display the value of the provided CR register.

[Value]: The value to set the register to instead of displaying it.


R MRS Register [Value]

This version of the command will display the value of the provided Machine Specific Register.

Register: The register to display

[Value]: The 64-bit value to set the register to instead of displaying it.

NOTE: If the Register is in valid, the system will generate a GPF fault as well as list an error. This is expected behavior at the moment.

Input

Reads an IO port and displays the value.

I[b|w|d] Port

[b|w|d]: Display as Byte data, Word data or Dword data. Dword data is the default.

Port: The port to read from.

Output:

Writes to an IO port.

O[b|w|d] Port Value

[b|w|d]: Write as Byte data, Word data or Dword data. Dword data is the default.

Port: The port to read from.

Value: The value to write

Information

Displays information on a part of the system and allows some editing if necessary.

N MP

Displays the contents of the Multi-Processor data table.


N PCI [DeviceID] [Register] [Value]

PCI: Enumerates the PCI bus display information about each attached device.

[DeviceID]: Displays all the information about a device based on the ID.

[Register]: Displays the 32-bit value of a configuration register.

[Value]: Sets the Configuration register to this 32-bit value.


N CPUID [ParamID] [Supplemental ParamID]

This displays the CUPID information, if not parameters are provided it will display the decoded information for ParamID 0

[ParamID]: The Parameter ID to display

[Supplemental ParamID]: The Supplemental Parameter ID, used with some calls.

Future Commands

Fill (F): Fills memory
Disassemble (U): Disassembles code in memory
Assemble (A): A (limited) assembler
Expanded Memory (X): Allows swamping of memory above 4G into the 32-bit address space.
Registers (R) Displays and modifies registers GPR registers
Load Data (L): Loads data into memory, possibly from disk or a COM port.
Write Data (W): Writes data out of memory, possibly to a disk or to a COM port.


Related

Wiki: Home

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.