Lock
I2bv(((_f) | DstReg | SrcMem | ModRM) & ~Lock, _e), \
I2bv(((_f) & ~Lock) | DstAcc | SrcImm, _e)
I(Lock, em_add),
I(Lock | PageTable, em_or),
I(Lock, em_adc),
I(Lock, em_sbb),
I(Lock | PageTable, em_and),
I(Lock, em_sub),
I(Lock, em_xor),
I(DstMem | SrcNone | Lock, em_not),
I(DstMem | SrcNone | Lock, em_neg),
I(ByteOp | DstMem | SrcNone | Lock, em_inc),
I(ByteOp | DstMem | SrcNone | Lock, em_dec),
I(DstMem | SrcNone | Lock, em_inc),
I(DstMem | SrcNone | Lock, em_dec),
I(DstMem | SrcImmByte | Lock | PageTable, em_bts),
I(DstMem | SrcImmByte | Lock, em_btr),
I(DstMem | SrcImmByte | Lock | PageTable, em_btc),
N, I(DstMem64 | Lock | PageTable, em_cmpxchg8b), N, N, N, N, N, N,
I6ALU(Lock, em_add),
I6ALU(Lock | PageTable, em_or),
I6ALU(Lock, em_adc),
I6ALU(Lock, em_sbb),
I6ALU(Lock | PageTable, em_and), N, N,
I6ALU(Lock, em_sub), N, I(ByteOp | DstAcc | No64, em_das),
I6ALU(Lock, em_xor), N, N,
I2bv(DstMem | SrcReg | ModRM | Lock | PageTable, em_xchg),
I(DstMem | SrcReg | ModRM | BitOp | Lock | PageTable, em_bts),
I2bv(DstMem | SrcReg | ModRM | Lock | PageTable | SrcWrite, em_cmpxchg),
I(DstMem | SrcReg | ModRM | BitOp | Lock, em_btr),
I(DstMem | SrcReg | ModRM | BitOp | Lock | PageTable, em_btc),
I2bv(DstMem | SrcReg | ModRM | SrcWrite | Lock, em_xadd),
if (ctxt->lock_prefix && (!(ctxt->d & Lock) || ctxt->dst.type != OP_MEM)) {
spin_lock_irqsave(&(data->Lock), flags);
spin_unlock_irqrestore(&(data->Lock), flags);
spin_lock_init(&(data->Lock));
spinlock_t Lock;
spin_lock_init(&(data->Lock));
spin_lock_irqsave(&(data->Lock), flags);
spin_unlock_irqrestore(&(data->Lock), flags);
spinlock_t Lock;
void NVLockUnlock(struct nvidia_par *par, int Lock)
VGA_WR08(par->PCIO, 0x3D5, Lock ? 0x99 : 0x57);
if (Lock)
int Lock
VGA_WR08(chip->PVIO, 0x3C5, Lock ? 0x99 : 0x57);
vgaLockUnlock(chip, Lock);
int Lock
VGA_WR08(chip->PCIO, 0x3D5, Lock ? 0x99 : 0x57);
vgaLockUnlock(chip, Lock);
int Lock
if(Lock) cr11 |= 0x80;
BUFFER_FNS(Lock, locked)