* [PATCH 2/4] xen/arm: Make AFFINITY_MASK generate correct mask for level3
@ 2016-05-25 2:09 Wei Chen
2016-05-25 14:00 ` Julien Grall
0 siblings, 1 reply; 2+ messages in thread
From: Wei Chen @ 2016-05-25 2:09 UTC (permalink / raw)
To: xen-devel; +Cc: julien.grall, sstabellini, Wei Chen, steve.capper
The original affinity shift bits algorithm in AFFINITY_MASK is buggy,
it could not generate correct affinity shift bits of level3.
The macro MPIDR_LEVEL_SHIFT can calculate level3 affinity shift bits
correctly. We use this macro in AFFINITY_MASK to generate correct
mask for level3.
Signed-off-by: Wei Chen <Wei.Chen@linaro.org>
---
xen/include/asm-arm/processor.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/xen/include/asm-arm/processor.h b/xen/include/asm-arm/processor.h
index 7de9c8e..b4cce7e 100644
--- a/xen/include/asm-arm/processor.h
+++ b/xen/include/asm-arm/processor.h
@@ -21,7 +21,6 @@
#define MPIDR_HWID_MASK _AC(0xffffff,U)
#define MPIDR_INVALID (~MPIDR_HWID_MASK)
#define MPIDR_LEVEL_BITS (8)
-#define AFFINITY_MASK(level) ~((_AC(0x1,U) << ((level) * MPIDR_LEVEL_BITS)) - 1)
/*
@@ -37,6 +36,8 @@
#define MPIDR_AFFINITY_LEVEL(mpidr, level) \
((mpidr >> MPIDR_LEVEL_SHIFT(level)) & MPIDR_LEVEL_MASK)
+#define AFFINITY_MASK(level) ~((_AC(0x1,UL) << MPIDR_LEVEL_SHIFT(level)) - 1)
+
/* TTBCR Translation Table Base Control Register */
#define TTBCR_EAE _AC(0x80000000,U)
#define TTBCR_N_MASK _AC(0x07,U)
--
2.7.4
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH 2/4] xen/arm: Make AFFINITY_MASK generate correct mask for level3
2016-05-25 2:09 [PATCH 2/4] xen/arm: Make AFFINITY_MASK generate correct mask for level3 Wei Chen
@ 2016-05-25 14:00 ` Julien Grall
0 siblings, 0 replies; 2+ messages in thread
From: Julien Grall @ 2016-05-25 14:00 UTC (permalink / raw)
To: Wei Chen, xen-devel; +Cc: sstabellini, steve.capper
Hi Wei,
On 25/05/16 03:09, Wei Chen wrote:
> The original affinity shift bits algorithm in AFFINITY_MASK is buggy,
> it could not generate correct affinity shift bits of level3.
> The macro MPIDR_LEVEL_SHIFT can calculate level3 affinity shift bits
> correctly. We use this macro in AFFINITY_MASK to generate correct
> mask for level3.
> Signed-off-by: Wei Chen <Wei.Chen@linaro.org>
Reviewed-by: Julien Grall <julien.grall@arm.com>
Regards,
--
Julien Grall
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-05-25 14:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-25 2:09 [PATCH 2/4] xen/arm: Make AFFINITY_MASK generate correct mask for level3 Wei Chen
2016-05-25 14:00 ` Julien Grall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).