Skip to content
Snippets Groups Projects
Commit 1deb1d26 authored by Sylvain Gauthier's avatar Sylvain Gauthier
Browse files

[SMP] New IPI call to unmask remote IRQ

Added a new IPI on ARM to unmask a remote private interrupt.
parent 49d3f220
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,7 @@ typedef enum {
IpiRemoteCall_InvalidateTranslationASID,
IpiRemoteCall_InvalidateTranslationAll,
IpiRemoteCall_switchFpuOwner,
IpiRemoteCall_MaskPrivateInterrupt,
/* Add relevant calls here upon required */
IpiNumArchRemoteCall
} IpiRemoteCall_t;
......
......@@ -43,5 +43,10 @@ static inline void doRemoteInvalidateTranslationAll(word_t mask)
{
doRemoteMaskOp0Arg(IpiRemoteCall_InvalidateTranslationAll, mask);
}
static inline void doRemoteMaskPrivateInterrupt(word_t cpu, word_t disable, word_t irq)
{
doRemoteOp2Arg(IpiRemoteCall_MaskPrivateInterrupt, disable, irq, cpu);
}
#endif /* ENABLE_SMP_SUPPORT */
#endif /* __ARCH_SMP_IPI_INLINE_H */
......@@ -61,6 +61,10 @@ static void handleRemoteCall(IpiModeRemoteCall_t call, word_t arg0,
invalidateTranslationAllLocal();
break;
case IpiRemoteCall_MaskPrivateInterrupt:
maskInterrupt(arg0, arg1);
break;
default:
fail("Invalid remote call");
break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment