[POWERPC] Allow hooking of PCI MMIO & PIO accessors on 64 bits
[linux-2.6] / include / asm-powerpc / io-defs.h
1 /* This file is meant to be include multiple times by other headers */
2
3 DEF_PCI_AC_RET(readb, u8, (const PCI_IO_ADDR addr), (addr))
4 DEF_PCI_AC_RET(readw, u16, (const PCI_IO_ADDR addr), (addr))
5 DEF_PCI_AC_RET(readl, u32, (const PCI_IO_ADDR addr), (addr))
6 DEF_PCI_AC_RET(readq, u64, (const PCI_IO_ADDR addr), (addr))
7 DEF_PCI_AC_RET(readw_be, u16, (const PCI_IO_ADDR addr), (addr))
8 DEF_PCI_AC_RET(readl_be, u32, (const PCI_IO_ADDR addr), (addr))
9 DEF_PCI_AC_RET(readq_be, u64, (const PCI_IO_ADDR addr), (addr))
10 DEF_PCI_AC_NORET(writeb, (u8 val, PCI_IO_ADDR addr), (val, addr))
11 DEF_PCI_AC_NORET(writew, (u16 val, PCI_IO_ADDR addr), (val, addr))
12 DEF_PCI_AC_NORET(writel, (u32 val, PCI_IO_ADDR addr), (val, addr))
13 DEF_PCI_AC_NORET(writeq, (u64 val, PCI_IO_ADDR addr), (val, addr))
14 DEF_PCI_AC_NORET(writew_be, (u16 val, PCI_IO_ADDR addr), (val, addr))
15 DEF_PCI_AC_NORET(writel_be, (u32 val, PCI_IO_ADDR addr), (val, addr))
16 DEF_PCI_AC_NORET(writeq_be, (u64 val, PCI_IO_ADDR addr), (val, addr))
17
18 DEF_PCI_AC_RET(inb, u8, (unsigned long port), (port))
19 DEF_PCI_AC_RET(inw, u16, (unsigned long port), (port))
20 DEF_PCI_AC_RET(inl, u32, (unsigned long port), (port))
21 DEF_PCI_AC_NORET(outb, (u8 val, unsigned long port), (val, port))
22 DEF_PCI_AC_NORET(outw, (u16 val, unsigned long port), (val, port))
23 DEF_PCI_AC_NORET(outl, (u32 val, unsigned long port), (val, port))
24
25 DEF_PCI_AC_NORET(readsb, (const PCI_IO_ADDR a, void *b, unsigned long c), \
26                  (a, b, c))
27 DEF_PCI_AC_NORET(readsw, (const PCI_IO_ADDR a, void *b, unsigned long c), \
28                  (a, b, c))
29 DEF_PCI_AC_NORET(readsl, (const PCI_IO_ADDR a, void *b, unsigned long c), \
30                  (a, b, c))
31 DEF_PCI_AC_NORET(writesb, (PCI_IO_ADDR a, const void *b, unsigned long c), \
32                  (a, b, c))
33 DEF_PCI_AC_NORET(writesw, (PCI_IO_ADDR a, const void *b, unsigned long c), \
34                  (a, b, c))
35 DEF_PCI_AC_NORET(writesl, (PCI_IO_ADDR a, const void *b, unsigned long c), \
36                  (a, b, c))
37
38 DEF_PCI_AC_NORET(insb, (unsigned long p, void *b, unsigned long c), \
39                  (p, b, c))
40 DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c), \
41                  (p, b, c))
42 DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c), \
43                  (p, b, c))
44 DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c), \
45                  (p, b, c))
46 DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c), \
47                  (p, b, c))
48 DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c), \
49                  (p, b, c))
50
51 DEF_PCI_AC_NORET(memset_io, (PCI_IO_ADDR a, int c, unsigned long n),       \
52                  (a, c, n))
53 DEF_PCI_AC_NORET(memcpy_fromio,(void *d,const PCI_IO_ADDR s,unsigned long n), \
54                  (d, s, n))
55 DEF_PCI_AC_NORET(memcpy_toio,(PCI_IO_ADDR d,const void *s,unsigned long n),   \
56                  (d, s, n))