On Tue, 02 Feb 2021 18:27:42 PST (-0800), Palmer Dabbelt wrote:
On Fri, 29 Jan 2021 05:52:51 PST (-0800), [email protected] wrote:
Hi Atish,

On Thu, Jan 28, 2021 at 9:09 PM Atish Patra <[email protected]> wrote:
On Wed, Jan 27, 2021 at 7:18 PM Randy Dunlap <[email protected]> wrote:
> I took a riscv-32 .config from kernel test robot (it was for a clang build)
> and did a "make olddefconfig" (using gcc tools) and got build errors
> due to this config item from arch/riscv/Kconfig;
>
>
> config PAGE_OFFSET
>         hex
>         default 0xC0000000 if 32BIT && MAXPHYSMEM_1GB
>         default 0x80000000 if 64BIT && !MMU
>         default 0xffffffff80000000 if 64BIT && MAXPHYSMEM_2GB
>         default 0xffffffe000000000 if 64BIT && MAXPHYSMEM_128GB
>
> PAGE_OFFSET is undefined for the case of 32BIT && MAXPHYSMEM_2GB.

Because, RV32 doesn't support 2GB physical memory yet.

The compilation errors can be fixed by not allowing MAXPHYSMEM_2GB for RV32 and
MAXPHYSMEM_1GB for RV64. How about this ?

--- a/arch/riscv/Kconfig
+++ b/arch/riscv/Kconfig
@@ -253,8 +253,10 @@ choice
        default MAXPHYSMEM_128GB if 64BIT && CMODEL_MEDANY

        config MAXPHYSMEM_1GB
+               depends on 32BIT
                bool "1GiB"
        config MAXPHYSMEM_2GB
+               depends on 64BIT && CMODEL_MEDLOW
                bool "2GiB"
        config MAXPHYSMEM_128GB
                depends on 64BIT && CMODEL_MEDANY

Thanks, works fine on litex-vexriscv.
Tested-by: Geert Uytterhoeven <[email protected]>

Atish: did I miss an actual patch?  I just see diff here.

Never mind, I found it.  Thanks!

Reply via email to