Annotation of sys/arch/i386/stand/libsa/libsa.h, Revision 1.1.1.1
1.1 nbrk 1: /* $OpenBSD: libsa.h,v 1.44 2007/04/27 10:08:34 tom Exp $ */
2:
3: /*
4: * Copyright (c) 1996-1999 Michael Shalayeff
5: * All rights reserved.
6: *
7: * Redistribution and use in source and binary forms, with or without
8: * modification, are permitted provided that the following conditions
9: * are met:
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: *
16: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19: * IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT,
20: * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22: * SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
24: * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
25: * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
26: * THE POSSIBILITY OF SUCH DAMAGE.
27: */
28:
29: #include <lib/libsa/stand.h>
30: #include <machine/biosvar.h>
31:
32: #define EXEC_ELF
33:
34: #define DEFAULT_KERNEL_ADDRESS 0
35:
36: struct i386_boot_probes {
37: char *name;
38: void (**probes)(void);
39: int count;
40: };
41:
42: extern void (*sa_cleanup)(void);
43:
44: void gateA20(int);
45: void gateA20on(void);
46:
47: void cpuprobe(void);
48: void smpprobe(void);
49: void ps2probe(void);
50: void pciprobe(void);
51: void memprobe(void);
52: void diskprobe(void);
53: void cdprobe(void);
54: void apmprobe(void);
55: void apmfixmem(void);
56: void dump_biosmem(bios_memmap_t *);
57: int mem_add(long long, long long);
58: int mem_delete(long long, long long);
59: void mem_pass(void);
60:
61: void devboot(dev_t, char *);
62: void machdep(void);
63:
64: void *getSYSCONFaddr(void);
65: void *getEBDAaddr(void);
66:
67: extern const char bdevs[][4];
68: extern const int nbdevs;
69: extern u_int cnvmem, extmem; /* XXX global pass memprobe()->machdep_start() */
70: extern int ps2model;
71:
72: extern struct i386_boot_probes probe_list[];
73: extern int nibprobes;
74: extern void (*devboot_p)(dev_t, char *);
75:
76: /* diskprobe.c */
77: extern bios_diskinfo_t bios_diskinfo[];
78: extern u_int32_t bios_cksumlen;
79:
80: #define MACHINE_CMD cmd_machine /* we have i386-specific commands */
81:
82: #define CHECK_SKIP_CONF check_skip_conf /* we can skip boot.conf with Ctrl */
CVSweb