OpenCloudOS-Kernel/arch/ia64/kernel
travis@sgi.com acdac87202 percpu: make the asm-generic/percpu.h more "generic"
- add support for PER_CPU_ATTRIBUTES

- fix generic smp percpu_modcopy to use per_cpu_offset() macro.

Add the ability to use generic/percpu even if the arch needs to override
several aspects of its operations. This will enable the use of generic
percpu.h for all arches.

An arch may define:

__per_cpu_offset	Do not use the generic pointer array. Arch must
			define per_cpu_offset(cpu) (used by x86_64, s390).

__my_cpu_offset		Can be defined to provide an optimized way to determine
			the offset for variables of the currently executing
			processor. Used by ia64, x86_64, x86_32, sparc64, s/390.

SHIFT_PTR(ptr, offset)	If an arch defines it then special handling
			of pointer arithmentic may be implemented. Used
			by s/390.

(Some of these special percpu arch implementations may be later consolidated
so that there are less cases to deal with.)

Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Andi Kleen <ak@suse.de>
Signed-off-by: Christoph Lameter <clameter@sgi.com>
Signed-off-by: Mike Travis <travis@sgi.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-01-30 13:32:52 +01:00
..
cpufreq [CPUFREQ] move policy's governor initialisation out of low-level drivers into cpufreq core 2007-10-04 18:40:57 -04:00
.gitignore [IA64] Add gate.lds to list of files ignored by Git 2007-11-06 15:39:45 -08:00
Makefile [IA64] Itanium MC Error Injection Tool: Makefile changes 2007-01-29 15:27:07 -08:00
acpi-ext.c Pull acpi_os_free into release branch 2006-07-01 17:19:08 -04:00
acpi-processor.c [IA64] Fix using uninitialized data in _PDC setup 2007-05-24 10:14:30 -07:00
acpi.c [IA64] operator priority fix in acpi_map_lsapic() 2007-12-07 16:12:30 -08:00
asm-offsets.c [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
audit.c [PATCH] audit signal recipients 2007-05-11 05:38:25 -04:00
brl_emu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
crash.c [IA64] Fix kernel hangup in kdump on INIT 2007-10-12 15:24:40 -07:00
crash_dump.c [IA64] kexec: Minor enhancement to includes in crash.c 2007-02-05 11:31:04 -08:00
cyclone.c cyclone.c: silly use of volatile, __iomem fixes 2007-07-26 11:11:57 -07:00
efi.c [IA64] make full use of macro efi_md_size 2007-12-07 16:12:00 -08:00
efi_stub.S [IA64] make efi_stub.S fit in 80 cols 2006-06-21 14:35:28 -07:00
entry.S [IA64] fallocate system call 2007-07-19 13:48:00 -07:00
entry.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
err_inject.c [IA64] typo s/kenrel/kernel/ 2007-05-10 09:35:30 -07:00
esi.c [IA64] esi-support 2006-06-21 11:19:22 -07:00
esi_stub.S [IA64] esi-support 2006-06-21 11:19:22 -07:00
fsys.S [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
fsyscall_gtod_data.h [IA64] Convert to generic timekeeping/clocksource 2007-07-20 11:22:30 -07:00
gate-data.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gate.S [IA64] Stop bit for brl instruction 2007-07-09 13:37:44 -07:00
gate.lds.S [IA64] increase .data.patch offset 2007-12-07 14:28:02 -08:00
head.S [IA64] Remove assembler warnings on head.S 2007-12-19 11:15:12 -08:00
ia64_ksyms.c [IA64] export copy_page() to modules 2007-12-07 16:10:19 -08:00
init_task.c Remove fs.h from mm.h 2007-07-29 17:09:29 -07:00
iosapic.c [IA64] Fix iosapic interrupt delivery mode for CPE 2007-12-07 16:13:03 -08:00
irq.c [IA64] Clean up /proc/interrupts output 2007-11-06 15:40:52 -08:00
irq_ia64.c [IA64] Remove compiler warinings about uninitialized variable in irq_ia64.c 2007-12-19 11:13:27 -08:00
irq_lsapic.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
ivt.S [IA64] relax per-cpu TLB requirement to DTC 2007-02-06 15:04:48 -08:00
jprobes.S [IA64] enable trap code on slot 1 2006-12-12 12:00:55 -08:00
kprobes.c [IA64] kprobe: make kreturn probe handler stack unwind correct 2007-12-07 16:12:50 -08:00
machine_kexec.c [IA64] fix non-numa build 2007-10-17 14:28:38 -07:00
machvec.c [IA64] Ensure that machvec is set up takes place before serial console 2007-07-25 11:12:47 -07:00
mca.c [IA64] Adjust CMCI mask on CPU hotplug 2007-12-19 12:30:47 -08:00
mca_asm.S [IA64] Support multiple CPUs going through OS_MCA 2007-07-11 11:50:11 -07:00
mca_drv.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
mca_drv.h [IA64] Fix kernel panic in kdump on INIT 2007-10-12 15:24:06 -07:00
mca_drv_asm.S [IA64] Don't set psr.ic and psr.i simultaneously 2007-07-09 10:30:28 -07:00
minstate.h Remove obsolete #include <linux/config.h> 2006-06-30 19:25:36 +02:00
module.c percpu: make the asm-generic/percpu.h more "generic" 2008-01-30 13:32:52 +01:00
msi_ia64.c [IA64] Fix incorrect return value from ia64_setup_msi_irq() 2007-10-30 09:54:47 -07:00
numa.c [PATCH] cpumask: export node_to_cpu_mask consistently 2006-10-02 07:57:17 -07:00
pal.S [IA64] reformat pal.S to fit in 80 columns, fix typos 2006-10-17 14:54:19 -07:00
palinfo.c [IA64] Update printing of feature set bits 2007-11-09 13:05:30 -08:00
patch.c [IA64] Clean-up McKinley Errata message 2007-11-06 15:40:07 -08:00
perfmon.c [IA64] Fix perfmon sysctl directory modes 2007-11-06 13:20:43 -08:00
perfmon_default_smpl.c Use helpers to obtain task pid in printks (arch code) 2007-10-19 11:53:43 -07:00
perfmon_generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
perfmon_itanium.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
perfmon_mckinley.h [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
perfmon_montecito.h [IA64] sparse cleanups 2006-12-07 10:48:19 -08:00
process.c [IA64] set_thread_area fails in IA32 chroot 2007-12-19 11:06:40 -08:00
ptrace.c Fix spurious syscall tracing after PTRACE_DETACH + PTRACE_ATTACH 2007-09-10 18:57:47 -07:00
relocate_kernel.S [IA64] Removal of percpu TR cleanup in kexec code 2007-05-08 10:00:28 -07:00
sal.c [IA64] spelling fixes: arch/ia64/ 2007-05-11 14:55:43 -07:00
salinfo.c [IA64] tree-wide: Misc __cpu{initdata, init, exit} annotations 2007-10-12 14:13:38 -07:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c sched: remove printk_clock references from ia64 2008-01-25 21:07:59 +01:00
sigframe.h [IA64] Add TIF_RESTORE_SIGMASK 2007-05-08 14:51:59 -07:00
signal.c [IA64] signal: remove redundant code in setup_sigcontext() 2007-12-18 16:55:15 -08:00
smp.c [IA64] Allow smp_call_function_single() to current cpu 2007-07-30 16:26:45 -07:00
smpboot.c [IA64] /proc/cpuinfo "physical id" field cleanups 2007-10-29 11:14:54 -07:00
sys_ia64.c header cleaning: don't include smp_lock.h when not used 2007-05-08 11:15:07 -07:00
time.c sched: remove printk_clock() 2008-01-25 21:07:59 +01:00
topology.c Kobject: convert arch/* from kobject_unregister() to kobject_put() 2008-01-24 20:40:39 -08:00
traps.c Use helpers to obtain task pid in printks (arch code) 2007-10-19 11:53:43 -07:00
unaligned.c [IA64] Fix unaligned handler for floating point instructions with base update 2008-01-15 14:26:55 -08:00
uncached.c [IA64] make flush_tlb_kernel_range() an inline function 2007-12-19 12:30:30 -08:00
unwind.c [IA64] Correct unwind validation code 2007-06-26 13:33:10 -07:00
unwind_decoder.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unwind_i.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vmlinux.lds.S all archs: consolidate init and exit sections in vmlinux.lds.h 2008-01-28 23:21:17 +01:00