d-iii-s / msim

Light-weight MIPS R4000 and RISC-V system simulator
https://d3s.mff.cuni.cz/software/msim/
GNU General Public License v2.0
5 stars 5 forks source link

Dive Into Kernel Tutorials #70

Closed HanyzPAPU closed 1 month ago

HanyzPAPU commented 1 month ago

I transferred the Dive into kernel tutorials for both MIPS and RISC-V into this repository. The examples are under examples/ and the text from the website has been integrated into the documentation.

You can view how it would look here: https://msim-hanyzpapu.readthedocs.io/en/latest/index.html

I've implemented the hints and solutions as tooltips which display when you hover over a link to the hint/solution. This has one problem, and that it when you click the link you browse to another site with all of the hints/solutions. I'm open to any suggestions how to implement it in a better way.

vhotspur commented 1 month ago

Thanks a lot!

The examples are under examples/ and the text from the website has been integrated into the documentation.

I would prefer to have them under contrib/ to limit the amount of top-level files but that is a trivial issue.

I've implemented the hints and solutions as tooltips which display when you hover over a link to the hint/solution. This has one problem, and that it when you click the link you browse to another site with all of the hints/solutions. I'm open to any suggestions how to implement it in a better way.

How about using the collapse directive?

I tried this in the branch doc/kernel-tutorial so feel free to use it from there (it branches from your tutorial branch so feel free to fast-forward the commits).

I also tried if it would be possible to keep the text in a single version only with special boxes for architecture differences. I think that most of the differences (at least in the initial exercises) are rather small and having a single text would be easier for updates.

It would be also nice if we can suppress a bit the influence of this-comes-from-a-course and make it more generic.

What do you think?

HanyzPAPU commented 1 month ago

How about using the collapse directive?

I think that would work much better. Thank you.

I also tried if it would be possible to keep the text in a single version only with special boxes for architecture differences. I think that most of the differences (at least in the initial exercises) are rather small and having a single text would be easier for updates.

I think this is a good idea, I think most of the text can be handled by the architecture specific notes you introduced, while the commands and MSIM output can be implemented with code tabs . If we use the grouped tabs feature, we can switch all of the code blocks at once.

It would be also nice if we can suppress a bit the influence of this-comes-from-a-course and make it more generic.

I already removed the most obvious offender in the first excercise, but I'll go through the text again and look if there are more changes needed.

vhotspur commented 1 month ago

I also tried if it would be possible to keep the text in a single version only with special boxes for architecture differences. I think that most of the differences (at least in the initial exercises) are rather small and having a single text would be easier for updates.

I think this is a good idea, I think most of the text can be handled by the architecture specific notes you introduced, while the commands and MSIM output can be implemented with code tabs . If we use the grouped tabs feature, we can switch all of the code blocks at once.

The code tabs look nice (especially with the grouping). I was looking at them as well and I was thinking that using them for the text would be rather confusing. But using them for the code snippets would be nice. Thanks!

It would be also nice if we can suppress a bit the influence of this-comes-from-a-course and make it more generic.

I already removed the most obvious offender in the first excercise, but I'll go through the text again and look if there are more changes needed.

What are your plans now? Can I do some kind of review of the first parts or should I wait for everything to be completed?

HanyzPAPU commented 1 month ago

I will push the changes to this PR as I will work on them, you can review them as they come or all at once whenI'm finished.

vhotspur commented 1 month ago

I will try to add things here and there. Pushing them to doc/kernel-tutorial, please, feel free to synchronize with that branch. Thanks!

vhotspur commented 1 month ago

Thanks a lot!

I did some tiny updates (and separated the toolchain installation into a new page) into the doc/kernel-tutorial branch. Please, have a look if it looks healthy.

If so, please, merge them into your branch and then I will merge it into master in one commit.

Thanks!