diff --git a/bochs/.bochsrc b/bochs/.bochsrc index 9e5941691..8b283f3d2 100644 --- a/bochs/.bochsrc +++ b/bochs/.bochsrc @@ -371,16 +371,17 @@ memory: guest=512, host=256 # boot menu delay. #======================================================================= romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot -#romimage: file=$BXSHARE/bios.bin-1.7.5 # http://www.seabios.org/SeaBIOS +#romimage: file=$BXSHARE/bios.bin-1.13.0 # http://www.seabios.org/SeaBIOS #romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top #======================================================================= # VGAROMIMAGE # You now need to load a VGA ROM BIOS into C0000. #======================================================================= -#vgaromimage: file=bios/VGABIOS-elpin-2.40 vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest #vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus +#vgaromimage: file=$BXSHARE/vgabios-cirrus.bin-1.13.0 # http://www.seabios.org/SeaVGABIOS +#vgaromimage: file=bios/VGABIOS-elpin-2.40 #======================================================================= # OPTROMIMAGE[1-4]: diff --git a/bochs/CHANGES b/bochs/CHANGES index 71c1cce6b..964a74d44 100644 --- a/bochs/CHANGES +++ b/bochs/CHANGES @@ -2,6 +2,7 @@ Changes after 2.6.10 release: - General - Added 64-bit support to the NSIS installer script. + - Some fixes in the build system found by Debian. - CPU / CPUDB - Bugfixes for CPU emulation correctness @@ -11,8 +12,11 @@ Changes after 2.6.10 release: - I/O Devices - Some fixes in HPET emulation (patch by Oleg) -- LGPL'd VGABIOS updated from CVS (Fixed VESA extension 'read EDID' for Bochs - VBE and Cirrus). +- BIOS / VGABIOS + - LGPL'd VGABIOS updated from CVS (Fixed VESA extension 'read EDID' for Bochs + VBE and Cirrus). + - Updated SeaBIOS ROM image to current version 1.13.0. + - Added SeaVGABIOS ROM image for the Cirrus adapter. ------------------------------------------------------------------------- Changes in 2.6.10 (December 1, 2019): diff --git a/bochs/Makefile.in b/bochs/Makefile.in index 2e6e946eb..0a4279fd0 100644 --- a/bochs/Makefile.in +++ b/bochs/Makefile.in @@ -41,14 +41,14 @@ VERSION=@VERSION@ REL_STRING=@REL_STRING@ MAN_PAGE_1_LIST=bochs bximage bochs-dlx MAN_PAGE_5_LIST=bochsrc -INSTALL_LIST_SHARE=bios/BIOS-bochs-* bios/VGABIOS* bios/SeaBIOS* bios/bios.bin-* @INSTALL_LIST_FOR_PLATFORM@ +INSTALL_LIST_SHARE=bios/BIOS-bochs-* bios/VGABIOS* bios/SeaBIOS* bios/bios.bin-* bios/vgabios-cirrus.bin-* @INSTALL_LIST_FOR_PLATFORM@ INSTALL_LIST_DOC=CHANGES COPYING LICENSE README TODO misc/slirp.conf INSTALL_LIST_BIN=bochs@EXE@ bximage@EXE@ INSTALL_LIST_BIN_OPTIONAL=bochsdbg@EXE@ @OPTIONAL_TARGET@ INSTALL_LIST_WIN32=$(INSTALL_LIST_SHARE) $(INSTALL_LIST_DOC) $(INSTALL_LIST_BIN) $(INSTALL_LIST_BIN_OPTIONAL) INSTALL_LIST_MACOSX=$(INSTALL_LIST_SHARE) $(INSTALL_LIST_DOC) bochs.scpt # for win32 and macosx, these files get renamed to *.txt in install process -TEXT_FILE_LIST=README CHANGES COPYING LICENSE TODO VGABIOS-elpin-LICENSE VGABIOS-lgpl-README SeaBIOS-README +TEXT_FILE_LIST=README CHANGES COPYING LICENSE TODO VGABIOS-elpin-LICENSE VGABIOS-lgpl-README SeaBIOS-README SeaVGABIOS-README CP=cp CAT=cat RM=rm diff --git a/bochs/bios/SeaBIOS-README b/bochs/bios/SeaBIOS-README index fcfed50df..66103c4cf 100644 --- a/bochs/bios/SeaBIOS-README +++ b/bochs/bios/SeaBIOS-README @@ -1,35 +1,16 @@ --------------------------------------------- -| SeaBIOS (http://www.seabios.org/SeaBIOS) | --------------------------------------------- +SeaBIOS is an open source implementation of a 16bit X86 BIOS. SeaBIOS +can run in an emulator or it can run natively on X86 hardware with the +use of coreboot (http://www.coreboot.org/). -SeaBIOS is an open source implementation of a 16bit X86 BIOS. +SeaBIOS is the default BIOS for qemu (http://www.qemu.org/) and +kvm (http://www.linux-kvm.org/). -SeaBIOS can run in an emulator or it can run natively on X86 hardware with -the use of coreboot (http://www.coreboot.org). +The coreboot SeaBIOS (http://www.coreboot.org/SeaBIOS) page has +information on using SeaBIOS in coreboot. Please see the +releases page for information on recent releases. See the +download page to obtain SeaBIOS. -SeaBIOS is the default BIOS for qemu and kvm. +SeaVGABIOS is a sub-project of SeaBIOS. -SeaBIOS may be distributed under the terms of the GNU LGPLv3 license. -Both source code and binaries are available. - - --------------------------------------------- -| coreboot (http://www.coreboot.org) | --------------------------------------------- - -coreboot is a Free Software project aimed at replacing the proprietary BIOS -(firmware) found in most computers. coreboot performs a little bit of -hardware initialization and then executes additional boot logic, called a -payload. - -With the separation of hardware initialization and later boot logic, -coreboot can scale from specialized applications that run directly from -firmware, run operating systems in flash, load custom bootloaders, or -implement firmware standards, like PC BIOS services or UEFI. This allows -for systems to only include the features necessary in the target -application, reducing the amount of code and flash space required. - -coreboot currently supports over 230 different mainboards. Check the -Support page to see if your system is supported. - -coreboot was formerly known as LinuxBIOS. +Please join the mailing list to contribute to SeaBIOS. Information on +the internals of SeaBIOS is available on the Developer Documentation page. diff --git a/bochs/bios/SeaVGABIOS-README b/bochs/bios/SeaVGABIOS-README new file mode 100644 index 000000000..bbf0d2837 --- /dev/null +++ b/bochs/bios/SeaVGABIOS-README @@ -0,0 +1,35 @@ +SeaVGABIOS is a sub-project of the SeaBIOS project - it is an open +source implementation of a 16bit X86 VGA BIOS +(http://en.wikipedia.org/wiki/Video_BIOS). SeaVGABIOS is the +default VGA BIOS on QEMU (http://www.qemu.org/). SeaVGABIOS can also +run natively on some X86 VGA hardware with coreboot (http://www.coreboot.org/). + +Building SeaVGABIOS +=================== + +To build SeaVGABIOS, obtain the code, run `make +menuconfig` and select the type of VGA BIOS to build in the "VGA ROM" +menu. Once selected, run `make` and the final VGA BIOS binary will be +located in "out/vgabios.bin". + +The choice of available VGA BIOSes within "make menuconfig" is +dependent on whether CONFIG_QEMU, CONFIG_COREBOOT, or CONFIG_CSM is +selected. Also, the debug options under the "Debugging" menu apply to +SeaVGABIOS. All other options found in "make menuconfig" apply only to +SeaBIOS and will not impact the SeaVGABIOS build. + +If SeaVGABIOS is needed for multiple different devices (eg, QEMU's +cirrus emulation and QEMU's "dispi" emulation), then one must compile +SeaVGABIOS multiple times with the appropriate config for each build. + +SeaVGABIOS code +=============== + +The source code for SeaVGABIOS is located in the SeaBIOS +git repository. The main VGA BIOS code is located in the "vgasrc/" +directory. The VGA BIOS code is always compiled in 16bit mode. + +The SeaVGABIOS builds to a separate binary from the main SeaBIOS +binary, and much of the VGA BIOS code is separate from the main BIOS +code. However, much of the SeaBIOS developer documentation applies to +SeaVGABIOS. To contribute, please join the SeaBIOS mailing list. diff --git a/bochs/bios/bios.bin-1.13.0 b/bochs/bios/bios.bin-1.13.0 new file mode 100644 index 000000000..f7bb4f409 Binary files /dev/null and b/bochs/bios/bios.bin-1.13.0 differ diff --git a/bochs/bios/bios.bin-1.7.5 b/bochs/bios/bios.bin-1.7.5 deleted file mode 100644 index 01aedaaf0..000000000 Binary files a/bochs/bios/bios.bin-1.7.5 and /dev/null differ diff --git a/bochs/bios/vgabios-cirrus.bin-1.13.0 b/bochs/bios/vgabios-cirrus.bin-1.13.0 new file mode 100644 index 000000000..c1a720664 Binary files /dev/null and b/bochs/bios/vgabios-cirrus.bin-1.13.0 differ diff --git a/bochs/build/win32/nsis/bochs.nsi.in b/bochs/build/win32/nsis/bochs.nsi.in index ac28eaeff..caa58a3f1 100644 --- a/bochs/build/win32/nsis/bochs.nsi.in +++ b/bochs/build/win32/nsis/bochs.nsi.in @@ -154,7 +154,9 @@ Section "ROM Images (required)" SecROMs File "${SRCDIR}\BIOS-bochs-*" File "${SRCDIR}\VGABIOS-*" File "${SRCDIR}\bios.bin-*" + File "${SRCDIR}\vgabios-cirrus.bin-*" File "${SRCDIR}\SeaBIOS-README.txt" + File "${SRCDIR}\SeaVGABIOS-README.txt" SectionEnd Section "Documentation in HTML" SecDocs @@ -323,7 +325,9 @@ Section "Uninstall" Delete "$INSTDIR\BIOS-bochs-*" Delete "$INSTDIR\VGABIOS-*" Delete "$INSTDIR\bios.bin-*" + Delete "$INSTDIR\vgabios-cirrus.bin-*" Delete "$INSTDIR\SeaBIOS-README.txt" + Delete "$INSTDIR\SeaVGABIOS-README.txt" Delete "$INSTDIR\dlxlinux\*" Delete "$INSTDIR\docs\index.html" Delete "$INSTDIR\docs\user\*" diff --git a/bochs/doc/docbook/user/user.dbk b/bochs/doc/docbook/user/user.dbk index d5a56d7e6..d6f6c2c04 100644 --- a/bochs/doc/docbook/user/user.dbk +++ b/bochs/doc/docbook/user/user.dbk @@ -1422,7 +1422,7 @@ DLX Linux screenshot. -bios.bin-1.7.5 SeaBIOS ROM image +bios.bin-1.13.0 SeaBIOS ROM image BIOS-bochs-latest default ROM BIOS image for Bochs BIOS-bochs-legacy ROM BIOS image without 32-bit init code bochsdbg.exe the main Bochs executable with debugger enabled @@ -1442,10 +1442,12 @@ DLX Linux screenshot. sb16ctrl.exe tool to control sb16 in Bochs sb16ctrl.txt examples of sb16ctrl commands SeaBIOS-README.txt README for SeaBIOS ROM image +SeaVGABIOS-README.txt README for SeaVGABIOS ROM image slirp.conf sample config file for the advanced 'slirp' network configuration TODO.txt the TODO file from the source distribution. unbochs.ico icon for the uninstaller link uninstall.exe uninstall program for Bochs (created by the installation wizard) +vgabios-cirrus.bin-1.13.0 SeaVGABIOS ROM image (for Cirrus adapter) VGABIOS-elpin-2.40 VGA BIOS image for Bochs VGABIOS-elpin-LICENSE.txt license for VGA BIOS VGABIOS-lgpl-latest LGPL'd VGA BIOS image for Bochs @@ -1626,10 +1628,10 @@ description of each one. /usr/share/doc/bochs/TODO the TODO file from the source distribution. /usr/share/doc/bochs/index.html a local copy of all Bochs documentation ( Online copy ) /usr/share/doc/bochs/slirp.conf sample config file for the advanced 'slirp' network configuration -/usr/share/bochs/bios.bin-1.7.5 SeaBIOS ROM image /usr/share/bochs/BIOS-bochs-latest default ROM BIOS image for Bochs /usr/share/bochs/BIOS-bochs-legacy ROM BIOS image without 32-bit init code /usr/share/bochs/SeaBIOS-README README for SeaBIOS ROM image +/usr/share/bochs/SeaVGABIOS-README README for SeaVGABIOS ROM image /usr/share/bochs/VGABIOS-elpin-2.40 VGA BIOS image for Bochs /usr/share/bochs/VGABIOS-elpin-LICENSE license for VGA BIOS /usr/share/bochs/VGABIOS-lgpl-latest LGPL'd VGA BIOS image for Bochs @@ -1637,9 +1639,11 @@ description of each one. /usr/share/bochs/VGABIOS-lgpl-latest-cirrus LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled /usr/share/bochs/VGABIOS-lgpl-latest-cirrus-debug LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile /usr/share/bochs/VGABIOS-lgpl-README readme for the LGPL'd VGA BIOS +/usr/share/bochs/bios.bin-1.13.0 SeaBIOS ROM image /usr/share/bochs/dlxlinux/ directory containing DLX linux sample disk image and configuration files /usr/share/bochs/dlxlinux/readme.txt description of DLX linux /usr/share/bochs/keymaps/*.map keymap tables for X11, SDL and SDL2 +/usr/share/bochs/vgabios-cirrus.bin-1.13.0 SeaVGABIOS ROM image (for Cirrus adapter) @@ -3164,12 +3168,13 @@ system BIOS and VGA BIOS images. BIOS-bochs-latest default ROM BIOS image for Bochs BIOS-bochs-legacy ROM BIOS image without 32-bit init code (for i386 and ISA graphics card emulation) -bios.bin-1.7.5 SeaBIOS ROM image +bios.bin-1.13.0 SeaBIOS ROM image VGABIOS-elpin-2.40 legacy VGA BIOS image for Bochs VGABIOS-lgpl-latest LGPL'd VGA BIOS image for Bochs VGABIOS-lgpl-latest-debug LGPL'd VGA BIOS image for Bochs with debug output to the logfile VGABIOS-lgpl-latest-cirrus LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled VGABIOS-lgpl-latest-cirrus-debug LGPL'd VGA BIOS image for Bochs with the Cirrus extension enabled and debug output to the logfile +vgabios-cirrus.bin-1.13.0 SeaVGABIOS ROM image (for Cirrus adapter)