aboutsummaryrefslogtreecommitdiff
path: root/machine/mtrap.c
diff options
context:
space:
mode:
Diffstat (limited to 'machine/mtrap.c')
-rw-r--r--machine/mtrap.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/machine/mtrap.c b/machine/mtrap.c
index 49d652f..c114757 100644
--- a/machine/mtrap.c
+++ b/machine/mtrap.c
@@ -5,6 +5,7 @@
#include "bits.h"
#include "vm.h"
#include "uart.h"
+#include "fdt.h"
#include "unprivileged_memory.h"
#include <errno.h>
#include <stdarg.h>
@@ -86,7 +87,7 @@ static uintptr_t mcall_set_timer(uint64_t when)
static void send_ipi_many(uintptr_t* pmask, int event)
{
_Static_assert(MAX_HARTS <= 8 * sizeof(*pmask), "# harts > uintptr_t bits");
- uintptr_t mask = ((uintptr_t)1 << num_harts) - 1;
+ uintptr_t mask = hart_mask;
if (pmask)
mask &= load_uintptr_t(pmask, read_csr(mepc));