Commit Graph

597 Commits

Author SHA1 Message Date
Volker Ruppert
4f906524de Banshee VGABIOS: added minimal VBE support for some 8-bpp modes. 2021-05-07 19:32:37 +00:00
Volker Ruppert
73b4429091 Banshee VGABIOS: fixed infinite loop in case Banshee is not detected. 2021-05-02 08:37:11 +00:00
Volker Ruppert
7b8f97b448 Updated LGPL'd VGABIOS from SVN.
- Added 'write character' support for Cirrus 8-bpp modes using bitblt engine.
- Some code optimizations.
2021-04-30 21:00:40 +00:00
Volker Ruppert
d74210b93f Added missing new VGABIOS binary for Banshee. 2021-04-12 19:37:17 +00:00
Volker Ruppert
faa11624e0 Updated LGPL'd VGABIOS from SVN.
- Added initial version of the VGABIOS for Voodoo Banshee adapters.
- Several code optimizations to reduce binary size.
NOTE #1: Banshee version has no VBE support yet.
NOTE #2: Banshee binary uses PCI ID for Banshee PCI and Bochs temporarily
         modifies the PCI data for Voodoo3 and AGP models.
2021-04-12 19:35:37 +00:00
Volker Ruppert
e9eccadb82 Recompiled binaries. 2021-04-09 06:47:35 +00:00
Volker Ruppert
59a3b3f8b3 Added helper function get_ebda_seg() to optimize code. 2021-04-09 06:45:42 +00:00
Volker Ruppert
4650a59677 Recompiled BIOS images. 2020-10-13 08:10:05 +00:00
Volker Ruppert
d6827e20ef Forgot to update year and set LANG to default. 2020-10-13 08:05:48 +00:00
Volker Ruppert
49f8624898 Some changes in the Bochs BIOS.
- Disable i/o and memory access in PCI command register before probing and
  setting up base addresses and re-enable it when complete for selected device.
