aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/asm-x86/mach-generic
Commit message (Collapse)AuthorAgeFilesLines
* x86: clean up physid_mask_t handlingJan Beulich2011-10-141-12/+7
| | | | | | | | | | | | | | | | This eliminates passing and returning by value of this type (making it unnecessary for the compiler to create temporary variables for doing so on the stack), thus dramatically reducing the stack frame sizes of a couple of functions (was in one case over 12k for a 4095-CPU build). In one case a local variable gets converted to a static one, possible because the function gets called at most once (during early boot). Some accessors get eliminated altogether as being unused or as being equally well open coded at the place of use. Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
* x86: cleanup mpparse.cJan Beulich2011-03-092-13/+1
| | | | | | | | Remove unused and pointless bits from mpparse.c (and other files where they are related to it). Of what remains, move whatever possible into .init.*, and some data items into .data.read_mostly. Signed-off-by: Jan Beulich <jbeulich@novell.com>
* x86: mpparse and cstate need to use 32bit apic idKeir Fraser2010-12-151-3/+3
| | | | | | | | | | | | | | | | | Instead of going with mpc_config_processor struct. that field ony have 8 bits. We should not change that struct, because it is shared with mptable. Also need to increase MAX_APICS. Signed-off-by: Yinghai Lu <yinghai@kernel.org> Rather than using a fixed value of 512, make this scale with NR_CPUS (which obviously still doesn't cover all theoretically possible systems, but at least allows some build time control). Signed-off-by: Jan Beulich <jbeulich@novell.com>
* Rename irq_cfg->domain to irq_cfg->cpu_maskKeir Fraser2010-08-301-1/+1
| | | | | From: Sheng Yang <sheng.yang@intel.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Do not include apic.h/io_apic.h from asm/smp.hKeir Fraser2010-06-111-0/+2
| | | | | | ...and fix up the ensuing fall-out of implicit dependencies Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* x86: Remove special-case paths for start-of-day SMP bringup.Keir Fraser2010-05-171-4/+0
| | | | | | | | | | | | | All CPUs are now brought up in __cpu_up(), in the correct order for cpu-bringup notifiers. Notably ganged TSC calibration is removed. This was another start-of-day-specific aspect of bringup. If we really need calibration, I think we can come up with an efficient method for APs to calibrate themselves against PIT during their bringup (even asynchronously, if required for efficiency). Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
* Mark CPU present when it is detectedKeir Fraser2009-11-101-7/+0
| | | | | | | | | | | | | | | | | Currently a CPU is marked as present only after it has been kicked off successfully, i.e. before the CPU is brought up, it is not present. This patch try to mark CPU as present when it is detected (either through MPS table or ACPI). If it can't be brought up successfully, it will be marked as non-present again. This change is mainly for CPU hot-plug. As discussed, we'd take two step for physical CPU hot-add. A CPU is firstly marked as present, and later will bring as online. Also, In smp_boot_cpus(), xen need only scan all present CPU, and no need to loop from 0... NR_CPUS. With this change, the bios_cpu_apicid is not needed anymore. Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com>
* Scattered code arrangement cleanups.Keir Fraser2009-10-071-0/+1
| | | | | | | | - remove redundant declarations - add/move prototypes to headers - move things where they belong to Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
* x86: Implement per-cpu vector for xen hypervisorKeir Fraser2009-08-191-0/+1
| | | | | | | | | | | | | | | Since Xen and Linux has big differece in code base, it is very hard to port Linux's patch and apply it to Xen directly, so this patch only adopts core logic of Linux, and make it work for Xen. Key changes: 1. vector allocation algorithm 2. all IRQ chips' set_affinity logic 3. IRQ migration when cpu hot remove. 4. Break assumptions which depend on global vector policy. Signed-off-by: Xiantao Zhang <xiantao.zhang@intel.com>
* x86: Support x2APIC mode.Keir Fraser2008-05-011-1/+1
| | | | Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
* x86: Make apicid 32 bits in preparation for x2APIC support.Keir Fraser2008-05-011-2/+2
| | | | Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
* Simplify Unisys ES7000 code in light of the fact we do not supportkfraser@localhost.localdomain2007-07-101-3/+2
| | | | | | legacy boxes with very non-standard APIC setup. From: Raj Subrahmanian <raj.subrahmanian@unisys.com> Signed-off-by: Keir Fraser <keir@xensource.com>
* [XEN] Add basic NUMA/SRAT support to Xen from Linux 2.6.16.29.kfraser@localhost.localdomain2006-10-251-5/+1
| | | | Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
* Whitespace clean-ups. shand@kneesaa.uk.xensource.com2006-08-161-2/+2
| | | | | Signed-off-by: Steven Hand <steven@xensource.com>
* Simplify the Xen genapic code. Many genapic hooks have beenkaf24@firebug.cl.cam.ac.uk2006-04-041-15/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | replaced with unconditional static 'sane' implementations. Functions relating to interrupt/IPI delivery have been grouped into two sets: physical delivery and logical-flat delivery. All subarchitectures use physical delivery except the basic default subarchitecture. The main behavioural changes are: 1. Summit no longer uses logical-clustered delivery mode 2. Physical mode no longer makes any pretence to set the LDR sanely. We never deliver interrupts in logical mode so this really should not matter. 3. Sanity checking of phys_cpu_present_map is enabled for all subarchitectures. Really we should have a sane set of APIC IDs in the system, as we rely on them for physical delivery mode. 4. We enable 'bigsmp' mode on any system with more than eight CPUs. The previous xAPIC check was unnecessary, since our bigsmp mode uses physical delivery, not logical-clustered. This all obviously needs testing on some big systems. Signed-off-by: Keir Fraser <keir@xensource.com>
* Clean up subarch 'mach-foo' header files. No need forkaf24@firebug.cl.cam.ac.uk2006-04-033-28/+0
| | | | | | | | subarch apicdef.h and ipi.h can be much simplified. Signed-off-by: Keir Fraser <keir@xensource.com>
* Remove send_IPI_all, send_IPI_allbutself and send_IPI_selfkaf24@firebug.cl.cam.ac.uk2006-04-031-2/+0
| | | | | | | | | | shortcutting IPI functions. They're either unused or used so frequently that we may as well simplify things and always use send_IPI_mask. Signed-off-by: Keir Fraser <keir@xensource.com>
* Upgrade genapic code to 2.6.16-rc6 codebase. Remove entries fromkaf24@firebug.cl.cam.ac.uk2006-03-203-7/+29
| | | | | | | | | genapic structure that Xen does not require (mostly because we do not support Visual Workstation nor IBM/Sequent NUMA-Q). Signed-off-by: Keir Fraser <keir@xensource.com>
* Intel systems with more than 8 CPUs require that the APIC is configuredkaf24@firebug.cl.cam.ac.uk2005-11-231-0/+2
| | | | | | | | | | | | | | in clustered mode with the apic=bigsmp kernel parameter. This patch does the APIC mode selection automatically without needing to manually specify the kernel paremeter. (KAF note: I see the patch is also present in Linux 2.6.14.2) Signed-off-by: Nitin Kamble <nitin.a.kamble@intel.com> Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org>
* Here is a patch to enable Xen to run on a Unisys ES7000 x86_64 system.kaf24@firebug.cl.cam.ac.uk2005-07-211-1/+0
| | | | | Signed-off-by: Aravindh Puthiyaparambil <aravindh.puthiyaparambil@unisys.com>
* bitkeeper revision 1.1555 (4294b5f0B3iu-SnB9loIMnLXO0loTA)kaf24@firebug.cl.cam.ac.uk2005-05-255-0/+75
Ported genapic to Xen: support for bigsmp and numa platforms such as es7000. Signed-off-by: Keir Fraser <keir@xensource.com>