<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Commands</title><link>https://sourceforge.net/p/bootdebug/wiki/Commands/</link><description>Recent changes to Commands</description><atom:link href="https://sourceforge.net/p/bootdebug/wiki/Commands/feed" rel="self"/><language>en</language><lastBuildDate>Thu, 24 Apr 2014 20:37:10 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/bootdebug/wiki/Commands/feed" rel="self" type="application/rss+xml"/><item><title>Commands modified by Fox Cutter</title><link>https://sourceforge.net/p/bootdebug/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -2,24 +2,26 @@

 All numeric input is in hexadecimal.

-Quit
+Addresses
 ------------
-Exits the program if being run under Windows, otherwise just restarts the debug portion. Pretty much useless at the moment and will eventually be removed.
+There are three different ways to enter an address in a command, depending on what you want to do.

-Q
+* **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\] \[Address\] \[Length\]
+D\[b|w|d|q\] \[Address\] \[Length\]

-\[b|w|d\]: Display as Byte data, Word data or DWord data. Byte data is the default.
+\[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 continue from where the last dump ended (starting at 0x100000)
+\[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
+\[Length\]: The number of bytes to dump, the default is 0x80.

@@ -28,15 +30,56 @@

 Searches for data in memory

-S Address Length Value
+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 (currently as a literal) to search for.
+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
 ------------
@@ -70,15 +113,15 @@

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

-N MP|PCI \[Options\]
+N MP

-MP: Displays the contents of the Multi Processor data table.
+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. 
-
-\[Options\]: PCI commands have a number of options
-
-N PCI \[DeviceID\] \[Register\] \[Value\]

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

@@ -86,19 +129,24 @@

 \[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
 ------------

-Enter (E): changes the value of memory
 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.
-CPUID (N CPUID): direct access to the CPUID opcode.
-Registers (R) Displays and modifies registers, including GPR, Control and Model Specific Registers
+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. 
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fox Cutter</dc:creator><pubDate>Thu, 24 Apr 2014 20:37:10 -0000</pubDate><guid>https://sourceforge.neta794a87b5a3d0d3216322f34f6c1d0b1d4da5468</guid></item><item><title>Commands modified by Fox Cutter</title><link>https://sourceforge.net/p/bootdebug/wiki/Commands/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;All numeric input is in hexadecimal.&lt;/p&gt;
&lt;h2 id="quit"&gt;Quit&lt;/h2&gt;
&lt;p&gt;Exits the program if being run under Windows, otherwise just restarts the debug portion. Pretty much useless at the moment and will eventually be removed.&lt;/p&gt;
&lt;p&gt;Q&lt;/p&gt;
&lt;h2 id="dump"&gt;Dump&lt;/h2&gt;
&lt;p&gt;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. &lt;/p&gt;
&lt;p&gt;D[b|w|d] [Address] [Length]&lt;/p&gt;
&lt;p&gt;[b|w|d]: Display as Byte data, Word data or DWord data. Byte data is the default.&lt;/p&gt;
&lt;p&gt;[Address]: The address to begin the dump at. If not provided it will continue from where the last dump ended (starting at 0x100000)&lt;/p&gt;
&lt;p&gt;[Length]: The number of bytes to dump, the default is 0x80&lt;/p&gt;
&lt;h2 id="search"&gt;Search&lt;/h2&gt;
&lt;p&gt;Searches for data in memory&lt;/p&gt;
&lt;p&gt;S Address Length Value&lt;/p&gt;
&lt;p&gt;Address: the address to start the search&lt;/p&gt;
&lt;p&gt;Length: How many bytes to search over&lt;/p&gt;
&lt;p&gt;Value: The data (currently as a literal) to search for.&lt;/p&gt;
&lt;h2 id="input"&gt;Input&lt;/h2&gt;
&lt;p&gt;Reads an IO port and displays the value.&lt;/p&gt;
&lt;p&gt;I[b|w|d] Port&lt;/p&gt;
&lt;p&gt;[b|w|d]: Display as Byte data, Word data or Dword data. Dword data is the default.&lt;/p&gt;
&lt;p&gt;Port: The port to read from.&lt;/p&gt;
&lt;p&gt;Output:&lt;/p&gt;
&lt;p&gt;Writes to an IO port.&lt;/p&gt;
&lt;p&gt;O[b|w|d] Port Value&lt;/p&gt;
&lt;p&gt;[b|w|d]: Write as Byte data, Word data or Dword data. Dword data is the default.&lt;/p&gt;
&lt;p&gt;Port: The port to read from.&lt;/p&gt;
&lt;p&gt;Value: The value to write&lt;/p&gt;
&lt;h2 id="information"&gt;Information&lt;/h2&gt;
&lt;p&gt;Displays information on a part of the system and allows some editing if necessary.&lt;/p&gt;
&lt;p&gt;N MP|PCI [Options]&lt;/p&gt;
&lt;p&gt;MP: Displays the contents of the Multi Processor data table.&lt;/p&gt;
&lt;p&gt;PCI: Enumerates the PCI bus display information about each attached device. &lt;/p&gt;
&lt;p&gt;[Options]: PCI commands have a number of options&lt;/p&gt;
&lt;p&gt;N PCI [DeviceID] [Register] [Value]&lt;/p&gt;
&lt;p&gt;[DeviceID]: Displays all the information about a device based on the ID.&lt;/p&gt;
&lt;p&gt;[Register]: Displays the 32-bit value of a configuration register.&lt;/p&gt;
&lt;p&gt;[Value]: Sets the Configuration register to this 32-bit value.&lt;/p&gt;
&lt;h2 id="future-commands"&gt;Future Commands&lt;/h2&gt;
&lt;p&gt;Enter (E): changes the value of memory&lt;br /&gt;
Fill (F): Fills memory&lt;br /&gt;
Disassemble (U): Disassembles code in memory&lt;br /&gt;
Assemble (A): A (limited) assembler&lt;br /&gt;
Expanded Memory (X): Allows swamping of memory above 4G into the 32-bit address space.&lt;br /&gt;
CPUID (N CPUID): direct access to the CPUID opcode.&lt;br /&gt;
Registers (R) Displays and modifies registers, including GPR, Control and Model Specific Registers&lt;br /&gt;
Load Data (L): Loads data into memory, possibly from disk or a COM port. &lt;br /&gt;
Write Data (W): Writes data out of memory, possibly to a disk or to a COM port. &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Fox Cutter</dc:creator><pubDate>Thu, 27 Mar 2014 22:52:22 -0000</pubDate><guid>https://sourceforge.netb1807dace63c7777afa941ee33d577e67b0edc52</guid></item></channel></rss>