Skip to content

Release Checklist for v0.4.0

This checklist provides a quick way to validate that ring3 execution and memory isolation are working as expected before a release.

1. Build the OS

Ensure the ISO is built successfully:

make clean
make iso

2. Test Normal User Execution

Run QEMU with the newly built ISO:

qemu-system-x86_64 -cdrom build/dav-go-os.iso -serial stdio

Steps: 1. Wait for the DavOS > prompt. 2. Run the command: run hello 3. Expected Output: - hello from userland - Process exited with status 0 - The shell prompt > should return normally.

3. Test Isolation (Kernel Read Fault)

Steps: 1. In the DavOS shell, run: run kread 2. Expected Output: - A protection fault (#PF) should be triggered. - A PF marker should be visible in the debug log. - The QEMU instance should halt (or the kernel should trap and halt as implemented).

4. Test Isolation (Kernel Write Fault)

Steps: 1. Restart the OS and at the prompt, run: run kwrite 2. Expected Output: - A protection fault (#PF) should be triggered. - A PF marker should be visible in the debug log. - The QEMU instance should halt.

5. Automated Verification

For automated validation, run the boot test suite:

python3 scripts/test_boot.py

Expected Output: - All QEMU checks passed.

If all the above tests pass, ring3 execution and kernel memory isolation are functioning correctly.