Messages in this thread Patch in this message | | | From | Thomas Gleixner <> | Subject | Re: [PATCH] highmem: fix highmem for xtensa | Date | Fri, 13 Nov 2020 14:40:43 +0100 |
| |
Max,
On Fri, Nov 13 2020 at 04:23, Max Filippov wrote: > Fixmap on xtensa grows upwards, i.e. bigger fixmap entry index > corresponds to a higher virtual address. This was lost in highmem > generalization resulting in the following runtime warnings:
Sorry for not noticing.
> Fix it by adding __ARCH_HAS_POSITIVE_FIXMAP macro and implementing > vaddr_in_fixmap and fixmap_pte primitives differently depending on > whether it is defined or not.
What's wrong with just doing the obvious and making the fixmap defines the other way round?
Thanks,
tglx ---
diff --git a/arch/xtensa/include/asm/fixmap.h b/arch/xtensa/include/asm/fixmap.h index 92049b61c351..ee17e46f3b44 100644 --- a/arch/xtensa/include/asm/fixmap.h +++ b/arch/xtensa/include/asm/fixmap.h @@ -37,8 +37,8 @@ enum fixed_addresses { #ifdef CONFIG_HIGHMEM /* reserved pte's for temporary kernel mappings */ - FIX_KMAP_BEGIN, - FIX_KMAP_END = FIX_KMAP_BEGIN + + FIX_KMAP_END, + FIX_KMAP_BEGIN = FIX_KMAP_END + (KM_MAX_IDX * NR_CPUS * DCACHE_N_COLORS) - 1, #endif __end_of_fixed_addresses
| |