aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/i386/kernel/head.S12
-rw-r--r--drivers/pnp/pnpbios/bioscalls.c5
-rw-r--r--include/asm-i386/system.h2
3 files changed, 11 insertions, 8 deletions
diff --git a/arch/i386/kernel/head.S b/arch/i386/kernel/head.S
index 37b599fa4d18..58d2746670b7 100644
--- a/arch/i386/kernel/head.S
+++ b/arch/i386/kernel/head.S
@@ -504,12 +504,12 @@ ENTRY(cpu_gdt_table)
504 .quad 0x0000000000000000 /* 0x80 TSS descriptor */ 504 .quad 0x0000000000000000 /* 0x80 TSS descriptor */
505 .quad 0x0000000000000000 /* 0x88 LDT descriptor */ 505 .quad 0x0000000000000000 /* 0x88 LDT descriptor */
506 506
507 /* Segments used for calling PnP BIOS */ 507 /* Segments used for calling PnP BIOS have byte granularity */
508 .quad 0x00c09a0000000000 /* 0x90 32-bit code */ 508 .quad 0x00409a0000000000 /* 0x90 32-bit code */
509 .quad 0x00809a0000000000 /* 0x98 16-bit code */ 509 .quad 0x00009a0000000000 /* 0x98 16-bit code */
510 .quad 0x0080920000000000 /* 0xa0 16-bit data */ 510 .quad 0x0000920000000000 /* 0xa0 16-bit data */
511 .quad 0x0080920000000000 /* 0xa8 16-bit data */ 511 .quad 0x0000920000000000 /* 0xa8 16-bit data */
512 .quad 0x0080920000000000 /* 0xb0 16-bit data */ 512 .quad 0x0000920000000000 /* 0xb0 16-bit data */
513 513
514 /* 514 /*
515 * The APM segments have byte granularity and their bases 515 * The APM segments have byte granularity and their bases
diff --git a/drivers/pnp/pnpbios/bioscalls.c b/drivers/pnp/pnpbios/bioscalls.c
index 37bacfcdbc5d..a72126180e97 100644
--- a/drivers/pnp/pnpbios/bioscalls.c
+++ b/drivers/pnp/pnpbios/bioscalls.c
@@ -283,12 +283,15 @@ int pnp_bios_dev_node_info(struct pnp_dev_node_info *data)
283static int __pnp_bios_get_dev_node(u8 *nodenum, char boot, struct pnp_bios_node *data) 283static int __pnp_bios_get_dev_node(u8 *nodenum, char boot, struct pnp_bios_node *data)
284{ 284{
285 u16 status; 285 u16 status;
286 u16 tmp_nodenum;
286 if (!pnp_bios_present()) 287 if (!pnp_bios_present())
287 return PNP_FUNCTION_NOT_SUPPORTED; 288 return PNP_FUNCTION_NOT_SUPPORTED;
288 if ( !boot && pnpbios_dont_use_current_config ) 289 if ( !boot && pnpbios_dont_use_current_config )
289 return PNP_FUNCTION_NOT_SUPPORTED; 290 return PNP_FUNCTION_NOT_SUPPORTED;
291 tmp_nodenum = *nodenum;
290 status = call_pnp_bios(PNP_GET_SYS_DEV_NODE, 0, PNP_TS1, 0, PNP_TS2, boot ? 2 : 1, PNP_DS, 0, 292 status = call_pnp_bios(PNP_GET_SYS_DEV_NODE, 0, PNP_TS1, 0, PNP_TS2, boot ? 2 : 1, PNP_DS, 0,
291 nodenum, sizeof(char), data, 65536); 293 &tmp_nodenum, sizeof(tmp_nodenum), data, 65536);
294 *nodenum = tmp_nodenum;
292 return status; 295 return status;
293} 296}
294 297
diff --git a/include/asm-i386/system.h b/include/asm-i386/system.h
index 24cc0c8fe341..9c0593b7a94e 100644
--- a/include/asm-i386/system.h
+++ b/include/asm-i386/system.h
@@ -54,7 +54,7 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \
54 ); } while(0) 54 ); } while(0)
55 55
56#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) ) 56#define set_base(ldt,base) _set_base( ((char *)&(ldt)) , (base) )
57#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , ((limit)-1)>>12 ) 57#define set_limit(ldt,limit) _set_limit( ((char *)&(ldt)) , ((limit)-1) )
58 58
59/* 59/*
60 * Load a segment. Fall back on loading the zero 60 * Load a segment. Fall back on loading the zero