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

Reply via email to