[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Minios-devel] [UNIKRAFT PATCHv3 5/5] plat/common: Correct irqs_disabled result for Arm64



From: Wei Chen <wei.chen@xxxxxxx>

We had done a mistake in this API, when flags & PSR_I returns
non-zero, this means the CPU IRQ exception has been masked.
So this function should return non-zero for irqs_disabled.

Signed-off-by: Wei Chen <wei.chen@xxxxxxx>
Signed-off-by: Jia He <justin.he@xxxxxxx>
Acked-by: Julien Grall <julien.grall@xxxxxxx>
---
 plat/common/include/arm/arm64/irq.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/plat/common/include/arm/arm64/irq.h 
b/plat/common/include/arm/arm64/irq.h
index 8f91e17..f582fc2 100644
--- a/plat/common/include/arm/arm64/irq.h
+++ b/plat/common/include/arm/arm64/irq.h
@@ -93,7 +93,7 @@ static inline int irqs_disabled(void)
 {
        uint64_t flags;
        __save_flags(flags);
-       return !(flags & PSR_I);
+       return (flags & PSR_I);
 }
 
 #define local_irq_save(x)      __save_and_disable_irq(x)
-- 
2.17.1


_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/minios-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.