2 * Mach Operating System
3 * Copyright (c) 1992, 1991 Carnegie Mellon University
6 * Permission to use, copy, modify and distribute this software and its
7 * documentation is hereby granted, provided that both the copyright
8 * notice and this permission notice appear in all copies of the
9 * software, derivative works or modified versions, and any portions
10 * thereof, and that both notices appear in supporting documentation.
12 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
13 * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
14 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
16 * Carnegie Mellon requests users of this software to return to
18 * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
19 * School of Computer Science
20 * Carnegie Mellon University
21 * Pittsburgh PA 15213-3890
23 * any improvements or extensions that they make and grant Carnegie Mellon
24 * the rights to redistribute these changes.
26 * from: Mach, Revision 2.2 92/04/04 11:35:03 rpd
27 * $FreeBSD: src/sys/boot/pc98/boot2/boot.h,v 1.5 2002/10/03 16:20:14 nyan Exp $
28 * $DragonFly: src/sys/boot/pc98/boot2/Attic/boot.h,v 1.4 2003/11/10 06:08:38 dillon Exp $
31 #include <sys/param.h>
34 typedef int32_t ufs_daddr_t;
42 #define RB_DUAL 0x40000 /* XXX */
43 #define RB_PROBEKBD 0x80000 /* XXX */
48 extern struct inode inode;
49 extern int dosdev, unit, slice, part, maj, boff, poff;
50 extern unsigned tw_chars;
52 extern struct disklabel disklabel;
56 void real_to_prot(void);
57 void prot_to_real(void);
59 void startprog(unsigned int physaddr, int howto, int bootdev,
60 /* XXX struct bootinfo * */ unsigned int bootinfo);
61 void pcpy(const void *src, void *dst, size_t count);
64 int biosread(int dev, int cyl, int head, int sec, int nsec, void *offset);
68 int get_diskinfo(int drive);
69 int memsize(int extended);
79 void devread(char *iodest, int sector, int cnt);
83 void printf(const char *format, ...);
87 int strcmp(const char *s1, const char *s2);
89 int strcasecmp(const char *s1, const char *s2);
91 void bcopy(const void *from, void *to, size_t len);
94 void machine_check(void);
97 /* probe_keyboard.c */
98 int probe_keyboard(void);
101 void serial_putc(int ch);
102 int serial_getc(void);
103 int serial_ischar(void);
104 void init_serial(void);
107 void xread(char *addr, int size);
108 void read(char *buffer, int count);
112 #define V(ra) (ra - BOOTSEG * 0x10)