au-ts / lionsos

A secure, fast, and adaptable OS based on the seL4 microkernel
https://lionsos.org
BSD 2-Clause "Simplified" License
84 stars 7 forks source link

QEMU support for Kitty example #58

Closed Kswin01 closed 2 weeks ago

Kswin01 commented 3 months ago

This PR adds QEMU support for LionsOS. It is dependent on the following sDDF PR's: https://github.com/au-ts/sddf/pull/93 and https://github.com/au-ts/sddf/pull/92. It has been tested using the following sDDF branch: https://github.com/au-ts/sddf/tree/qemu.

Ivan-Velickovic commented 3 months ago

We will also need to update the documentation for running on QEMU.

Ivan-Velickovic commented 1 month ago

This is very close to being merged, but we've unfortunately been blocked on one remaining issue:

The window size is different to the Odroid-C4, and so the framebuffer has a different size. This means that our modfb.c code would to convert some generic window size to the framebuffer specific size. However, this isn't the proper solution.

The proper solution is to have a proper sDDF device class for graphics rather than a client program (in this case MicroPython) directly writing into the framebuffer. This is what @erichchan999 is working on now, once that is in a working state we can finish this off.

Ivan-Velickovic commented 1 month ago

This is very close to being merged, but we've unfortunately been blocked on one remaining issue:

I've changed my mind. This is too useful to let it sit here. Everything works except for graphics, we can say that support is experimental on lionsos.org until we get that work.

This PR will unlock all the other example systems working on QEMU as well.

@Kswin01 when you have time, can you rebase this? I will make sure to get it merged quickly so there aren't any more conflicts.