cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

io-defs.h (3164B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/* This file is meant to be include multiple times by other headers */
      3/* last 2 argments are used by platforms/cell/io-workarounds.[ch] */
      4
      5DEF_PCI_AC_RET(readb, u8, (const PCI_IO_ADDR addr), (addr), mem, addr)
      6DEF_PCI_AC_RET(readw, u16, (const PCI_IO_ADDR addr), (addr), mem, addr)
      7DEF_PCI_AC_RET(readl, u32, (const PCI_IO_ADDR addr), (addr), mem, addr)
      8DEF_PCI_AC_RET(readw_be, u16, (const PCI_IO_ADDR addr), (addr), mem, addr)
      9DEF_PCI_AC_RET(readl_be, u32, (const PCI_IO_ADDR addr), (addr), mem, addr)
     10DEF_PCI_AC_NORET(writeb, (u8 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
     11DEF_PCI_AC_NORET(writew, (u16 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
     12DEF_PCI_AC_NORET(writel, (u32 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
     13DEF_PCI_AC_NORET(writew_be, (u16 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
     14DEF_PCI_AC_NORET(writel_be, (u32 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
     15
     16#ifdef __powerpc64__
     17DEF_PCI_AC_RET(readq, u64, (const PCI_IO_ADDR addr), (addr), mem, addr)
     18DEF_PCI_AC_RET(readq_be, u64, (const PCI_IO_ADDR addr), (addr), mem, addr)
     19DEF_PCI_AC_NORET(writeq, (u64 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
     20DEF_PCI_AC_NORET(writeq_be, (u64 val, PCI_IO_ADDR addr), (val, addr), mem, addr)
     21#endif /* __powerpc64__ */
     22
     23DEF_PCI_AC_RET(inb, u8, (unsigned long port), (port), pio, port)
     24DEF_PCI_AC_RET(inw, u16, (unsigned long port), (port), pio, port)
     25DEF_PCI_AC_RET(inl, u32, (unsigned long port), (port), pio, port)
     26DEF_PCI_AC_NORET(outb, (u8 val, unsigned long port), (val, port), pio, port)
     27DEF_PCI_AC_NORET(outw, (u16 val, unsigned long port), (val, port), pio, port)
     28DEF_PCI_AC_NORET(outl, (u32 val, unsigned long port), (val, port), pio, port)
     29
     30DEF_PCI_AC_NORET(readsb, (const PCI_IO_ADDR a, void *b, unsigned long c),
     31		 (a, b, c), mem, a)
     32DEF_PCI_AC_NORET(readsw, (const PCI_IO_ADDR a, void *b, unsigned long c),
     33		 (a, b, c), mem, a)
     34DEF_PCI_AC_NORET(readsl, (const PCI_IO_ADDR a, void *b, unsigned long c),
     35		 (a, b, c), mem, a)
     36DEF_PCI_AC_NORET(writesb, (PCI_IO_ADDR a, const void *b, unsigned long c),
     37		 (a, b, c), mem, a)
     38DEF_PCI_AC_NORET(writesw, (PCI_IO_ADDR a, const void *b, unsigned long c),
     39		 (a, b, c), mem, a)
     40DEF_PCI_AC_NORET(writesl, (PCI_IO_ADDR a, const void *b, unsigned long c),
     41		 (a, b, c), mem, a)
     42
     43DEF_PCI_AC_NORET(insb, (unsigned long p, void *b, unsigned long c),
     44		 (p, b, c), pio, p)
     45DEF_PCI_AC_NORET(insw, (unsigned long p, void *b, unsigned long c),
     46		 (p, b, c), pio, p)
     47DEF_PCI_AC_NORET(insl, (unsigned long p, void *b, unsigned long c),
     48		 (p, b, c), pio, p)
     49DEF_PCI_AC_NORET(outsb, (unsigned long p, const void *b, unsigned long c),
     50		 (p, b, c), pio, p)
     51DEF_PCI_AC_NORET(outsw, (unsigned long p, const void *b, unsigned long c),
     52		 (p, b, c), pio, p)
     53DEF_PCI_AC_NORET(outsl, (unsigned long p, const void *b, unsigned long c),
     54		 (p, b, c), pio, p)
     55
     56DEF_PCI_AC_NORET(memset_io, (PCI_IO_ADDR a, int c, unsigned long n),
     57		 (a, c, n), mem, a)
     58DEF_PCI_AC_NORET(memcpy_fromio, (void *d, const PCI_IO_ADDR s, unsigned long n),
     59		 (d, s, n), mem, s)
     60DEF_PCI_AC_NORET(memcpy_toio, (PCI_IO_ADDR d, const void *s, unsigned long n),
     61		 (d, s, n), mem, d)