Bochs 2.5.1 patch release

This forums is for OS project announcements including project openings, new releases, update notices, test requests, and job openings (both paying and volunteer).
Post Reply
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Bochs 2.5.1 patch release

Post by stlw »

Bochs 2.5.1 patch release was issued on January 6th 2012.

Changes in 2.5.1 :

- CPU / CPUDB
! Added Athlon64 (Venice) configuration to the CPUDB
- BMI: fixed EFLAGS after BMI instructions
- MSR: access to AMD extended MSR space was impossible due to a bug in RDMSR/WRMSR
- VMX: fixed VMFUNC instruction behavior to align with Intel SDM revision 041
- VMX: fixed Bochs PANIC when doing I/O access crossing VMX I/O permission bitmaps
- VMX: fixed VirtualBox VMX guest Guru Meditation - FS.BASE got corrupted after
saving/restoring unusable FS selector
- VMX: fixed VirtualBox failures with VMX+EPT enabled
- Better report of supported CPUID features when not using pre-defined CPUID profile

- Debugger / Instrumentation
- fixed typo - closing SF bug [3461405] step all command fails in SMP mode
- instrumentation: added special indication for indirect call/jump

- Configure and compile
- fixed compilation err in instrumentation call (tasking.cc)
- fixed compilation err with x86 hw breakpoint enabled and CPU_LEVEL < 6
- fixed compilation issue under win32 --with-nogui
- added missing dependencies for cdrom_osx.o
- removed very old deprecated configure options from configure script

- I/O Devices
- fixed possible failures of PCI DMA transfers
- VVFAT: several fixes in the optional write support (passes test with XP)
- USB UHCI: some fixes to make it work in XP guest
- removed devices 'acpi', 'ioapic' and 'pci_ide' from optional plugin control
to avoid trouble

- Config interface / GUI and display libraries
- added VMX .bochsrc option to control VMX support on runtime
- fix for x86-64 .bochsrc option parsing (patch from @SF)
- fix for @SF bug: Crash on WIN2K - ID: 3454214
- added 'nokeyrepeat' option for the SDL and win32 gui

Stanislav
User avatar
xenos
Member
Member
Posts: 1118
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: Bochs 2.5.1 patch release

Post by xenos »

Nice, great work! :)

I just updated to the newest SVN version and started my build script. Everything works fine, except when I configure with both --enable-x86-64 and --enable-smp enabled. For example, one of the builds I have in my script is:

Code: Select all

./configure --with-x11 --enable-pci --enable-x86-64 --enable-smp
I get this error:

Code: Select all

g++ -c -I.. -I../.. -I./../.. -I../../instrument/stubs -I./../../instrument/stubs -g -O2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES   turion64_tyler.cc -o turion64_tyler.o
turion64_tyler.cc: In constructor ‘turion64_tyler_t::turion64_tyler_t(BX_CPU_C*)’:
turion64_tyler.cc:35: error: ‘BXPN_CPU_NTHREADS’ was not declared in this scope
turion64_tyler.cc:36: error: ‘BXPN_CPU_NCORES’ was not declared in this scope
turion64_tyler.cc:37: error: ‘BXPN_CPU_NPROCESSORS’ was not declared in this scope
make[1]: *** [turion64_tyler.o] Error 1
make[1]: Leaving directory `/data/C/osdev/bochs/cpu/cpudb'
make: *** [cpu/cpudb/libcpudb.a] Error 2
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Re: Bochs 2.5.1 patch release

Post by stlw »

Thanks, fixed.

Stanislav
User avatar
xenos
Member
Member
Posts: 1118
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: Bochs 2.5.1 patch release

Post by xenos »

Compiling works like a charm now :)

One more thing: Have there been any changes to the "port e9 hack" for debugging output? I used to print some debug output to port e9 (and enabled it in my bochsrc file with "port_e9_hack: enabled=1") and it used to work fine, but with the new version I don't get any output.
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
stlw
Member
Member
Posts: 357
Joined: Fri Apr 04, 2008 6:43 am
Contact:

Re: Bochs 2.5.1 patch release

Post by stlw »

XenOS wrote: One more thing: Have there been any changes to the "port e9 hack" for debugging output? I used to print some debug output to port e9 (and enabled it in my bochsrc file with "port_e9_hack: enabled=1") and it used to work fine, but with the new version I don't get any output.
I guess it might be realted to Volker's recent changes in plugins architecture. The port_e9_hack stuff printed from 'unmapped' device which is, I think, not necessary enabled by default now. To be in safe side I would add in .bochsrc:

plugin_ctrl: unmapped=1

Let me know if it is the case.
Anyway, it is probably good idea to write about it in Bochs-Developers mailing to drive Volker's attention. It could be good idea to get some explanation from first hands why things done this way and not another.

Stanislav

P.S. BTW, for SMP configuration you could try to use large 'quantum' values in .bochsrc CPU option to get SMP emulation faster. The default value is 5, setting quantum to 15 could improve emulation speed by 20-50%.
User avatar
xenos
Member
Member
Posts: 1118
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: Bochs 2.5.1 patch release

Post by xenos »

stlw wrote:plugin_ctrl: unmapped=1

Let me know if it is the case.
Thanks, that did the trick.
P.S. BTW, for SMP configuration you could try to use large 'quantum' values in .bochsrc CPU option to get SMP emulation faster. The default value is 5, setting quantum to 15 could improve emulation speed by 20-50%.
Indeed, there is a serious speedup, although it currently doesn't matter so much since my kernel doesn't have any real work to be done yet ;) But I have some L4 kernel with a few benchmark tools and I'll figure out how they are affected by the quantum setting.
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
User avatar
xenos
Member
Member
Posts: 1118
Joined: Thu Aug 11, 2005 11:00 pm
Libera.chat IRC: xenos1984
Location: Tartu, Estonia
Contact:

Re: Bochs 2.5.1 patch release

Post by xenos »

I just tested the L4 benchmarks with 4 CPUs and it turned out that all of them are IPC benchmarks... These are actually much faster if the quantum setting is decreased, which is of course no surprise. However, loading the kernel is much faster if the quantum setting is increased. With 16 CPUs, the effect is even larger.
Programmers' Hardware Database // GitHub user: xenos1984; OS project: NOS
Post Reply