![]() | |||||||||||||
Messages in this thread |
"Tolentino, Matthew E" <matthew.e.tolentino@intel.com> writes:
> > I have rewritten and compiled tested the boot_ioremap code but I don't
> > have a configuration to test it. This effects the EFI code and the
> > numa srat code. It might be worth replacing boot_ioremap with __va()
> > to reduce the amount of error checking necessary.
>
> I just blindly applied this patch and tried it on an x86 EFI system
> with no luck. It's not mapping correctly for some reason. I'll look
> at the problem closer in a bit.
I know what the worst of the problem is. efi_stub.S assumes there are
identity mapped pages, which my patch removes.
However there is at least this chunk of code:
/*
* Show what we know for posterity
*/
c16 = (efi_char16_t *) boot_ioremap(efi.systab->fw_vendor, 2);
if (c16) {
for (i = 0; i < sizeof(vendor) && *c16; ++i)
vendor[i] = *c16++;
vendor[i] = '\0';
} else
printk(KERN_ERR PFX "Could not map the firmware vendor!\n");
printk(KERN_INFO PFX "EFI v%u.%.02u by %s \n",
efi.systab->hdr.revision >> 16,
efi.systab->hdr.revision & 0xffff, vendor);
That is broken anyway. boot_ioremap only supports one mapping at
a time and you are using the efi.systab mapping after removing it.
And the it is coded efi_enter_virtual_mode is not even optional. Ugh.
Eric
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| ||||||||||||
| Last update: 2005-03-22 13:01 [from the cache] ©2003-2008 | |||||||||||||