xref: /netbsd-src/sys/arch/iyonix/include/bootconfig.h (revision 65d685fe36fb77b92622793f48b1c05d8f599113)
1*65d685feSbjh21 /*	$NetBSD: bootconfig.h,v 1.4 2006/10/24 20:39:14 bjh21 Exp $	*/
20560d8b9Sgavan 
30560d8b9Sgavan /*
40560d8b9Sgavan  * Copyright (c) 2002 Reinoud Zandijk.
50560d8b9Sgavan  * All rights reserved.
60560d8b9Sgavan  *
70560d8b9Sgavan  * Redistribution and use in source and binary forms, with or without
80560d8b9Sgavan  * modification, are permitted provided that the following conditions
90560d8b9Sgavan  * are met:
100560d8b9Sgavan  * 1. Redistributions of source code must retain the above copyright
110560d8b9Sgavan  *    notice, this list of conditions and the following disclaimer.
120560d8b9Sgavan  * 2. Redistributions in binary form must reproduce the above copyright
130560d8b9Sgavan  *    notice, this list of conditions and the following disclaimer in the
140560d8b9Sgavan  *    documentation and/or other materials provided with the distribution.
150560d8b9Sgavan  * 3. The name of the company nor the name of the author may be used to
160560d8b9Sgavan  *    endorse or promote products derived from this software without specific
170560d8b9Sgavan  *    prior written permission.
180560d8b9Sgavan  *
190560d8b9Sgavan  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
200560d8b9Sgavan  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
210560d8b9Sgavan  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
220560d8b9Sgavan  * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
230560d8b9Sgavan  * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
240560d8b9Sgavan  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
250560d8b9Sgavan  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
260560d8b9Sgavan  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
270560d8b9Sgavan  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
280560d8b9Sgavan  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
290560d8b9Sgavan  * SUCH DAMAGE.
300560d8b9Sgavan  *
310560d8b9Sgavan  * boot configuration structures
320560d8b9Sgavan  *
330560d8b9Sgavan  */
340560d8b9Sgavan 
35*65d685feSbjh21 #include <arm/bootconfig.h>
360560d8b9Sgavan 
370560d8b9Sgavan /* get some spare blocks ;) */
380560d8b9Sgavan #define DRAM_BLOCKS	32
390560d8b9Sgavan #define VRAM_BLOCKS	16
400560d8b9Sgavan 
410560d8b9Sgavan #define PHYSMEM_TYPE_GENERIC		0
420560d8b9Sgavan #define PHYSMEM_TYPE_PROCESSOR_ONLY	1
430560d8b9Sgavan 
440560d8b9Sgavan 
450560d8b9Sgavan typedef struct {
460560d8b9Sgavan 	u_int address;
470560d8b9Sgavan 	u_int pages;
480560d8b9Sgavan 	u_int flags;
490560d8b9Sgavan } phys_mem;
500560d8b9Sgavan 
510560d8b9Sgavan 
520560d8b9Sgavan struct bootconfig {
530560d8b9Sgavan 	u_int magic;
540560d8b9Sgavan 	u_int version;			/* version 2+ */
550560d8b9Sgavan 
560560d8b9Sgavan 	u_char machine_id[4];		/* unique machine Id */
570560d8b9Sgavan 	char kernelname[80];
580560d8b9Sgavan 	char args[512];			/* 512 bytes is better than 4096 */
590560d8b9Sgavan 
600560d8b9Sgavan 	u_int kernvirtualbase;		/* not used now */
610560d8b9Sgavan 	u_int kernphysicalbase;		/* not used now */
620560d8b9Sgavan 	u_int kernsize;
630560d8b9Sgavan 	u_int scratchvirtualbase;	/* not used now */
640560d8b9Sgavan 	u_int scratchphysicalbase;	/* not used now */
650560d8b9Sgavan 	u_int scratchsize;		/* not used now */
660560d8b9Sgavan 
670560d8b9Sgavan 	u_int ksym_start;
680560d8b9Sgavan 	u_int ksym_end;
690560d8b9Sgavan 
700560d8b9Sgavan 	u_int MDFvirtualbase;		/* not used yet */
710560d8b9Sgavan 	u_int MDFphysicalbase;		/* not used yet */
720560d8b9Sgavan 	u_int MDFsize;			/* not used yet */
730560d8b9Sgavan 
740560d8b9Sgavan 	u_int display_phys;
750560d8b9Sgavan 	u_int display_start;
760560d8b9Sgavan 	u_int display_size;
770560d8b9Sgavan 	u_int width;
780560d8b9Sgavan 	u_int height;
790560d8b9Sgavan 	u_int log2_bpp;
800560d8b9Sgavan 	u_int framerate;
810560d8b9Sgavan 
820560d8b9Sgavan 	char reserved[512];		/* future expansion */
830560d8b9Sgavan 
840560d8b9Sgavan 	u_int pagesize;
850560d8b9Sgavan 	u_int drampages;
860560d8b9Sgavan 	u_int vrampages;
870560d8b9Sgavan 	u_int dramblocks;
880560d8b9Sgavan 	u_int vramblocks;
890560d8b9Sgavan 
900560d8b9Sgavan 	phys_mem dram[DRAM_BLOCKS];
910560d8b9Sgavan 	phys_mem vram[VRAM_BLOCKS];
920560d8b9Sgavan 
930560d8b9Sgavan };
940560d8b9Sgavan 
950560d8b9Sgavan 
960560d8b9Sgavan #define BOOTCONFIG_MAGIC     0x43112233
970560d8b9Sgavan #define BOOTCONFIG_VERSION   	    0x2
980560d8b9Sgavan 
990560d8b9Sgavan extern struct bootconfig bootconfig;
1000560d8b9Sgavan 
1010560d8b9Sgavan /* End of bootconfig.h */
102