Skip to content

Commit 010e5d2

Browse files
committed
2.6.11
1 parent a9a72bb commit 010e5d2

File tree

148 files changed

+8123
-5166
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

148 files changed

+8123
-5166
lines changed

.bochsrc

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@
159159
# IGNORE_BAD_MSRS:
160160
# Ignore MSR references that Bochs does not understand; print a warning
161161
# message instead of generating #GP exception. This option is enabled
162-
# by default but will not be avaiable if configurable MSRs are enabled.
162+
# by default but will not be available if configurable MSRs are enabled.
163163
#
164164
# MWAIT_IS_NOP:
165165
# When this option is enabled MWAIT will not put the CPU into a sleep state.
@@ -371,16 +371,17 @@ memory: guest=512, host=256
371371
# boot menu delay.
372372
#=======================================================================
373373
romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot
374-
#romimage: file=$BXSHARE/bios.bin-1.7.5 # http://www.seabios.org/SeaBIOS
374+
#romimage: file=$BXSHARE/bios.bin-1.13.0 # http://www.seabios.org/SeaBIOS
375375
#romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top
376376

377377
#=======================================================================
378378
# VGAROMIMAGE
379379
# You now need to load a VGA ROM BIOS into C0000.
380380
#=======================================================================
381-
#vgaromimage: file=bios/VGABIOS-elpin-2.40
382381
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
383382
#vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus
383+
#vgaromimage: file=$BXSHARE/vgabios-cirrus.bin-1.13.0 # http://www.seabios.org/SeaVGABIOS
384+
#vgaromimage: file=bios/VGABIOS-elpin-2.40
384385

385386
#=======================================================================
386387
# OPTROMIMAGE[1-4]:
@@ -435,7 +436,7 @@ vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
435436
# This defines the Voodoo Graphics emulation (experimental). Currently
436437
# supported models are 'voodoo1', 'voodoo2', 'banshee' and 'voodoo3'. The
437438
# Voodoo2 support is not yet complete, but almost usable. The Banshee and
438-
# Voodoo3 support is under construction, but basicly usable. The 2D/3D cards
439+
# Voodoo3 support is under construction, but basically usable. The 2D/3D cards
439440
# require an external VGA BIOS the vga extension option to be set to 'voodoo'.
440441
# If the i440BX PCI chipset is selected, they can be assigned to AGP (slot #5).
441442
# The gui screen update timing for all models is controlled by the related 'vga'
@@ -1118,7 +1119,7 @@ speaker: enabled=1, mode=sound
11181119
# The optionsX parameter can be used to assign specific options to the device
11191120
# connected to the corresponding USB port. Currently this feature is used to
11201121
# set the speed reported by device ('low', 'full', 'high' or 'super'). The
1121-
# availabe speed choices depend on both HC and device. The option 'debug' turns
1122+
# available speed choices depend on both HC and device. The option 'debug' turns
11221123
# on debug output for the device at connection time.
11231124
# For the USB 'disk' device the optionsX parameter can be used to specify an
11241125
# alternative redolog file (journal) of some image modes. For 'vvfat' mode USB

.gitignore

Lines changed: 0 additions & 9 deletions
This file was deleted.

CHANGES

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,27 @@
1+
Changes in 2.6.11 (January 5, 2020):
2+
3+
- General
4+
- Added 64-bit support to the NSIS installer script
5+
- Several fixes in the build system based on Debian patches
6+
7+
- CPU / CPUDB
8+
- Bugfixes for CPU emulation correctness
9+
- Many critical bugfixes for Protection Keys, AVX512*, VMX/SVM, SHA, GFNI emulation
10+
! Implemented CET (Control Flow Enforcement Technology) emulation according to Intel SDM rev071
11+
12+
- I/O Devices
13+
- Added missing Cirrus SVGA bitblt feature "transparent color compare"
14+
- Some fixes in HPET emulation (patch by Oleg)
15+
- Fixed disk image lock mechanism in the USB MSD case
16+
17+
- BIOS / VGABIOS
18+
- LGPL'd VGABIOS updated to version 0.7b (Fixed VESA extension 'read EDID'
19+
for Bochs VBE and Cirrus)
20+
- Updated SeaBIOS ROM image to current version 1.13.0
21+
- Added SeaVGABIOS ROM image for the Cirrus adapter
22+
- Bochs BIOS built to work with CPU level 5 again
23+
24+
-------------------------------------------------------------------------
125
Changes in 2.6.10 (December 1, 2019):
226

