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

Fix: vmm_map_memory & syscall_nanosleep #10

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

rilysh
Copy link

@rilysh rilysh commented Feb 17, 2023

vmm_map_memory can also return NULL, as a result, v_address will be pointed as NULL. For a workaround, handling it with 0 should fix this state.
In syscall_nanosleep, the req param was passed as a constant, and Clang seems to return a warning when compiling. It might not be necessary but I removed req from the const position.

Note: This might require some review since I haven't thoroughly tested the changes yet.

@Milton612
Copy link

How have you been able to build this project? I've only been successful in building the kernel and even then I don't know how to build the userspace binaries

@rilysh
Copy link
Author

rilysh commented Mar 16, 2023

@Milton612 you may want to take a look at https://github.com/ozkl/soso/tree/master/toolchain
Unfortunately, there's no makefile for userspace binaries, for now. You have to manually go through the process of cross compiling them. However, it might be possible to compile the compiler for soso but I'm not sure about that yet.

@Dashbloxx
Copy link

Dashbloxx commented Mar 19, 2023

This project is extremely broken, even the kernel was hard to build.
A while ago I made this, which uses Soso's kernel and is an attempt to have Soso working again

Edit: I have been able to create a very basic userland program that works on Soso and the fork I've made

@ajh123
Copy link

ajh123 commented Jun 14, 2024

From looking at the existing makefiles I think we need to do the following to make a build:

  1. Compile clang, binutils, etc ... using the binutils patch and add the final executables to your $PATH.
  2. Compile the kernel with simply just make (use this PR to make compiling successful)
  3. Navigate into the userspace folder, and run make all
  4. Create the initrd by using the create-initrd.sh script.
  5. Create a cd disk image by using the create-cd-image.sh script.

The thing I'm not sure how to do, is step 1.

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

Successfully merging this pull request may close these issues.

4 participants