diff options
author | Michael Shalayeff <mickey@cvs.openbsd.org> | 2001-02-28 16:45:26 +0000 |
---|---|---|
committer | Michael Shalayeff <mickey@cvs.openbsd.org> | 2001-02-28 16:45:26 +0000 |
commit | 376b77d2c33785ca85d81399a19566d16a431be2 (patch) | |
tree | d1e50abbff3a80d1854f79d47b3fa88e731cc35d /sys/arch/i386/include/biosvar.h | |
parent | 24daa8647d28565f00227f1b42403a26a9c862bb (diff) |
scan the isa hole for `optional rom's.
found proms are excluded from the iomem_ex such
that devices cannot map on the same memory.
next step would be for pcic and similar devices
to choose memory windows from unused spots
in the iomem_ex.
currently prom checksum test is not enforced
due to broken stinkpad bioses, which do not
pass the checksum test.
testing from aaron@, fgsch@, fries@, millert@
Diffstat (limited to 'sys/arch/i386/include/biosvar.h')
-rw-r--r-- | sys/arch/i386/include/biosvar.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/sys/arch/i386/include/biosvar.h b/sys/arch/i386/include/biosvar.h index 0447d196af4..69dab76cdfd 100644 --- a/sys/arch/i386/include/biosvar.h +++ b/sys/arch/i386/include/biosvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: biosvar.h,v 1.37 2000/08/17 22:08:11 mickey Exp $ */ +/* $OpenBSD: biosvar.h,v 1.38 2001/02/28 16:45:25 mickey Exp $ */ /* * Copyright (c) 1997-1999 Michael Shalayeff @@ -33,6 +33,7 @@ #ifndef _I386_BIOSVAR_H_ #define _I386_BIOSVAR_H_ +#pragma pack(1) /* some boxes put apm data seg in the 2nd page */ #define BOOTARG_OFF (NBPG*2) @@ -40,8 +41,9 @@ #define BOOTBIOS_ADDR (0x7c00) /* BIOS configure flags */ -#define BIOSF_BIOS32 0x0001 -#define BIOSF_PCIBIOS 0x0002 +#define BIOSF_BIOS32 0x0001 +#define BIOSF_PCIBIOS 0x0002 +#define BIOSF_PROMSCAN 0x0004 /* BIOS media ID */ #define BIOSM_F320K 0xff /* floppy ds/sd 8 spt */ @@ -65,6 +67,18 @@ #define BIOS_MAP_NVS 0x04 /* ACPI NVS memory */ /* + * Optional ROM header + */ +typedef +struct bios_romheader { + u_int16_t signature; /* 0xaa55 */ + u_int8_t len; /* length in pages (512 bytes) */ + u_int32_t entry; /* initialization entry point */ + u_int8_t reserved[19]; + u_int16_t pnpheaader; /* offset to PnP expansion header */ +} *bios_romheader_t; + +/* * BIOS32 */ typedef @@ -88,7 +102,7 @@ typedef struct bios32_entry { u_int32_t offset; u_int16_t segment; -} __attribute__((__packed__)) *bios32_entry_t; +} *bios32_entry_t; #define BIOS32_START 0xe0000 #define BIOS32_SIZE 0x20000 @@ -241,4 +255,5 @@ extern bios_memmap_t *bios_memmap; #endif /* _LOCORE */ #endif /* _KERNEL || _STANDALONE */ +#pragma pack() #endif /* _I386_BIOSVAR_H_ */ |