aboutsummaryrefslogtreecommitdiff
path: root/src/mtrr.c
AgeCommit message (Collapse)AuthorFilesLines
2013-09-02Move code cenetered around firmware initialization to src/fw/Kevin O'Connor1-104/+0
Move many C files from the src/ directory to the new src/fw/ directory. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-09-02Move code centered around specific hardware devices to src/hw/Kevin O'Connor1-1/+1
Move many C files from the src/ directory to the new src/hw/ directory. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-02-19Calculate "RamSize" needed by 16bit interface dynamically.Kevin O'Connor1-0/+1
Calculate a LegacyRamSize directly from the e820 map for use by handle_1588() and handle_15e801() (the only two external interfaces that require "RamSize"). All other users of the existing RamSize (and RamSizeOver4G) variables are specific to QEMU, so move the declarations to paravirt.c. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-02-13Group QEMU platform setup together and move to paravirt.c.Kevin O'Connor1-2/+1
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2013-02-12Consistently use CONFIG_COREBOOT, CONFIG_QEMU, and runningOnXen().Kevin O'Connor1-2/+2
CONFIG_QEMU means compile to start from QEMU (and possibly Xen/KVM/Bochs) and definitely running under QEMU (or Xen/KVM/Bochs). CONFIG_COREBOOT means compile for coreboot and definitely running under coreboot. Places that used CONFIG_COREBOOT to mean "running on real hardware" have been changed to use !CONFIG_QEMU. CONFIG_QEMU_HARDWARE enables support for some virtual hardware devices even if QEMU didn't start SeaBIOS. usingXen() is replaced by runningOnXen(). runningOnQEMU() is added to hardware devices that are only safe to access when we are sure we are running under QEMU (or Xen/KVM/Bochs). Neither the coreboot nor the csm code currently enable runningOnQEMU, but future patches may. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-12-01seabios: make mttr UC area setup dynamicJason Baron1-2/+3
Set up the UC area of mtrr dynamically based on mtrr_base. This allows the bios to work for other chipsets that might want to set the mtrr. Since BUILD_MAX_HIGHMEM is no longer used we can remove the config parameter. This change reverses the order of pci_setup() and smm_init() with mtrr_setup(). Signed-off-by: Jason Baron <jbaron@redhat.com>
2012-05-20EBDA cleanups.Kevin O'Connor1-1/+1
Clean up includes of biosvar.h. Rename GET/SET_EBDA2 to GET/SET_EBDA - nearly all users use the extended form now anyway. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2012-02-01Detect CPUID instruction before using it.Kevin O'Connor1-3/+3
Enable SeaBIOS to work on 386/486 machines that don't have CPUID instruction. Based on patch by Rudolf Marek. Signed-off-by: Rudolf Marek <r.marek@assembler.cz> Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
2011-06-13Add support for use as Xen HVM BIOS.Ian Campbell1-1/+2
SeaBIOS is called by Xen's hvmloader which does the basic platform setup (PCI, APIC, etc) and provides the various BIOS tables. Therefore avoid re-doing that setup and copy out the tables as necessary. A simple data structure is defined to pass the addresses of these tables. This patch also establishes the basic infrastructure to make hypercalls, although it currently only uses it to query the hypervisor version. Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
2011-03-06Add config option to disable MTRR initialization.Kevin O'Connor1-1/+1
Some versions of Bochs don't like the MTRR initialization, so add CONFIG_MTRR_INIT to control whether SeaBIOS will touch the MTRRs.
2010-01-01Make MTRR region 0xc0000-0x100000 be cached.Kevin O'Connor1-25/+29
Use the "write protect" setting instead of "uncached" for that region. Also, make sure to clear all variable MTRRs before enabling them.
2009-12-23Add symbolic definitions for MTRR code.Kevin O'Connor1-9/+19
2009-11-09Properly mask value for MTRR mask.Kevin O'Connor1-2/+12
Signed-off-by: Magnus Christensson <mch@virtutech.com>
2009-06-21Forward port bochs smp changes; rename smpdetect.c to smp.c.Kevin O'Connor1-19/+9
Rename smpdetect.c to smp.c - the code does more than just cpu detection. Don't probe cpu count on demand - schedule it during post. Add logic to run wrmsr on all cpus. Don't make mtrr setup specific to kvm - do it on all machines that have mtrr and msrs. Detect cpu signature/features automatically in mptable. Also, make sure acpi structures are packed.
2009-05-06Minor - formatting enhancements; add memset_far funcs.Kevin O'Connor1-4/+3
Use consistent types in mtrr.c. Remove extra ';' from lds files. Report found serial and lpt ports. Remove extra newlines from inline asm. Add memset_far and memset16_far functions.
2009-01-15Change license from GPLv3 to LGPLv3.Kevin O'Connor1-1/+1
Change license of contributions from Kevin O'Connor from GPLv3 to LGPLv3 (or later). Since the work as a whole is based on Kevin's contributions and the "bochs bios" which has a license of LGPL (v2 or later), this effectively makes the work as a whole available under LGPLv3 (or later).
2009-01-04Initial KVM support.Kevin O'Connor1-0/+89
Add some of the enhancements KVM has to their bochs bios tree. This is only partial support for KVM - some features still do not work correctly.