From 65b9f2afb7b72ca41b3136e1aa876f4b579407de Mon Sep 17 00:00:00 2001 From: cdkersey Date: Wed, 12 Aug 2015 20:52:31 -0600 Subject: [PATCH] It makes more sense if interrupts default to enabled. --- src/core.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/core.cpp b/src/core.cpp index c6c95625..76af61b1 100644 --- a/src/core.cpp +++ b/src/core.cpp @@ -60,7 +60,7 @@ bool Core::running() const { } Warp::Warp(Core *c, Word id) : - core(c), pc(0), interruptEnable(false), + core(c), pc(0), interruptEnable(true), supervisorMode(true), activeThreads(0), reg(0), pred(0), shadowReg(core->a.getNRegs()), shadowPReg(core->a.getNPRegs()), id(id), spawned(false) @@ -136,13 +136,16 @@ void Warp::step() { try { inst->executeOn(*this); } catch (MemoryUnit::PageFault pf) { + D(2, "Interrupt: Page fault"); pc -= decPos; /* Reset to beginning of faulting address. */ interrupt(pf.notFound?1:2); reg[0][1] = pf.faultAddr; } catch (DivergentBranchException e) { + D(2, "Interrupt 4: Divergent branch"); pc -= decPos; interrupt(4); } catch (DomainException e) { + D(2, "Interrupt: DomainException"); interrupt(5); }