Kconfig-induced build errors: CONFIG_PAGE_OFFSET

Palmer Dabbelt palmer at dabbelt.com
Tue Feb 2 21:35:00 EST 2021


On Tue, 02 Feb 2021 18:27:42 PST (-0800), Palmer Dabbelt wrote:
> On Fri, 29 Jan 2021 05:52:51 PST (-0800), geert at linux-m68k.org wrote:
>> 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>
>
> Atish: did I miss an actual patch?  I just see diff here.

Never mind, I found it.  Thanks!



More information about the linux-riscv mailing list