[XTENSA] Add volatile keyword to asm statements accessing counter registers
[linux-2.6] / include / asm-ia64 / sn / rw_mmr.h
1 /*
2  * This file is subject to the terms and conditions of the GNU General Public
3  * License.  See the file "COPYING" in the main directory of this archive
4  * for more details.
5  *
6  * Copyright (C) 2002-2006 Silicon Graphics, Inc.  All Rights Reserved.
7  */
8 #ifndef _ASM_IA64_SN_RW_MMR_H
9 #define _ASM_IA64_SN_RW_MMR_H
10
11
12 /*
13  * This file that access MMRs via uncached physical addresses.
14  *      pio_phys_read_mmr  - read an MMR
15  *      pio_phys_write_mmr - write an MMR
16  *      pio_atomic_phys_write_mmrs - atomically write 1 or 2 MMRs with psr.ic=0
17  *              Second MMR will be skipped if address is NULL
18  *
19  * Addresses passed to these routines should be uncached physical addresses
20  * ie., 0x80000....
21  */
22
23
24 extern long pio_phys_read_mmr(volatile long *mmr); 
25 extern void pio_phys_write_mmr(volatile long *mmr, long val);
26 extern void pio_atomic_phys_write_mmrs(volatile long *mmr1, long val1, volatile long *mmr2, long val2); 
27
28 #endif /* _ASM_IA64_SN_RW_MMR_H */