/* In general all page table modifications should use the V8 atomic swap instruction. This insures the mmu and the cpu are in sync with respect to ref/mod bits in the page tables.  */
static unsigned long srmmu_swap(unsigned long *addr, unsigned long value)
/* In general all page table modifications should use the V8 atomic swap instruction. This insures the mmu and the cpu are in sync with respect to ref/mod bits in the page tables.  */
static unsigned long srmmu_swap(unsigned long *addr, unsigned long value)
{
	__asm__ __volatile__("swap [%2], %0" : "=&r" (value) : "0" (value), "r" (addr));
	return value;
}