diff options
Diffstat (limited to 'drivers/pnp/pnpbios/bioscalls.c')
-rw-r--r-- | drivers/pnp/pnpbios/bioscalls.c | 5 |
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)); \ | |||
61 | set_limit(gdt[(selname) >> 3], size); \ | 61 | set_limit(gdt[(selname) >> 3], size); \ |
62 | } while(0) | 62 | } while(0) |
63 | 63 | ||
64 | static struct desc_struct bad_bios_desc = { 0, 0x00409200 }; | 64 | static 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++) { |