Skip to content

Commit

Permalink
nova: remove nova_die from pager code
Browse files Browse the repository at this point in the history
  • Loading branch information
alex-ab committed Feb 5, 2025
1 parent c5243e9 commit 774b74f
Showing 1 changed file with 1 addition and 12 deletions.
13 changes: 1 addition & 12 deletions repos/base-nova/src/core/pager.cc
Original file line number Diff line number Diff line change
Expand Up @@ -146,10 +146,6 @@ void Pager_object::_page_fault_handler(Pager_object &obj)
/* lookup fault address and decide what to do */
unsigned error = (obj.pager(ipc_pager) == Pager_object::Pager_result::STOP);

/* don't open receive window for pager threads */
if (utcb.crd_rcv.value())
nova_die();

if (!error && ipc_pager.syscall_result() != Nova::NOVA_OK) {
/* something went wrong - by default don't answer the page fault */
error = 4;
Expand Down Expand Up @@ -195,14 +191,11 @@ void Pager_object::_page_fault_handler(Pager_object &obj)
}


void Pager_object::exception(uint8_t exit_id)
void Pager_object::exception(uint8_t const exit_id)
{
Thread &myself = *Thread::myself();
Utcb &utcb = *reinterpret_cast<Utcb *>(myself.utcb());

if (exit_id > PT_SEL_PARENT)
nova_die();

addr_t const fault_ip = utcb.ip;
addr_t const fault_sp = utcb.sp;
addr_t const fault_bp = utcb.bp;
Expand Down Expand Up @@ -381,10 +374,6 @@ void Pager_object::_invoke_handler(Pager_object &obj)
Thread &myself = *Thread::myself();
Utcb &utcb = *reinterpret_cast<Utcb *>(myself.utcb());

/* receive window must be closed - otherwise implementation bug */
if (utcb.crd_rcv.value())
nova_die();

/* if protocol is violated ignore request */
if (utcb.msg_words() != 1) {
utcb.mtd = 0;
Expand Down

0 comments on commit 774b74f

Please sign in to comment.