From 0568dcc875675bc6f74f6718cfbfe10e983edf07 Mon Sep 17 00:00:00 2001 From: Reto Buerki Date: Fri, 27 Feb 2015 14:02:07 +0100 Subject: [PATCH] hw_x86_64: Implement Thread::_reg function --- .../src/core/spec/x86_64/kernel/thread_base.cc | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/repos/base-hw/src/core/spec/x86_64/kernel/thread_base.cc b/repos/base-hw/src/core/spec/x86_64/kernel/thread_base.cc index 21bfa72d5..fc8555daf 100644 --- a/repos/base-hw/src/core/spec/x86_64/kernel/thread_base.cc +++ b/repos/base-hw/src/core/spec/x86_64/kernel/thread_base.cc @@ -40,8 +40,15 @@ Thread_base::Thread_base(Thread * const t) addr_t Thread::* Thread::_reg(addr_t const id) const { - PDBG("not implemented"); - return 0UL; + static addr_t Thread::* const _regs[] = { + /* [0] */ (addr_t Thread::*)&Thread::ip, + /* [1] */ (addr_t Thread::*)&Thread::sp, + /* [2] */ (addr_t Thread::*)&Thread::_fault_pd, + /* [3] */ (addr_t Thread::*)&Thread::_fault_addr, + /* [4] */ (addr_t Thread::*)&Thread::_fault_writes, + /* [5] */ (addr_t Thread::*)&Thread::_fault_signal + }; + return id < sizeof(_regs)/sizeof(_regs[0]) ? _regs[id] : 0; }