aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/xen/acpi.h
Commit message (Collapse)AuthorAgeFilesLines
* ACPI: fix acpi_os_map_memory()Jan Beulich2013-08-211-1/+1
| | | | | | | | | | | | | | It using map_domain_page() was entirely wrong. Use __acpi_map_table() instead for the time being, with locking added as the mappings it produces get replaced with subsequent invocations. Using locking in this way is acceptable here since the only two runtime callers are acpi_os_{read,write}_memory(), which don't leave mappings pending upon returning to their callers. Also fix __acpi_map_table()'s first parameter's type - while benign for unstable, backports to pre-4.3 trees will need this. Signed-off-by: Jan Beulich <jbeulich@suse.com>
* xen: replace XEN_GUEST_HANDLE with XEN_GUEST_HANDLE_PARAM when appropriateStefano Stabellini2012-10-171-2/+2
| | | | | | | | | | | | Note: these changes don't make any difference on x86. Replace XEN_GUEST_HANDLE with XEN_GUEST_HANDLE_PARAM when it is used as an hypercall argument. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Acked-by: Keir Fraser <keir@xen.org> Committed-by: Ian Campbell <ian.campbell@citrix.com>
* ACPI: eliminate duplicate DMAR definitionsJan Beulich2011-12-131-69/+0
| | | | | | | Use their proper counterparts in include/acpi/actbl*.h instead. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* ACPI: eliminate duplicate MADT parsing and unused SBF definitionsJan Beulich2011-12-131-153/+7
| | | | | | | Use their proper counterparts in include/acpi/actbl*.h instead. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* ia64: fix the buildJan Beulich2011-11-151-0/+2
| | | | | | | This addresses all remaining build problems introduced over the last several months. Signed-off-by: Jan Beulich <jbeulich@suse.com>
* ACPI: add _PDC input override mechanismJan Beulich2011-08-221-0/+5
| | | | | | | | | | | | | | In order to have Dom0 call _PDC with input fully representing Xen's capabilities, and in order to avoid building knowledge of Xen implementation details into Dom0, this provides a mechanism by which the Dom0 kernel can, once it filled the _PDC input buffer according to its own knowledge, present the buffer to Xen to apply overrides for the parts of the C-, P-, and T-state management that it controls. This is particularly to address the dependency of Xen using MWAIT to enter certain C-states on the availability of the break-on-interrupt extension (which the Dom0 kernel should have no need to know about). Signed-off-by: Jan Beulich <jbeulich@novell.com>
* xen/acpi: disentangle ACPI enumerations.Tim Deegan2011-04-071-0/+1
| | | | | | | | | | There are two sets of ACPI table enums and structs, and clang complains about implicit casts between them. It would be much better to remove one entire set of ACPI definitions but for now just use the right enum for each interface. Signed-off-by: Tim Deegan <Tim.Deegan@citrix.com> Acked-by: Keir Fraser <keir@xen.org>
* ACPI: large cleanupJan Beulich2011-03-091-74/+0
| | | | | | | | In some cases, entire files turned out unnecessary. Of what remains, move whatever possible into .init.*, and some data items into .data.read_mostly. 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>
* vtd: Reinstate ACPI DMAR on system shutdown or S3/S4/S5.Keir Fraser2010-12-171-0/+3
| | | | Signed-off-by: Keir Fraser <keir@xen.org>
* Implement ACPI APEI ERST featureKeir Fraser2010-08-221-0/+1
| | | | | | | | | | | | | | | | | APEI are ACPI4.0 new features. It consists of ERST, BERT, HEST, and EINJ. ERST is used to save fault error log to a platform persistent storage, so that when reboot os can retrieve the error log and handle it. This patch is used to implement ERST feature to Xen. It consists of 3-level hierarchy: operation level, action level, and instru= ction level. Instruction do basic io; Action done by sequential instructions parsed from ACPI ERST table; Operation done by sequential actions defined by ACPI spec, providing erst_write/ erst_read/ erst_clear interfaces to MCE/ NMI/ PCIe error handling mechanism, etc. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com>
* ACPI: add support for x2APIC ACPI extensionsKeir Fraser2010-07-161-0/+22
| | | | | | | | | | | | | | | | | | | | | | All logical processors with APIC ID values of 255 and greater will have their APIC reported through Processor X2APIC structure (type-9 entry type) and all logical processors with APIC ID less than 255 will have their APIC reported through legacy Processor Local APIC (type-0 entry type) only. This is the same case even for NMI structure reporting. The Processor X2APIC Affinity structure provides the association between the X2APIC ID of a logical processor and the proximity domain to which the logical processor belongs. This patch adds 2 new subtables to MADT and one new subtable to SRAT. This patch also changes x86_acpiid_to_apicid from u8 to u32 for x2APIC ID, and changes mp_register_lapic to accept 32-bit id. But there are still some 8-bit apic id hardcode and assumptions in Xen code, it needs to be fixed in future. Signed-off-by: Weidong Han <weidong.han@intel.com>
* VT-d: change RHSA structure to be consistent with specKeir Fraser2010-03-251-8/+9
| | | | | | | | 'Reserved' field is missed in current RHSA structure, and move the 'proximity domain' field to the bottom. In addition, fix some indent issues. Signed-off-by: Weidong Han <weidong.han@intel.com>
* x86-64: reduce range spanned by 1:1 mapping and frame table indexesKeir Fraser2009-09-221-0/+3
| | | | | | | | | | | | | | | | | Introduces a virtual space conserving transformation on the MFN thus far used to index 1:1 mapping and frame table, removing the largest range of contiguous bits (below the most significant one) which are zero for all valid MFNs from the MFN representation, to be used to index into those arrays, thereby cutting the virtual range these tables must cover approximately by half with each bit removed. Since this should account for hotpluggable memory (in order to not requiring a re-write when that gets supported), the determination of which bits are candidates for removal must not be based on the E820 information, but instead has to use the SRAT. That in turn requires a change to the ordering of steps done during early boot. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* VT-d: fix assertion fault in pci passthrough codeKeir Fraser2009-07-131-1/+1
| | | | | | | | | | | | | Remove ASSERT(spin_is_locked(&pcidevs_lock)) in pci_get_pdev_by_domain() to allow caller the flexibility to not hold the lock if it does not care if the device is hot removed between the time it got the pdev and the time it is used to get the corresponding vt-d engine. In the new RHSA use case, we just wanted to get the vt-d engine of any device passthrough in the domain. Also, rename RHSA field "domain" to "proximity domain" to avoid overloading the term "domain" in virtualization context. Signed-off-by: Allen Kay <allen.m.kay@intel.com>
* vtd: IO NUMA supportKeir Fraser2009-06-231-0/+7
| | | | | | | | | This patch adds VT-d RHSA processing for IO NUMA support. The basic idea is to parse ACPI RHSA structure to obtain VT-d HW to proximity domain mapping. This mapping is then used when allocating pages for Vt-d HW data structures. Signed-off-by: Allen Kay <allen.m.kay@intel.com>
* ACPI/NUMA: Improve SRAT parsingKeir Fraser2009-05-201-31/+2
| | | | | | | | | | | | | | | | This is to properly handle SRAT rev 2 extended proximity domain values. Also a first step to eliminate the redundant definitions of ACPI provided table structures (Linux eliminated all of the duplicates from include/linux/acpi.h in 2.6.21). Portions based on a Linux patch from Kurt Garloff <garloff@suse.de> and Alexey Starikovskiy <astarikovskiy@suse.de>. IA64 build tested only. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* ia64: Fix the build after max_cstate changes.Keir Fraser2009-04-011-3/+1
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86 acpi: Delete unnecessary and broken RSDP-scanning code.Keir Fraser2009-03-301-1/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@eu.citrix.com>
* [IA64] compilation fix caused by 17814:9af7a535225fKeir Fraser2008-06-121-1/+0
| | | | | | | | | ia64 compliation fix caused by 17814:9af7a535225f. - generate_acpi_checksum() is replaced by acpi_tb_checksum() - move dump_execution_state() definitions from asm-ia64/xenprocessor.h to asm-ia64/bug.h Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
* x86: Default ACPI reboot method.Keir Fraser2008-06-101-0/+2
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Pull in ACPI table parsing code from Linux 2.6.26-rc4.Keir Fraser2008-06-101-55/+20
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Update ACPI headers to Linux 2.6.24.Keir Fraser2008-03-181-133/+0
| | | | Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: New vcpu_op call to get physical CPU identity.Keir Fraser2008-03-051-0/+1
| | | | | | | | | | | | | | | | Some AMD machines have APIC IDs that not equal to CPU IDs. In the default Xen configuration, ACPI calls on these machines can get confused. This shows up most noticeably when running AMD PowerNow!. The only solution is for dom0 to get the hypervisor's cpuid to apicid table when needed (ie, when dom0 vcpus are pinned). Add a vcpu op to Xen to allow dom0 to query the hypervisor for architecture dependent physical cpu information if dom0 vcpus are pinned. Signed-off-by: Mark Langsdorf <mark.langsdorf@amd.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Add ACPI tables support for AMD IOMMUKeir Fraser2008-02-281-0/+1
| | | | | | | | Configuration information for AMD IOMMU control fields are descirbed by I/O virtualization Reporting Structure (IVRS) table, this patch set parses IVRS table and updates iommu control flags according to the result. Signed-off-by: Wei Wang <wei.wang2@amd.com>
* Generic and VT-d specific Xen header changes for PCI passthru.kfraser@localhost.localdomain2007-09-121-0/+70
| | | | | Signed-off-by: Allen Kay <allen.m.kay@intel.com> Signed-off-by: Guy Zana <guy@neocleus.com>
* Add acpi_table_disable() into xen/drivers/acpi/tables.ckfraser@localhost.localdomain2007-07-301-1/+1
| | | | | | | This function can disable a ACPI table by updating the table header. Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* Move generate_acpi_checksum() from ia64 code to common.kfraser@localhost.localdomain2007-07-301-0/+1
| | | | Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
* [host s3] Retrieve necessary sleep information from plain-text ACPIkfraser@localhost.localdomain2007-07-191-0/+1
| | | | | | | | | tables (FADT/FACS), and keep one hypercall remained for sleep notification. Signed-off-by: Ke Yu <ke.yu@intel.com> Signed-off-by: Kevin Tian <kevin.tian@intel.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* Remove acpi_count_madt functions. Only appear to be usedkaf24@firebug.cl.cam.ac.uk2005-12-211-1/+0
| | | | | | | | for diagnostic tracing in xen/ia64. Signed-off-by: Keir Fraser <keir@xensource.com>
* This patch is intended to correct the number of CPUs.djm@kirby.fc.hp.com2005-12-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our IPF machines are the following configurations. - Total logical cpus = 16 -- 4 sockets -- 2 cores -- 2 threads I changed the setting of BIOS, and invalidated the hyperthread, and I built Xen with NR_CPUS=8. As a result, it became like attached file xendmesg1.txt. - Available cpus 3 - Total cpus 8 Next, I built Xen with NR_CPUS=16. As a result, it became like attached file xendmesg2.txt. - Available cpus 8 - Total cpus 16 I thought not to match the analysis of the lsapic entry to the value of NR_CPUS. It is an outline of patch as follows. 1. Count up the lsapic entry by using acpi_table_count_madt()/acpi_table_count_madt_family(). 2. Call acpi_parse_lsapic() by using the number of lsapic entries. 3. Count up the available_cpus by using acpi_parse_lsapic(), however NR_CPUS is not exceeded. Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com> Best Regards, Kan
* bitkeeper revision 1.1389.10.1 (427fa2d3ZV92f_ErvLuIzWbV1f67QA)kaf24@firebug.cl.cam.ac.uk2005-05-091-12/+114
| | | | | | | Phase 1 of upgrading platform code to be derived from Linux 2.6.11 rather than 2.4.x. Signed-off-by: Keir Fraser <keir@xensource.com>
* bitkeeper revision 1.842.1.1 (40715b38BNfFZvL7yV9c1GJbSaAK0g)kaf24@scramble.cl.cam.ac.uk2004-04-051-0/+436
Many files: new file Upgrade Xen APIC and ACPI and PCI subsystems to new features and fixes in latest Linux 2.4. acpi.c: Rename: xen/arch/i386/acpitable.c -> xen/arch/i386/acpi.c .del-acpitable.h~539b823a64c2b9d8: Delete: xen/arch/i386/acpitable.h