diff options
| author | Simon Rettberg | 2021-03-08 15:55:33 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2021-03-08 15:55:33 +0100 |
| commit | 6707d9218c8e6e760e53068d5f41ceb31fac6ea0 (patch) | |
| tree | 88e8fc84ede2a0ed2c1cec3a6109beb9fb53abf5 /src/arch/x86/include/bits/bitops.h | |
| parent | Merge branch 'master' into openslx (diff) | |
| parent | [linux] Do not assume that stat() works on sysfs files (diff) | |
| download | ipxe-6707d9218c8e6e760e53068d5f41ceb31fac6ea0.tar.gz ipxe-6707d9218c8e6e760e53068d5f41ceb31fac6ea0.tar.xz ipxe-6707d9218c8e6e760e53068d5f41ceb31fac6ea0.zip | |
Merge branch 'master' into openslx
Diffstat (limited to 'src/arch/x86/include/bits/bitops.h')
| -rw-r--r-- | src/arch/x86/include/bits/bitops.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/arch/x86/include/bits/bitops.h b/src/arch/x86/include/bits/bitops.h index 17dcf1024..f697b8c8f 100644 --- a/src/arch/x86/include/bits/bitops.h +++ b/src/arch/x86/include/bits/bitops.h @@ -29,7 +29,7 @@ set_bit ( unsigned int bit, volatile void *bits ) { uint8_t byte[ ( bit / 8 ) + 1 ]; } *bytes = bits; - __asm__ __volatile__ ( "lock bts %1, %0" + __asm__ __volatile__ ( "lock btsl %k1, %0" : "+m" ( *bytes ) : "Ir" ( bit ) ); } @@ -45,7 +45,7 @@ clear_bit ( unsigned int bit, volatile void *bits ) { uint8_t byte[ ( bit / 8 ) + 1 ]; } *bytes = bits; - __asm__ __volatile__ ( "lock btr %1, %0" + __asm__ __volatile__ ( "lock btrl %k1, %0" : "+m" ( *bytes ) : "Ir" ( bit ) ); } @@ -63,7 +63,7 @@ test_and_set_bit ( unsigned int bit, volatile void *bits ) { } *bytes = bits; int old; - __asm__ __volatile__ ( "lock bts %2, %0\n\t" + __asm__ __volatile__ ( "lock btsl %k2, %0\n\t" "sbb %1, %1\n\t" : "+m" ( *bytes ), "=r" ( old ) : "Ir" ( bit ) ); @@ -84,7 +84,7 @@ test_and_clear_bit ( unsigned int bit, volatile void *bits ) { } *bytes = bits; int old; - __asm__ __volatile__ ( "lock btr %2, %0\n\t" + __asm__ __volatile__ ( "lock btrl %k2, %0\n\t" "sbb %1, %1\n\t" : "+m" ( *bytes ), "=r" ( old ) : "Ir" ( bit ) ); |
