aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pnp/pnpbios
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/pnp/pnpbios')
-rw-r--r--drivers/pnp/pnpbios/bioscalls.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/pnp/pnpbios/bioscalls.c b/drivers/pnp/pnpbios/bioscalls.c
index 5dba68fe33f5..a8364d815222 100644
--- a/drivers/pnp/pnpbios/bioscalls.c
+++ b/drivers/pnp/pnpbios/bioscalls.c
@@ -61,7 +61,7 @@ set_base(gdt[(selname) >> 3], (u32)(address)); \
61set_limit(gdt[(selname) >> 3], size); \ 61set_limit(gdt[(selname) >> 3], size); \
62} while(0) 62} while(0)
63 63
64static struct desc_struct bad_bios_desc = { 0, 0x00409200 }; 64static struct desc_struct bad_bios_desc;
65 65
66/* 66/*
67 * At some point we want to use this stack frame pointer to unwind 67 * At some point we want to use this stack frame pointer to unwind
@@ -477,6 +477,9 @@ void pnpbios_calls_init(union pnp_bios_install_struct *header)
477 pnp_bios_callpoint.offset = header->fields.pm16offset; 477 pnp_bios_callpoint.offset = header->fields.pm16offset;
478 pnp_bios_callpoint.segment = PNP_CS16; 478 pnp_bios_callpoint.segment = PNP_CS16;
479 479
480 bad_bios_desc.a = 0;
481 bad_bios_desc.b = 0x00409200;
482
480 set_base(bad_bios_desc, __va((unsigned long)0x40 << 4)); 483 set_base(bad_bios_desc, __va((unsigned long)0x40 << 4));
481 _set_limit((char *)&bad_bios_desc, 4095 - (0x40 << 4)); 484 _set_limit((char *)&bad_bios_desc, 4095 - (0x40 << 4));
482 for (i = 0; i < NR_CPUS; i++) { 485 for (i = 0; i < NR_CPUS; i++) {