summaryrefslogtreecommitdiffstats
path: root/sys/boot/pc98/boot2/boot.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/boot/pc98/boot2/boot.h')
-rw-r--r--sys/boot/pc98/boot2/boot.h109
1 files changed, 109 insertions, 0 deletions
diff --git a/sys/boot/pc98/boot2/boot.h b/sys/boot/pc98/boot2/boot.h
new file mode 100644
index 0000000..2104071
--- /dev/null
+++ b/sys/boot/pc98/boot2/boot.h
@@ -0,0 +1,109 @@
+/*
+ * Mach Operating System
+ * Copyright (c) 1992, 1991 Carnegie Mellon University
+ * All Rights Reserved.
+ *
+ * Permission to use, copy, modify and distribute this software and its
+ * documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
+ * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
+ * School of Computer Science
+ * Carnegie Mellon University
+ * Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie Mellon
+ * the rights to redistribute these changes.
+ *
+ * from: Mach, Revision 2.2 92/04/04 11:35:03 rpd
+ * $Id: boot.h,v 1.14 1998/10/11 15:08:50 kato Exp $
+ */
+
+#include <sys/param.h>
+#include <sys/time.h>
+
+#include <ufs/ffs/fs.h>
+#include <ufs/ufs/quota.h>
+#include <ufs/ufs/inode.h>
+
+#define RB_DUAL 0x40000 /* XXX */
+#define RB_PROBEKBD 0x80000 /* XXX */
+
+extern char *devs[];
+extern char *name;
+extern struct fs *fs;
+extern struct inode inode;
+extern int dosdev, unit, slice, part, maj, boff, poff;
+extern unsigned tw_chars;
+extern int loadflags;
+extern struct disklabel disklabel;
+
+/* asm.S */
+#if ASM_ONLY
+void real_to_prot(void);
+void prot_to_real(void);
+#endif
+void startprog(unsigned int physaddr, int howto, int bootdev,
+ /* XXX struct bootinfo * */ unsigned int bootinfo);
+void pcpy(const void *src, void *dst, size_t count);
+
+/* bios.S */
+int biosread(int dev, int cyl, int head, int sec, int nsec, void *offset);
+void putc(int c);
+int getc(void);
+int ischar(void);
+int get_diskinfo(int drive);
+int memsize(int extended);
+
+/* boot.c */
+void boot(int drive);
+
+/* boot2.S */
+void boot2(void);
+
+/* disk.c */
+int devopen(void);
+void devread(char *iodest, int sector, int cnt);
+
+/* io.c */
+void gateA20(void);
+void printf(const char *format, ...);
+void putchar(int c);
+void delay1ms(void);
+int gets(char *buf);
+int strcmp(const char *s1, const char *s2);
+#ifdef CDBOOT
+int strcasecmp(const char *s1, const char *s2);
+#endif /* !CDBOOT */
+void bcopy(const void *from, void *to, size_t len);
+void twiddle(void);
+#ifdef PC98
+void machine_check(void);
+#endif
+
+/* probe_keyboard.c */
+int probe_keyboard(void);
+
+/* serial.S */
+void serial_putc(int ch);
+int serial_getc(void);
+int serial_ischar(void);
+void init_serial(void);
+
+/* sys.c */
+void xread(char *addr, int size);
+void read(char *buffer, int count);
+int openrd(void);
+
+#ifdef PC98
+#define V(ra) (ra - BOOTSEG * 0x10)
+#endif
+
OpenPOWER on IntegriCloud