summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2012-05-17 01:53:37 +0200
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2012-05-17 01:53:37 +0200
commitc3d905cfb9486eb1d2887fe8167f038c57fa0bb6 (patch)
tree9891c3889ed4e0e5e677e76b7db6a1a25bb856a1
parent4e95ccf97e0d6ef22849a36061a1d39586eea449 (diff)
Offset bios32 entry
* linux/src/arch/i386/kernel/bios32.c (check_pcibios, pcibios_init): Convert physical bios32 entry address to kernel virtual address.
-rw-r--r--linux/src/arch/i386/kernel/bios32.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/linux/src/arch/i386/kernel/bios32.c b/linux/src/arch/i386/kernel/bios32.c
index 4747972..b069ce4 100644
--- a/linux/src/arch/i386/kernel/bios32.c
+++ b/linux/src/arch/i386/kernel/bios32.c
@@ -206,7 +206,7 @@ static int check_pcibios(void)
int pack;
if ((pcibios_entry = bios32_service(PCI_SERVICE))) {
- pci_indirect.address = pcibios_entry;
+ pci_indirect.address = phystokv(pcibios_entry);
save_flags(flags); cli();
__asm__("lcall *(%%edi); cld\n\t"
@@ -903,7 +903,7 @@ unsigned long pcibios_init(unsigned long memory_start, unsigned long memory_end)
} else {
bios32_entry = check->fields.entry;
printk ("pcibios_init : BIOS32 Service Directory entry at 0x%lx\n", bios32_entry);
- bios32_indirect.address = bios32_entry;
+ bios32_indirect.address = phystokv(bios32_entry);
}
}
}