Change to von Neumann architecture #10
Labels
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: AbleOS/holey-bytes#10
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
Currently HBVM is a Harvard-architecture virtual machine. Instructions are kept in separate flat memory and other data are stored in 5-level paged memory.
Flatness
Current state
The instruction memory flatness has benefit of not having to go through the whole process of 5-level page table lookup (this can be partially mitigated by having some cache though).
Solution
Still keep instruction memory in flat array, which would be mapped to the top of address space.
Variants
Validation
Current state
Also executing instructions only from immutable memory allows to perform code validation and be sure program don't jump to code which could trigger undefined behaviour.
Solution
Consider loaded program as validated and for making a page executable, require validation (this could be left to the host environment, tbh, with warning as mapping functions are unsafe anyways).
Anyways, this is an open proposal and there is sure lot of solutions I haven't thought about so, go ahead :)