#ifndef __ASM_SH64_PLATFORM_H #define __ASM_SH64_PLATFORM_H /* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * include/asm-sh64/platform.h * * Copyright (C) 2000, 2001 Paolo Alberelli * * benedict.gaster@superh.com: 3rd May 2002 * Added support for ramdisk, removing statically linked romfs at the same time. */ #include <linux/ioport.h> #include <asm/irq.h> /* * Platform definition structure. */ struct sh64_platform { unsigned int readonly_rootfs; unsigned int ramdisk_flags; unsigned int initial_root_dev; unsigned int loader_type; unsigned int initrd_start; unsigned int initrd_size; unsigned int fpu_flags; unsigned int io_res_count; unsigned int kram_res_count; unsigned int xram_res_count; unsigned int rom_res_count; struct resource *io_res_p; struct resource *kram_res_p; struct resource *xram_res_p; struct resource *rom_res_p; }; extern struct sh64_platform platform_parms; extern unsigned long long memory_start, memory_end; extern unsigned long long fpu_in_use; extern int platform_int_priority[NR_INTC_IRQS]; #define FPU_FLAGS (platform_parms.fpu_flags) #define STANDARD_IO_RESOURCES (platform_parms.io_res_count) #define STANDARD_KRAM_RESOURCES (platform_parms.kram_res_count) #define STANDARD_XRAM_RESOURCES (platform_parms.xram_res_count) #define STANDARD_ROM_RESOURCES (platform_parms.rom_res_count) /* * Kernel Memory description, Respectively: * code = last but one memory descriptor * data = last memory descriptor */ #define code_resource (platform_parms.kram_res_p[STANDARD_KRAM_RESOURCES - 2]) #define data_resource (platform_parms.kram_res_p[STANDARD_KRAM_RESOURCES - 1]) /* Be prepared to 64-bit sign extensions */ #define PFN_UP(x) ((((x) + PAGE_SIZE-1) >> PAGE_SHIFT) & 0x000fffff) #define PFN_DOWN(x) (((x) >> PAGE_SHIFT) & 0x000fffff) #define PFN_PHYS(x) ((x) << PAGE_SHIFT) #endif /* __ASM_SH64_PLATFORM_H */