17 lines
		
	
	
		
			275 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			17 lines
		
	
	
		
			275 B
		
	
	
	
		
			Plaintext
		
	
	
		
			Executable File
		
	
	
	
	
cat <<EOF
 | 
						|
static __always_inline ${ret}
 | 
						|
arch_${atomic}_read_acquire(const ${atomic}_t *v)
 | 
						|
{
 | 
						|
	${int} ret;
 | 
						|
 | 
						|
	if (__native_word(${atomic}_t)) {
 | 
						|
		ret = smp_load_acquire(&(v)->counter);
 | 
						|
	} else {
 | 
						|
		ret = arch_${atomic}_read(v);
 | 
						|
		__atomic_acquire_fence();
 | 
						|
	}
 | 
						|
 | 
						|
	return ret;
 | 
						|
}
 | 
						|
EOF
 |