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 */
24struct 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
42extern struct sh64_platform platform_parms;
43
44extern unsigned long long memory_start, memory_end;
45
46extern unsigned long long fpu_in_use;
47
48extern 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#endif	/* __ASM_SH64_PLATFORM_H */
65