Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TODO: exec init, launch user space #5

Open
robertlipe opened this issue Feb 11, 2021 · 0 comments
Open

TODO: exec init, launch user space #5

robertlipe opened this issue Feb 11, 2021 · 0 comments

Comments

@robertlipe
Copy link
Owner

I think I have newproc and sleep/wakeup working. I could be wrong.

sys/machdep.c has the starts of a promising technique of writing .S code naturally inlined to C.

main.c seems to be calling newproc successfully,. The copyout() that puts the init skeleton into user space is being called, but probably not with a real, suitable executable.

I've put in a moderate amount of scaffolding to prop up user space, but we still need to connect the ECALL handler to something that connects to sysent[] from the generated trap.

This is kind of the intersection of several sketched in components that aren't really tested.

Since we don't really have VM (unless we raise the hardware requirement to a device that support RV39) we'll have to think through what we want our memory map to look like and how to share kernel and user space (probably meaningless terms w/o MMU) to at least minimize the risk of them trampling each other.

We also have the landmine that the x86 port, whence this code came, hardcoded page numbers in several places that I've removed. Some surely remain. "We don't know what we don't know."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant