Commit Graph

298 Commits

Author SHA1 Message Date
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
f2abe7c033 Fixed reading extended memory size from CMOS. 2017-02-11 08:53:00 +00:00
Volker Ruppert
5c50ae9ccc Added byte/word reference macro to produce optimal code and understand
(SF patch #533 by Yeong-uk Jo).
2017-02-10 18:28:34 +00:00
Volker Ruppert
e7587d25a4 Some 8-bit register reference macro changes to produce more effective code
(SF patch #532 by Yeong-uk Jo).
2016-03-17 17:14:27 +00:00
Volker Ruppert
4cd8b284c0 Fixed keyboard scancode processing after keyboard intercept using stack
manipulation (SF bug report #1193).
2014-12-26 10:31:39 +00:00
Volker Ruppert
b9a1b42ea8 Fixed int74_function() for 4-byte (wheel mouse) packets.
Updated year and copyright.
2014-07-10 07:28:59 +00:00
Volker Ruppert
c4174b4691 Fixed $PCI service detection 2013-08-02 15:59:49 +00:00
Volker Ruppert
53cb107dbf PS/2 mouse function: allow setting mouse packet size to 4 for wheel support
TODO: make driver CTMOUSE.EXE also work with mouse type 'serial_wheel'
2013-06-15 21:48:23 +00:00
Stanislav Shwartsman
05c711b2b5 Create initial interrupt vector offsets. Change based on sf patch #507. 2013-04-21 20:09:49 +00:00
Stanislav Shwartsman
77cd8f862d Move BIOS_COPYRIGHT_STRING to gain space at 0xfef3. Sebastian 2013-01-08 18:12:14 +00:00
Stanislav Shwartsman
df7ba90704 Set INT vector 77h and below to dummy iret handler.
Change based on sf patch #507.

Sebastian
2012-12-31 06:33:01 +00:00
Stanislav Shwartsman
7efd6866ce Set int vector 1Fh to zero; Character Font for upper 128 characters is not available. Sebastian 2012-11-23 20:16:19 +00:00
Volker Ruppert
cc56245407 started implementing the i430FX chipset
- renamed config parameter "i440fx_support" to "enabled"
- new config parameter "chipset" added (current choices "i430FX" and "i440FX")
- don't load ACPI support if the i430FX chipset is selected
- select register values for the core PCI devices depending on the chipset
- USB UHCI must be connected to a PCI slot if the i430FX chipset is used
- rombios changes to make the i430FX chipset work
- TODO #1: implement limitation to 1 cpu and 128 MB RAM for the i430FX chipset
- TODO #2: verify register behaviour of both chipsets
2012-11-11 08:11:17 +00:00
Stanislav Shwartsman
b9d3d3f3cd Set INT vector 1Dh to zero; MDA/CGA Video Parameter Table is not available. 2012-11-05 11:10:07 +00:00
Stanislav Shwartsman
a9396c3ffc Set INT vector 78h and above to zero; AWARD BIOS does this. Change based on sf patch #507. 2012-10-28 18:34:01 +00:00
Stanislav Shwartsman
d43bf74aa3 post_init_ivt change based on sf patch #3567829 2012-10-16 10:39:52 +00:00
Stanislav Shwartsman
75908a2985 add comment 2012-10-14 15:58:10 +00:00
Stanislav Shwartsman
0ee8af67c3 Partial undo of sf patch #3540389 to keep more "natural" argument order.
Sebastian
2012-10-01 20:41:11 +00:00
Stanislav Shwartsman
882e07518e fixed comments 2012-08-06 17:59:54 +00:00
Stanislav Shwartsman
df3b61e3a9 typo fix 2012-08-02 14:37:17 +00:00
Stanislav Shwartsman
abaad74fc9 trivial optimization - part of pacthes from Yeong-uk Jo 2012-08-01 16:11:20 +00:00
Stanislav Shwartsman
a7c8d38871 Re-add lost comments in floppy_media_sense 2012-07-25 19:49:35 +00:00
Stanislav Shwartsman
eb9616024f Use ASM comment marks 2012-07-23 16:11:24 +00:00
Stanislav Shwartsman
b57ace2579 Merged a side note patch by Sebastian
[Bochs-developers] [Patch #3539228] Part 3

> Added dummy EOI handler and all unused IRQ vectors set to this.QEMM 97 does not crash any more.

Looks good. Those "SET_INT_VECTOR comments" should be removed.

Sebastian
2012-07-19 19:36:44 +00:00
Stanislav Shwartsman
5afe0cbb48 use constant instead of magic value 2012-07-17 19:58:00 +00:00
Stanislav Shwartsman
24edf649eb added comments in BIOS code 2012-07-11 19:16:23 +00:00
Volker Ruppert
926900739f - rombios patch #5 by greatpsycho
- Changed memory reference functions argument order to suitable for use
    LDS/LES instructions.
2012-07-10 18:33:09 +00:00
Volker Ruppert
433fc25a88 - rombios patch #4 by greatpsycho
- Added SS based reference helper function and changed SS based refer to use
    this functions.
2012-07-10 18:30:17 +00:00
Volker Ruppert
7b07d3287a - rombios patch #3 by greatpsycho
- Changed to frequently using segment base to DS based - Added set_DS function
    (Set DS value,returns old DS value),(read/write)_(byte/word/dword)_DS macro
    to refer DS segment based data.
  - Almost BIOS interrupt handler wrapper changed to DS base to use DS-based
    reference macro effectiently.
2012-07-10 18:28:14 +00:00
Volker Ruppert
6267fd7e9d - rombios patch #2 by greatpsycho
- Merged ata_cmd_data_in and ata_cmd_data_out function to ata_cmd_data_io
  - Merged INT13 AH=02 and AH=03 I/O routine
  - Modified cdrom_boot,int15_function,set_e820_range and pci/pnobios low level code to more optimal
  - Deleted INT1C handler that duplicated with dummy_iret_handler
2012-07-10 18:26:01 +00:00
Volker Ruppert
82ebbbdd0b - rombios patch #1 by greatpsycho. This compatibility patch includes:
- Added dummy EOI handler and all unused IRQ vectors set to this.QEMM 97 does not crash any more.
  - Changed INT15 AH=80,81,82,90,91 functions to return success.
  - Added INT71(IRQ9 - Redirect to IRQ2) handler.
  - Some IRQ handlers call INT15 with AH=91.
  - INT16 handler calls INT15 with AX=9002.
  - Fixed IRQ14 handler that overwrites 40:8F to 00
2012-07-10 18:21:51 +00:00
Stanislav Shwartsman
2e9f5570d9 SF BOS patches:
- Basic low-level function optimization
- Optimization of bios_printf() and removal of put_int()
- Optimization of timer_tick_post
2012-06-28 11:02:39 +00:00
Stanislav Shwartsman
55e21bedcb fixed possible rombios bug - according to comment in Bochs-Devs mailing list by David Laight 2012-05-06 19:36:41 +00:00
Stanislav Shwartsman
f09bdf353a RDMSR can also read TSC so make it end-of-trace as well (same as RDTSC) 2011-11-24 16:03:51 +00:00
Volker Ruppert
e247b0f14d - fix package size in pointing device flags 2 (SF patch #3435049)
- implemented legacy BIOS int13 AL=17/18h diskette functions (patch taken from
  comment to SF feature request #3424738)
2011-11-19 12:38:12 +00:00
Stanislav Shwartsman
01dbcff569 Support ctrl-alt-del for reboot by Sebastian 2011-08-16 17:54:44 +00:00
Stanislav Shwartsman
7feb947830 BIOS fixes 2011-08-15 06:05:52 +00:00
Volker Ruppert
4ce12047a9 - added PCI ROM support to the Bochs BIOS (works with both pcivga and cirrus)
- scan for VGABIOS ROM after rombios32 init
  - copy PCI ROM to shadow RAM at 0xc0000 and enable it
  - NOTE: this feature does not work with BIOS-bochs-legacy, so we should recommend to use the
    default BIOS for PCI display adapters
  - TODO: load VGABIOS ROM from the vga code instead of main.cc if PCI is disabled
2011-07-03 08:10:16 +00:00
Stanislav Shwartsman
e9ed944ba8 BIOS32 - fix length of the BIOS service.
Fix for bug #3170157 supplied by Jonathan de Boyne Pollard.
2011-05-29 16:35:30 +00:00
Stanislav Shwartsman
0b60a50dd9 date in (c) string 2011-02-24 22:12:02 +00:00
Stanislav Shwartsman
00981cd7a6 Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
Stanislav Shwartsman
90b728e86f Support T13 EDD-3 specification in addition to Phoenix.
Callers with 66 bytes buffers will get data according to the Phoenix and with 74 bytes according to the T13 specification.
Should fix bug #3012207.

Sebastian
2011-01-26 09:52:02 +00:00
Stanislav Shwartsman
2f29fdafb8 Support reporting of interface type ATAPI.
Sebastian
2011-01-25 15:50:20 +00:00
Stanislav Shwartsman
72af6740ac Use EBDA fields for mouse handling by name.
Sebastian

A simple one-liner to fix building on Mac OS X with a case-sensitive file system.

-- Heikki Lindholm
2011-01-16 19:29:11 +00:00
Stanislav Shwartsman
f2bc3a19ca Use space padding for EDD host bus and interface type like Award Modular BIOS v4.51PG and AMIBIOS V3.02.
Sebastian
2011-01-13 20:47:00 +00:00
Stanislav Shwartsman
2a6df4fc1e Spelling fixes from VirtualBox.
Sebastian
2010-12-29 06:39:53 +00:00
Stanislav Shwartsman
715e65dd05 Merge EDD INT 15 Fn 48h code between int13_harddisk() and int13_cdrom().
Sebastian
2010-09-26 18:38:58 +00:00
Stanislav Shwartsman
3994761b08 Patch by Sebastian:
Missing EDD fixes for cdrom code
2010-09-25 07:21:25 +00:00
Stanislav Shwartsman
e989201277 I could not find DPTE revision 0x10 mentioned in the specifications.
Size of 66 bytes is invalid. Also clear DPT "reserved3" field.

Sebastian
2010-08-07 06:58:10 +00:00
Stanislav Shwartsman
fd155a5f56 Bios fixes by Sebastian 2010-08-01 21:54:32 +00:00