Re: [U-Boot] [PATCH v3 02/20] bitops: Fix GENMASK definition for Sandbox

2019-01-31 Thread Vignesh R


On 31/01/19 6:11 AM, Simon Glass wrote:
> On Mon, 28 Jan 2019 at 22:49, Vignesh R  wrote:
>>
>> In arch/sandbox/include/asm/types.h we have
>> Therefore for 32 bit Sandbox build BITS_PER_LONG turns out to be 32 as
>> CONFIG_PHYS64 is not set
>>
>> This messes up the current logic of GENMASK macro due to mismatch b/w
>> size of unsigned long (64 bit) and that of BITS_PER_LONG.
>> Fix this by using CONFIG_SANDBOX_BITS_PER_LONG which is set to 64/32
>> based on the host machine on which its being compiled.
>>
>> Without this patch:
>> GENMASK(14,0) => 0x7fff
>> After this patch:
>> GENMASK(14,0) => 0x7fff
>>
>> Signed-off-by: Vignesh R 
>> ---
>>  include/linux/bitops.h | 5 +
>>  1 file changed, 5 insertions(+)
> 
> Reviewed-by: Simon Glass 
> 

I realised this patch is already merged to u-boot-dm when I posted it as
an RFC. Please ignore. Thanks!

-- 
Regards
Vignesh
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


Re: [U-Boot] [PATCH v3 02/20] bitops: Fix GENMASK definition for Sandbox

2019-01-30 Thread Simon Glass
On Mon, 28 Jan 2019 at 22:49, Vignesh R  wrote:
>
> In arch/sandbox/include/asm/types.h we have
> Therefore for 32 bit Sandbox build BITS_PER_LONG turns out to be 32 as
> CONFIG_PHYS64 is not set
>
> This messes up the current logic of GENMASK macro due to mismatch b/w
> size of unsigned long (64 bit) and that of BITS_PER_LONG.
> Fix this by using CONFIG_SANDBOX_BITS_PER_LONG which is set to 64/32
> based on the host machine on which its being compiled.
>
> Without this patch:
> GENMASK(14,0) => 0x7fff
> After this patch:
> GENMASK(14,0) => 0x7fff
>
> Signed-off-by: Vignesh R 
> ---
>  include/linux/bitops.h | 5 +
>  1 file changed, 5 insertions(+)

Reviewed-by: Simon Glass 
___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot


[U-Boot] [PATCH v3 02/20] bitops: Fix GENMASK definition for Sandbox

2019-01-28 Thread Vignesh R
In arch/sandbox/include/asm/types.h we have
Therefore for 32 bit Sandbox build BITS_PER_LONG turns out to be 32 as
CONFIG_PHYS64 is not set

This messes up the current logic of GENMASK macro due to mismatch b/w
size of unsigned long (64 bit) and that of BITS_PER_LONG.
Fix this by using CONFIG_SANDBOX_BITS_PER_LONG which is set to 64/32
based on the host machine on which its being compiled.

Without this patch:
GENMASK(14,0) => 0x7fff
After this patch:
GENMASK(14,0) => 0x7fff

Signed-off-by: Vignesh R 
---
 include/linux/bitops.h | 5 +
 1 file changed, 5 insertions(+)

diff --git a/include/linux/bitops.h b/include/linux/bitops.h
index a47f6d17bb5f..259df43fb00f 100644
--- a/include/linux/bitops.h
+++ b/include/linux/bitops.h
@@ -21,8 +21,13 @@
  * position @h. For example
  * GENMASK_ULL(39, 21) gives us the 64bit vector 0x00e0.
  */
+#ifdef CONFIG_SANDBOX
+#define GENMASK(h, l) \
+   (((~0UL) << (l)) & (~0UL >> (CONFIG_SANDBOX_BITS_PER_LONG - 1 - (h
+#else
 #define GENMASK(h, l) \
(((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h
+#endif
 
 #define GENMASK_ULL(h, l) \
(((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h
-- 
2.20.1

___
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot