aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/dmi_scan.c
Commit message (Collapse)AuthorAgeFilesLines
* PCI multi-seg: config space accessor adjustmentsJan Beulich2011-09-221-3/+3
| | | | Signed-off-by: Jan Beulich <jbeulich@suse.com>
* x86: work around certain Intel BIOSes causing (transient) hangs during bootJan Beulich2011-08-271-0/+36
| | | | | | | | | | | | | | They apparently leave the USB legacy emulation bits set in ICH10's SMI Control and Enable register, but fail to handle the resulting SMIs gracefully. The hangs can apparently extend indefinitely, but are commonly observed to last between a few seconds and a minute. This assumes that only ICH10-based systems on Intel main boards with Intel BIOS may be affected. Until Intel comes up with a more precise identification of affected BIOSes, all Intel ones on Intel boards will get this workaround applied. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* x86-64/mmcfg: relax base address restrictionJan Beulich2011-08-161-0/+70
| | | | | | | | Following what Linux did quite a while ago, don't generally disallow MMCFG base addresses to live above the 4Gb boundary: New systems are assumed to be fine, and SGI ones are, too. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* x86-64: EFI boot codeJan Beulich2011-06-281-2/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Besides introducing the relevant code paralleling parts of what is under xen/arch/x86/boot/, this adjusts the build logic so that with a single compilation two images (gzip-compressed ELF and EFI application) can get created. The EFI part of this depends on a new enough compiler (supposedly gcc 4.4.x and above, but so far only tested to work with 4.5.x) and a properly configured linker (must support the i386pep emulation). If either functionality is found to not be available, the EFI part of the build will simply be skipped. The patch adds all code to allow Xen and the (accordingly enabled) Dom0 kernel to boot, but doesn't allow Dom0 to make use of EFI runtime calls (this will be the subject of the next patch). Parts of the code were lifted from an earlier never published OS project of ours - whether respective license information needs to be added to the respective source file is unclear to me (I was told internally that adding a GPLv2 license header can be done if needed by the community). Open issues (not preventing this from being committed imo): The trampoline allocation and initialization isn't really nice. This is due to the trampoline needing to be placed at a fixed address, and hence making the trampoline relocatable would seem desirable here (as well as for BIOS-based booting, where the trampoline location needed to be adjusted a number of time already in the past, due to it colliding with firmware data). By excluding mem.S, edd.S, and video.S from copied trampoline (i.e. moving up wakeup.S? and making sure none of the symbols are used from EFI code), the effective trampoline size could at least be reduced. Should the mappings of [__XEN_VIRT_START, mbi.mem_upper) and [_end, __XEN_VIRT_START+BOOTSTRAP_MAP_BASE) be destroyed, despite non-EFI code also keeping them? Signed-off-by: Jan Beulich <jbeulich@novell.com>
* x86/DMI: use proper structures instead of byte offsetsJan Beulich2011-06-231-35/+63
| | | | | | | Besides being (in my eyes) desirable cleanup, this at once represents another prerequisite for native EFI booting support. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* x86: cleanup bogus CONFIG_ACPI_PCI usesJan Beulich2011-04-021-50/+0
| | | | | | | | | | | | We're building for one case (CONFIG_ACPI_PCI defined) only, yet still had the other case's code in there. Additionally there was quite a bit of pseudo-duplication between disabled(!) DMI scan and ACPI boot code. acpi_pci_disabled had only a single reader, which is off by default (i.e. must be enable on the command line), so it seems pointless to keep it. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* move various bits into .init.* sectionsJan Beulich2011-03-091-15/+7
| | | | | | | | | | This also includes the removal of some entirely unused functions. The patch builds upon the makefile adjustments done in the earlier sent patch titled "move more kernel decompression bits to .init.* sections". Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Use bool_t for various boolean variablesKeir Fraser2010-12-241-2/+0
| | | | | | | | | | | ... decreasing cache footprint. As a prerequisite this requires making cmdline_parse() a little more flexible. Also remove a few variables altogether, and adjust sections annotations for several others. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir@xen.org>
* x86: force DMI table to not be in E820 RAM regionKeir Fraser2007-09-261-10/+19
| | | | | | | | | | In order for Dom0 to be able to map the DMI table, it must not be in E820 RAM; since some BIOS versions apparently fail to set the type correctly for the page(s) containing this table, adjust it before starting to consume memory. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* Provide basic Xen PM infrastructurekfraser@localhost.localdomain2007-07-111-1/+0
| | | | | | | | | | | | | | Basic infrastructure for Xen S3 support with a common CPU context save/restore logic for both 32bit and 64bit. Wakeup code is split into two parts: - the first locates after trampoline code, to share all the tricks on the latter, like relocation base and identy mapping - the 2nd part locates in xen code segment, to do the actual CPU context restore Signed-off-by Ke Yu <ke.yu@intel.com> Signed-off-by Kevin Tian <kevin.tian@intel.com>
* Simplify Unisys ES7000 code in light of the fact we do not supportkfraser@localhost.localdomain2007-07-101-2/+0
| | | | | | legacy boxes with very non-standard APIC setup. From: Raj Subrahmanian <raj.subrahmanian@unisys.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* safe_str*() functions check their destination argument is akfraser@localhost.localdomain2007-02-011-1/+1
| | | | | character-array type. Fix two bad callers. Signed-off-by: Keir Fraser <keir@xensource.com>
* Remove uses of strcpy and strncpy from common and x86 code.kfraser@localhost.localdomain2007-01-291-1/+1
| | | | | | | | Retain safe_strcpy(). It can hide the third argument to strlcpy() in most cases. Based on patches from Christoph Egger <Christoph.Egger@amd.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* Whitespace clean-ups. shand@kneesaa.uk.xensource.com2006-08-161-5/+5
| | | | | Signed-off-by: Steven Hand <steven@xensource.com>
* bitkeeper revision 1.1660 (42a027a8dd_EUm7b7XhKL_lNM4H_Rg)kaf24@firebug.cl.cam.ac.uk2005-06-031-1/+0
| | | | | | Add support for memory-mapped ns16550 uart. Signed-off-by: Keir Fraser <keir@xensource.com>
* bitkeeper revision 1.1649 (429f6bb65KQm70mnFwO33ykh9n1qag)cl349@firebug.cl.cam.ac.uk2005-06-021-1/+1
| | | | | | | | | | | | | sched.h: g/c unneeded include. Many files: Rename xen/slab.h to xen/xmalloc.h and fix resulting fallout. xmalloc.h: Rename: xen/include/xen/slab.h -> xen/include/xen/xmalloc.h sched.h, multicall.c, dom_mem_ops.c, asm-offsets.c: cleanup incorrect includes. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
* bitkeeper revision 1.1619.1.2 (429ce59cTt9KxcOT0JuoCYbuDDPRFw)cl349@firebug.cl.cam.ac.uk2005-05-311-0/+1
| | | | | | | Many files: Don't include xen/slab.h and xen/domain.h at the _END_ of xen/sched.h. Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
* bitkeeper revision 1.1558 (4294f9a2Vif6PUYZMV6j1GuP-Mn6Xg)kaf24@firebug.cl.cam.ac.uk2005-05-251-2/+2
| | | | | | gcc4 build fixes. Signed-off-by: Keir Fraser <keir@xensource.com>
* bitkeeper revision 1.1555 (4294b5f0B3iu-SnB9loIMnLXO0loTA)kaf24@firebug.cl.cam.ac.uk2005-05-251-0/+493
Ported genapic to Xen: support for bigsmp and numa platforms such as es7000. Signed-off-by: Keir Fraser <keir@xensource.com>