- 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 check
The 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, world
To 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-part3
The 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
BACKSPACE
key.
- If you mistyped, you can press the
- Press the
ENTER
key to submit your attempt. - Evaluate the results of your attempt.
- A
GREEN
letter indicates the letter exists in the word and the letter is in the correct position. - A
YELLOW
letter indicates the letter exists in the word but is in the incorrect position. - A
WHITE
letter 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: