Re: [RFC PATCH] mips: BCM63XX: select CPU_SUPPORTS_32BIT_KERNEL

From: Randy Dunlap
Date: Sat Nov 06 2021 - 00:45:06 EST


On 11/5/21 8:31 PM, Florian Fainelli wrote:


On 11/5/2021 7:58 PM, Randy Dunlap wrote:

Several header files need info on CONFIG_32BIT or CONFIG_64BIT,
but kconfig symbol BCM63XX does not provide that info. This leads
to many build errors, e.g.:

    arch/mips/include/asm/page.h:196:13: error: use of undeclared identifier 'CAC_BASE'
            return x - PAGE_OFFSET + PHYS_OFFSET;
    arch/mips/include/asm/mach-generic/spaces.h:91:23: note: expanded from macro 'PAGE_OFFSET'
    #define PAGE_OFFSET             (CAC_BASE + PHYS_OFFSET)
    arch/mips/include/asm/io.h:134:28: error: use of undeclared identifier 'CAC_BASE'
            return (void *)(address + PAGE_OFFSET - PHYS_OFFSET);
    arch/mips/include/asm/mach-generic/spaces.h:91:23: note: expanded from macro 'PAGE_OFFSET'
    #define PAGE_OFFSET             (CAC_BASE + PHYS_OFFSET)

arch/mips/include/asm/uaccess.h:82:10: error: use of undeclared identifier '__UA_LIMIT'
            return (__UA_LIMIT & (addr | (addr + size) | __ua_size(size))) == 0;


Fixes: e7300d04bd08 ("MIPS: BCM63xx: Add support for the Broadcom BCM63xx family of SOCs.")
Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
Reported-by: kernel test robot <lkp@xxxxxxxxx>
Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx>
Cc: Florian Fainelli <f.fainelli@xxxxxxxxx>
Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx
Cc: linux-mips@xxxxxxxxxxxxxxx
Cc: Paul Burton <paulburton@xxxxxxxxxx>
Cc: Maxime Bizon <mbizon@xxxxxxxxxx>
Cc: Ralf Baechle <ralf@xxxxxxxxxxxxxx>
---
Note: I did see a bunch of build errors like this one:
../arch/mips/kernel/r4k_fpu.S:217: Error: opcode not supported on this processor: mips1 (mips1) `ldc1 $f24,192($4)'
but I'm hoping/guessing that this is due to not having a proper compiler
for the BCM63xx target.

  arch/mips/Kconfig |    1 +
  1 file changed, 1 insertion(+)

--- linux-next-20211105.orig/arch/mips/Kconfig
+++ linux-next-20211105/arch/mips/Kconfig
@@ -329,6 +329,7 @@ config BCM63XX
      select SYNC_R4K
      select DMA_NONCOHERENT
      select IRQ_MIPS_CPU
+    select CPU_SUPPORTS_32BIT_KERNEL

That's one option, the other could be to add:

        select SYS_HAS_CPU_BMIPS32_3300
        select SYS_HAS_CPU_BMIPS4350
        select SYS_HAS_CPU_BMIPS4380

Which would ensure that CPU_SUPPORTS_32BIT_KERNEL is selected AFAICT. Can you try that? What config file did you use to produce that build error BTW?

The .config file that is attached to this report from the kernel test robot:
https://lore.kernel.org/all/202111051920.dcCUQ0QN-lkp@xxxxxxxxx/

Yes, I'll give your suggestion a try on Saturday.

thanks.--
~Randy