Bochs/bochs/PARAM_TREE.txt
Dreg 86eff7597d
add iodebug support for all rings complement #64 (#66)
This PR is for "I/O Interface to Bochs Debugger" from ring3 (port range:
**0x8A00 - 0x8A01**)

PR #64 was for E9 HACK (port **0xE9**)

By enabling the iodebug's 'all_rings' option, you can utilize the port
I/O Interface to Bochs Debugger from ring3. This PR allows the code
running inside Bochs (ring3) to monitor memory ranges, trace individual
instructions, and observe register values during execution.


https://bochs.sourceforge.io/doc/docbook/development/debugger-advanced.html

IMO very useful for:

- user-mode sandbox (ex Cuckoo)
- malware analysis
- API/SYSCALL hook/monitor from ring3
- automation + instrumentation from user mode code
...

A complement for PR #64

**This PR is 100% backward compatibility**

![IODEBUG ALL
RINGS](https://github.com/bochs-emu/Bochs/assets/9882181/6308ad0f-c189-43f3-a92b-dccde3542ad6)

btw, @stlintel I'm not certain about:
- if misc is the ideal location for this.. should I create a new
iodebug-option for this?
- should I remove the #if in 'new bx_param_bool_c'?
- the new .bochsrc entry makes sense for you?
2023-08-27 18:34:01 +02:00

315 lines
3.6 KiB
Plaintext

$Id$
Starting from Bochs 2.3 the parameters are organized in a tree structure
instead of a huge flat list. The parameter tree was required for implementing
the save/restore feature, and it gives access to the device state from within
the debugger.
-Volker
Current organization of parameters in the tree
general
config_interface
start_mode
benchmark
dumpstats
restore
restore_path
debug_running
cpu
n_processors
n_cores
n_threads
model
ips
quantum
reset_on_triple_fault
msrs
cpuid_limit_winnt
mwait_is_nop
cpuid
level
family
model
stepping
vendor_string
brand_string
mmx
sep
simd
sse4a
misaligned_sse
avx_f16c
avx_fma
aes
sha
movbe
adx
xsave
xsaveopt
svm
vmx
bmi
xop
fma4
tbm
apic
x86_64
1g_pages
pcid
fsgsbase
smep
smap
mwait
memory
standard
ram
size
rom
path
address
options
vgarom
path
optrom
0
path
addr
1
path
addr
2
path
addr
3
path
addr
optram
0
path
addr
1
path
addr
2
path
addr
3
path
addr
clock_cmos
clock_sync
time0
cmosimage
enabled
path
rtc_init
pci
enabled
chipset
slot
1
2
3
4
5
advopts
pcidev
vendor
device
display
display_library
displaylib_options
private_colormap
fullscreen
screenmode
vga_extension
vga_update_interval
voodoo
enabled
model
keyboard_mouse
keyboard
type
serial_delay
paste_delay
use_mapping
keymap
user_shortcut
mouse
type
enabled
boot_params
boot_drive1
boot_drive2
boot_drive3
floppy_sig_check
floppy
0
devtype
path
type
readonly
status
1
devtype
path
type
readonly
status
ata
0
resources
enabled
ioaddr1
ioaddr2
irq
master
type
path
mode
journal
cylinders
heads
spt
sect_size
status
model
biosdetect
translation
slave
(same options as master)
1
(same options as ata.0)
2
(same options as ata.0)
3
(same options as ata.0)
ports
serial
1
enabled
mode
dev
2
(same options as ports.serial.1)
3
(same options as ports.serial.1)
4
(same options as ports.serial.1)
parallel
1
enabled
outfile
2
(same options as ports.parallel.1)
usb
uhci
enabled
port1
device
options
port2
device
options
ohci
(same options as ports.usb.uhci)
ehci
(same options as ports.usb.uhci)
xhci
(same options as ports.usb.uhci)
network
ne2k
enabled
ioaddr
irq
macaddr
ethmod
ethdev
script
bootrom
pnic
enabled
macaddr
ethmod
ethdev
script
bootrom
e1000
enabled
macaddr
ethmod
ethdev
script
bootrom
sound
lowlevel
waveoutdrv
waveout
waveindrv
wavein
midioutdrv
midiout
speaker
enabled
mode
sb16
enabled
midimode
midifile
wavemode
wavefile
log
loglevel
dmatimer
es1370
enabled
midimode
midifile
wavemode
wavefile
misc
port_e9_hack
port_e9_hack_all_rings
iodebug_all_rings
gdbstub
port
text_base
data_base
bss_base
log
filename
prefix
debugger_filename
menu
disk
disk_win32
memory
runtime
cdrom
usb
misc
bochs
(subtree containing Bochs state)
user
(subtree for user-defined options)