1 #ifndef __ASM_SH64_PLATFORM_H
2 #define __ASM_SH64_PLATFORM_H
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
9 * include/asm-sh64/platform.h
11 * Copyright (C) 2000, 2001 Paolo Alberelli
13 * benedict.gaster@superh.com: 3rd May 2002
14 * Added support for ramdisk, removing statically linked romfs at the same time.
17 #include <linux/ioport.h>
22 * Platform definition structure.
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
;
42 extern struct sh64_platform platform_parms
;
44 extern unsigned long long memory_start
, memory_end
;
46 extern unsigned long long fpu_in_use
;
48 extern int platform_int_priority
[NR_INTC_IRQS
];
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)
57 * Kernel Memory description, Respectively:
58 * code = last but one memory descriptor
59 * data = last memory descriptor
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])
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)
69 #endif /* __ASM_SH64_PLATFORM_H */