surprisingly, opensuse 12.1 requre alignment check support in hardware so I can't disable it by default for all configurations.
but in case you want a few %% of extra emulation performance - it is still possible to disable it with configure option. most guests I saw do not use it !
This commit is contained in:
parent
8b78f6ca2c
commit
e7a4a1bec8
@ -17,11 +17,10 @@ Changes after 2.5.1 release:
|
|||||||
state of the device specified in 'string'
|
state of the device specified in 'string'
|
||||||
- Improved debug dump for pci, pic and vga/cirrus devices
|
- Improved debug dump for pci, pic and vga/cirrus devices
|
||||||
- Added debug dump for pci2isa, floppy and DMA controller devices
|
- Added debug dump for pci2isa, floppy and DMA controller devices
|
||||||
|
- Added TLB to CPU param tree - now it can be browsed from Bochs internal
|
||||||
|
debugger and Bochs debugger GUI through param tree interfaces
|
||||||
|
|
||||||
- Configure and compile
|
- Configure and compile
|
||||||
- Do not compile support for alignment check (#AC exception) by default
|
|
||||||
for CPU emulation performance reasons, the alignment check compilation
|
|
||||||
still can be enabled using configure option --enable-alignment-check.
|
|
||||||
- Moved networking, sound and USB devices to subdirectories in iodev.
|
- Moved networking, sound and USB devices to subdirectories in iodev.
|
||||||
- Moved MWAIT_IS_NOP .bochsrc option from CPUID to CPU so it can be set
|
- Moved MWAIT_IS_NOP .bochsrc option from CPUID to CPU so it can be set
|
||||||
even if cpu was configured using pre-defined CPUDB profile.
|
even if cpu was configured using pre-defined CPUDB profile.
|
||||||
@ -32,11 +31,12 @@ Changes after 2.5.1 release:
|
|||||||
to enable configure with option --enable-e1000
|
to enable configure with option --enable-e1000
|
||||||
- Added PCI network boot ROM support to all network adapters
|
- Added PCI network boot ROM support to all network adapters
|
||||||
- VGA
|
- VGA
|
||||||
- major rewrite of the vga / cirrus code:
|
- Major rewrite of the vga / cirrus code:
|
||||||
- vgacore (shared standard VGA emulation code)
|
- vgacore (shared standard VGA emulation code)
|
||||||
- vga (Bochs VBE and PCI VGA)
|
- vga (Bochs VBE and PCI VGA)
|
||||||
- cirrus (CL-GD 5430 ISA / CL-GD 5446 PCI)
|
- cirrus (CL-GD 5430 ISA / CL-GD 5446 PCI)
|
||||||
- added VGA graphics blinking support
|
- Added VGA graphics blinking support
|
||||||
|
- More accurate vertical retrace emulation (based on the DOSBox implementation)
|
||||||
|
|
||||||
- ROM BIOS
|
- ROM BIOS
|
||||||
- improved PCI boot ROM support (for VGA and other devices)
|
- improved PCI boot ROM support (for VGA and other devices)
|
||||||
|
15
bochs/configure
vendored
15
bochs/configure
vendored
@ -1,5 +1,5 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# From configure.in Id: configure.in 11052 2012-02-20 14:27:45Z vruppert .
|
# From configure.in Id: configure.in 11107 2012-03-25 19:07:17Z sshwarts .
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.68.
|
# Generated by GNU Autoconf 2.68.
|
||||||
#
|
#
|
||||||
@ -23299,10 +23299,17 @@ $as_echo "no" >&6; }
|
|||||||
|
|
||||||
else
|
else
|
||||||
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
if test "$bx_cpu_level" -gt 3; then
|
||||||
$as_echo "no" >&6; }
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||||
$as_echo "#define BX_SUPPORT_ALIGNMENT_CHECK 0" >>confdefs.h
|
$as_echo "yes" >&6; }
|
||||||
|
$as_echo "#define BX_SUPPORT_ALIGNMENT_CHECK 1" >>confdefs.h
|
||||||
|
|
||||||
|
else
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||||
|
$as_echo "no" >&6; }
|
||||||
|
$as_echo "#define BX_SUPPORT_ALIGNMENT_CHECK 0" >>confdefs.h
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -1564,8 +1564,13 @@ AC_ARG_ENABLE(alignment-check,
|
|||||||
fi
|
fi
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
AC_MSG_RESULT(no)
|
if test "$bx_cpu_level" -gt 3; then
|
||||||
AC_DEFINE(BX_SUPPORT_ALIGNMENT_CHECK, 0)
|
AC_MSG_RESULT(yes)
|
||||||
|
AC_DEFINE(BX_SUPPORT_ALIGNMENT_CHECK, 1)
|
||||||
|
else
|
||||||
|
AC_MSG_RESULT(no)
|
||||||
|
AC_DEFINE(BX_SUPPORT_ALIGNMENT_CHECK, 0)
|
||||||
|
fi
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -365,7 +365,7 @@ void BX_CPU_C::handleAlignmentCheck(void)
|
|||||||
{
|
{
|
||||||
if (CPL == 3 && BX_CPU_THIS_PTR cr0.get_AM() && BX_CPU_THIS_PTR get_AC()) {
|
if (CPL == 3 && BX_CPU_THIS_PTR cr0.get_AM() && BX_CPU_THIS_PTR get_AC()) {
|
||||||
#if BX_SUPPORT_ALIGNMENT_CHECK == 0
|
#if BX_SUPPORT_ALIGNMENT_CHECK == 0
|
||||||
BX_PANIC(("Alignment check (#AC exception) was not compiled in !"));
|
BX_PANIC(("WARNING: Alignment check (#AC exception) was not compiled in !"));
|
||||||
#else
|
#else
|
||||||
BX_CPU_THIS_PTR alignment_check_mask = 0xF;
|
BX_CPU_THIS_PTR alignment_check_mask = 0xF;
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user