e61d00351f
in BRANCH-smp-bochs revisions. - The general task was to make multiple CPU's which communicate through their APICs. So instead of BX_CPU and BX_MEM, we now have BX_CPU(x) and BX_MEM(y). For an SMP simulation you have several processors in a shared memory space, so there might be processors BX_CPU(0..3) but only one memory space BX_MEM(0). For cosimulation, you could have BX_CPU(0) with BX_MEM(0), then BX_CPU(1) with BX_MEM(1). WARNING: Cosimulation is almost certainly broken by the SMP changes. - to simulate multiple CPUs, you have to give each CPU time to execute in turn. This is currently implemented using debugger guards. The cpu loop steps one CPU for a few instructions, then steps the next CPU for a few instructions, etc. - there is some limited support in the debugger for two CPUs, for example printing information from each CPU when single stepping.
53 lines
1.4 KiB
Bash
Executable File
53 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# These are the steps I typically use to configure and compile Bochs
|
|
# on a Linux x86 system with egcs
|
|
#
|
|
|
|
CC="egcs"
|
|
CXX="c++"
|
|
CFLAGS="-Wall -O2 -fomit-frame-pointer -pipe"
|
|
CXXFLAGS="$CFLAGS"
|
|
|
|
export CC
|
|
export CXX
|
|
export CFLAGS
|
|
export CXXFLAGS
|
|
|
|
./configure --enable-fpu --enable-cdrom --enable-sb16=linux --enable-split-hd
|
|
#./configure --enable-fpu
|
|
#./configure
|
|
#./configure --enable-cdrom --enable-cpu-level=4
|
|
|
|
|
|
#./configure --enable-fpu \
|
|
# --enable-x86-debugger \
|
|
# --enable-debugger \
|
|
# --enable-loader \
|
|
# --enable-disasm
|
|
|
|
#./configure --enable-fpu --enable-cdrom
|
|
# --enable-x86-debugger
|
|
|
|
#--enable-debugger --enable-disasm
|
|
#./configure --enable-fpu --enable-cpu-level=5 \
|
|
# --enable-debugger --enable-disasm
|
|
#./configure
|
|
|
|
#./configure --enable-cpu-level=5
|
|
#./configure --enable-fpu --enable-cpu-level=4
|
|
#./configure --enable-fpu
|
|
#./configure --enable-debugger --enable-disasm --enable-fpu
|
|
|
|
#./configure --enable-fpu
|
|
#./configure --enable-cpu-level=3
|
|
#./configure --enable-cpu-level=3 --enable-fpu
|
|
# --enable-debugger --enable-disasm
|
|
#./configure --enable-pci
|
|
#./configure --enable-debugger --enable-disasm
|
|
#./configure --enable-debugger --enable-disasm --enable-loader
|
|
#./configure --enable-dynamic=i386
|
|
#./configure --enable-debugger --enable-disasm --enable-num-sim=2 --enable-simid=0
|
|
#./configure --enable-debugger --enable-disasm --enable-num-sim=2 --enable-simid=1 --enable-time0=917385580
|
|
#./configure --enable-ne2000
|