- This repo contains my workshop solutions to the draft-version of the seL4 Core Platform Summit Workshop.
- The real workshop will be held during the seL4 Summit 2022 (11-13 Oct) in Munich, Germany.
- The workshop task is to create a simple C implementation of the popular web-based game, "Wordle", running on the seL4 Core Platform.
- This workshop was my first proper interaction with the seL4 Core Platform.
- If you find anything that is incorrect or suboptimal, please let me know by creating a new GitHub Issue on this repo!
- Draft version of the workshop materials.
- My solution is based upon this version of the workshop.
- Final version of the workshop materials.
- As of writing (9 Oct 2022), the final workshop materials have not been released yet.
- However, you should follow this final version of the workshop once it's live.
- seL4 Core Platform GitHub repo.
- seL4 Core Platform Manual.
To set up your environment, make sure to follow the workshop instructions here.
Once configured, run the following command to verify that your environment has been set up correctly:
$ make checkThe resulting output should end with hello, world as shown below:
$ make check
...
Booting all finished, dropped to user space
MON|INFO: seL4 Core Platform Bootstrap
MON|INFO: bootinfo untyped list matches expected list
MON|INFO: Number of bootstrap invocations: 0x00000009
MON|INFO: Number of system invocations: 0x00000022
MON|INFO: completed bootstrap invocations
MON|INFO: completed system invocations
hello, worldTo exit this QEMU session, press Ctrl + a and then the x key. You should now be back in your command prompt.
To run my workshop solution, simply run the following command:
$ make run-part3The resulting output should look like this:
$ make run-part3
...
Booting all finished, dropped to user space
MON|INFO: seL4 Core Platform Bootstrap
MON|INFO: bootinfo untyped list matches expected list
MON|INFO: Number of bootstrap invocations: 0x0000000a
MON|INFO: Number of system invocations: 0x00000061
MON|INFO: completed bootstrap invocations
MON|INFO: completed system invocations
WORDLE SERVER: starting
SERIAL SERVER: starting
CLIENT: starting
Welcome to the Wordle client!
[ ] [ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ] [ ]
[ ] [ ] [ ] [ ] [ ]The aim of the game is to correctly guess the mystery 5-letter word. The game is case-sensitive.
To play the game:
- Enter a 5-letter word that you think might be the correct word.
- If you mistyped, you can press the
BACKSPACEkey.
- If you mistyped, you can press the
- Press the
ENTERkey to submit your attempt. - Evaluate the results of your attempt.
- A
GREENletter indicates the letter exists in the word and the letter is in the correct position. - A
YELLOWletter indicates the letter exists in the word but is in the incorrect position. - A
WHITEletter indicates the letter does not exist in the word.
- A
- If you didn't guess the correct word, repeat Step 1.
Below is a screenshot of the gameplay:
