1 1.4 bjh21 /* $NetBSD: bootconfig.h,v 1.4 2006/10/24 20:39:14 bjh21 Exp $ */ 2 1.1 gavan 3 1.1 gavan /* 4 1.1 gavan * Copyright (c) 2002 Reinoud Zandijk. 5 1.1 gavan * All rights reserved. 6 1.1 gavan * 7 1.1 gavan * Redistribution and use in source and binary forms, with or without 8 1.1 gavan * modification, are permitted provided that the following conditions 9 1.1 gavan * are met: 10 1.1 gavan * 1. Redistributions of source code must retain the above copyright 11 1.1 gavan * notice, this list of conditions and the following disclaimer. 12 1.1 gavan * 2. Redistributions in binary form must reproduce the above copyright 13 1.1 gavan * notice, this list of conditions and the following disclaimer in the 14 1.1 gavan * documentation and/or other materials provided with the distribution. 15 1.1 gavan * 3. The name of the company nor the name of the author may be used to 16 1.1 gavan * endorse or promote products derived from this software without specific 17 1.1 gavan * prior written permission. 18 1.1 gavan * 19 1.1 gavan * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 20 1.1 gavan * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 21 1.1 gavan * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 22 1.1 gavan * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 23 1.1 gavan * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 24 1.1 gavan * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 1.1 gavan * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 1.1 gavan * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 1.1 gavan * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 28 1.1 gavan * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 29 1.1 gavan * SUCH DAMAGE. 30 1.1 gavan * 31 1.1 gavan * boot configuration structures 32 1.1 gavan * 33 1.1 gavan */ 34 1.1 gavan 35 1.4 bjh21 #include <arm/bootconfig.h> 36 1.1 gavan 37 1.1 gavan /* get some spare blocks ;) */ 38 1.1 gavan #define DRAM_BLOCKS 32 39 1.1 gavan #define VRAM_BLOCKS 16 40 1.1 gavan 41 1.1 gavan #define PHYSMEM_TYPE_GENERIC 0 42 1.1 gavan #define PHYSMEM_TYPE_PROCESSOR_ONLY 1 43 1.1 gavan 44 1.1 gavan 45 1.1 gavan typedef struct { 46 1.1 gavan u_int address; 47 1.1 gavan u_int pages; 48 1.1 gavan u_int flags; 49 1.1 gavan } phys_mem; 50 1.1 gavan 51 1.1 gavan 52 1.1 gavan struct bootconfig { 53 1.1 gavan u_int magic; 54 1.1 gavan u_int version; /* version 2+ */ 55 1.1 gavan 56 1.1 gavan u_char machine_id[4]; /* unique machine Id */ 57 1.1 gavan char kernelname[80]; 58 1.1 gavan char args[512]; /* 512 bytes is better than 4096 */ 59 1.1 gavan 60 1.1 gavan u_int kernvirtualbase; /* not used now */ 61 1.1 gavan u_int kernphysicalbase; /* not used now */ 62 1.1 gavan u_int kernsize; 63 1.1 gavan u_int scratchvirtualbase; /* not used now */ 64 1.1 gavan u_int scratchphysicalbase; /* not used now */ 65 1.1 gavan u_int scratchsize; /* not used now */ 66 1.1 gavan 67 1.1 gavan u_int ksym_start; 68 1.1 gavan u_int ksym_end; 69 1.1 gavan 70 1.1 gavan u_int MDFvirtualbase; /* not used yet */ 71 1.1 gavan u_int MDFphysicalbase; /* not used yet */ 72 1.1 gavan u_int MDFsize; /* not used yet */ 73 1.1 gavan 74 1.1 gavan u_int display_phys; 75 1.1 gavan u_int display_start; 76 1.1 gavan u_int display_size; 77 1.1 gavan u_int width; 78 1.1 gavan u_int height; 79 1.1 gavan u_int log2_bpp; 80 1.1 gavan u_int framerate; 81 1.1 gavan 82 1.1 gavan char reserved[512]; /* future expansion */ 83 1.1 gavan 84 1.1 gavan u_int pagesize; 85 1.1 gavan u_int drampages; 86 1.1 gavan u_int vrampages; 87 1.1 gavan u_int dramblocks; 88 1.1 gavan u_int vramblocks; 89 1.1 gavan 90 1.1 gavan phys_mem dram[DRAM_BLOCKS]; 91 1.1 gavan phys_mem vram[VRAM_BLOCKS]; 92 1.1 gavan 93 1.1 gavan }; 94 1.1 gavan 95 1.1 gavan 96 1.1 gavan #define BOOTCONFIG_MAGIC 0x43112233 97 1.1 gavan #define BOOTCONFIG_VERSION 0x2 98 1.1 gavan 99 1.1 gavan extern struct bootconfig bootconfig; 100 1.1 gavan 101 1.1 gavan /* End of bootconfig.h */ 102