xref: /netbsd-src/sys/arch/zaurus/include/bootinfo.h (revision 2388feef6162e5f55bc0fbaaa9d32d8dfc8354a3)
1*2388feefSnonaka /*      $NetBSD: bootinfo.h,v 1.5 2012/01/21 19:44:30 nonaka Exp $	*/
2af901e68Snonaka 
3af901e68Snonaka /*-
4*2388feefSnonaka  * Copyright (C) 2009 NONAKA Kimihiro <nonaka@netbsd.org>
5af901e68Snonaka  * All rights reserved.
6af901e68Snonaka  *
7af901e68Snonaka  * Redistribution and use in source and binary forms, with or without
8af901e68Snonaka  * modification, are permitted provided that the following conditions
9af901e68Snonaka  * are met:
10af901e68Snonaka  * 1. Redistributions of source code must retain the above copyright
11af901e68Snonaka  *    notice, this list of conditions and the following disclaimer.
12af901e68Snonaka  * 2. Redistributions in binary form must reproduce the above copyright
13af901e68Snonaka  *    notice, this list of conditions and the following disclaimer in the
14af901e68Snonaka  *    documentation and/or other materials provided with the distribution.
15af901e68Snonaka  *
16*2388feefSnonaka  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17*2388feefSnonaka  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18*2388feefSnonaka  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19*2388feefSnonaka  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20*2388feefSnonaka  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21*2388feefSnonaka  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22*2388feefSnonaka  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23*2388feefSnonaka  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24*2388feefSnonaka  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25*2388feefSnonaka  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26af901e68Snonaka  */
27c657d486Sober 
28c657d486Sober #ifndef	_ZAURUS_BOOTINFO_H_
29c657d486Sober #define	_ZAURUS_BOOTINFO_H_
30c657d486Sober 
31af901e68Snonaka #define BOOTARGS_BUFSIZ	256
32c657d486Sober #define	BOOTARGS_MAGIC	0x4f425344
33c657d486Sober 
34af901e68Snonaka #define BOOTINFO_MAXSIZE (BOOTARGS_BUFSIZ - sizeof(uint32_t)) /* uint32_t for magic */
35af901e68Snonaka 
36af901e68Snonaka #define BTINFO_BOOTDISK		0
37af901e68Snonaka #define BTINFO_HOWTO		1
38af901e68Snonaka #define BTINFO_CONSDEV		2
3915d23a2fSnonaka #define BTINFO_ROOTDEVICE	3
4015d23a2fSnonaka #define BTINFO_MAX		4
41af901e68Snonaka 
42af901e68Snonaka #ifndef	_LOCORE
43af901e68Snonaka 
44af901e68Snonaka struct btinfo_common {
45af901e68Snonaka 	int len;
46af901e68Snonaka 	int type;
47af901e68Snonaka };
48af901e68Snonaka 
49af901e68Snonaka struct btinfo_bootdisk {
50af901e68Snonaka 	struct btinfo_common common;
51af901e68Snonaka 	int labelsector; /* label valid if != -1 */
52af901e68Snonaka 	struct {
53af901e68Snonaka 		uint16_t type, checksum;
54af901e68Snonaka 		char packname[16];
55af901e68Snonaka 	} label;
56af901e68Snonaka 	int biosdev;
57af901e68Snonaka 	int partition;
58af901e68Snonaka };
59af901e68Snonaka 
60af901e68Snonaka struct btinfo_howto {
61af901e68Snonaka 	struct btinfo_common common;
62af901e68Snonaka 	u_int howto;
63af901e68Snonaka };
64af901e68Snonaka 
65af901e68Snonaka struct btinfo_console {
66af901e68Snonaka 	struct btinfo_common common;
67af901e68Snonaka 	char devname[16];
68af901e68Snonaka 	int addr;
69af901e68Snonaka 	int speed;
70af901e68Snonaka };
71af901e68Snonaka 
7215d23a2fSnonaka struct btinfo_rootdevice {
7315d23a2fSnonaka 	struct btinfo_common common;
7415d23a2fSnonaka 	char devname[16];
7515d23a2fSnonaka };
7615d23a2fSnonaka 
77af901e68Snonaka struct bootinfo {
78af901e68Snonaka         int nentries;
79af901e68Snonaka 	char info[BOOTINFO_MAXSIZE - sizeof(int)];
80af901e68Snonaka };
81af901e68Snonaka 
82af901e68Snonaka #endif /* _LOCORE */
83af901e68Snonaka 
84af901e68Snonaka #ifdef _KERNEL
85af901e68Snonaka void *lookup_bootinfo(int type);
86af901e68Snonaka #endif
87af901e68Snonaka 
88c657d486Sober #endif	/* _ZAURUS_BOOTINFO_H_ */
89