android_kernel_samsung_msm8976/arch/ia64/kernel
David Mosberger-Tang a37d98f6a9 [IA64] fix syscall-optimization goof
Sadly, I goofed in this syscall-tuning patch:

ChangeSet 1.1966.1.40 2005/01/22 13:31:05 davidm@hpl.hp.com
  [IA64] Improve ia64_leave_syscall() for McKinley-type cores.

  Optimize ia64_leave_syscall() a bit better for McKinley-type cores.
  The patch looks big, but that's mostly due to renaming r16/r17 to r2/r3.
  Good for a 13 cycle improvement.

The problem is that the size of the physical stacked registers was
loaded into the wrong register (r3 instead of r17).  Since r17 by
coincidence always had the value 1, this had the effect of turning
rse_clear_invalid into a no-op.  That poses the risk of leaking kernel
state back to user-land and is hence not acceptable.

The fix below is simple, but unfortunately it costs us about 28 cycles
in syscall overhead. ;-(

Unfortunately, there isn't much we can do about that since those
registers have to be cleared one way or another.

	--david

Signed-off-by: Tony Luck <tony.luck@intel.com>
2005-04-25 13:20:38 -07:00
..
acpi-ext.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
acpi.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
asm-offsets.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
brl_emu.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cyclone.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
domain.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
efi.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
efi_stub.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
entry.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
entry.S [IA64] fix syscall-optimization goof 2005-04-25 13:20:38 -07:00
fsys.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gate-data.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gate.lds.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
gate.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
head.S [IA64] Fix build errors for !HOTPLUG case. 2005-04-22 14:46:24 -07:00
ia64_ksyms.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
init_task.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
iosapic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_ia64.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_lsapic.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ivt.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
machvec.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mca.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mca_asm.S [IA64] cpu hotplug: return offlined cpus to SAL 2005-04-22 14:44:40 -07:00
mca_drv.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mca_drv.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mca_drv_asm.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
minstate.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pal.S Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
palinfo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
patch.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
perfmon.c [IA64] perfmon: make pfm_sysctl a global, and other cleanup 2005-04-25 13:08:30 -07:00
perfmon_default_smpl.c [IA64] perfmon: make pfm_sysctl a global, and other cleanup 2005-04-25 13:08:30 -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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
process.c [IA64] cpu hotplug: return offlined cpus to SAL 2005-04-22 14:44:40 -07:00
ptrace.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sal.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
salinfo.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
semaphore.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigframe.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smpboot.c [IA64] add missing cpu_relax() in ITC syncing code 2005-04-25 11:44:02 -07:00
sys_ia64.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
time.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
topology.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
traps.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unwind.c [IA64] Tighten up unw_unwind_to_user check 2005-04-25 11:45:26 -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 Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00