mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-13 23:34:05 +08:00
[PATCH] i386 bootioremap / kexec fix
With CONFIG_PHYSICAL_START set to a non default values the i386 boot_ioremap code calculated its pte index wrong and users of boot_ioremap have their areas incorrectly mapped (for me SRAT table not mapped during early boot). This patch removes the addr < BOOT_PTE_PTRS constraint. [ Keith says this is applicable to 2.6.16 and 2.6.17 as well ] Signed-off-by: Keith Mannthey<kmannth@us.ibm.com> Cc: Vivek Goyal <vgoyal@in.ibm.com> Cc: Dave Hansen <haveblue@us.ibm.com> Cc: <stable@kernel.org> Cc: Adrian Bunk <bunk@stusta.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
0b16f21f14
commit
24fd425edd
@ -29,8 +29,11 @@
|
||||
*/
|
||||
|
||||
#define BOOT_PTE_PTRS (PTRS_PER_PTE*2)
|
||||
#define boot_pte_index(address) \
|
||||
(((address) >> PAGE_SHIFT) & (BOOT_PTE_PTRS - 1))
|
||||
|
||||
static unsigned long boot_pte_index(unsigned long vaddr)
|
||||
{
|
||||
return __pa(vaddr) >> PAGE_SHIFT;
|
||||
}
|
||||
|
||||
static inline boot_pte_t* boot_vaddr_to_pte(void *address)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user