1
linux/arch/i386
Andi Kleen ab144f5ec6 i386: Make patching more robust, fix paravirt issue
Commit 19d36ccdc3 "x86: Fix alternatives
and kprobes to remap write-protected kernel text" uses code which is
being patched for patching.

In particular, paravirt_ops does patching in two stages: first it
calls paravirt_ops.patch, then it fills any remaining instructions
with nop_out().  nop_out calls text_poke() which calls
lookup_address() which calls pgd_val() (aka paravirt_ops.pgd_val):
that call site is one of the places we patch.

If we always do patching as one single call to text_poke(), we only
need make sure we're not patching the memcpy in text_poke itself.
This means the prototype to paravirt_ops.patch needs to change, to
marshal the new code into a buffer rather than patching in place as it
does now.  It also means all patching goes through text_poke(), which
is known to be safe (apply_alternatives is also changed to make a
single patch).

AK: fix compilation on x86-64 (bad rusty!)
AK: fix boot on x86-64 (sigh)
AK: merged with other patches

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-08-11 15:58:13 -07:00
..
boot [x86 setup] EDD: add missing =m constraint 2007-08-02 13:45:49 -04:00
crypto
kernel i386: Make patching more robust, fix paravirt issue 2007-08-11 15:58:13 -07:00
lib i386: Move all simple string operations out of line 2007-07-21 18:37:08 -07:00
mach-default Add IRQF_IRQPOLL flag on i386 2007-05-08 11:15:22 -07:00
mach-es7000 i386: es7000 build breakage fix 2007-07-06 10:23:43 -07:00
mach-generic kbuild: remove hardcoded apic_es7000 from modpost 2007-07-16 23:24:51 +02:00
mach-visws PCI: i386: traps, change VENDOR to DEVICE 2007-07-11 16:02:10 -07:00
mach-voyager usermodehelper: Tidy up waiting 2007-07-18 08:47:40 -07:00
math-emu potential parse error in ifdef part 3 2007-06-08 17:23:33 -07:00
mm x86: Disable CLFLUSH support again 2007-08-11 15:58:13 -07:00
oprofile x86: fix oprofile double free 2007-06-01 08:18:28 -07:00
pci x86: Work around mmio config space quirk on AMD Fam10h 2007-08-11 15:58:12 -07:00
power Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION 2007-07-29 16:45:38 -07:00
video fbcon: allow fbcon to use the primary display driver 2007-07-17 10:23:11 -07:00
xen i386: Make patching more robust, fix paravirt issue 2007-08-11 15:58:13 -07:00
defconfig i386: Update defconfig 2007-07-21 18:37:07 -07:00
Kconfig Remove one more leftover reference to devfs 2007-07-31 15:39:42 -07:00
Kconfig.cpu i386: Allow KVM on i386 nonpae 2007-07-19 14:37:05 -07:00
Kconfig.debug Replace CONFIG_SOFTWARE_SUSPEND with CONFIG_HIBERNATION 2007-07-29 16:45:38 -07:00
Makefile xen: Core Xen implementation 2007-07-18 08:47:42 -07:00
Makefile.cpu [PATCH] i386: Fix usage of -mtune when X86_GENERIC=y or CONFIG_MCORE2=y 2007-05-02 19:27:06 +02:00