327
Brief summary :
@@ -53,7 +77,7 @@ Detailed change log :
5377
- Voodoo2 model now working after some fixes and implementation of the
5478
CMDFIFO (using FIFO thread) and one of the bitBLT functions.
5579
- Added Voodoo Banshee / Voodoo3 emulation support (still under construction,
56-
but basicly usable). The AGP models are available if chipset is i440BX.
80+
but basically usable). The AGP models are available if chipset is i440BX.
5781
- Display (general)
5882
- Added basic DDC support for Bochs VBE, Cirrus and Voodoo Banshee / Voodoo3
5983
adapters (reporting plug&play monitor "Bochs Screen").
@@ -1103,7 +1127,7 @@ Detailed change log :
11031127
[2905385] Bochs crash
11041128
[2901481] Instruction SYSRET and SS(PL)
11051129
[2900632] Broken long mode RETF to outer priviledge with null SS
1106-
[1429011] Use bx_phyaddr_t for physaddr vars and bx_adress for lin adr
1130+
[1429011] Use bx_phyaddr_t for physaddr vars and bx_address for lin adr
11071131

11081132
- these S.F. feature requests were closed/implemented
11091133
[2955911] RPM preuninstall scriptlet removes /core
@@ -2010,7 +2034,7 @@ Detailed change log :
20102034

20112035
- CPU
20122036
- fixed XMM registers restore in FXRSTOR instruction (Andrej Palkovsky)
2013-
- print registers dump to the log if tripple fault occured
2037+
- print registers dump to the log if tripple fault occurred
20142038
- fixed PANIC in LTR instruction (Stanislav)
20152039
- added virtual 8086 mode extensions (VME) implementation, to enable
20162040
configure with --enable-vme (Stanislav)
@@ -2528,7 +2552,7 @@ Detailed change log :
25282552
#1112836 PGE-Bit crashes Bochs
25292553
#947586 The specification difference in x86-64 emulation
25302554
#1117145 Push reset Button, APIC0 Error occur
2531-
#1123043 fpu stack pointer changed *despite* fault occured (e.g. #pf)
2555+
#1123043 fpu stack pointer changed *despite* fault occurred (e.g. #pf)
25322556
#1122066 PANIC: iret: IP > descriptor limit when installing os/2 warp
25332557
#809574 rm -f segfaults
25342558
#593952 SuSE rm segfaults
@@ -2706,7 +2730,7 @@ Changes in 2.1.1 (February 8, 2004):
27062730
- notify display libraries on change of bpp (Volker)
27072731
- fix bug in int13h function 0x10 (Volker)
27082732
- fix floppy dialog error on win2k (Volker)
2709-
- fix adress check in TSS IO permission bitmap (Christophe)
2733+
- fix address check in TSS IO permission bitmap (Christophe)
27102734
- fix buffer overflow vulnerability pointed out by SeSoX (Christophe)
27112735
- updates for MacOS compile (Daniel Gimpelevich)
27122736

Makefile.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,14 +41,14 @@ VERSION=@VERSION@
4141
REL_STRING=@REL_STRING@
4242
MAN_PAGE_1_LIST=bochs bximage bochs-dlx
4343
MAN_PAGE_5_LIST=bochsrc
44-
INSTALL_LIST_SHARE=bios/BIOS-bochs-* bios/VGABIOS* bios/SeaBIOS* bios/bios.bin-* @INSTALL_LIST_FOR_PLATFORM@
44+
INSTALL_LIST_SHARE=bios/BIOS-bochs-* bios/VGABIOS* bios/SeaBIOS* bios/bios.bin-* bios/vgabios-cirrus.bin-* @INSTALL_LIST_FOR_PLATFORM@
4545
INSTALL_LIST_DOC=CHANGES COPYING LICENSE README TODO misc/slirp.conf
4646
INSTALL_LIST_BIN=bochs@EXE@ bximage@EXE@
4747
INSTALL_LIST_BIN_OPTIONAL=bochsdbg@EXE@ @OPTIONAL_TARGET@
4848
INSTALL_LIST_WIN32=$(INSTALL_LIST_SHARE) $(INSTALL_LIST_DOC) $(INSTALL_LIST_BIN) $(INSTALL_LIST_BIN_OPTIONAL)
4949
INSTALL_LIST_MACOSX=$(INSTALL_LIST_SHARE) $(INSTALL_LIST_DOC) bochs.scpt
5050
# for win32 and macosx, these files get renamed to *.txt in install process
51-
TEXT_FILE_LIST=README CHANGES COPYING LICENSE TODO VGABIOS-elpin-LICENSE VGABIOS-lgpl-README SeaBIOS-README
51+
TEXT_FILE_LIST=README CHANGES COPYING LICENSE TODO VGABIOS-elpin-LICENSE VGABIOS-lgpl-README SeaBIOS-README SeaVGABIOS-README
5252
CP=cp
5353
CAT=cat
5454
RM=rm

