unsigned long non_cpu_bits = ~((NR_CPUS - 1UL) << 24UL); mask = (mask << 24) | (1UL << PG_dcache_dirty); 
unsigned long non_cpu_bits;  non_cpu_bits = ~(PG_dcache_cpu_mask << PG_dcache_cpu_shift); mask = (mask << PG_dcache_cpu_shift) | (1UL << PG_dcache_dirty);  
static __inline__ void set_dcache_dirty(struct page *page, int this_cpu){	unsigned long mask = this_cpu;	unsigned long non_cpu_bits = ~((NR_CPUS - 1UL) << 24UL);	mask = (mask << 24) | (1UL << PG_dcache_dirty);	__asm__ __volatile__("1:\n\t"			     "ldx	[%2], %%g7\n\t"			     "and	%%g7, %1, %%g1\n\t"			     "or	%%g1, %0, %%g1\n\t"			     "casx	[%2], %%g7, %%g1\n\t"			     "cmp	%%g7, %%g1\n\t"			     "membar	#StoreLoad | #StoreStore\n\t"			     "bne,pn	%%xcc, 1b\n\t"			     " nop"			     : /* no outputs */			     : "r" (mask), "r" (non_cpu_bits), "r" (&page->flags)			     : "g1", "g7");}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/48b0e5487fcdcb3421bda67666277348b2bd2661/init.c/buggy/arch/sparc64/mm/init.c