aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2018-11-21 07:39:06 -0800
committerGitHub <noreply@github.com>2018-11-21 07:39:06 -0800
commite12593841af47b6b15c7de63804342ef87f271ce (patch)
tree37d6327d00193ec804cb7432b75a30a38c0c77d2
parent6ebd0f2a46255d0c76dad3c05b16c1d154795d26 (diff)
parent23de87d808c615dc47620876a7daa112994bf948 (diff)
downloadriscv-pk-e12593841af47b6b15c7de63804342ef87f271ce.zip
riscv-pk-e12593841af47b6b15c7de63804342ef87f271ce.tar.gz
riscv-pk-e12593841af47b6b15c7de63804342ef87f271ce.tar.bz2
Merge pull request #134 from lsgunth/ie_words_fix
Fix the calculation for the number of interrupt enable words
-rw-r--r--machine/minit.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/machine/minit.c b/machine/minit.c
index b8c9eac..4eee256 100644
--- a/machine/minit.c
+++ b/machine/minit.c
@@ -129,7 +129,8 @@ static void hart_plic_init()
if (!plic_ndevs)
return;
- size_t ie_words = plic_ndevs / sizeof(uintptr_t) + 1;
+ size_t ie_words = (plic_ndevs + 8 * sizeof(uintptr_t) - 1) /
+ (8 * sizeof(uintptr_t));
for (size_t i = 0; i < ie_words; i++) {
if (HLS()->plic_s_ie) {
// Supervisor not always present