README

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Bochs - The cross platform IA-32 (x86) emulator
2-
Updated: Sun Dec 1 08:45:00 CET 2019
3-
Version: 2.6.10
2+
Updated: Sun Jan 5 08:36:00 CET 2020
3+
Version: 2.6.11
44

55
WHAT IS BOCHS?
66

@@ -81,18 +81,23 @@ many ways you could help out. For example:
8181

8282
CHANGES
8383

84-
Brief summary of changes in 2.6.10:
85-
- CPU: Bugfixes for CPU emulation correctness (critical bugfixes for
86-
PCID, ADCX/ADOX, MOVBE, AVX/AVX-512 and VMX emulation)
87-
- CPU: implemented AVX-512 VBMI2/VNNI/BITALG, VAES, VPCLMULQDQ / GFNI
88-
instructions emulation
89-
- VMX: Implement EPT-Based Sub-Page Protection
90-
- CPUID: Added new CPU models Skylake-X, Cannonlake and Icelake-U
91-
- CPUID: Implemented side-channel attack prevention reporting and
92-
corresponding MSR registers, enabled for Icelake-U
93-
- Added basic support for the i440BX PCI/AGP chipset.
94-
- Added basic Voodoo Banshee / Voodoo3 emulation support.
95-
- Added basic DDC support for the VGA-compatible adapters.
96-
- Implemented HPET emulation (ported from Qemu).
84+
Summary of changes in 2.6.11:
85+
- General
86+
- Added 64-bit support to the NSIS installer script
87+
- Several fixes in the build system based on Debian patches
88+
- CPU / CPUDB
89+
- Bugfixes for CPU emulation correctness
90+
- Many critical bugfixes for Protection Keys, AVX512*, VMX/SVM, SHA, GFNI emulation
91+
! Implemented CET (Control Flow Enforcement Technology) emulation according to Intel SDM rev071
92+
- I/O Devices
93+
- Added missing Cirrus SVGA bitblt feature "transparent color compare"
94+
- Some fixes in HPET emulation (patch by Oleg)
95+
- Fixed disk image lock mechanism in the USB MSD case
96+
- BIOS / VGABIOS
97+
- LGPL'd VGABIOS updated to version 0.7b (Fixed VESA extension 'read EDID'
98+
for Bochs VBE and Cirrus)
99+
- Updated SeaBIOS ROM image to current version 1.13.0
100+
- Added SeaVGABIOS ROM image for the Cirrus adapter
101+
- Bochs BIOS built to work with CPU level 5 again
97102

98103
See CHANGES file for more information!

bios/BIOS-bochs-latest

0 Bytes
Binary file not shown.

bios/BIOS-bochs-legacy

0 Bytes
Binary file not shown.

bios/Makefile.in

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Copyright (C) 2001-2014 The Bochs Project
1+
# Copyright (C) 2001-2019 The Bochs Project
22
#
33
# This library is free software; you can redistribute it and/or
44
# modify it under the terms of the GNU Lesser General Public
@@ -37,11 +37,13 @@ BCC = bcc
3737
GCC = gcc
3838
GCC32 = gcc -m32 -fno-stack-protector
3939
AS86 = as86
40+
IASL = @IASL@
4041

4142
BX_INCDIRS = -I.. -I$(srcdir)/.. -I../iodev -I$(srcdir)/../iodev
4243
LOCAL_CXXFLAGS =
4344

44-
BUILDDATE = `date '+%m/%d/%y'`
45+
UPSTREAM_RELEASE_DATE = $(shell grep "Updated:" ../README | sed 's/Updated://')
46+
BUILDDATE = `date -d '$(UPSTREAM_RELEASE_DATE)' '+%m/%d/%y'`
4547
BIOS_BUILD_DATE = "-DBIOS_BUILD_DATE=\"$(BUILDDATE)\""
4648
#
4749
# -------- end configurable options --------------------------
@@ -56,6 +58,7 @@ bios: biossums BIOS-bochs-latest BIOS-bochs-legacy
5658

5759
clean:
5860
@RMCOMMAND@ *.o *.a *.s _rombios*_.c rombios*.txt rombios*.sym
61+
@RMCOMMAND@ acpt-dsdt.aml
5962
@RMCOMMAND@ usage biossums rombios16.bin
6063
@RMCOMMAND@ rombios32.bin rombios32.out
6164

@@ -86,7 +89,6 @@ rombios16.bin: rombios.c apmbios.S biossums rombios.h
8689
./biossums rombios16.bin
8790
@RMCOMMAND@ _rombios_.s
8891

89-
9092
rombios32.bin: rombios32.out rombios.h
9193
objcopy -O binary $< $@
9294
./biossums -pad $@
@@ -97,7 +99,7 @@ rombios32.out: rombios32start.o rombios32.o rombios32.ld
9799
rombios32.o: rombios32.c acpi-dsdt.hex rombios.h
98100
$(GCC32) -O2 -Wall -c -o $@ $<
99101

