Commit Graph

53 Commits

Author SHA1 Message Date
Volker Ruppert
8ce5570946 - implemented INT 15h/89h (patch by Sebastian Herbszt) 2009-05-10 08:26:42 +00:00
Volker Ruppert
f0ad7dd387 - regenerated after latest changes 2009-05-02 15:08:20 +00:00
Volker Ruppert
f5facef1ef - applied non-ACPI timer interrupt routing fix from the Qemu bios patch queue
(Bochs now uses the original code of rev. 1.229 again)
2009-04-18 07:29:48 +00:00
Volker Ruppert
3b0fb9f28a - removed special case for the Bochs VBE LFB base address (it can be treated
like other PCI devices now)
- changed base address for the PCI memory space to 0xc0000000
- rombios32: fixed a warning
- fixed timeout flag for serial i/o functions
2009-04-10 16:37:02 +00:00
Volker Ruppert
de04d9e7cd - recompiled BIOS images 2009-03-23 11:38:07 +00:00
Volker Ruppert
a1a4574074 - fixed PCI IRQ router check for legacy BIOS (checking vendor ID only) 2009-02-09 17:06:06 +00:00
Volker Ruppert
4b4f80e6cb - implemented MTRR support in the bios. This is a combination of the individual
patches from the kvm tree. The code was written by Avi Kivity and Alex
  Williamson. Sebastian Herbszt added checks for CPUID_MTRR and CPUID_MSR.
2009-01-26 09:21:38 +00:00
Volker Ruppert
f310ea769b - rebuild after latest changes 2008-12-23 09:22:52 +00:00
Volker Ruppert
13822e151e - applied 3 patches from the Qemu project (Anthony Liguori)
* disable stack protector for BIOS
  * make ACPI tables byte-aligned
  * fix Bochs BIOS build from a separate directory
2008-12-20 14:27:22 +00:00
Stanislav Shwartsman
dcf68cca6d Don't use unreserved memory in BIOS.
Patch by Gleb Natapov
2008-12-04 18:46:55 +00:00
Stanislav Shwartsman
4bc2d5b4e9 Execute rombios32 code from rom address 0xe0000.
Patch by Gleb Natapov
2008-12-04 18:44:14 +00:00
Stanislav Shwartsman
a4e971c0a6 Add S3 state to DSDT. Handle resume event in the BIOS.
patch by Gleb Natapov
2008-12-04 18:40:54 +00:00
Stanislav Shwartsman
ebc41a1dad recompile BIOS 2008-12-03 14:49:09 +00:00
Stanislav Shwartsman
91ecba9b91 Updated BIOS images 2008-10-01 08:41:19 +00:00
Stanislav Shwartsman
53426fc136 recompile BIOS images with latest merged patches 2008-08-25 18:56:48 +00:00
Volker Ruppert
61f51bc8af - minor ATA/ATAPI model string fixes
* cut model string on boot screen if larger than 36 characters to make one
    "ata" message fit in one line
  * config parameter for model string needs one more byte
  * harddrive: terminate model string with null
2008-07-27 08:06:52 +00:00
Volker Ruppert
b6932bc3f8 - applied rombios patches from SF tracker by Sebastian
* handle shutdown status codes 0Ah, 0Bh and 0Ch
  * changed #if #else construct since hard_drive_post is always called
