search for: cmpxchg16b

Displaying 20 results from an estimated 33 matches for "cmpxchg16b".

2013 Nov 22
2
[LLVMdev] new dragonegg 3.4 warning on darwin12
...t-in function ‘malloc’ [enabled by default] malloc(mnums * mrows * mcols * mdeps * sizeof(float)); ^ himenoBMTxpa.c: In function ‘clearMat’: himenoBMTxpa.c:248:5: warning: incompatible implicit declaration of built-in function ‘free’ [enabled by default] free(Mat->m); ^ '-cmpxchg16b' is not a recognized feature for this target (ignoring feature) '-cmpxchg16b' is not a recognized feature for this target (ignoring feature) '-cmpxchg16b' is not a recognized feature for this target (ignoring feature) Are these warnings for... '-cmpxchg16b' is not a re...
2013 Nov 22
0
[LLVMdev] new dragonegg 3.4 warning on darwin12
...default] > malloc(mnums * mrows * mcols * mdeps * sizeof(float)); > ^ > himenoBMTxpa.c: In function ‘clearMat’: > himenoBMTxpa.c:248:5: warning: incompatible implicit declaration of built-in function ‘free’ [enabled by default] > free(Mat->m); > ^ > '-cmpxchg16b' is not a recognized feature for this target (ignoring feature) > '-cmpxchg16b' is not a recognized feature for this target (ignoring feature) > '-cmpxchg16b' is not a recognized feature for this target (ignoring feature) > > Are these warnings for... > > ...
2008 Apr 21
1
[PATCH] x86-64: emulation support for cmpxchg16b
With the x86 instruction emulator no pretty complete, I''d like to re-submit this patch to support cmpxchg16b on x86-64 and at once rename the underlying emulator callback function pointer (making clear that if implemented, it is to operate on two longs rather than two 32-bit values). At the same time it fixes an apparently wrong emulator context initialization in the shadow code. Signed-off-by: Jan Beuli...
2020 Jul 28
1
BUG: unable to handle page fault for address nouveau_fence_new
...8b 45 20 mov 0x20(%r13),%eax 22: 49 8b 7d 00 mov 0x0(%r13),%rdi 26: 48 8d 4a 08 lea 0x8(%rdx),%rcx 2a:* 49 8b 1c 04 mov (%r12,%rax,1),%rbx <-- trapping instruction 2e: 4c 89 e0 mov %r12,%rax 31: 65 48 0f c7 0f cmpxchg16b %gs:(%rdi) 36: 0f 94 c0 sete %al 39: 84 c0 test %al,%al 3b: 74 b8 je 0xfffffffffffffff5 3d: 41 rex.B 3e: 8b .byte 0x8b 3f: 45 rex.RB Code starting with the faulting instruction...
2020 Jul 29
0
BUG: unable to handle page fault for address nouveau_fence_new
...8b 45 20 mov 0x20(%r13),%eax 22: 49 8b 7d 00 mov 0x0(%r13),%rdi 26: 48 8d 4a 08 lea 0x8(%rdx),%rcx 2a:* 49 8b 1c 04 mov (%r12,%rax,1),%rbx <-- trapping instruction 2e: 4c 89 e0 mov %r12,%rax 31: 65 48 0f c7 0f cmpxchg16b %gs:(%rdi) 36: 0f 94 c0 sete %al 39: 84 c0 test %al,%al 3b: 74 b8 je 0xfffffffffffffff5 3d: 41 rex.B 3e: 8b .byte 0x8b 3f: 45 rex.RB Code starting with the faulting instruction...
2020 Jul 10
12
New x86-64 micro-architecture levels
...much, so the main benefit is the tighter encoding of rdfsbase, which seems very slim. Not covered in this are tuning decisions. I think we can benefit from some variance in this area between implementations; it should not affect correctness. 32-bit support is also a separate matter. * Level A CMPXCHG16B, LAHF/SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3 This is one step above the K8 baseline and corresponds to a mainline CPU model ca. 2008 to 2011. It is also implemented by recent-ish generations of Intel Atom server CPUs (although I haven't tested the latest version). A 32-bit variant would h...
2016 Nov 25
0
[PATCH 0/3] virtio/vringh: kill off ACCESS_ONCE()
...a register, it will read it in one atomic access. For something that fits in a register and is _possible_ to write atomically, it will do so. But sometimes it's not going to be atomic. We do not for a moment try to make multi-word accesses be atomic. Not even if you could try to use some magic cmpxchg16b thing. It's not "atomic" in that sense: it will be doing multiple accesses. Similarly, if you try to write a 8- or 16-bit word on alpha with WRITE_ONCE() or you try to do other things, you have what's coming to you. And they just force some "copy to stable storage" whe...
2011 Nov 24
0
[PATCH 4/6] X86: Disable PCID/INVPCID for pv
...pv. Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> diff -r 0b15aa9541dc tools/libxc/xc_cpufeature.h --- a/tools/libxc/xc_cpufeature.h Thu Nov 17 18:41:59 2011 +0800 +++ b/tools/libxc/xc_cpufeature.h Thu Nov 17 23:09:45 2011 +0800 @@ -78,6 +78,7 @@ #define X86_FEATURE_CX16 13 /* CMPXCHG16B */ #define X86_FEATURE_XTPR 14 /* Send Task Priority Messages */ #define X86_FEATURE_PDCM 15 /* Perf/Debug Capability MSR */ +#define X86_FEATURE_PCID 17 /* Process Context ID */ #define X86_FEATURE_DCA 18 /* Direct Cache Access */ #define X86_FEATURE_SSE4_1 19...
2012 Dec 12
7
[PATCH V5] x86/kexec: Change NMI and MCE handling on kexec path
...s is a no op handler which irets immediately. It is actually in the middle of enable_nmis to reuse the iret instruction, without having a single lone aligned iret inflating the code side. And adds three new IDT entry helper routines: * _write_gate_lower This is a substitute for using cmpxchg16b to update a 128bit structure at once. It assumes that the top 64 bits are unchanged (and ASSERT()s the fact) and performs a regular write on the lower 64 bits. * _set_gate_lower This is functionally equivalent to the already present _set_gate(), except it uses _write_gate_lowe...
2007 Jul 03
2
[PATCH 1/2] lguest: handle dodgy/non-existent TSC. Host code.
Lguest currently requires a TSC, which breaks older machines and Matt Mackall who boots the host with "notsc". In addition, there is no good solution to changing TSC speeds (informing all the guests about the TSC impending change before it happens would be a great deal of code and have issues with disobedient guests). This patch makes the host determine if the TSC is both constant and
2007 Jul 03
2
[PATCH 1/2] lguest: handle dodgy/non-existent TSC. Host code.
Lguest currently requires a TSC, which breaks older machines and Matt Mackall who boots the host with "notsc". In addition, there is no good solution to changing TSC speeds (informing all the guests about the TSC impending change before it happens would be a great deal of code and have issues with disobedient guests). This patch makes the host determine if the TSC is both constant and
2016 Nov 25
3
[PATCH 0/3] virtio/vringh: kill off ACCESS_ONCE()
On Fri, Nov 25, 2016 at 5:17 PM, Peter Zijlstra <peterz at infradead.org> wrote: >> > What are use cases for such primitive that won't be OK with "read once >> > _and_ atomically"? >> >> I have none to hand. > > Whatever triggers the __builtin_memcpy() paths, and even the size==8 > paths on 32bit. > > You could put a WARN in there to
2016 Nov 25
3
[PATCH 0/3] virtio/vringh: kill off ACCESS_ONCE()
On Fri, Nov 25, 2016 at 5:17 PM, Peter Zijlstra <peterz at infradead.org> wrote: >> > What are use cases for such primitive that won't be OK with "read once >> > _and_ atomically"? >> >> I have none to hand. > > Whatever triggers the __builtin_memcpy() paths, and even the size==8 > paths on 32bit. > > You could put a WARN in there to
2007 Aug 09
0
[PATCH] x86/hvm: miscellaneous CPUID handling changes
...fine X86_FEATURE_EST (4*32+ 7) /* Enhanced SpeedStep */ #define X86_FEATURE_TM2 (4*32+ 8) /* Thermal Monitor 2 */ +#define X86_FEATURE_SSSE3 (4*32+ 9) /* Supplemental Streaming SIMD Extensions-3 */ #define X86_FEATURE_CID (4*32+10) /* Context ID */ #define X86_FEATURE_CX16 (4*32+13) /* CMPXCHG16B */ #define X86_FEATURE_XTPR (4*32+14) /* Send Task Priority Messages */ +#define X86_FEATURE_PDCM (4*32+15) /* Perf/Debug Capability MSR */ +#define X86_FEATURE_DCA (4*32+18) /* Direct Cache Access */ +#define X86_FEATURE_SSE4_1 (4*32+19) /* Streaming SIMD Extensions 4.1 */ +#define X86_FEATURE_S...
2020 Jul 13
3
New x86-64 micro-architecture levels
...ery slim. > > > > Not covered in this are tuning decisions. I think we can benefit from > > some variance in this area between implementations; it should not affect > > correctness. 32-bit support is also a separate matter. > > > > * Level A > > > > CMPXCHG16B, LAHF/SAHF, POPCNT, SSE3, SSE4.1, SSE4.2, SSSE3 > > > > This is one step above the K8 baseline and corresponds to a mainline CPU > > model ca. 2008 to 2011. It is also implemented by recent-ish > > generations of Intel Atom server CPUs (although I haven't tested the &gt...
2014 Mar 07
3
[LLVMdev] [RFC] Add second "failure" AtomicOrdering to cmpxchg instruction
...movl $1401, %[[R17mask:[a-z]*]] @@ -133,6 +133,6 @@ entry: ; CHECK: lock ; CHECK: cmpxchgl %{{.*}}, %gs:(%{{.*}}) - %0 = cmpxchg i32 addrspace(256)* %P, i32 0, i32 1 monotonic + %0 = cmpxchg i32 addrspace(256)* %P, i32 0, i32 1 monotonic monotonic ret void } diff --git a/test/CodeGen/X86/cmpxchg16b.ll b/test/CodeGen/X86/cmpxchg16b.ll index edbd0bc..1d5bb85 100644 --- a/test/CodeGen/X86/cmpxchg16b.ll +++ b/test/CodeGen/X86/cmpxchg16b.ll @@ -6,7 +6,7 @@ entry: ; CHECK: movl $1, %ebx ; CHECK: lock ; CHECK-NEXT: cmpxchg16b - %r = cmpxchg i128* %p, i128 0, i128 1 seq_cst + %r = cmpxchg i128*...
2007 May 09
1
[patch 2/9] lguest: the guest code
..._load_tr_desc(void) +{ +} + +static void lguest_cpuid(unsigned int *eax, unsigned int *ebx, + unsigned int *ecx, unsigned int *edx) +{ + int function = *eax; + + native_cpuid(eax, ebx, ecx, edx); + switch (function) { + case 1: /* Basic feature request. */ + /* We only allow kernel to see SSE3, CMPXCHG16B and SSSE3 */ + *ecx &= 0x00002201; + /* Similarly: SSE, SSE2, FXSR, MMX, CMOV, CMPXCHG8B, FPU. */ + *edx &= 0x07808101; + /* Host wants to know when we flush kernel pages: set PGE. */ + *edx |= 0x00002000; + break; + case 0x80000000: + /* Futureproof this a little: if they ask how mu...
2007 May 09
1
[patch 2/9] lguest: the guest code
..._load_tr_desc(void) +{ +} + +static void lguest_cpuid(unsigned int *eax, unsigned int *ebx, + unsigned int *ecx, unsigned int *edx) +{ + int function = *eax; + + native_cpuid(eax, ebx, ecx, edx); + switch (function) { + case 1: /* Basic feature request. */ + /* We only allow kernel to see SSE3, CMPXCHG16B and SSSE3 */ + *ecx &= 0x00002201; + /* Similarly: SSE, SSE2, FXSR, MMX, CMOV, CMPXCHG8B, FPU. */ + *edx &= 0x07808101; + /* Host wants to know when we flush kernel pages: set PGE. */ + *edx |= 0x00002000; + break; + case 0x80000000: + /* Futureproof this a little: if they ask how mu...
2007 Apr 18
1
[PATCH 0/8] lguest
As promised to Andrew, and with much thanks to Andi Kleen for feedback, this is the new series of lguest patches. Main change is the move to drivers/lguest (for future non-i386 expansion), but lots of cleanups driven by Andi's feedback and the documentation effort (which made me examine every line of code). It's not perfect, but it's definitely useful. Cheers, Rusty. List of
2007 Apr 18
1
[PATCH 0/8] lguest
As promised to Andrew, and with much thanks to Andi Kleen for feedback, this is the new series of lguest patches. Main change is the move to drivers/lguest (for future non-i386 expansion), but lots of cleanups driven by Andi's feedback and the documentation effort (which made me examine every line of code). It's not perfect, but it's definitely useful. Cheers, Rusty. List of