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 <msucha...@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 <msucha...@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;

Reply via email to