search for: cli_string

Displaying 20 results from an estimated 48 matches for "cli_string".

2007 Apr 18
2
[PATCH] Fix CONFIG_PARAVIRT for 2.6.19-rc5-mm1
...e/asm-i386/paravirt.h --- linux-2.6.19-rc5-mm1/include/asm-i386/paravirt.h 2006-11-09 11:22:25.000000000 +1100 +++ working-2.6.19-rc5-mm1-paravirt/include/asm-i386/paravirt.h 2006-11-09 11:29:20.000000000 +1100 @@ -449,20 +449,16 @@ static inline unsigned long __raw_local_ return f; } -#define CLI_STRING paravirt_alt("pushl %%ecx; pushl %%edx;" \ - "call *paravirt_ops+%c[irq_disable];" \ - "popl %%edx; popl %%ecx", \ +#define CLI_STRING paravirt_alt("pushl %ecx; pushl %edx;" \ + "call *paravirt_ops+PARAVIRT_irq_disable;" \ +...
2007 Apr 18
2
[PATCH] Fix CONFIG_PARAVIRT for 2.6.19-rc5-mm1
...e/asm-i386/paravirt.h --- linux-2.6.19-rc5-mm1/include/asm-i386/paravirt.h 2006-11-09 11:22:25.000000000 +1100 +++ working-2.6.19-rc5-mm1-paravirt/include/asm-i386/paravirt.h 2006-11-09 11:29:20.000000000 +1100 @@ -449,20 +449,16 @@ static inline unsigned long __raw_local_ return f; } -#define CLI_STRING paravirt_alt("pushl %%ecx; pushl %%edx;" \ - "call *paravirt_ops+%c[irq_disable];" \ - "popl %%edx; popl %%ecx", \ +#define CLI_STRING paravirt_alt("pushl %ecx; pushl %edx;" \ + "call *paravirt_ops+PARAVIRT_irq_disable;" \ +...
2007 Apr 18
1
[RFC, PATCH 8/24] i386 Vmi syscall assembly
...ywhere @@ -39,12 +40,12 @@ "2:\t" \ "testl $0x200, %1\n\t" \ "jz 3f\n\t" \ - "sti\n\t" \ + STI_STRING "\n\t"\ "3:\t" \ "rep;nop\n\t" \ "cmpb $0, %0\n\t" \ "jle 3b\n\t" \ - "cli\n\t" \ + CLI_STRING "\n\t"\ "jmp 1b\n" \ "4:\n\t" Index: linux-2.6.16-rc5/include/asm-i386/mach-default/mach_asm.h =================================================================== --- linux-2.6.16-rc5.orig/include/asm-i386/mach-default/mach_asm.h 2006-03-08 11:40:12.000000000 -08...
2007 Apr 18
1
[RFC, PATCH 8/24] i386 Vmi syscall assembly
...ywhere @@ -39,12 +40,12 @@ "2:\t" \ "testl $0x200, %1\n\t" \ "jz 3f\n\t" \ - "sti\n\t" \ + STI_STRING "\n\t"\ "3:\t" \ "rep;nop\n\t" \ "cmpb $0, %0\n\t" \ "jle 3b\n\t" \ - "cli\n\t" \ + CLI_STRING "\n\t"\ "jmp 1b\n" \ "4:\n\t" Index: linux-2.6.16-rc5/include/asm-i386/mach-default/mach_asm.h =================================================================== --- linux-2.6.16-rc5.orig/include/asm-i386/mach-default/mach_asm.h 2006-03-08 11:40:12.000000000 -08...
2007 Oct 31
3
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Consolidation part
Hi folks, Here is the result of the latest work on the pvops front, after the x86 arch merge. From the functionality point of view, almost nothing was changed, except for proper vsmp support - which was discussed, but not implemented before - and the introduction of smp_ops in x86_64, which eased the merging of the smp header. Speaking of the merge, a significant part (although not majority) of
2007 Oct 31
3
[PATCH 0/7] (Re-)introducing pvops for x86_64 - Consolidation part
Hi folks, Here is the result of the latest work on the pvops front, after the x86 arch merge. From the functionality point of view, almost nothing was changed, except for proper vsmp support - which was discussed, but not implemented before - and the introduction of smp_ops in x86_64, which eased the merging of the smp header. Speaking of the merge, a significant part (although not majority) of
2007 Apr 18
1
[PATCH] (with benchmarks) binary patching of paravirt_ops call sites
...{ + __asm__ __volatile__(paravirt_alt("pushl %%ecx; pushl %%edx\n\t" + "pushl %%eax; call *%0\n\t" + "popl %%eax; popl %%edx; popl %%ecx", + PARAVIRT_IRQ_ENABLE) + : : "m" (paravirt_ops.irq_enable) : "memory"); +} + +#define CLI_STRING paravirt_alt("pushl %eax; pushl %ecx; pushl %edx; call *paravirt_ops+PARAVIRT_irq_disable; popl %edx; popl %ecx; popl %eax", PARAVIRT_IRQ_DISABLE) +#define STI_STRING paravirt_alt("pushl %eax; pushl %ecx; pushl %edx; call *paravirt_ops+PARAVIRT_irq_enable; popl %edx; popl %ecx; popl...
2007 Apr 18
1
[PATCH] (with benchmarks) binary patching of paravirt_ops call sites
...{ + __asm__ __volatile__(paravirt_alt("pushl %%ecx; pushl %%edx\n\t" + "pushl %%eax; call *%0\n\t" + "popl %%eax; popl %%edx; popl %%ecx", + PARAVIRT_IRQ_ENABLE) + : : "m" (paravirt_ops.irq_enable) : "memory"); +} + +#define CLI_STRING paravirt_alt("pushl %eax; pushl %ecx; pushl %edx; call *paravirt_ops+PARAVIRT_irq_disable; popl %edx; popl %ecx; popl %eax", PARAVIRT_IRQ_DISABLE) +#define STI_STRING paravirt_alt("pushl %eax; pushl %ecx; pushl %edx; call *paravirt_ops+PARAVIRT_irq_enable; popl %edx; popl %ecx; popl...
2007 Apr 18
3
[PATCH 1/2] paravirt.h header
...efine write_gdt_entry(dt, entry, a, b) (paravirt_ops.write_gdt_entry((dt), (entry), ((u64)a) << 32 | b)) +#define write_idt_entry(dt, entry, a, b) (paravirt_ops.write_idt_entry((dt), (entry), ((u64)a) << 32 | b)) +#define set_iopl_mask(mask) (paravirt_ops.set_iopl_mask(mask)) + +#define CLI_STRING "pushl %eax; pushl %ecx; pushl %edx; call *paravirt_ops+PARAVIRT_irq_disable; popl %edx; popl %ecx; popl %eax" +#define STI_STRING "pushl %eax; pushl %ecx; pushl %edx; call *paravirt_ops+PARAVIRT_irq_enable; popl %edx; popl %ecx; popl %eax" +#else /* __ASSEMBLY__ */ + +#define...
2007 Apr 18
3
[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
...5,7 @@ #include <asm/rwlock.h> #include <asm/page.h> #include <linux/compiler.h> +#include <asm/paravirt.h> /* * Your basic SMP spinlocks, allowing only a single CPU anywhere @@ -16,9 +17,6 @@ * * (the type definitions are in asm/spinlock_types.h) */ - -#define CLI_STRING "cli" -#define STI_STRING "sti" #define __raw_spin_is_locked(x) \ (*(volatile signed char *)(&(x)->slock) <= 0) =================================================================== --- a/include/asm-i386/system.h +++ b/include/asm-i386/system.h @@ -5,6 +5,7 @@ #i...
2007 Apr 18
3
[PATCH 1/4] x86 paravirt_ops: create no_paravirt.h for native ops
...5,7 @@ #include <asm/rwlock.h> #include <asm/page.h> #include <linux/compiler.h> +#include <asm/paravirt.h> /* * Your basic SMP spinlocks, allowing only a single CPU anywhere @@ -16,9 +17,6 @@ * * (the type definitions are in asm/spinlock_types.h) */ - -#define CLI_STRING "cli" -#define STI_STRING "sti" #define __raw_spin_is_locked(x) \ (*(volatile signed char *)(&(x)->slock) <= 0) =================================================================== --- a/include/asm-i386/system.h +++ b/include/asm-i386/system.h @@ -5,6 +5,7 @@ #i...
2007 Apr 18
5
[PATCH] paravirt.h
...f +#endif =================================================================== --- a/include/asm-i386/spinlock.h +++ b/include/asm-i386/spinlock.h @@ -17,8 +17,12 @@ * (the type definitions are in asm/spinlock_types.h) */ +#ifdef CONFIG_PARAVIRT +#include <asm/paravirt.h> +#else #define CLI_STRING "cli" #define STI_STRING "sti" +#endif /* CONFIG_PARAVIRT */ #define __raw_spin_is_locked(x) \ (*(volatile signed char *)(&(x)->slock) <= 0) =================================================================== --- a/include/asm-i386/system.h +++ b/include/asm-i38...
2007 Apr 18
5
[PATCH] paravirt.h
...f +#endif =================================================================== --- a/include/asm-i386/spinlock.h +++ b/include/asm-i386/spinlock.h @@ -17,8 +17,12 @@ * (the type definitions are in asm/spinlock_types.h) */ +#ifdef CONFIG_PARAVIRT +#include <asm/paravirt.h> +#else #define CLI_STRING "cli" #define STI_STRING "sti" +#endif /* CONFIG_PARAVIRT */ #define __raw_spin_is_locked(x) \ (*(volatile signed char *)(&(x)->slock) <= 0) =================================================================== --- a/include/asm-i386/system.h +++ b/include/asm-i38...
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] paravirt_ops x86_64 , take 2
...ey touch any register, + * the calle-saved ones may already fulfill their needs, and hopefully we + * have no need to save any. */ static inline unsigned long __raw_local_save_flags(void) { unsigned long f; @@ -533,18 +555,12 @@ static inline unsigned long __raw_local_ return f; } +#define CLI_STRING paravirt_alt("call *paravirt_ops+%c[irq_disable];", \ + PARAVIRT_IRQ_DISABLE, CLBR_NONE) +#define STI_STRING paravirt_alt("call *paravirt_ops+%c[irq_enable];", \ + PARAVIRT_IRQ_ENABLE, CLBR_NONE) -/* Still x86-ish */ -#define CLI_STRING paravirt_alt("pushq %...
2007 Apr 18
0
[PATCH] paravirt_ops x86_64 , take 2
...ey touch any register, + * the calle-saved ones may already fulfill their needs, and hopefully we + * have no need to save any. */ static inline unsigned long __raw_local_save_flags(void) { unsigned long f; @@ -533,18 +555,12 @@ static inline unsigned long __raw_local_ return f; } +#define CLI_STRING paravirt_alt("call *paravirt_ops+%c[irq_disable];", \ + PARAVIRT_IRQ_DISABLE, CLBR_NONE) +#define STI_STRING paravirt_alt("call *paravirt_ops+%c[irq_enable];", \ + PARAVIRT_IRQ_ENABLE, CLBR_NONE) -/* Still x86-ish */ -#define CLI_STRING paravirt_alt("pushq %...
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. The main change from the last posting is that all the page-table related patches have been moved out, and will be posted separately. Also, the off-by-one in reserving the top of address space has been
2007 Apr 18
8
[patch 0/8] Basic infrastructure patches for a paravirtualized kernel
Hi Andrew, This series of patches lays the basic ground work for the paravirtualized kernel patches coming later on. I think this lot is ready for the rough-and-tumble world of the -mm tree. The main change from the last posting is that all the page-table related patches have been moved out, and will be posted separately. Also, the off-by-one in reserving the top of address space has been
2007 Apr 18
2
[PATCH 1/3] Paravirtualization: Kernel Ring Cleanups
Hi all, I've been looking at finding common ground between the VMI, Xen and other paravirtualization approaches, and after some discussion, we're getting somewhere. These first two patches are the fundamentals, stolen mainly from the VMI patches: removing assumptions about the kernel running in ring 0, and macro-izing all the obvious para-virtualize-needing insns. The third patch is