Commit Graph

81 Commits

Author SHA1 Message Date
Volker Ruppert
8df02880f8 Align PCI memory regions at 64k boundary to make Bochs memory handlers work
correctly (registering small MMIO regions of USB controllers could fail otherwise).
2015-11-02 16:59:50 +00:00
Volker Ruppert
9596717f3c Fixed MTRR setup for memory size > 4 GB. 2015-08-22 06:17:39 +00:00
Volker Ruppert
f169c68174 The RSDT table may be detected incorrectly within the rombios32 string table.
Split copying signature and the check for in to parts to fix this ACPI issue.
2015-04-18 13:18:01 +00:00
Stanislav Shwartsman
055da948a0 fixed problems found by cppcheck tool (patch by Maxim Derbasov) - second round 2015-01-07 16:17:40 +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
Volker Ruppert
7b51b829f5 - added missing MADT interrupt source override and fixed MP table
(patches by Sebastian Herbszt)
2012-05-13 20:06:51 +00:00
Volker Ruppert
40052509d2 - PCI ROM handling fixes
- fixed tmpsize (patch by Sebastian Herbszt)
  - disable PCI ROM access after copying to shadow RAM (same as SeaBIOS)
2011-12-22 07:53:25 +00:00
Volker Ruppert
46d5caa98d - added PCI ROM init code that copies to shadow RAM and use it for both VGA
and other boot ROMs
- define and use PCI constants (patch by Sebastian Herbszt)
2011-12-20 19:34:05 +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
00981cd7a6 Adding Id and Rev property to all files 2011-02-24 22:05:47 +00:00
Stanislav Shwartsman
bfac0dd6c6 Move some defines from rombios32.c to rombios.h
Sebastian
2010-05-16 14:35:22 +00:00
Stanislav Shwartsman
bcc5747abe Handle tables correctly if BX_USE_EBDA_TABLES is set.
- Sebastian
2010-04-04 19:38:02 +00:00
Stanislav Shwartsman
969eb42454 Fixes by Sebastian 2010-04-04 19:33:50 +00:00
Stanislav Shwartsman
bd9e7d3a1f The default i440_pcidev values represent a valid bus and devfn. Set it to invalid values to make failed detection noticable.
- Sebastian
2010-02-09 21:23:17 +00:00
Stanislav Shwartsman
9070f65d32 BIOS updates by Sebastian 2010-02-01 21:05:42 +00:00
Stanislav Shwartsman
9b40d6fe47 Set bios_starting_address_segment to 0xe000 and bios_rom_size to 128 kB.
- Sebastian
2010-01-29 21:09:38 +00:00
Stanislav Shwartsman
6de20a6cae Introduce BX_APPVENDOR and set it to "The Bochs Project".
- Sebastian
2010-01-29 20:57:07 +00:00
Stanislav Shwartsman
a060d16845 SMBIOS patches by Sebastian 2010-01-26 07:41:49 +00:00
Stanislav Shwartsman
327a4ab5db Mark 1 GB instead of 512 MB at 3 GB as UC.
Add PNP BIOS dummy support
by Sebsatian
2010-01-18 20:04:44 +00:00
Stanislav Shwartsman
d548442c48 ROM BIOS patches by Sebastia 2010-01-14 07:04:40 +00:00
Stanislav Shwartsman
fcfac5f993 BIOS fixes from Sebastian 2010-01-05 08:20:05 +00:00
Stanislav Shwartsman
0e57ef4cee With BX_USE_EBDA_TABLES memory used by the MP table should be marked as reserved.
This should fix bug #1947249.

- Sebastian
2010-01-03 19:23:02 +00:00
Stanislav Shwartsman
8733e9a8e1 Remove support for BX_USE_EBDA_TABLES from smbios_init().
The SMBIOS spec says that at least the entry point should be between 0xf0000 and 0xfffff. Since the EBDA is currently limited to 1 KB disallow putting the SMBIOS tables there.
This should fix bug #1933859.