- Legacy BIOS should not enable busmaster function in PCI init.
2020-10-13 07:55:56 +00:00
Volker Ruppert
08d8782810 Fixed PCI ROM init in case VGA adapter is ISA. 2020-07-26 12:05:21 +00:00
Volker Ruppert
83d4f73885 Fixed PCI ROM init in case VGA adapter is ISA. 2020-07-26 12:04:14 +00:00
Volker Ruppert
fa38e59bfa Updated LGPL'd VGABIOS from SVN (fixed bug in biosfn_set_cursor_pos). 2020-06-28 14:36:06 +00:00
Volker Ruppert
2416bd25ca Updated LGPL'd VGABIOS from SVN: fixed text output in VGA graphics modes
(using INT 0x43 font vector as expected).
2020-06-23 18:34:26 +00:00
Volker Ruppert
3205ac91fa Generate BIOS date based on UTC (Debian patch). 2020-06-20 16:40:50 +00:00
Volker Ruppert
185fbd7287 Adding option -march=i386 to GCC32 switches makes BIOS-bochs-latest compiled
with gcc 7.5.0 work with Bochs compiled for cpu level 5.
2020-02-16 09:19:01 +00:00
Volker Ruppert
48e07bcf7b Recompiled BIOS image for i586. 2020-01-15 17:55:14 +00:00
Volker Ruppert
8679542678 Set VMX and LOCK bit in IA32_FEATURE_CONTROL. 2020-01-15 17:06:10 +00:00
Volker Ruppert
23b442e80d Updated LGPL'd VGABIOS from SVN (some fixes for Bochs VBE). 2020-01-13 20:38:00 +00:00
Volker Ruppert
24e3cda7c0 Fixed building ACPI table source with latest iasl version (Debian patch). 2020-01-08 18:15:01 +00:00
Volker Ruppert
fc5b1c6e50 Preparing release 2.6.11 2020-01-05 07:36:44 +00:00
Volker Ruppert
70ea45b83d Moved and updated biossums.txt to the developer doc.
Small fix in biossums.c.
2020-01-04 22:46:00 +00:00
Volker Ruppert
bce3c28bb5 Temporary fix for Bochs BIOS not working with CPU level < 6. Compiled BIOS on
a 32-bit Linux inside of Bochs. Now only i386 fails, newer CPUs are okay.
2020-01-03 15:48:20 +00:00
Volker Ruppert
b23d52ad44 LGPL'd VGABIOS updated to version 0.7b 2020-01-03 09:29:54 +00:00
Volker Ruppert
b6c1a4a919 Regenerated configure script and recompiled BIOS images. 2019-12-30 13:18:39 +00:00
Volker Ruppert
49a04c1399 Bochs BIOS changes partly based on Debian patches.
- Use 'iasl' for building ACPI table if present.
- Use the release date from README file for the BIOS_BUILD_DATE.
- Added Bochs VERSION string to the BIOS banner.
- Fixed the rombios32 delay loop for QEMU build.
- Improvement for rombios32.ld.
2019-12-30 13:16:18 +00:00
Volker Ruppert
74b9a0f6de Bochs BIOS fix and update.
- Added hack fix to make SeaVGABIOS work: init video mode if not done.
- Update rombios32 release date.
2019-12-29 19:40:42 +00:00
Volker Ruppert
f7629c3896 Bochs BIOS fix and update.
- Added hack fix to make SeaVGABIOS work: init video mode if not done.
- Update rombios32 release date.
2019-12-29 19:38:52 +00:00
Volker Ruppert
34e475ec0a Updated SeaBIOS ROM image to current version and added SeaVGABIOS for Cirrus. 2019-12-29 07:20:50 +00:00
Volker Ruppert
295336adfb Fixed VESA BIOS function 0x4F15 (get EDID) for both the VBE and Cirrus version. 2019-12-27 19:56:37 +00:00
Volker Ruppert
9bd54cc380 Some work on the i440BX chipset AGP support in the Bochs BIOS.
- rombios.c: return maximum bus number #1 for i440BX.
- Now using different i/o and memory base address regions for PCI and AGP.
- Added some init code for the i440BX PCI/AGP bridge.
- Some code cleanups.
2018-05-03 17:55:17 +00:00
Volker Ruppert
536f9ba094 Some work on the i440BX chipset AGP support in the Bochs BIOS.
- rombios.c: return maximum bus number #1 for i440BX.
- Now using different i/o and memory base address regions for PCI and AGP.
- Added some init code for the i440BX PCI/AGP bridge.
- Some code cleanups.
2018-05-03 17:54:31 +00:00
Volker Ruppert
92ce5c3846 Moved PIR table modification for the i440BX chipset from the memory code to the
BIOS init code and some related fixes and cleanups.
2018-05-01 07:05:28 +00:00
Volker Ruppert
e526d6c9d7 Moved PIR table modification for the i440BX chipset from the memory code to the
BIOS init code and some related fixes and cleanups.
2018-05-01 07:04:43 +00:00
Volker Ruppert
e781a8f998 Some PCI IRQ roouting changes for i440BX chipset support.
- Bochs BIOS: Improved calculating PCI slot number from device number to handle
  the i440BX case correctly.
- Memory code: Detect and modify the PCI IRQ roouting table of the Bochs BIOS
  for the i440BX chipset (TODO: this could be done by the BIOS itself after
  copying to shadow RAM).
2018-04-29 16:22:44 +00:00
Volker Ruppert
eeefe369d7 Some PCI IRQ roouting changes for i440BX chipset support.
- Bochs BIOS: Improved calculating PCI slot number from device number to handle
  the i440BX case correctly.
- Memory code: Detect and modify the PCI IRQ roouting table of the Bochs BIOS
  for the i440BX chipset (TODO: this could be done by the BIOS itself after
  copying to shadow RAM).
