From 659fc7acdfda1307bbcfef67e0047891c06b80b4 Mon Sep 17 00:00:00 2001 From: Isaku Yamahata Date: Wed, 29 Jan 2020 17:21:25 -0800 Subject: [PATCH] [Pal] add pal_text to pal_control When LibOS handles signal, it needs to know if it interrupted PAL or not. If it's in PAL, LibOS should queue async signal and handle it later. Signed-off-by: Isaku Yamahata --- Pal/src/host/Linux-SGX/db_main.c | 2 ++ Pal/src/host/Linux/db_main.c | 2 ++ Pal/src/pal.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/Pal/src/host/Linux-SGX/db_main.c b/Pal/src/host/Linux-SGX/db_main.c index 0ad90438..b7b1ae3c 100644 --- a/Pal/src/host/Linux-SGX/db_main.c +++ b/Pal/src/host/Linux-SGX/db_main.c @@ -389,6 +389,8 @@ void pal_linux_main(char * uptr_args, uint64_t args_size, pal_state.root_config = root_config; __pal_control.manifest_preload.start = (PAL_PTR) manifest_addr; __pal_control.manifest_preload.end = (PAL_PTR) manifest_addr + manifest_size; + __pal_control.pal_text.start = TEXT_START; + __pal_control.pal_text.end = TEXT_END; if ((rv = init_trusted_platform()) < 0) { SGX_DBG(DBG_E, "Failed to verify the platform using remote attestation: %d\n", rv); diff --git a/Pal/src/host/Linux/db_main.c b/Pal/src/host/Linux/db_main.c index decc2d5a..267cf4a4 100644 --- a/Pal/src/host/Linux/db_main.c +++ b/Pal/src/host/Linux/db_main.c @@ -227,6 +227,8 @@ void pal_linux_main (void * args) ELF_DYNAMIC_RELOCATE(&pal_map); + __pal_control.pal_text.start = TEXT_START; + __pal_control.pal_text.end = TEXT_END; linux_state.environ = envp; init_slab_mgr(g_page_size); diff --git a/Pal/src/pal.h b/Pal/src/pal.h index cdaf83a4..2cfd394d 100644 --- a/Pal/src/pal.h +++ b/Pal/src/pal.h @@ -307,6 +307,8 @@ typedef struct { PAL_PTR_RANGE executable_range; /* manifest preloaded here */ PAL_PTR_RANGE manifest_preload; + /* pal test area */ + PAL_PTR_RANGE pal_text; /***** Host information *****/ /* Host allocation alignment.