- Sebastian
2010-01-02 22:35:45 +00:00
Stanislav Shwartsman
aa07cd0324 Tables generated in rombios32 were overwriten by the IPL code in rombios.
This should partially fix bug #1933859.

- Sebastian
2009-12-30 19:21:46 +00:00
Stanislav Shwartsman
631a806036 The EBDA overflow check should not depend on bios_table_cur_addr.
- Sebastian
2009-12-28 20:08:30 +00:00
Stanislav Shwartsman
ea2be842a2 Fix PCI memory hole by Sebastian 2009-12-20 16:43:50 +00:00
Stanislav Shwartsman
4ef233daae Remove pci_bios_bigmem_addr. It seems no longer necessary because pci_bios_mem_addr now starts at 3GB.
- Sebastian
2009-12-19 17:31:43 +00:00
Stanislav Shwartsman
ed1de5d327 Commit "fix for BIOS bug" changed MSR_MTRRdefType to MTRR_MEMTYPE_UC.
Change it back to MTRR_MEMTYPE_WB.
2009-12-11 07:44:48 +00:00
Volker Ruppert
e14f643741 - fixed MTRR mask write bug and enabled check in msr.cc 2009-10-25 10:25:38 +00:00
Stanislav Shwartsman
489b3ddbcb fix for BIOS bug 2009-10-23 15:32:45 +00:00
Stanislav Shwartsman
2f65d8dfe8 patch from QEMU 2009-09-27 09:03:02 +00:00
Stanislav Shwartsman
bc9a191e2d bios patches by Sebastian 2009-04-26 17:17:07 +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
e012c3530e - applied some patches from Qemu's bios patch queue and the Qemu ML 2009-04-12 12:48: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
Stanislav Shwartsman
36518ba6c6 Patch by Sebastian [Bochs-developers] [PATCH] rombios32: use cpuid info in mptable processor entry 2009-02-20 15:36:29 +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
Stanislav Shwartsman
817bbc6435 [Bochs-developers] [PATCH] rombios32: fix SMBIOS end address range reporting
The -1 seems to be in the wrong place here.

Patch by Alex Williamson from the kvm tree [1].

[1] http://git.kernel.org/?p=virt/kvm/kvm-userspace.git;a=commitdiff;h=dd0f27d08ce415da6a5215f0901e7d98ab084f79

- Sebastian
2009-01-11 19:52:36 +00:00
Volker Ruppert
ab1da2f8f3 - the HPET merge from QEMU introduced new structures which need packing (Sebastian Herbszt) 2008-12-27 16:28:49 +00:00
Volker Ruppert
f2f5d5c915 - applied 3 patches from the Qemu project
* added support for memory above the PCI hole (Izik Eidus)
  * smp_probe: instead of timimg out, wait until all cpus are up (Avi Kivity)
  * Bochs BIOS changes to support HPET in Qemu (Beth Kon)
- added documentation about CMOS registers set by Qemu
2008-12-25 16:58:44 +00:00
Volker Ruppert
c3b6fc563f - use "__attribute__((__packed__))" instead of "#pragma pack" (Sebastian Herbszt) 2008-12-23 09:20:43 +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
02e21074a0 Don't power down vga card on entering S3 state.
Patch by Gleb Natapov
2008-12-04 18:48:33 +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
3692baf4bb Preserve memory content during SMM iniT.
Patch by Gleb Natapov
2008-12-04 18:42:32 +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
b54ea2e0b8 Applied patch [ 2217229 ] Panic on EBDA overflow in rombios32 2008-11-03 19:53:12 +00:00
Stanislav Shwartsman
bc89bf1c48 Merge [ 2210194 ] Log pci class code patch 2008-10-31 18:07:15 +00:00
Stanislav Shwartsman
4f31cbe6b4 QEMU UUID support - QEMU only is affected 2008-10-15 19:04:09 +00:00