summaryrefslogtreecommitdiff
path: root/sys/arch/i386/include
diff options
context:
space:
mode:
authorMichael Shalayeff <mickey@cvs.openbsd.org>2000-03-26 22:38:40 +0000
committerMichael Shalayeff <mickey@cvs.openbsd.org>2000-03-26 22:38:40 +0000
commit971bb4bc1ce2f7f91c9871b0f50a68e39326fd1c (patch)
tree349aff69b835169acc1c72f4e2c4ad13c674fcbd /sys/arch/i386/include
parent4a8a2378aeebf4afb7f090031193a8fc582384e2 (diff)
from netbsd: pci interrupt routing code.
also, change a few pcidevs names to match netbsd (and more descriptive). tested on a bunch of laptops, helps resolving 'pin X unmapped' problems for (usually) usb and cardbus cntrollers.
Diffstat (limited to 'sys/arch/i386/include')
-rw-r--r--sys/arch/i386/include/biosvar.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/sys/arch/i386/include/biosvar.h b/sys/arch/i386/include/biosvar.h
index 2b77643e0d5..a80bf2f4a2d 100644
--- a/sys/arch/i386/include/biosvar.h
+++ b/sys/arch/i386/include/biosvar.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: biosvar.h,v 1.34 2000/03/05 19:07:43 mickey Exp $ */
+/* $OpenBSD: biosvar.h,v 1.35 2000/03/26 22:38:33 mickey Exp $ */
/*
* Copyright (c) 1997-1999 Michael Shalayeff
@@ -61,6 +61,25 @@
#define BIOS_MAP_NVS 0x04 /* ACPI NVS memory */
/*
+ * BIOS32
+ */
+typedef
+struct bios32_entry_info {
+ paddr_t bei_base;
+ psize_t bei_size;
+ paddr_t bei_entry;
+} *bios32_entry_info_t;
+
+typedef
+struct bios32_entry {
+ caddr_t offset;
+ u_int16_t segment;
+} __attribute__((__packed__)) *bios32_entry_t;
+
+#define BIOS32_MAKESIG(a, b, c, d) \
+ ((a) | ((b) << 8) | ((c) << 16) | ((d) << 24))
+
+/*
* CTL_BIOS definitions.
*/
#define BIOS_DEV 1 /* int: BIOS boot device */
@@ -192,6 +211,10 @@ int bioscngetc __P((dev_t));
void bioscnpollc __P((dev_t, int));
void bios_getopt __P((void));
+/* bios32.c */
+void bios32_init __P((void));
+int bios32_service __P((u_int32_t, bios32_entry_t, bios32_entry_info_t));
+
extern u_int bootapiver;
extern bios_memmap_t *bios_memmap;
extern bios_pciinfo_t *bios_pciinfo;