100-
ifeq ("1", "0")
102+
ifneq ($(IASL), not_found)
101103
acpi-dsdt.hex: acpi-dsdt.dsl
102104
cpp -P $< $<.i
103105
iasl -tc -p $@ $<.i

bios/SeaBIOS-README

Lines changed: 12 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,16 @@
1-
--------------------------------------------
2-
| SeaBIOS (http://www.seabios.org/SeaBIOS) |
3-
--------------------------------------------
1+
SeaBIOS is an open source implementation of a 16bit X86 BIOS. SeaBIOS
2+
can run in an emulator or it can run natively on X86 hardware with the
3+
use of coreboot (http://www.coreboot.org/).
44

5-
SeaBIOS is an open source implementation of a 16bit X86 BIOS.
5+
SeaBIOS is the default BIOS for qemu (http://www.qemu.org/) and
6+
kvm (http://www.linux-kvm.org/).
67

7-
SeaBIOS can run in an emulator or it can run natively on X86 hardware with
8-
the use of coreboot (http://www.coreboot.org).
8+
The coreboot SeaBIOS (http://www.coreboot.org/SeaBIOS) page has
9+
information on using SeaBIOS in coreboot. Please see the
10+
releases page for information on recent releases. See the
11+
download page to obtain SeaBIOS.
912

10-
SeaBIOS is the default BIOS for qemu and kvm.
13+
SeaVGABIOS is a sub-project of SeaBIOS.
1114

12-
SeaBIOS may be distributed under the terms of the GNU LGPLv3 license.
13-
Both source code and binaries are available.
14-
15-
16-
--------------------------------------------
17-
| coreboot (http://www.coreboot.org) |
18-
--------------------------------------------
19-
20-
coreboot is a Free Software project aimed at replacing the proprietary BIOS
21-
(firmware) found in most computers. coreboot performs a little bit of
22-
hardware initialization and then executes additional boot logic, called a
23-
payload.
24-
25-
With the separation of hardware initialization and later boot logic,
26-
coreboot can scale from specialized applications that run directly from
27-
firmware, run operating systems in flash, load custom bootloaders, or
28-
implement firmware standards, like PC BIOS services or UEFI. This allows
29-
for systems to only include the features necessary in the target
30-
application, reducing the amount of code and flash space required.
31-
32-
coreboot currently supports over 230 different mainboards. Check the
33-
Support page to see if your system is supported.
34-
35-
coreboot was formerly known as LinuxBIOS.
15+
Please join the mailing list to contribute to SeaBIOS. Information on
16+
the internals of SeaBIOS is available on the Developer Documentation page.

bios/SeaVGABIOS-README

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
SeaVGABIOS is a sub-project of the SeaBIOS project - it is an open
2+
source implementation of a 16bit X86 VGA BIOS
3+
(http://en.wikipedia.org/wiki/Video_BIOS). SeaVGABIOS is the
4+
default VGA BIOS on QEMU (http://www.qemu.org/). SeaVGABIOS can also
5+
run natively on some X86 VGA hardware with coreboot (http://www.coreboot.org/).
6+
7+
Building SeaVGABIOS
8+
===================
9+
10+
To build SeaVGABIOS, obtain the code, run `make
11+
menuconfig` and select the type of VGA BIOS to build in the "VGA ROM"
12+
menu. Once selected, run `make` and the final VGA BIOS binary will be
13+
located in "out/vgabios.bin".
14+
15+
The choice of available VGA BIOSes within "make menuconfig" is
16+
dependent on whether CONFIG_QEMU, CONFIG_COREBOOT, or CONFIG_CSM is
17+
selected. Also, the debug options under the "Debugging" menu apply to
18+
SeaVGABIOS. All other options found in "make menuconfig" apply only to
19+
SeaBIOS and will not impact the SeaVGABIOS build.
20+
21+
If SeaVGABIOS is needed for multiple different devices (eg, QEMU's
22+
cirrus emulation and QEMU's "dispi" emulation), then one must compile
23+
SeaVGABIOS multiple times with the appropriate config for each build.
24+
25+
SeaVGABIOS code
26+
===============
27+
28+
The source code for SeaVGABIOS is located in the SeaBIOS
29+
git repository. The main VGA BIOS code is located in the "vgasrc/"
30+
directory. The VGA BIOS code is always compiled in 16bit mode.
31+
32+
The SeaVGABIOS builds to a separate binary from the main SeaBIOS
33+
binary, and much of the VGA BIOS code is separate from the main BIOS
34+
code. However, much of the SeaBIOS developer documentation applies to
35+
SeaVGABIOS. To contribute, please join the SeaBIOS mailing list.

0 commit comments

Comments
 (0)