Reimplement the procedure chain stacks hardware top #8

Open
opened 2021-07-21 20:52:22 +02:00 by numas13 · 0 comments
Owner

In Embox, writing to controls registers is done before writing to procedure stack pointers registers. Currently qemu-e2k have no hardware tops for the stacks and the last write to the control registers is lost after writing to PCSP. It is unknown whether this is a bug due to the lack of ISA specification for the E2K architecture. It is assumed that reimplementation of stacks hardware tops is requred for the system emulation.

  • Add PCSHTP register.
  • Implement procedure chain stack hardware top.
  • Rework read/write to the control registers.
  • Rework procedure calls.
  • Rework stack manupulation syscalls.

The minimum required size is unknown for PCSHT, but one set of CRs will be enough to solve the problem.

In Embox, [writing to controls registers](https://github.com/embox/embox/blob/ccc3fad676e21439b3a162be93ca57c3cf797949/src/arch/e2k/context_switch.S#L60-L63) is done before [writing to procedure stack pointers registers](https://github.com/embox/embox/blob/ccc3fad676e21439b3a162be93ca57c3cf797949/src/arch/e2k/context_switch.S#L72-L77). Currently qemu-e2k have no hardware tops for the stacks and the last write to the control registers is lost after writing to PCSP. It is unknown whether this is a bug due to the lack of ISA specification for the E2K architecture. It is assumed that reimplementation of stacks hardware tops is requred for the system emulation. - [ ] Add PCSHTP register. - [ ] Implement procedure chain stack hardware top. - [ ] Rework read/write to the control registers. - [ ] Rework procedure calls. - [ ] Rework stack manupulation syscalls. The minimum required size is unknown for PCSHT, but one set of CRs will be enough to solve the problem.
numas13 added the
bug
enhancement
invalid
labels 2021-07-21 20:52:22 +02:00
a1batross was assigned by numas13 2021-07-21 20:52:22 +02:00
numas13 added this to the System Emulation project 2021-07-21 20:52:22 +02:00
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: OpenE2K/qemu-e2k#8
No description provided.