2018-04-29 16:20:58 +00:00
Volker Ruppert
69be05b2b5 Started preparing the Bochs BIOS for i440BX chipset support.
- Added symbols for the i440BX host bridge device ID.
- Probe and search for devices on PCI bus #1 (AGP).
- Set up memory and i/o regions only for header type 0.
- Set AGP aperture size to 64 MB.
- TODO: PCI IRQ routing, i440BX specific register setup.
2018-04-24 21:30:31 +00:00
Volker Ruppert
00ac6013f0 Started preparing the Bochs BIOS for i440BX chipset support.
- Added symbols for the i440BX host bridge device ID.
- Probe and search for devices on PCI bus #1 (AGP).
- Set up memory and i/o regions only for header type 0.
- Set AGP aperture size to 64 MB.
- TODO: PCI IRQ routing, i440BX specific register setup.
2018-04-24 21:29:41 +00:00
Volker Ruppert
776e8270f6 Started preparing Bochs BIOS for the sector size option.
- Function ata_cmd_data_io: using fixed block size 512 only for 'identify'
  commands. For read/write commands the hard disk sector size must be used.
- Take account of sector size when calculating hard disk size in MBytes (TODO:
  calculation is not correct for not yet existing very big disks).
- updated comment.
2018-04-05 21:35:41 +00:00
Volker Ruppert
6739601a52 Started preparing Bochs BIOS for the sector size option.
- Function ata_cmd_data_io: using fixed block size 512 only for 'identify'
  commands. For read/write commands the hard disk sector size must be used.
- Take account of sector size when calculating hard disk size in MBytes (TODO:
  calculation is not correct for not yet existing very big disks).
- updated comment.
2018-04-05 21:35:24 +00:00
Volker Ruppert
82f45f262a Small addition for the plug&play BIOS stub: added support for function 0x0000
(currently returning 0 for number of device nodes).
2018-01-28 11:59:29 +00:00
Volker Ruppert
38c3d80bb7 Small addition for the plug&play BIOS stub: added support for function 0x0000
(currently returning 0 for number of device nodes).
2018-01-28 11:59:13 +00:00
Volker Ruppert
80325ccd3e LGPL'd VGABIOS updated from CVS (VESA extension 'read EDID' for Bochs VBE
and Cirrus added).
2018-01-26 16:28:29 +00:00
Volker Ruppert
e5370fa2ac Regenerated configure script and recompiled BIOS for HPET support. 2017-04-17 07:28:22 +00:00
Volker Ruppert
1d27d67ccd Added initial version of the High Precision Event Timer (HPET) ported from Qemu.
- Created framework based on our I/O APIC code and ported HPET core from Qemu
  with some required changes for the Bochs timer and IRQ handling.
- Enabled HPET-specific code in the ACPI and rombios32 sources and generated
  new ACPI table with iasl.
- The HPET device plugin is now always loaded if the i440FX chipset is selected
  (same as ACPI). We have to rethink this when we have implemented a more
  modern chipset.
- TODO: Rewrite of the virtual timer code for nanosecond support to make the
  realtime synchronization possible with HPET.
2017-04-17 07:26:00 +00:00
Volker Ruppert
9b0abda1f5 Recompiled after MP table fix. 2017-03-02 18:39:35 +00:00
Volker Ruppert
3fe496a3ff Fixed MP config table entry count and added some comments. 2017-03-02 18:38:48 +00:00
Volker Ruppert
67896c66ae Recompiled after adding "fastboot" option. 2017-02-16 21:45:07 +00:00
Volker Ruppert
a53b99f5e1 Implemented Bochs BIOS option "fastboot" for skipping the boot menu delay.
Prepared "biosdetect" option in the harddrv code.
TODO #1: Add support for a comma-separated list of BIOS options.
TODO #2: Implement support for at least "biosdetect=none" in the Bochs BIOS.
2017-02-16 21:43:52 +00:00
Volker Ruppert
35a19e4777 Fixed reading extended memory size from CMOS. 2017-02-11 08:53:17 +00:00