Messages in this thread | | | Date | Fri, 20 Jun 2008 13:22:22 -0700 | From | Jeremy Fitzhardinge <> | Subject | Re: [PATCH 1 of 4] mm: add a ptep_modify_prot transaction abstraction |
| |
Jeremy Fitzhardinge wrote: > Linus Torvalds wrote: > >> On Fri, 20 Jun 2008, Ingo Molnar wrote: >> >> >>> okay - Jeremy, could you try the fix below? (or tip/master, i just >>> pushed this out) >>> >>> >> Actually, don't try that one. >> >> It needs to be a _byte_ registers, so "ir" was wrong. You need "iq". >> >> > > Doesn't work, unfortunately: > {standard input}:20511: Error: Incorrect register `%eax' used with `b' > suffix > > lock; orb %eax,1(%rdi) # tmp64, >
This does work:
asm volatile(LOCK_PREFIX "orb %1,%0" : CONST_MASK_ADDR(nr, addr) : "iq" ((u8)CONST_MASK(nr)) : "memory");
(ie, explicitly casting the mask to u8)
J
| |