search for: __stop_parainstructions

Displaying 20 results from an estimated 35 matches for "__stop_parainstructions".

2007 Apr 18
1
2.6.19-rc5-mm2: warnings in MODPOST and later
...nings is present in Linus' tree. yes, lots of new section mismatch warnings. A large number of them are due to the paravirt patches: WARNING: vmlinux - Section mismatch: reference to .init.text: from .parainstructions between '__start_parainstructions' (at offset 0xc0458470) and '__stop_parainstructions' WARNING: vmlinux - Section mismatch: reference to .init.text: from .parainstructions between '__start_parainstructions' (at offset 0xc0458478) and '__stop_parainstructions' WARNING: vmlinux - Section mismatch: reference to .init.text: from .parainstructions between '__start...
2007 Apr 18
1
2.6.19-rc5-mm2: warnings in MODPOST and later
...nings is present in Linus' tree. yes, lots of new section mismatch warnings. A large number of them are due to the paravirt patches: WARNING: vmlinux - Section mismatch: reference to .init.text: from .parainstructions between '__start_parainstructions' (at offset 0xc0458470) and '__stop_parainstructions' WARNING: vmlinux - Section mismatch: reference to .init.text: from .parainstructions between '__start_parainstructions' (at offset 0xc0458478) and '__stop_parainstructions' WARNING: vmlinux - Section mismatch: reference to .init.text: from .parainstructions between '__start...
2007 Apr 18
7
[patch 0/6] Various cleanups
Hi Andi, Here's a little batch of cleanups: - re-enable VDSO when PARAVIRT is enabled - make the parainstructions symbols match the other altinstructions naming convention - add kernel command-line options to disable altinstructions for smp and pv_ops Oh, and I'm mailing your noreplacement patch back at you, for no particularly good reason. J --
2007 Apr 18
7
[patch 0/6] Various cleanups
Hi Andi, Here's a little batch of cleanups: - re-enable VDSO when PARAVIRT is enabled - make the parainstructions symbols match the other altinstructions naming convention - add kernel command-line options to disable altinstructions for smp and pv_ops Oh, and I'm mailing your noreplacement patch back at you, for no particularly good reason. J --
2007 Apr 18
0
Compile error with !CONFIG_PARAVIRT
...n declaration of ?apply_paravirt? arch/i386/kernel/alternative.c:437: error: ?__start_parainstructions? undeclared here (not in a function) arch/i386/kernel/alternative.c:437: warning: type defaults to ?int? in declaration of ?__start_parainstructions? arch/i386/kernel/alternative.c:438: error: ?__stop_parainstructions? undeclared here (not in a function) arch/i386/kernel/alternative.c:438: warning: type defaults to ?int? in declaration of ?__stop_parainstructions? make[1]: *** [arch/i386/kernel/alternative.o] Error 1 make: *** [arch/i386/kernel] Error 2 Any takers, or should I wait till Chris finishes rebasin...
2007 Apr 18
0
Compile error with !CONFIG_PARAVIRT
...n declaration of ?apply_paravirt? arch/i386/kernel/alternative.c:437: error: ?__start_parainstructions? undeclared here (not in a function) arch/i386/kernel/alternative.c:437: warning: type defaults to ?int? in declaration of ?__start_parainstructions? arch/i386/kernel/alternative.c:438: error: ?__stop_parainstructions? undeclared here (not in a function) arch/i386/kernel/alternative.c:438: warning: type defaults to ?int? in declaration of ?__stop_parainstructions? make[1]: *** [arch/i386/kernel/alternative.o] Error 1 make: *** [arch/i386/kernel] Error 2 Any takers, or should I wait till Chris finishes rebasin...
2007 Apr 18
1
[PATCH] (with benchmarks) binary patching of paravirt_ops call sites
...;len); + /* Pad the rest with nops */ + diff = p->len - used; + for (i = used; diff > 0; diff -= k, i += k) { + k = diff; + if (k > ASM_NOP_MAX) + k = ASM_NOP_MAX; + memcpy(p->instr + i, noptable[k], k); + } + } +} +extern struct paravirt_patch __start_parainstructions[], + __stop_parainstructions[]; +#else +void apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end) +{ +} +extern char __start_parainstructions[], __stop_parainstructions[]; +#endif /* CONFIG_PARAVIRT */ + void __init alternative_instructions(void) { apply_alternatives(__alt_instructions, __alt_instructio...
2007 Apr 18
1
[PATCH] (with benchmarks) binary patching of paravirt_ops call sites
...;len); + /* Pad the rest with nops */ + diff = p->len - used; + for (i = used; diff > 0; diff -= k, i += k) { + k = diff; + if (k > ASM_NOP_MAX) + k = ASM_NOP_MAX; + memcpy(p->instr + i, noptable[k], k); + } + } +} +extern struct paravirt_patch __start_parainstructions[], + __stop_parainstructions[]; +#else +void apply_paravirt(struct paravirt_patch *start, struct paravirt_patch *end) +{ +} +extern char __start_parainstructions[], __stop_parainstructions[]; +#endif /* CONFIG_PARAVIRT */ + void __init alternative_instructions(void) { apply_alternatives(__alt_instructions, __alt_instructio...
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
...ions_end = .; } - __alt_instructions_end = .; .altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) { *(.altinstr_replacement) } + . = ALIGN(8); + .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) { + __start_parainstructions = .; + *(.parainstructions) + __stop_parainstructions = .; + } /* .exit.text is discard at runtime, not link time, to deal with references from .altinstructions and .eh_frame */ .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) } --
2007 Apr 18
0
[RFC/PATCH PV_OPS X86_64 10/17] paravirt_ops - boot changes
...ions_end = .; } - __alt_instructions_end = .; .altinstr_replacement : AT(ADDR(.altinstr_replacement) - LOAD_OFFSET) { *(.altinstr_replacement) } + . = ALIGN(8); + .parainstructions : AT(ADDR(.parainstructions) - LOAD_OFFSET) { + __start_parainstructions = .; + *(.parainstructions) + __stop_parainstructions = .; + } /* .exit.text is discard at runtime, not link time, to deal with references from .altinstructions and .eh_frame */ .exit.text : AT(ADDR(.exit.text) - LOAD_OFFSET) { *(.exit.text) } --
2007 Apr 18
3
[PATCH 1/2] paravirt.h header
OK, this is the revised paravirt.h (Andi has seen this before), then the second is the binary patching stuff. More things get added to the paravirt struct in future patches, but this basic stuff hasn't changed for some time. ==== This patch does the dumbest possible replacement of paravirtualized instructions: calls through a "paravirt_ops" structure. Currently these are function
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...00 -0200 +++ linux-2.6.19-paravirt1/arch/i386/kernel/alternative.c 2007-01-11 21:42:22.000000000 -0200 @@ -431,9 +431,7 @@ void __init alternative_instructions(voi } #endif #ifdef CONFIG_PARAVIRT - #ifndef CONFIG_X86_64 /* Not working properly yet */ apply_paravirt(__start_parainstructions, __stop_parainstructions); - #endif #endif local_irq_restore(flags); } diff -urp linux-2.6.19-paravirt0/arch/x86_64/ia32/syscall32.c linux-2.6.19-paravirt1/arch/x86_64/ia32/syscall32.c --- linux-2.6.19-paravirt0/arch/x86_64/ia32/syscall32.c 2007-01-11 21:51:35.000000000 -0200 +++ linux-2.6.19-paravirt1/arch/x86_64/ia3...
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...00 -0200 +++ linux-2.6.19-paravirt1/arch/i386/kernel/alternative.c 2007-01-11 21:42:22.000000000 -0200 @@ -431,9 +431,7 @@ void __init alternative_instructions(voi } #endif #ifdef CONFIG_PARAVIRT - #ifndef CONFIG_X86_64 /* Not working properly yet */ apply_paravirt(__start_parainstructions, __stop_parainstructions); - #endif #endif local_irq_restore(flags); } diff -urp linux-2.6.19-paravirt0/arch/x86_64/ia32/syscall32.c linux-2.6.19-paravirt1/arch/x86_64/ia32/syscall32.c --- linux-2.6.19-paravirt0/arch/x86_64/ia32/syscall32.c 2007-01-11 21:51:35.000000000 -0200 +++ linux-2.6.19-paravirt1/arch/x86_64/ia3...
2007 Apr 18
31
[PATCH 00/28] Updates for firstfloor paravirt-ops patches
Hi Andi, This is a set of updates for the firstfloor patch queue. Quick rundown: revert-mm-x86_64-mm-account-for-module-percpu-space-separately-from-kernel-percpu.patch separate-module-percpu-space.patch Update the module percpu accounting patch fix-ff-allow-percpu-variables-to-be-page-aligned.patch Make sure the percpu memory allocation is page-aligned
2007 Apr 18
31
[PATCH 00/28] Updates for firstfloor paravirt-ops patches
Hi Andi, This is a set of updates for the firstfloor patch queue. Quick rundown: revert-mm-x86_64-mm-account-for-module-percpu-space-separately-from-kernel-percpu.patch separate-module-percpu-space.patch Update the module percpu accounting patch fix-ff-allow-percpu-variables-to-be-page-aligned.patch Make sure the percpu memory allocation is page-aligned
2007 Apr 18
0
[PATCH 4/5] Vmi.patch
...fastcall *update_pte)(pte_t *, unsigned); + void (fastcall *set_linear_mapping)(int, u32, u32, u32); + void (fastcall *flush_tlb)(int); + void (fastcall *set_initial_ap_state)(int, int); +} vmi_ops; + +/* XXX move this to alternative.h */ +extern struct paravirt_patch __start_parainstructions[], + __stop_parainstructions[]; + +/* + * VMI patching routines. + */ +#define MNEM_CALL 0xe8 +#define MNEM_JMP 0xe9 +#define MNEM_RET 0xc3 + +static char irq_save_disable_callout[] = { + MNEM_CALL, 0, 0, 0, 0, + MNEM_CALL, 0, 0, 0, 0, + MNEM_RET +}; +#define IRQ_PATCH_INT_MASK 0 +#define IRQ_PATCH_DISABLE 5 + +static inlin...
2007 Apr 18
0
[PATCH 4/5] Vmi.patch
...fastcall *update_pte)(pte_t *, unsigned); + void (fastcall *set_linear_mapping)(int, u32, u32, u32); + void (fastcall *flush_tlb)(int); + void (fastcall *set_initial_ap_state)(int, int); +} vmi_ops; + +/* XXX move this to alternative.h */ +extern struct paravirt_patch __start_parainstructions[], + __stop_parainstructions[]; + +/* + * VMI patching routines. + */ +#define MNEM_CALL 0xe8 +#define MNEM_JMP 0xe9 +#define MNEM_RET 0xc3 + +static char irq_save_disable_callout[] = { + MNEM_CALL, 0, 0, 0, 0, + MNEM_CALL, 0, 0, 0, 0, + MNEM_RET +}; +#define IRQ_PATCH_INT_MASK 0 +#define IRQ_PATCH_DISABLE 5 + +static inlin...
2007 Apr 18
8
[PATCH 0/7] x86 paravirtualization infrastructure
The following patches introduce the core infrastructure needed to paravirtualize the 32-bit x86 Linux kernel. This is done by moving virtualization sensitive insn's or code paths to a function table, paravirt_ops. This structure can be populated with hypervisor specific calls or native stubs and currently support running on bare metal, VMI, Xen, or Lhype. These patches apply to
2007 Apr 18
8
[PATCH 0/7] x86 paravirtualization infrastructure
The following patches introduce the core infrastructure needed to paravirtualize the 32-bit x86 Linux kernel. This is done by moving virtualization sensitive insn's or code paths to a function table, paravirt_ops. This structure can be populated with hypervisor specific calls or native stubs and currently support running on bare metal, VMI, Xen, or Lhype. These patches apply to
2007 Apr 18
0
[PATCH 5/6] VMI backend for paravirt-ops
...fastcall *update_pte)(pte_t *, unsigned); + void (fastcall *set_linear_mapping)(int, u32, u32, u32); + void (fastcall *flush_tlb)(int); + void (fastcall *set_initial_ap_state)(int, int); +} vmi_ops; + +/* XXX move this to alternative.h */ +extern struct paravirt_patch __start_parainstructions[], + __stop_parainstructions[]; + +/* + * VMI patching routines. + */ +#define MNEM_CALL 0xe8 +#define MNEM_JMP 0xe9 +#define MNEM_RET 0xc3 + +static char irq_save_disable_callout[] = { + MNEM_CALL, 0, 0, 0, 0, + MNEM_CALL, 0, 0, 0, 0, + MNEM_RET +}; +#define IRQ_PATCH_INT_MASK 0 +#define IRQ_PATCH_DISABLE 5 + +static inlin...