2008-06-22 09:05:35 +00:00
Volker Ruppert
69f3fd5693 - BIOS images regenerated 2008-06-03 16:03:40 +00:00
Volker Ruppert
02ba8c791f - set the compatible pci interrupt router back to PIIX (SF patch #1956843 by Sebastian) 2008-05-18 11:38:24 +00:00
Stanislav Shwartsman
f5135b4860 Precompiled Bochs BIOS binaries 2008-05-02 19:45:41 +00:00
Stanislav Shwartsman
024b3eece7 Merged LBA48 patch from @SF tracker 2008-04-21 14:22:01 +00:00
Stanislav Shwartsman
ae82e981c0 Updated BIOS binaries 2008-04-10 20:30:20 +00:00
Stanislav Shwartsman
b45b8f20c5 Update precompiled BIOS images 2008-03-21 19:30:16 +00:00
Volker Ruppert
85a8f7993a - BIOS boot menu support added (SF patch #1901027 by Sebastian) 2008-03-02 19:25:34 +00:00
Volker Ruppert
08d7c76e09 - applied rombios boot message improvements by Sebastian
* shorten the boot failure message (removed redundant part) and added some
    indentation
  * print BEV product string
  * changed put_str to accept segment and offset as parameters. It allows
    printing strings from memory != get_CS(), e.g. option roms.
  * introduced a custom format specifier %S to bios_printf
2008-02-17 16:38:17 +00:00
Stanislav Shwartsman
3cb5a781e8 Merged BIOS @SF patches by Sebastian
1878558  SMBIOS fixes
1880471  SMBIOS fix type 0
2008-01-27 17:57:26 +00:00
Volker Ruppert
ec3415a7eb - applied patch from the Qemu-devel list by Filip Navara
* added generation of SSDT ACPI table that contains definitions for available
    processors
  * added basic implementation of SMBIOS
  * Added querying of BIOS UUID using VMware backdoor I/O port (enable only if
    BX_QEMU is defined)
  * Added RTC device to ACPI DSDT table
2008-01-21 21:44:29 +00:00
Stanislav Shwartsman
abe7373657 Merged some BIOS patches from @SF tracker 2008-01-21 15:06:29 +00:00
Volker Ruppert
0a8105e95e - implemented LBA48 support (since BIOS functions are limited to 32 bit, the
max. disk size is now 2 TB)
2008-01-14 19:11:15 +00:00
Stanislav Shwartsman
3b53e234da Merge SF tracker BIOS patches 2008-01-06 21:00:18 +00:00
Volker Ruppert
46b3ec2397 - don't abort ATA reset for not existing slave drive. The reset bit must
always be cleared to avoid blocking existing master drive.
2007-12-20 18:12:35 +00:00
Volker Ruppert
688cb87e98 - skip SMM init if already done at first boot time (fixes reboot failure) 2007-12-09 15:38:41 +00:00
Stanislav Shwartsman
216f4f2f4f Fixed my BIOS optimization 2007-12-06 16:56:32 +00:00
Volker Ruppert
147633c460 - inline asm optimizations by Stanislav
- initialize PAM register for ROM-to-RAM copy even after reboot
2007-12-01 19:27:28 +00:00
Volker Ruppert
570e87733c - updated after latest changes 2007-11-18 10:21:51 +00:00
Volker Ruppert
cd0e516962 - applied rombios patches from SF patches section by Sebastian
* save PnP Option ROM Product Name string in IPL Boot Table
  * move the #define IPL_* lines to top of the file and change
    struct ipl_entry to ipl_entry_t by using typedef
2007-11-04 15:40:20 +00:00
Volker Ruppert
834904f49b - improved HD recognition and CD boot (patches by Myles Watson)
* fixed minor error from printf patch confusion (negation based on wrong word)
  * added helper function await_ide
  * changed lba calculation to not corrupt lba (for debugging and clarity)
  * added support for partial completions of ata_cmd_packet (never happens in
    the simulator, but happens all the time in hardware)
  * update atapi_request_sense and atapi_is_ready - based on FILO
  * correct an int 15 call that should have been int 0x15
  * trivial fix when BX_PCIBIOS and BX_ROMBIOS32 not defined
- implemented %X in bios_printf (patch by Sebastian)
2007-10-14 08:11:35 +00:00
Volker Ruppert
ed3fdad74d - reverted removal of one DPTE checksum bugfix
- fixed %ld and %lu padding (now only using it for %lx)
2007-10-10 17:12:07 +00:00
Volker Ruppert
fc6693001c - rombios patches by Myles Watson <mylesgw@gmail.com>
* corrects a spelling error and removes the lba_capable comment
  * moves dpte_segment after dpte_offset (endian problem) in the struct
  * changes int13 0x15 to use the logical geometry instead of physical to
    return sectors
  * clips cylinders in Int13DPT
  * fixes bit shift problem in options (parens in the wrong place)
  * returns the correct offset for dpte.iobase2
  * fixes a pointer arithmetic error in calculating the checksum of the dpte
  * moves #if BX_SUPPORT_FLOPPY to include more floppy code
  * added support for %lx %ld and %lu for bios_printf()
2007-10-09 16:49:53 +00:00
Volker Ruppert
471e89dc84 - INT 15h AH=86h was reading the wrong stack frame (SF patch #1791000) 2007-09-10 20:01:07 +00:00
Volker Ruppert
6ea536f95c - fixed floppy boot signature check switch
- added network boot ROM support in the main Bochs code (already present in BIOS)
2007-08-01 17:10:24 +00:00
Volker Ruppert
feb2f45a3e - added expansion-ROM boot support to the ROMBIOS (SF patch #1741153 ported from
the XenSource project)
2007-06-30 07:15:30 +00:00
Volker Ruppert
8f7e6ac2ad - implemented INT15h, fn 0xC2 (mouse), subfn 3, set resolution (SF patch #1734159)
- support for large PCI memory regions (>=64Mb) added (patch by Paul Brook)
2007-06-17 07:38:58 +00:00
Volker Ruppert
45bd4ab269 - bios_printf() fix for %s format (from VirtualBox)
- removed lots of trailing spaces
2007-05-28 08:01:56 +00:00
Volker Ruppert
9478cd9164 - INT 13h: sector number 0 is invalid 2007-04-02 20:35:52 +00:00
Volker Ruppert
252946be66 - initial ACPI SMBus support added (ported from Qemu, TODO: register devices,
bus transactions)
2007-02-20 09:39:06 +00:00
Volker Ruppert
691465ffa6 - reset the memory after 32 bit protected mode init (patch from the Qemu project
by Fabrice Bellard)
2007-02-10 17:05:38 +00:00
Volker Ruppert
0837438f7f - the int13_harddisk() function modifies the high word of EAX in EDD read/write
functions, but it shouldn't, so it must be saved on stack
2006-12-30 17:13:44 +00:00
Volker Ruppert
18a66befd0 - PCI BIOS function 'find class code' implemented for real and protected mode 2006-11-04 18:07:24 +00:00
Volker Ruppert
b9a70fb502 - added stub for real mode PCIBIOS function 'find class code'
- improved real mode PCIBIOS error reporting
2006-10-17 16:48:41 +00:00