| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef __ASM_SH64_PLATFORM_H | 
|  | 2 | #define __ASM_SH64_PLATFORM_H | 
|  | 3 |  | 
|  | 4 | /* | 
|  | 5 | * This file is subject to the terms and conditions of the GNU General Public | 
|  | 6 | * License.  See the file "COPYING" in the main directory of this archive | 
|  | 7 | * for more details. | 
|  | 8 | * | 
|  | 9 | * include/asm-sh64/platform.h | 
|  | 10 | * | 
|  | 11 | * Copyright (C) 2000, 2001  Paolo Alberelli | 
|  | 12 | * | 
|  | 13 | * benedict.gaster@superh.com:	 3rd May 2002 | 
|  | 14 | *    Added support for ramdisk, removing statically linked romfs at the same time. | 
|  | 15 | */ | 
|  | 16 |  | 
|  | 17 | #include <linux/ioport.h> | 
|  | 18 | #include <asm/irq.h> | 
|  | 19 |  | 
|  | 20 |  | 
|  | 21 | /* | 
|  | 22 | * Platform definition structure. | 
|  | 23 | */ | 
|  | 24 | struct sh64_platform { | 
|  | 25 | unsigned int readonly_rootfs; | 
|  | 26 | unsigned int ramdisk_flags; | 
|  | 27 | unsigned int initial_root_dev; | 
|  | 28 | unsigned int loader_type; | 
|  | 29 | unsigned int initrd_start; | 
|  | 30 | unsigned int initrd_size; | 
|  | 31 | unsigned int fpu_flags; | 
|  | 32 | unsigned int io_res_count; | 
|  | 33 | unsigned int kram_res_count; | 
|  | 34 | unsigned int xram_res_count; | 
|  | 35 | unsigned int rom_res_count; | 
|  | 36 | struct resource *io_res_p; | 
|  | 37 | struct resource *kram_res_p; | 
|  | 38 | struct resource *xram_res_p; | 
|  | 39 | struct resource *rom_res_p; | 
|  | 40 | }; | 
|  | 41 |  | 
|  | 42 | extern struct sh64_platform platform_parms; | 
|  | 43 |  | 
|  | 44 | extern unsigned long long memory_start, memory_end; | 
|  | 45 |  | 
|  | 46 | extern unsigned long long fpu_in_use; | 
|  | 47 |  | 
|  | 48 | extern int platform_int_priority[NR_INTC_IRQS]; | 
|  | 49 |  | 
|  | 50 | #define FPU_FLAGS		(platform_parms.fpu_flags) | 
|  | 51 | #define STANDARD_IO_RESOURCES	(platform_parms.io_res_count) | 
|  | 52 | #define STANDARD_KRAM_RESOURCES	(platform_parms.kram_res_count) | 
|  | 53 | #define STANDARD_XRAM_RESOURCES	(platform_parms.xram_res_count) | 
|  | 54 | #define STANDARD_ROM_RESOURCES	(platform_parms.rom_res_count) | 
|  | 55 |  | 
|  | 56 | /* | 
|  | 57 | * Kernel Memory description, Respectively: | 
|  | 58 | * code = last but one memory descriptor | 
|  | 59 | * data = last memory descriptor | 
|  | 60 | */ | 
|  | 61 | #define code_resource (platform_parms.kram_res_p[STANDARD_KRAM_RESOURCES - 2]) | 
|  | 62 | #define data_resource (platform_parms.kram_res_p[STANDARD_KRAM_RESOURCES - 1]) | 
|  | 63 |  | 
|  | 64 | /* Be prepared to 64-bit sign extensions */ | 
|  | 65 | #define PFN_UP(x)       ((((x) + PAGE_SIZE-1) >> PAGE_SHIFT) & 0x000fffff) | 
|  | 66 | #define PFN_DOWN(x)     (((x) >> PAGE_SHIFT) & 0x000fffff) | 
|  | 67 | #define PFN_PHYS(x)     ((x) << PAGE_SHIFT) | 
|  | 68 |  | 
|  | 69 | #endif	/* __ASM_SH64_PLATFORM_H */ |