diff options
-rw-r--r-- | bbl/bbl.lds | 10 | ||||
-rw-r--r-- | machine/mtrap.c | 4 | ||||
-rw-r--r-- | pk/pk.lds | 10 |
3 files changed, 22 insertions, 2 deletions
diff --git a/bbl/bbl.lds b/bbl/bbl.lds index c06aa13..6833e47 100644 --- a/bbl/bbl.lds +++ b/bbl/bbl.lds @@ -41,6 +41,16 @@ SECTIONS _etext = .; /*--------------------------------------------------------------------*/ + /* HTIF, isolated onto separate page */ + /*--------------------------------------------------------------------*/ + . = ALIGN(0x1000); + htif : + { + *(htif) + } + . = ALIGN(0x1000); + + /*--------------------------------------------------------------------*/ /* Initialized data segment */ /*--------------------------------------------------------------------*/ diff --git a/machine/mtrap.c b/machine/mtrap.c index bf02fab..a68c0d9 100644 --- a/machine/mtrap.c +++ b/machine/mtrap.c @@ -7,8 +7,8 @@ #include <stdarg.h> #include <stdio.h> -volatile uint64_t tohost __attribute__((aligned(64))); -volatile uint64_t fromhost __attribute__((aligned(64))); +volatile uint64_t tohost __attribute__((aligned(64))) __attribute__((section("htif"))); +volatile uint64_t fromhost __attribute__((aligned(64))) __attribute__((section("htif"))); void __attribute__((noreturn)) bad_trap() { @@ -41,6 +41,16 @@ SECTIONS _etext = .; /*--------------------------------------------------------------------*/ + /* HTIF, isolated onto separate page */ + /*--------------------------------------------------------------------*/ + . = ALIGN(0x1000); + htif : + { + *(htif) + } + . = ALIGN(0x1000); + + /*--------------------------------------------------------------------*/ /* Initialized data segment */ /*--------------------------------------------------------------------*/ |