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

early_ioremap.h (1501B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef _ASM_EARLY_IOREMAP_H_
      3#define _ASM_EARLY_IOREMAP_H_
      4
      5#include <linux/types.h>
      6
      7/*
      8 * early_ioremap() and early_iounmap() are for temporary early boot-time
      9 * mappings, before the real ioremap() is functional.
     10 */
     11extern void __iomem *early_ioremap(resource_size_t phys_addr,
     12				   unsigned long size);
     13extern void *early_memremap(resource_size_t phys_addr,
     14			    unsigned long size);
     15extern void *early_memremap_ro(resource_size_t phys_addr,
     16			       unsigned long size);
     17extern void *early_memremap_prot(resource_size_t phys_addr,
     18				 unsigned long size, unsigned long prot_val);
     19extern void early_iounmap(void __iomem *addr, unsigned long size);
     20extern void early_memunmap(void *addr, unsigned long size);
     21
     22#if defined(CONFIG_GENERIC_EARLY_IOREMAP) && defined(CONFIG_MMU)
     23/* Arch-specific initialization */
     24extern void early_ioremap_init(void);
     25
     26/* Generic initialization called by architecture code */
     27extern void early_ioremap_setup(void);
     28
     29/*
     30 * Called as last step in paging_init() so library can act
     31 * accordingly for subsequent map/unmap requests.
     32 */
     33extern void early_ioremap_reset(void);
     34
     35/*
     36 * Early copy from unmapped memory to kernel mapped memory.
     37 */
     38extern void copy_from_early_mem(void *dest, phys_addr_t src,
     39				unsigned long size);
     40
     41#else
     42static inline void early_ioremap_init(void) { }
     43static inline void early_ioremap_setup(void) { }
     44static inline void early_ioremap_reset(void) { }
     45#endif
     46
     47#endif /* _ASM_EARLY_IOREMAP_H_ */