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"
-...