Rename the "xor" parameter to "xorval" as the former is a reserved keyword
in C++. Submitted by: gahr
This commit is contained in:
parent
1a1716f8a9
commit
b07041fd2b
@ -157,9 +157,9 @@ int fasword32(u_long asi, void *addr, uint32_t *val);
|
||||
__sr; \
|
||||
})
|
||||
|
||||
#define wr(name, val, xor) do { \
|
||||
#define wr(name, val, xorval) do { \
|
||||
__asm __volatile("wr %0, %1, %%" #name \
|
||||
: : "r" (val), "rI" (xor)); \
|
||||
: : "r" (val), "rI" (xorval)); \
|
||||
} while (0)
|
||||
|
||||
#define rdpr(name) ({ \
|
||||
@ -168,24 +168,24 @@ int fasword32(u_long asi, void *addr, uint32_t *val);
|
||||
__pr; \
|
||||
})
|
||||
|
||||
#define wrpr(name, val, xor) do { \
|
||||
#define wrpr(name, val, xorval) do { \
|
||||
__asm __volatile("wrpr %0, %1, %%" #name \
|
||||
: : "r" (val), "rI" (xor)); \
|
||||
: : "r" (val), "rI" (xorval)); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* Trick GAS/GCC into compiling access to TICK/(S)TICK_COMPARE independently
|
||||
* of the selected instruction set.
|
||||
*/
|
||||
#define rdtickcmpr() rd(asr23)
|
||||
#define rdstick() rd(asr24)
|
||||
#define rdstickcmpr() rd(asr25)
|
||||
#define wrtickcmpr(val, xor) wr(asr23, (val), (xor))
|
||||
#define wrstick(val, xor) wr(asr24, (val), (xor))
|
||||
#define wrstickcmpr(val, xor) wr(asr25, (val), (xor))
|
||||
#define rdtickcmpr() rd(asr23)
|
||||
#define rdstick() rd(asr24)
|
||||
#define rdstickcmpr() rd(asr25)
|
||||
#define wrtickcmpr(val, xorval) wr(asr23, (val), (xorval))
|
||||
#define wrstick(val, xorval) wr(asr24, (val), (xorval))
|
||||
#define wrstickcmpr(val, xorval) wr(asr25, (val), (xorval))
|
||||
|
||||
/*
|
||||
* Macro intended to be used instead of wr(asr23, val, xor) for writing to
|
||||
* Macro intended to be used instead of wr(asr23, val, xorval) for writing to
|
||||
* the TICK_COMPARE register in order to avoid a bug in BlackBird CPUs that
|
||||
* can cause these writes to fail under certain condidtions which in turn
|
||||
* causes the hardclock to stop. The workaround is to read the TICK_COMPARE
|
||||
@ -193,14 +193,14 @@ int fasword32(u_long asi, void *addr, uint32_t *val);
|
||||
* aligned to a quadword boundary in order to ensure that I$ misses won't
|
||||
* split them up.
|
||||
*/
|
||||
#define wrtickcmpr_bbwar(val, xor) ({ \
|
||||
#define wrtickcmpr_bbwar(val, xorval) ({ \
|
||||
__asm __volatile( \
|
||||
" ba,pt %%xcc, 1f ; " \
|
||||
" nop ; " \
|
||||
" .align 128 ; " \
|
||||
"1: wr %0, %1, %%asr23 ; " \
|
||||
" rd %%asr23, %%g0 ; " \
|
||||
: : "r" (val), "rI" (xor)); \
|
||||
: : "r" (val), "rI" (xorval)); \
|
||||
})
|
||||
|
||||
static __inline void
|
||||
|
Loading…
x
Reference in New Issue
Block a user