Index: sys/arch/i386/i386/apm.c =================================================================== RCS file: /cvs/src/sys/arch/i386/i386/apm.c,v retrieving revision 1.26 diff -u -r1.26 apm.c --- apm.c 1999/02/28 05:53:13 1.26 +++ apm.c 1999/04/06 14:55:17 @@ -664,6 +664,7 @@ bus_space_unmap(ba->bios_memt, ch, ap->apm_code_len); if (ap->apm_data_base + ap->apm_data_len > IOM_END) ap->apm_data_len -= ap->apm_data_base + ap->apm_data_len - IOM_END; + if (ap->apm_data_base < IOM_BEGIN) return 1; if (bus_space_map(ba->bios_memt, ap->apm_data_base, ap->apm_data_len, 1, &dh) != 0) { DPRINTF(("apm0: can't map data\n")); @@ -714,7 +715,11 @@ bus_space_map(ba->bios_memt, ba->bios_apmp->apm_code32_base, ba->bios_apmp->apm_code_len, 1, &ch); - bus_space_map(ba->bios_memt, + if (ba->bios_apmp->apm_data_base < IOM_BEGIN) + bus_mem_add_mapping( + ba->bios_apmp->apm_data_base, + ba->bios_apmp->apm_data_len, 1, &dh); + else bus_space_map(ba->bios_memt, ba->bios_apmp->apm_data_base, ba->bios_apmp->apm_data_len, 1, &dh); } Index: sys/arch/i386/include/bus.h =================================================================== RCS file: /cvs/src/sys/arch/i386/include/bus.h,v retrieving revision 1.15 diff -u -r1.15 bus.h --- bus.h 1999/03/09 15:39:07 1.15 +++ bus.h 1999/04/06 14:55:17 @@ -106,6 +106,8 @@ bus_space_handle_t *bshp)); void bus_space_free __P((bus_space_tag_t t, bus_space_handle_t bsh, bus_size_t size)); +int bus_mem_add_mapping __P((bus_addr_t addr,bus_size_t size, + int cacheable, bus_space_handle_t *bshp)); /* * u_intN_t bus_space_read_N __P((bus_space_tag_t tag, Index: sys/dev/isa/i82365_isasubr.c =================================================================== RCS file: /cvs/src/sys/dev/isa/i82365_isasubr.c,v retrieving revision 1.7 diff -u -r1.7 i82365_isasubr.c --- i82365_isasubr.c 1999/03/31 05:48:25 1.7 +++ i82365_isasubr.c 1999/04/06 14:55:17 @@ -86,7 +86,7 @@ */ char pcic_isa_intr_list[] = { - 3, 4, 14, 9, 5, 12, 10, 11, 15, 13, 7 + 3, 4, 14, /*9,*/ 5, 12, 10, 11, 15, 13, 7 }; int npcic_isa_intr_list =