summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2022-10-25 10:55:42 +0000
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2022-10-25 23:50:11 +0200
commitb3a27858149b83cb79e184cec420a30689daec2b (patch)
treee8089393d7b66c181c16fce2a1b7bd0f76305992
parent7b75c6721fa6903829ba6de548e63fd7b5ed203e (diff)
bios32: Use phystokv() on low bios addresses
Message-Id: <20221025105502.222708-4-damien@zamaudio.com>
-rw-r--r--linux/src/arch/i386/kernel/bios32.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/linux/src/arch/i386/kernel/bios32.c b/linux/src/arch/i386/kernel/bios32.c
index c10cc0c0..bb0e89c2 100644
--- a/linux/src/arch/i386/kernel/bios32.c
+++ b/linux/src/arch/i386/kernel/bios32.c
@@ -877,8 +877,8 @@ unsigned long pcibios_init(unsigned long memory_start, unsigned long memory_end)
*
*/
- for (check = (union bios32 *) 0xe0000;
- check <= (union bios32 *) 0xffff0;
+ for (check = (union bios32 *) phystokv(0xe0000);
+ check <= (union bios32 *) phystokv(0xffff0);
++check) {
if (check->fields.signature != BIOS32_SIGNATURE)
continue;
@@ -891,11 +891,11 @@ unsigned long pcibios_init(unsigned long memory_start, unsigned long memory_end)
if (sum != 0)
continue;
if (check->fields.revision != 0) {
- printk("pcibios_init : unsupported revision %d at 0x%p, mail drew@colorado.edu\n",
- check->fields.revision, check);
+ printk("pcibios_init : unsupported revision %d at 0x%lx, mail drew@colorado.edu\n",
+ check->fields.revision, _kvtophys(check));
continue;
}
- printk ("pcibios_init : BIOS32 Service Directory structure at 0x%p\n", check);
+ printk ("pcibios_init : BIOS32 Service Directory structure at 0x%lx\n", _kvtophys(check));
if (!bios32_entry) {
if (check->fields.entry >= 0x100000) {
printk("pcibios_init: entry in high memory, trying direct PCI access\n");