49664f7503
tries to fix it. The shortcuts to register names such as AX and DL are #defines in cpu/cpu.h, and they are defined in terms of BX_CPU_THIS_PTR. When BX_USE_CPU_SMF=1, this works fine. (This is what bochs used for a long time, and nobody used the SMF=0 mode at all.) To make SMP bochs work, I had to get SMF=0 mode working for the CPU so that there could be an array of cpus. When SMF=0 for the CPU, BX_CPU_THIS_PTR is defined to be "this->" which only works within methods of BX_CPU_C. Code outside of BX_CPU_C must reference BX_CPU(num) instead. - to try to enforce the correct use of AL/AX/DL/etc. shortcuts, they are now only #defined when "NEED_CPU_REG_SHORTCUTS" is #defined. This is only done in the cpu/*.cc code. |
||
---|---|---|
.. | ||
crc.cc | ||
dbg_main.cc | ||
debug.h | ||
lexer.c | ||
lexer.l | ||
linux.cc | ||
linux.h | ||
loader_misc.h | ||
make-syscalls-linux.pl | ||
Makefile.in | ||
parser.c | ||
parser.h | ||
parser.y | ||
sim2.cc | ||
syscalls-linux.h |