Kconfig-induced build errors: CONFIG_PAGE_OFFSET

Geert Uytterhoeven geert at linux-m68k.org
Fri Jan 29 08:52:51 EST 2021


Hi Atish,

On Thu, Jan 28, 2021 at 9:09 PM Atish Patra <atishp at atishpatra.org> wrote:
> On Wed, Jan 27, 2021 at 7:18 PM Randy Dunlap <rdunlap at infradead.org> 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 <geert at linux-m68k.org>

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-riscv mailing list