/* SPDX-License-Identifier: GPL-2.0-or-later */1/*2* OpenRISC Linux3*4* Linux architectural port borrowing liberally from similar works of5* others. All original copyrights apply as per the original source6* declaration.7*8* OpenRISC implementation:9* Copyright (C) 2003 Matjaz Breskvar <[email protected]>10* Copyright (C) 2010-2011 Jonas Bonn <[email protected]>11* et al.12*/1314#ifndef __ASM_OPENRISC_FIXMAP_H15#define __ASM_OPENRISC_FIXMAP_H1617/* Why exactly do we need 2 empty pages between the top of the fixed18* addresses and the top of virtual memory? Something is using that19* memory space but not sure what right now... If you find it, leave20* a comment here.21*/22#define FIXADDR_TOP ((unsigned long) (-2*PAGE_SIZE))2324#include <linux/kernel.h>25#include <linux/bug.h>26#include <asm/page.h>2728enum fixed_addresses {29FIX_EARLYCON_MEM_BASE,30__end_of_fixed_addresses31};3233#define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT)34/* FIXADDR_BOTTOM might be a better name here... */35#define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)36#define FIXMAP_PAGE_IO PAGE_KERNEL_NOCACHE3738extern void __set_fixmap(enum fixed_addresses idx,39phys_addr_t phys, pgprot_t flags);4041#include <asm-generic/fixmap.h>4243#endif444546