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

ioremap64.c (567B)


      1// SPDX-License-Identifier: GPL-2.0-only
      2#include <linux/io.h>
      3#include <ioremap.h>
      4
      5void __iomem *ioremap_prot(phys_addr_t offset, unsigned long size,
      6		unsigned long prot_val)
      7{
      8	unsigned long flags = prot_val & _CACHE_MASK;
      9	u64 base = (flags == _CACHE_UNCACHED ? IO_BASE : UNCAC_BASE);
     10	void __iomem *addr;
     11
     12	addr = plat_ioremap(offset, size, flags);
     13	if (!addr)
     14		addr = (void __iomem *)(unsigned long)(base + offset);
     15	return addr;
     16}
     17EXPORT_SYMBOL(ioremap_prot);
     18
     19void iounmap(const volatile void __iomem *addr)
     20{
     21	plat_iounmap(addr);
     22}
     23EXPORT_SYMBOL(iounmap);