aboutsummaryrefslogtreecommitdiff
path: root/machine/mtrap.c
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2017-11-02 15:44:15 -0700
committerPalmer Dabbelt <palmer@dabbelt.com>2017-11-02 15:45:26 -0700
commit9204785053e9a488b8990f9f98ff8f05c71fd0d5 (patch)
treed87d05b64a66af9a542a7d88e98f53d7ff17d33d /machine/mtrap.c
parent220b1bee10d9399864131cd1dbe5037714237f03 (diff)
downloadriscv-pk-9204785053e9a488b8990f9f98ff8f05c71fd0d5.zip
riscv-pk-9204785053e9a488b8990f9f98ff8f05c71fd0d5.tar.gz
riscv-pk-9204785053e9a488b8990f9f98ff8f05c71fd0d5.tar.bz2
Detect harts that can't boot Linux instead of hard-coding them
This checks to see if a hart can't boot Linux by looking for a compatible "mmu-type" field. If the hart can't boot Linux, then bbl masks it off.
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 e5faae3..dba3613 100644
--- a/machine/mtrap.c
+++ b/machine/mtrap.c
@@ -9,6 +9,7 @@
#include "fdt.h"
#include "unprivileged_memory.h"
#include "platform_interface.h"
+#include "disabled_hart_mask.h"
#include <errno.h>
#include <stdarg.h>
#include <stdio.h>
@@ -63,7 +64,7 @@ void printm(const char* s, ...)
static void send_ipi(uintptr_t recipient, int event)
{
- if (((platform__disabled_hart_mask >> recipient) & 1)) return;
+ if (((disabled_hart_mask >> recipient) & 1)) return;
atomic_or(&OTHER_HLS(recipient)->mipi_pending, event);
mb();
*OTHER_HLS(recipient)->ipi = 1;