home *** CD-ROM | disk | FTP | other *** search
- /*
- * bootinfo.h -- Definition of the Linux/MIPS boot information structure
- *
- * Copyright (C) 1994 by Waldorf Electronics
- * Written by Ralf Baechle and Andreas Busse
- *
- * Based on Linux/68k linux/include/linux/bootstrap.h
- * Copyright (C) 1992 by Greg Harp
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file README.legal in the main directory of this archive
- * for more details.
- */
-
- #ifndef __ASM_MIPS_BOOTINFO_H
- #define __ASM_MIPS_BOOTINFO_H
-
- /*
- * Valid values for machtype field
- */
- #define MACH_UNKNOWN 0 /* whatever... */
- #define MACH_DESKSTATION_TYNE 1 /* Deskstation Tyne */
- #define MACH_ACER_PICA_61 2 /* Acer PICA-61 (PICA1) */
- #define MACH_MIPS_MAGNUM_4000 3 /* Mips Magnum 4000 (aka RC4030) */
-
- /*
- * Valid values for cputype field
- */
- #define CPU_UNKNOWN 0
- #define CPU_R2000 1
- #define CPU_R3000 2
- #define CPU_R3000A 3
- #define CPU_R3041 4
- #define CPU_R3051 5
- #define CPU_R3052 6
- #define CPU_R3081 7
- #define CPU_R3081E 8
- #define CPU_R4000PC 9
- #define CPU_R4000SC 10
- #define CPU_R4000MC 11
- #define CPU_R4200 12
- #define CPU_R4400PC 13
- #define CPU_R4400SC 14
- #define CPU_R4400MC 15
- #define CPU_R4600 16
- #define CPU_R6000 17
- #define CPU_R6000A 18
- #define CPU_R8000 19
- #define CPU_R10000 20
-
- #define CPU_NAMES { "UNKNOWN", "R2000", "R3000", "R3000A", "R3041", "R3051", \
- "R3052", "R3081", "R3081E", "R4000PC", "R4000SC", "R4000MC", \
- "R4200", "R4400PC", "R4400SC", "R4400MC", "R4600", "R6000", \
- "R6000A", "R8000", "R10000" }
-
- #define CL_SIZE (80)
-
- #ifndef __ASSEMBLY__
-
- /*
- * Some machine parameters passed by MILO. Note that bootinfo
- * *must* be in the data segment since the kernel clears the
- * bss segment directly after startup.
- */
-
- struct drive_info_struct {
- char dummy[32];
- };
-
- struct bootinfo {
- unsigned long machtype; /* machine type */
- unsigned long cputype; /* system CPU & FPU */
-
- /*
- * Installed RAM
- */
- unsigned long memlower;
- unsigned long memupper;
-
- /*
- * Cache Sizes (0xffffffff = unknown)
- */
- unsigned long icache_size;
- unsigned long icache_linesize;
- unsigned long dcache_size;
- unsigned long dcache_linesize;
- unsigned long scache_size;
- unsigned long scache_linesize;
-
- /*
- * TLB Info
- */
- unsigned long tlb_entries;
-
- /*
- * DMA buffer size (Deskstation only)
- */
- unsigned long dma_cache_size;
- unsigned long dma_cache_base;
-
- /*
- * Ramdisk Info
- */
- unsigned long ramdisk_size; /* ramdisk size in 1024 byte blocks */
- unsigned long ramdisk_base; /* address of the ram disk in mem */
-
- /*
- * Boot flags for the kernel
- */
- unsigned long mount_root_rdonly;
- struct drive_info_struct drive_info;
-
- /*
- * Video ram info (not in tty.h)
- */
- unsigned long vram_base; /* video ram base address */
-
- char command_line[CL_SIZE]; /* kernel command line parameters */
-
- };
-
- extern struct bootinfo boot_info;
-
- /*
- * Defaults, may be overwritten by milo. We initialize
- * them to make sure that both boot_info and screen_info
- * are in the .data segment since the .bss segment is
- * cleared during startup.
- */
- #define BOOT_INFO { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"" }
-
- #else /* !__ASSEMBLY__ */
-
- /*
- * Same structure, but as offsets for usage within assembler source.
- * Don't mess with struct bootinfo without changing offsets too!
- */
-
- #define OFFSET_BOOTINFO_MACHTYPE 0
- #define OFFSET_BOOTINFO_CPUTYPE 4
- #define OFFSET_BOOTINFO_MEMLOWER 8
- #define OFFSET_BOOTINFO_MEMUPPER 12
- #define OFFSET_BOOTINFO_ICACHE_SIZE 16
- #define OFFSET_BOOTINFO_ICACHE_LINESIZE 20
- #define OFFSET_BOOTINFO_DCACHE_SIZE 24
- #define OFFSET_BOOTINFO_DCACHE_LINESIZE 28
- #define OFFSET_BOOTINFO_SCACHE_SIZE 32
- #define OFFSET_BOOTINFO_SCACHE_LINESIZE 36
- #define OFFSET_BOOTINFO_TLB_ENTRIES 40
- #define OFFSET_BOOTINFO_DMA_CACHE_SIZE 44
- #define OFFSET_BOOTINFO_DMA_CACHE_BASE 48
- #define OFFSET_BOOTINFO_RAMDISK_SIZE 52
- #define OFFSET_BOOTINFO_RAMDISK_BASE 56
- #define OFFSET_BOOTINFO_VRAM_BASE 60
- #define OFFSET_BOOTINFO_COMMAND_LINE 64
-
- #endif /* __ASSEMBLY__ */
-
- #endif /* __ASM_MIPS_BOOTINFO_H */
-