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

kmap.h (1754B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _KMAP_H
      3#define _KMAP_H
      4
      5#ifdef CONFIG_MMU
      6
      7#define ARCH_HAS_IOREMAP_WT
      8
      9/* Values for nocacheflag and cmode */
     10#define IOMAP_FULL_CACHING		0
     11#define IOMAP_NOCACHE_SER		1
     12#define IOMAP_NOCACHE_NONSER		2
     13#define IOMAP_WRITETHROUGH		3
     14
     15/*
     16 * These functions exported by arch/m68k/mm/kmap.c.
     17 * Only needed on MMU enabled systems.
     18 */
     19extern void __iomem *__ioremap(unsigned long physaddr, unsigned long size,
     20			       int cacheflag);
     21#define iounmap iounmap
     22extern void iounmap(void __iomem *addr);
     23
     24#define ioremap ioremap
     25static inline void __iomem *ioremap(unsigned long physaddr, unsigned long size)
     26{
     27	return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
     28}
     29
     30#define ioremap_uc ioremap
     31#define ioremap_wt ioremap_wt
     32static inline void __iomem *ioremap_wt(unsigned long physaddr,
     33				       unsigned long size)
     34{
     35	return __ioremap(physaddr, size, IOMAP_WRITETHROUGH);
     36}
     37
     38#define memset_io memset_io
     39static inline void memset_io(volatile void __iomem *addr, unsigned char val,
     40			     int count)
     41{
     42	__builtin_memset((void __force *) addr, val, count);
     43}
     44
     45#define memcpy_fromio memcpy_fromio
     46static inline void memcpy_fromio(void *dst, const volatile void __iomem *src,
     47				 int count)
     48{
     49	__builtin_memcpy(dst, (void __force *) src, count);
     50}
     51
     52#define memcpy_toio memcpy_toio
     53static inline void memcpy_toio(volatile void __iomem *dst, const void *src,
     54			       int count)
     55{
     56	__builtin_memcpy((void __force *) dst, src, count);
     57}
     58
     59#endif /* CONFIG_MMU */
     60
     61#define ioport_map ioport_map
     62static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
     63{
     64	return (void __iomem *) port;
     65}
     66
     67#define ioport_unmap ioport_unmap
     68static inline void ioport_unmap(void __iomem *p)
     69{
     70}
     71
     72#endif /* _KMAP_H */