kernel-ark/arch/x86/kernel
Mathieu Desnoyers e587cadd8f x86: enhance DEBUG_RODATA support - alternatives
Fix a memcpy that should be a text_poke (in apply_alternatives).

Use kernel_wp_save/kernel_wp_restore in text_poke to support DEBUG_RODATA
correctly and so the CPU HOTPLUG special case can be removed.

Add text_poke_early, for alternatives and paravirt boot-time and module load
time patching.

Changelog:

- Fix text_set and text_poke alignment check (mixed up bitwise and and or)
- Remove text_set
- Export add_nops, so it can be used by others.
- Document text_poke_early.
- Remove clflush, since it breaks some VIA architectures and is not strictly
  necessary.
- Add kerneldoc to text_poke and text_poke_early.
- Create a second vmap instead of using the WP bit to support Xen and VMI.
- Move local_irq disable within text_poke and text_poke_early to be able to
  be sleepable in these functions.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
CC: Andi Kleen <andi@firstfloor.org>
CC: pageexec@freemail.hu
CC: H. Peter Anvin <hpa@zytor.com>
CC: Jeremy Fitzhardinge <jeremy@goop.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2008-04-17 17:40:58 +02:00
..
acpi PCI: don't load acpi_php when acpi is disabled 2008-02-21 15:34:37 -08:00
cpu x86: show apicid for cpu in proc 2008-04-17 17:40:57 +02:00
.gitignore
alternative.c x86: enhance DEBUG_RODATA support - alternatives 2008-04-17 17:40:58 +02:00
aperture_64.c x86: fix long standing bug with usb after hibernation with 4GB ram 2008-03-21 17:06:15 +01:00
apic_32.c x86: apic: extended interrupt LVT support for AMD 2008-04-17 17:40:47 +02:00
apic_64.c x86: apic_is_clustered_box for vsmp 2008-04-17 17:40:50 +02:00
apm_32.c x86: switch to proc_create() 2008-04-17 17:40:51 +02:00
asm-offsets_32.c x86: move struct definitions to unifed sigframe.h 2008-04-17 17:40:46 +02:00
asm-offsets_64.c
asm-offsets.c
audit_64.c
bootflag.c
bugs_64.c
cpuid.c x86: cpuid, msr: use inode mutex instead of big kernel lock 2008-02-04 16:47:59 +01:00
crash_dump_32.c
crash_dump_64.c
crash.c
doublefault_32.c
ds.c x86: fix small sparse warning 2008-01-31 22:05:47 +01:00
e820_32.c x86: reserve end-of-conventional-memory to 1MB on 32-bit 2008-04-17 17:40:51 +02:00
e820_64.c x86: reserve end-of-conventional-memory to 1MB, 64-bit 2008-04-17 17:40:52 +02:00
early_printk.c x86: coding style fixes to x86/kernel/early_printk.c 2008-04-17 17:40:51 +02:00
early-quirks.c
efi_32.c x86: sparse error in efi_32.c 2008-02-19 16:18:28 +01:00
efi_64.c x86: EFI runtime code mapping enhancement 2008-02-13 16:20:35 +01:00
efi_stub_32.S
efi_stub_64.S
efi.c x86: sparse warning in efi.c 2008-02-19 16:18:28 +01:00
entry_32.S x86: don't make irq_return global 2008-02-19 16:18:29 +01:00
entry_64.S x86: fix execve with -fstack-protect 2008-02-26 12:55:57 +01:00
genapic_64.c
genapic_flat_64.c
geode_32.c x86: GEODE: MFGPT: Use "just-in-time" detection for the MFGPT timers 2008-02-09 23:24:08 +01:00
head32.c x86: introduce kernel/head32.c 2008-04-17 17:40:49 +02:00
head64.c x86: reserve end-of-conventional-memory to 1MB, 64-bit, use paravirt_enabled 2008-04-17 17:40:52 +02:00
head_32.S x86: introduce kernel/head32.c 2008-04-17 17:40:49 +02:00
head_64.S x86: increase the kernel text limit to 512 MB 2008-04-17 17:40:45 +02:00
hpet.c x86: revert assign IRQs to hpet timer 2008-04-04 18:36:49 +02:00
i386_ksyms_32.c
i387.c x86: clean up i387.c 2008-04-17 17:40:57 +02:00
i8237.c
i8253.c x86: pit_clockevent can be static 2008-02-13 16:20:35 +01:00
i8259_32.c x86: i8259A: remove redundant irq_descinitialization 2008-02-19 16:18:34 +01:00
i8259_64.c
init_task.c x86: delay the export removal of init_mm 2008-02-29 18:55:42 +01:00
io_apic_32.c
io_apic_64.c
io_delay.c x86: add dmi quirk for io_delay 2008-03-26 22:23:40 +01:00
ioport.c
ipi.c x86: create ipi.c 2008-04-17 17:40:56 +02:00
irq_32.c x86: replace remaining __FUNCTION__ occurances 2008-04-17 17:40:57 +02:00
irq_64.c
k8.c
kdebugfs.c
kprobes.c x86, kprobes: remove sparse warnings from x86 2008-02-19 16:18:28 +01:00
ldt.c x86: cleanup - eliminate numbers in LDT allocation code 2008-02-04 16:48:03 +01:00
machine_kexec_32.c vmcoreinfo: fix the configuration dependencies 2008-02-07 08:42:25 -08:00
machine_kexec_64.c vmcoreinfo: add the symbol "phys_base" 2008-04-02 15:28:19 -07:00
Makefile x86: get rid of smp_32.c and smp_64.c 2008-04-17 17:40:56 +02:00
mca_32.c x86: coding style fixes to arch/x86/kernel/mca_32.c 2008-04-17 17:40:49 +02:00
mfgpt_32.c x86: GEODE: add missing module.h include 2008-03-26 22:23:40 +01:00
microcode.c x86: fix section mismatch warnings when referencing notifiers 2008-02-01 17:49:42 +01:00
module_32.c
module_64.c
mpparse_32.c x86: use disabled_cpus in i386 2008-04-17 17:40:53 +02:00
mpparse_64.c x86: make x86_64 accept the max_cpus parameter 2008-04-17 17:40:56 +02:00
msr.c x86: coding style fixes to arch/x86/kernel/msr.c 2008-04-17 17:40:50 +02:00
nmi_32.c x86: fix compile warning building without CONFIG_SYSCTL 2008-02-19 16:18:29 +01:00
nmi_64.c x86: fix compile warning building without CONFIG_SYSCTL 2008-02-19 16:18:29 +01:00
numaq_32.c
paravirt_patch_32.c
paravirt_patch_64.c
paravirt.c
pci-calgary_64.c iommu sg: x86: convert calgary IOMMU to use the IOMMU helper 2008-02-05 09:44:11 -08:00
pci-dma_32.c
pci-dma_64.c x86: revert: reserve dma32 early for gart 2008-03-22 19:25:41 +01:00
pci-gart_64.c x86, agpgart: scary messages are fortunately obsolete 2008-04-04 18:36:46 +02:00
pci-nommu_64.c
pci-swiotlb_64.c
pcspeaker.c
pmtimer_64.c
process_32.c x86: de-macro start_thread() 2008-04-17 17:40:49 +02:00
process_64.c x86: de-macro start_thread() 2008-04-17 17:40:49 +02:00
ptrace.c x86: regparm(3) is mandatory, no need to annotate 2008-04-17 17:40:45 +02:00
quirks.c x86: hpet clock enable quirk on nVidia nForce 430 2008-03-21 17:06:15 +01:00
reboot_fixups_32.c
reboot.c x86: fix reboot problem with Dell Optiplex 745, 0KW626 board 2008-03-21 17:06:15 +01:00
relocate_kernel_32.S
relocate_kernel_64.S
rtc.c x86: fix cmos read and write to not use inb_p and outb_p 2008-04-17 17:40:47 +02:00
scx200_32.c x86: fix sparse warning in kernel/scx200_32.c 2008-01-31 22:05:45 +01:00
setup64.c x86: tight online check in setup_per_cpu_areas 2008-03-21 17:06:15 +01:00
setup_32.c x86: reserve end-of-conventional-memory to 1MB, 32-bit, use paravirt_enabled 2008-04-17 17:40:52 +02:00
setup_64.c x86: fix amd_detect_cmp 2008-04-17 17:40:57 +02:00
sigframe.h x86: move struct definitions to unifed sigframe.h 2008-04-17 17:40:46 +02:00
signal_32.c x86: add KERN_INFO to show_unhandled_signals printout 2008-04-17 17:40:57 +02:00
signal_64.c x86: remove DEBUG_SIG 2008-04-17 17:40:57 +02:00
smp.c x86: get rid of smp_32.c and smp_64.c 2008-04-17 17:40:56 +02:00
smpboot_32.c x86: use cpu_relax instead of rep_nop 2008-04-17 17:40:57 +02:00
smpboot_64.c x86: use wait_for_init_deassert in x86_64 2008-04-17 17:40:57 +02:00
smpboot.c x86: unify setup_trampoline 2008-04-17 17:40:57 +02:00
smpcommon_32.c x86: create smpcommon.c 2008-04-17 17:40:55 +02:00
smpcommon.c x86: create smpcommon.c 2008-04-17 17:40:55 +02:00
srat_32.c x86: replace remaining __FUNCTION__ occurances 2008-04-17 17:40:57 +02:00
stacktrace.c x86: don't save unreliable stack trace entries 2008-02-26 12:55:58 +01:00
step.c x86 ptrace: avoid unnecessary wrmsr 2008-04-03 15:42:43 -07:00
summit_32.c x86: replace remaining __FUNCTION__ occurances 2008-04-17 17:40:57 +02:00
sys_i386_32.c
sys_x86_64.c
syscall_64.c x86: coding style fixes to arch/x86/kernel/syscall_64.c 2008-04-17 17:40:48 +02:00
syscall_table_32.S timerfd: wire the new timerfd API to the x86 family 2008-02-05 09:44:07 -08:00
tce_64.c
test_nx.c x86: mark the .rodata section also NX 2008-02-06 22:39:45 +01:00
test_rodata.c x86: include proper prototypes for rodata_test 2008-02-14 23:30:20 +01:00
time_32.c
time_64.c time: fix typo in comments 2008-02-08 09:22:29 -08:00
tlb_32.c x86: create tlb files 2008-04-17 17:40:56 +02:00
tlb_64.c x86: create tlb files 2008-04-17 17:40:56 +02:00
tls.c asmlinkage_protect replaces prevent_tail_call 2008-04-10 17:28:26 -07:00
tls.h
topology.c x86: fix section mismatch warning in topology.c:arch_register_cpu 2008-02-19 16:18:30 +01:00
trampoline_32.S x86: remove misleading comments in trampoline_*.S 2008-02-04 16:48:01 +01:00
trampoline_64.S x86: remove misleading comments in trampoline_*.S 2008-02-04 16:48:01 +01:00
traps_32.c x86: clean up traps_32.c 2008-04-17 17:40:51 +02:00
traps_64.c x86: fix "BUG: sleeping function called from invalid context" in print_vma_addr() 2008-02-14 23:30:19 +01:00
tsc_32.c x86: if we cannot calibrate the TSC, we panic. 2008-04-17 17:40:52 +02:00
tsc_64.c x86: fix call to set_cyc2ns_scale() from time_cpufreq_notifier() 2008-04-07 21:09:14 +02:00
tsc_sync.c
verify_cpu_64.S
vm86_32.c x86: coding style fixes to arch/x86/kernel/vm86_32.c 2008-04-17 17:40:50 +02:00
vmi_32.c x86: VMI fix 2008-02-04 16:47:54 +01:00
vmiclock_32.c
vmlinux_32.lds.S x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
vmlinux_64.lds.S x86: use ELF section to list CPU vendor specific code 2008-04-17 17:40:47 +02:00
vmlinux.lds.S
vsmp_64.c x86: apic_is_clustered_box for vsmp 2008-04-17 17:40:50 +02:00
vsyscall_64.c x86: restore vsyscall64 prochandler 2008-02-29 18:55:39 +01:00
x8664_ksyms_64.c x86: coding style fixes to arch/x86/kernel/x8664_ksyms_64.c 2008-04-17 17:40:48 +02:00