[PATCH] sandbox: Correctly define BITS_PER_LONG
Heinrich Schuchardt
xypron.glpk at gmx.de
Sun Oct 23 09:56:29 CEST 2022
On 10/23/22 09:50, Michal Suchánek wrote:
> On Sat, Oct 22, 2022 at 11:52:29PM +0200, Heinrich Schuchardt wrote:
>>
>>
>> Am 22. Oktober 2022 23:22:01 MESZ schrieb Michal Suchanek <msuchanek at suse.de>:
>>> SANDBOX_BITS_PER_LONG is the number of bits in long on the sandbox
>>> platform.
>>
>> Please, explain in the commit message what this patch is good for.
>
> For setting BITS_PER_LONG correctly.
>
>> Aren't further patches needed to make use of it?
>
> 'make ue of it' would likely by running 32bit sandbox with 64bit
> phys_addr_t, and that indeed won't be fixed by this patch alone.
>
> Nonetheless, since nobody noticed that this is broken so far I figured I
> will send the patch anyway.
>
> Thanks
>
> Michal
>
>> Best regards
>>
>> Heinrich
>>
>>>
>>> Signed-off-by: Michal Suchanek <msuchanek at suse.de>
>>> ---
>>>
>>> arch/sandbox/include/asm/types.h | 6 +-----
>>> 1 file changed, 1 insertion(+), 5 deletions(-)
>>>
>>> diff --git a/arch/sandbox/include/asm/types.h b/arch/sandbox/include/asm/types.h
>>> index c1a5d2af82..5f4b649ee3 100644
>>> --- a/arch/sandbox/include/asm/types.h
>>> +++ b/arch/sandbox/include/asm/types.h
>>> @@ -18,11 +18,7 @@ typedef unsigned short umode_t;
>>> /*
>>> * Number of bits in a C 'long' on this architecture.
>>> */
>>> -#ifdef CONFIG_PHYS_64BIT
>>> -#define BITS_PER_LONG 64
CONFIG_PHYS_64BIT defines the length of phys_addr_t.
BITS_PER_LONG is about the length of long.
The length of long is defined by the compiler. phys_addr_t exists for
having a type that is independent of the length of long.
This patch is obviously wrong.
Best regards
Heinrich
>>> -#else /* CONFIG_PHYS_64BIT */
>>> -#define BITS_PER_LONG 32
>>> -#endif /* CONFIG_PHYS_64BIT */
>>> +#define BITS_PER_LONG CONFIG_SANDBOX_BITS_PER_LONG
>>>
>>> #ifdef CONFIG_PHYS_64BIT
>>> typedef unsigned long long dma_addr_t;
More information about the U-Boot
mailing list