Peer-review -- Sami Vuorijärvi
Lab 3a review
Great work on Lab 3a. I found only a couple of things to address.
General
-
Repo structure follows the original. -
All required files are present.
The code and the compiled program
-
Code builds without errors. -
Code is well commented. -
The program produces correct output sequence. -
Kernel preserves all registers except $k0
and$k1
. -
Tests are implemented for exceptions other than SYSCALL
and service requests other than0x102
(output).-
Any exception, other than SYSCALL
, causes the kernel to enter an infinite loop. -
Any service request to kernel, other than 0x102
(output), causes the kernel to return control to user process without doing anything else.
-
-
The code has passed CI.
Comments:
According to the lab instructions, you should have implemented test for exceptions other than
SYSCALL
(overflow for example) and service request other than0x102
inproc1
, and leave them commented out. Just by looking at your code I can see that your kernel does in fact handle these cases, but the tests would be nice to verify.Regarding CI, I think your program should pass but it's never ran. Check your project settings according to below. When that is done you need to push your files to the repo again to make the CI run. At least that's what worked for me.
1. Go to 'Project Settings' in your repo.
2. Expand 'Visibility, project...'.
3. Make sure 'CI/CD' is enabled and set to 'Everyone with access'.