Messages in this thread | | | Date | Mon, 14 Jun 2010 17:23:44 +0900 | From | Kenji Kaneshige <> | Subject | Re: [PATCH 2/4] x86: ioremap: fix physical address check |
| |
(2010/06/14 15:38), Maciej W. Rozycki wrote: > On Mon, 14 Jun 2010, Kenji Kaneshige wrote: > >> - Architectural limit of physical address in x86 32-bit mode is 40-bit >> (depnds on processor version). > > According to documentation I happen to have handy this limit is actually > 52 bits (and space is currently available in the data structures used for > a possible future extension up to 63 bits).
Thank you for pointing it out. I misunderstood that.
Now I think I need to add additional check to see if specified physical address can be handled by x86 ioremap(), instead of changing phys_addr_valid(). The code would be
static void __iomem *__ioremap_caller(...) { ... #if defined(CONFIG_X86_32) && defined(CONFIG_X86_PAE) if (phys_addr is higer than 36-bit) { printk(KERN_INFO "ioremap can't map physical address %llx\n", return NULL; } #endif ... }
Thanks, Kenji Kaneshige
| |