arch-riscv: Revamp int regs.
Change-Id: Ie4773178843757acede4fe9e77ca327f7b024270 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49772 Reviewed-by: Boris Shingarov <shingarov@labware.com> Tested-by: kokoro <noreply+kokoro@google.com> Maintainer: Gabe Black <gabe.black@gmail.com>
This commit is contained in:
@@ -63,7 +63,7 @@ FsLinux::initState()
|
||||
delete dtb_file;
|
||||
|
||||
for (auto *tc: system->threads) {
|
||||
tc->setIntReg(11, params().dtb_addr);
|
||||
tc->setReg(int_reg::A1, params().dtb_addr);
|
||||
}
|
||||
} else {
|
||||
warn("No DTB file specified\n");
|
||||
|
||||
@@ -203,9 +203,9 @@ class RiscvLinux64 : public RiscvLinux, public OpenFlagTable<RiscvLinux64>
|
||||
{
|
||||
ctc->getIsaPtr()->copyRegsFrom(ptc);
|
||||
if (flags & TGT_CLONE_SETTLS)
|
||||
ctc->setIntReg(RiscvISA::ThreadPointerReg, tls);
|
||||
ctc->setReg(RiscvISA::ThreadPointerReg, tls);
|
||||
if (stack)
|
||||
ctc->setIntReg(RiscvISA::StackPointerReg, stack);
|
||||
ctc->setReg(RiscvISA::StackPointerReg, stack);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -372,7 +372,7 @@ class RiscvLinux32 : public RiscvLinux, public OpenFlagTable<RiscvLinux32>
|
||||
{
|
||||
ctc->getIsaPtr()->copyRegsFrom(ptc);
|
||||
if (stack)
|
||||
ctc->setIntReg(RiscvISA::StackPointerReg, stack);
|
||||
ctc->setReg(RiscvISA::StackPointerReg, stack);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ EmuLinux::syscall(ThreadContext *tc)
|
||||
// This will move into the base SEWorkload function at some point.
|
||||
process->Process::syscall(tc);
|
||||
|
||||
RegVal num = tc->readIntReg(RiscvISA::SyscallNumReg);
|
||||
RegVal num = tc->getReg(RiscvISA::SyscallNumReg);
|
||||
if (dynamic_cast<RiscvProcess64 *>(process))
|
||||
syscallDescs64.get(num)->doSyscall(tc);
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user