[PATCH] sandbox: Correctly define BITS_PER_LONG
Michal Suchánek
msuchanek at suse.de
Sun Oct 23 13:30:45 CEST 2022
On Sun, Oct 23, 2022 at 09:56:29AM +0200, Heinrich Schuchardt wrote:
> 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.
Sure
>
> The length of long is defined by the compiler.
Sure
> phys_addr_t exists for
> having a type that is independent of the length of long.
sure
>
> This patch is obviously wrong.
That's completely contradictory to what you say above.
According to that the patch is obviously right because it changes the
definition of BITS_PER_LONG from depending on phys_addr_t to depending
on the length of long is defined by the compiler.
Thanks
Michal
>
> 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