search for: lock_prefix

Displaying 20 results from an estimated 67 matches for "lock_prefix".

2013 Jul 14
9
[LLVMdev] [PATCH] x86/asm: avoid mnemonics without type suffix
...rch/x86/include/asm/bitops.h index 6dfd019..6ed3d1e 100644 --- a/arch/x86/include/asm/bitops.h +++ b/arch/x86/include/asm/bitops.h @@ -67,7 +67,7 @@ set_bit(unsigned int nr, volatile unsigned long *addr) : "iq" ((u8)CONST_MASK(nr)) : "memory"); } else { - asm volatile(LOCK_PREFIX "bts %1,%0" + asm volatile(LOCK_PREFIX "btsl %1,%0" : BITOP_ADDR(addr) : "Ir" (nr) : "memory"); } } @@ -83,7 +83,7 @@ set_bit(unsigned int nr, volatile unsigned long *addr) */ static inline void __set_bit(int nr, volatile unsigned long *addr) { -...
2013 Jul 14
0
[LLVMdev] [PATCH] x86/asm: avoid mnemonics without type suffix
...6dfd019..6ed3d1e 100644 > --- a/arch/x86/include/asm/bitops.h > +++ b/arch/x86/include/asm/bitops.h > @@ -67,7 +67,7 @@ set_bit(unsigned int nr, volatile unsigned long *addr) > : "iq" ((u8)CONST_MASK(nr)) > : "memory"); > } else { > - asm volatile(LOCK_PREFIX "bts %1,%0" > + asm volatile(LOCK_PREFIX "btsl %1,%0" > : BITOP_ADDR(addr) : "Ir" (nr) : "memory"); > } > } > @@ -83,7 +83,7 @@ set_bit(unsigned int nr, volatile unsigned long *addr) > */ > static inline void __set_bit(int nr,...
2010 Nov 16
23
[PATCH 00/14] PV ticket locks without expanding spinlock
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com> Hi all, This is a revised version of the pvticket lock series. The early part of the series is mostly unchanged: it converts the bulk of the ticket lock code into C and makes the "small" and "large" ticket code common. The only changes are the incorporation of various review comments. The latter part of
2010 Nov 16
23
[PATCH 00/14] PV ticket locks without expanding spinlock
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com> Hi all, This is a revised version of the pvticket lock series. The early part of the series is mostly unchanged: it converts the bulk of the ticket lock code into C and makes the "small" and "large" ticket code common. The only changes are the incorporation of various review comments. The latter part of
2010 Nov 16
23
[PATCH 00/14] PV ticket locks without expanding spinlock
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com> Hi all, This is a revised version of the pvticket lock series. The early part of the series is mostly unchanged: it converts the bulk of the ticket lock code into C and makes the "small" and "large" ticket code common. The only changes are the incorporation of various review comments. The latter part of
2018 Dec 16
1
[PATCH v2] x86, kbuild: revert macrofying inline assembly code
...l objects diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h index 8e4ea39..31b627b 100644 --- a/arch/x86/include/asm/alternative-asm.h +++ b/arch/x86/include/asm/alternative-asm.h @@ -7,24 +7,16 @@ #include <asm/asm.h> #ifdef CONFIG_SMP -.macro LOCK_PREFIX_HERE + .macro LOCK_PREFIX +672: lock .pushsection .smp_locks,"a" .balign 4 - .long 671f - . # offset + .long 672b - . .popsection -671: -.endm - -.macro LOCK_PREFIX insn:vararg - LOCK_PREFIX_HERE - lock \insn -.endm + .endm #else -.macro LOCK_PREFIX_HERE -.endm - -.macro LOCK_PREF...
2018 Dec 13
2
[PATCH] kbuild, x86: revert macros in extended asm workarounds
...er_call_\@: diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h index 8e4ea39..31b627b 100644 --- a/arch/x86/include/asm/alternative-asm.h +++ b/arch/x86/include/asm/alternative-asm.h @@ -7,24 +7,16 @@ #include <asm/asm.h> #ifdef CONFIG_SMP -.macro LOCK_PREFIX_HERE + .macro LOCK_PREFIX +672: lock .pushsection .smp_locks,"a" .balign 4 - .long 671f - . # offset + .long 672b - . .popsection -671: -.endm - -.macro LOCK_PREFIX insn:vararg - LOCK_PREFIX_HERE - lock \insn -.endm + .endm #else -.macro LOCK_PREFIX_HERE -.endm - -.macro LOCK_PREF...
2018 Dec 13
2
[PATCH] kbuild, x86: revert macros in extended asm workarounds
...er_call_\@: diff --git a/arch/x86/include/asm/alternative-asm.h b/arch/x86/include/asm/alternative-asm.h index 8e4ea39..31b627b 100644 --- a/arch/x86/include/asm/alternative-asm.h +++ b/arch/x86/include/asm/alternative-asm.h @@ -7,24 +7,16 @@ #include <asm/asm.h> #ifdef CONFIG_SMP -.macro LOCK_PREFIX_HERE + .macro LOCK_PREFIX +672: lock .pushsection .smp_locks,"a" .balign 4 - .long 671f - . # offset + .long 672b - . .popsection -671: -.endm - -.macro LOCK_PREFIX insn:vararg - LOCK_PREFIX_HERE - lock \insn -.endm + .endm #else -.macro LOCK_PREFIX_HERE -.endm - -.macro LOCK_PREF...
2010 Nov 03
25
[PATCH 00/20] x86: ticket lock rewrite and paravirtualization
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com> Hi all, This series does two major things: 1. It converts the bulk of the implementation to C, and makes the "small ticket" and "large ticket" code common. Only the actual size-dependent asm instructions are specific to the ticket size. The resulting generated asm is very similar to the current
2010 Nov 03
25
[PATCH 00/20] x86: ticket lock rewrite and paravirtualization
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com> Hi all, This series does two major things: 1. It converts the bulk of the implementation to C, and makes the "small ticket" and "large ticket" code common. Only the actual size-dependent asm instructions are specific to the ticket size. The resulting generated asm is very similar to the current
2010 Nov 03
25
[PATCH 00/20] x86: ticket lock rewrite and paravirtualization
From: Jeremy Fitzhardinge <jeremy.fitzhardinge at citrix.com> Hi all, This series does two major things: 1. It converts the bulk of the implementation to C, and makes the "small ticket" and "large ticket" code common. Only the actual size-dependent asm instructions are specific to the ticket size. The resulting generated asm is very similar to the current
2011 Nov 30
0
[PATCH 4/4] x86/emulator: cleanup
...egs, ad_bytes, reps_completed); \ }) @@ -1328,9 +1332,7 @@ x86_emulate( uint8_t modrm = 0, modrm_mod = 0, modrm_reg = 0, modrm_rm = 0; union vex vex = {}; unsigned int op_bytes, def_op_bytes, ad_bytes, def_ad_bytes; -#define REPE_PREFIX 1 -#define REPNE_PREFIX 2 - unsigned int lock_prefix = 0, rep_prefix = 0; + bool_t lock_prefix = 0; int override_seg = -1, rc = X86EMUL_OKAY; struct operand src, dst; DECLARE_ALIGNED(mmval_t, mmval); @@ -1359,7 +1361,8 @@ x86_emulate( { case 0x66: /* operand-size override */ op_bytes = def_op_bytes ^ 6...
2008 Jun 12
0
[PATCH] x86: minor adjustment to asm constraint in get_page()
...====================== --- 2008-06-12.orig/xen/arch/x86/mm.c 2008-06-12 09:08:36.000000000 +0200 +++ 2008-06-12/xen/arch/x86/mm.c 2008-06-12 09:08:42.000000000 +0200 @@ -1706,8 +1706,8 @@ int get_page(struct page_info *page, str return 0; } asm volatile ( - LOCK_PREFIX "cmpxchg8b %3" - : "=d" (nd), "=a" (y), "=c" (d), + LOCK_PREFIX "cmpxchg8b %2" + : "=d" (nd), "=a" (y), "=m" (*(volatile u64 *)(&page->count_info)) : &qu...
2007 Apr 18
1
Patch: use .pushsection/.popsection
...OBE_EXIT = ENTRY(alignment_check) RING0_EC_FRAME diff -r e698e6ee2fa1 include/asm-i386/alternative-asm.i --- a/include/asm-i386/alternative-asm.i Tue Aug 08 10:18:34 2006 -0700 +++ b/include/asm-i386/alternative-asm.i Tue Aug 08 10:33:13 2006 -0700 @@ -3,10 +3,10 @@ #ifdef CONFIG_SMP .macro LOCK_PREFIX 1: lock - .section .smp_locks,"a" + .pushsection .smp_locks,"a" .align 4 .long 1b - .previous + .popsection .endm #else .macro LOCK_PREFIX diff -r e698e6ee2fa1 include/linux/linkage.h --- a/include/linux/linkage.h Tue Aug 08 10:18:34 2006 -0700 +++ b/include/linux/link...
2007 Apr 18
1
Patch: use .pushsection/.popsection
...OBE_EXIT = ENTRY(alignment_check) RING0_EC_FRAME diff -r e698e6ee2fa1 include/asm-i386/alternative-asm.i --- a/include/asm-i386/alternative-asm.i Tue Aug 08 10:18:34 2006 -0700 +++ b/include/asm-i386/alternative-asm.i Tue Aug 08 10:33:13 2006 -0700 @@ -3,10 +3,10 @@ #ifdef CONFIG_SMP .macro LOCK_PREFIX 1: lock - .section .smp_locks,"a" + .pushsection .smp_locks,"a" .align 4 .long 1b - .previous + .popsection .endm #else .macro LOCK_PREFIX diff -r e698e6ee2fa1 include/linux/linkage.h --- a/include/linux/linkage.h Tue Aug 08 10:18:34 2006 -0700 +++ b/include/linux/link...
2013 Jul 15
1
[LLVMdev] [PATCH] x86/asm: avoid mnemonics without type suffix
...sl. Also, llvm-mc refuses to >> disambiguate btr/bts automatically. > > That sounds reasonable for all other operations because it makes a real > semantic difference, but overly strict for bit operations. > To be fair, we *ought to* be able to do something like: asm volatile(LOCK_PREFIX "bts%z0 %1,%0" : BITOP_ADDR(addr) : "Ir" (nr) : "memory"); ... but some older version of gcc are broken and emit "ll" rather than "q". Furthermore, since that would actually result in *worse* code emitted overall (unnecessary REX prefixes), I&...
2005 May 16
6
x86_64 build broken?
...from /usr/include/asm/processor.h:4, from /usr/include/asm-x86_64/elf.h:10, from /usr/include/asm/elf.h:4, from xc_ptrace.c:4: /usr/include/asm-x86_64/system.h: In function `__cmpxchg'': /usr/include/asm-x86_64/system.h:249: error: `LOCK_PREFIX'' undeclared (first use in this function) /usr/include/asm-x86_64/system.h:249: error: (Each undeclared identifier is reported only once /usr/include/asm-x86_64/system.h:249: error: for each function it appears in.) /usr/include/asm-x86_64/system.h:249: error: parse error before string cons...
2018 Dec 17
3
[PATCH v3 00/12] x86, kbuild: revert macrofying inline assembly code
...e asm macros to work around GCC inlining bugs" Revert "kbuild/Makefile: Prepare for using macros in inline assembly code to work around asm() related GCC inlining bugs" linux/linkage: add ASM() macro to reduce duplication between C/ASM code x86/alternatives: consolidate LOCK_PREFIX macro x86/asm: consolidate ASM_EXTABLE_* macros Makefile | 9 +-- arch/x86/Makefile | 7 --- arch/x86/include/asm/alternative-asm.h | 22 +------ arch/x86/include/asm/alternative-common.h | 47 +++++++++++++++ arch/x86/include/asm/al...
2018 Dec 17
3
[PATCH v3 00/12] x86, kbuild: revert macrofying inline assembly code
...e asm macros to work around GCC inlining bugs" Revert "kbuild/Makefile: Prepare for using macros in inline assembly code to work around asm() related GCC inlining bugs" linux/linkage: add ASM() macro to reduce duplication between C/ASM code x86/alternatives: consolidate LOCK_PREFIX macro x86/asm: consolidate ASM_EXTABLE_* macros Makefile | 9 +-- arch/x86/Makefile | 7 --- arch/x86/include/asm/alternative-asm.h | 22 +------ arch/x86/include/asm/alternative-common.h | 47 +++++++++++++++ arch/x86/include/asm/al...
2007 Apr 18
2
[PATCH] Fix CONFIG_PARAVIRT for 2.6.19-rc5-mm1
...00000000 +1100 @@ -13,7 +13,6 @@ #define CLI_STRING "cli" #define STI_STRING "sti" #define CLI_STI_CLOBBERS -#define CLI_STI_INPUT_ARGS #endif /* CONFIG_PARAVIRT */ /* @@ -59,27 +58,26 @@ static inline void __raw_spin_lock_flags { asm volatile( "\n1:\t" - LOCK_PREFIX " ; decb %[slock]\n\t" + LOCK_PREFIX " ; decb %0\n\t" "jns 5f\n" "2:\t" - "testl $0x200, %[flags]\n\t" + "testl $0x200, %1\n\t" "jz 4f\n\t" STI_STRING "\n" "3:\t" "rep;nop\n\t" -...