Welcome to Project User Programs! After completing Project Pregame, you are probably left with a lot of questions on how Pintos works in general and the validity of the “fix” you implemented. Don’t worry. This project will have you implement some core functionalities such as argument passing as well as essential syscalls and floating point operations that will fill in some holes from Project Pregame.
The details of this assignment can be found in the Tasks section. However, you may find it helpful to first read through some of the CS 162 Pintos documentation. This will likely help you understand the required tasks.
Even if you read through some of these during Project 0, we recommend (re)reading through the following sections of the Pintos documentation:
First, log into your Workspace and check if your
group folder is initialized correctly
cd ~/code/group git remote -v
If your folder was set up correctly, you should see the following output:
staff https://github.com/Berkeley-CS162/group0.git (fetch) staff https://github.com/Berkeley-CS162/group0.git (push)
If your output doesn’t match the above, reinitialize your
rm -rf ~/code/group git clone -o staff https://github.com/Berkeley-CS162/group0.git ~/code/group cd ~/code/group
This should allow you to pull the starter code with
git pull staff main.
Next, add a pre-commit hook that will format your code according to our linting standards.
ln -s -f ~/code/group/.pre-commit.sh ~/code/group/.git/hooks/pre-commit
This will ensure that before you make a commit, your code will be nicely formatted. Part of your project grade will be determined on your code quality, so it is strongly recommended that you install this formatter. See Code for more information.
Finally, head over to the group dashboard on the autograder. If you are not registered as a group, you should do that first. One person should create a group and invite the other members of your group. Each member should then visit the group dashboard to accept the invitation.
Once your group is created, click on the GitHub logo from the group dashboard. This will take you to your group’s repo on GitHub. If you are unable to access the repo (eg. if you see a 404 error), then make sure to check your email for an invitation. The invite may have expired, in which case you should post in an appropriate Ed thread or make a private post. A staff member will resend the invitation. Please make sure to accept it promptly!
Once you find your repo page on GitHub, copy the SSH URI, which should look like
X is your group number. Head back over to your Workspace and add this as a remote, making sure to replace the
> git remote add group email@example.com:Berkeley-CS162/groupX.git
To double check everything was properly set up, run the following commands:
> git remote -v group firstname.lastname@example.org:Berkeley-CS162/groupX.git (fetch) group email@example.com:Berkeley-CS162/groupX.git (push) staff https://github.com/Berkeley-CS162/group0.git (fetch) staff https://github.com/Berkeley-CS162/group0.git (push) > git remote show group * remote group Fetch URL: firstname.lastname@example.org:Berkeley-CS162/groupX.git Push URL: email@example.com:Berkeley-CS162/groupX.git HEAD branch: (unknown)