{% raw %}
SmallEgg

Yay ! New post !

I'm so impatient to read the next one ^^
Thank you a lot for what you're doing :)

Philipp Oppermann

You're welcome :). I plan to start writing on the next one in the next few days, but I can't promise anything.

SmallEgg

Oh so there will be no need to wait for months before the next post ?

Great !

Philipp Oppermann

I hope so ;).

SmallEgg

Some news about the next post ? :D

Philipp Oppermann

The last weeks were quite busy, so I couldn't write on it much. I hope that I can find some time on the weekend.

Aaron Levine

Looking forward to the next post! Thanks for all your hard work on this, this tutorial series is incredibly enlightening.

Philipp Oppermann

Thanks a lot! The next post is nearly done: https://github.com/phil-opp...

Philipp Oppermann

See also the discussions on hacker news and /r/rust!

Hoschi

Hey everybody!

I am stuck with #reproducing-the-bug-in-qemu. I cannot reproduce the alignment issue, neither in QEMU (with -enable-kvm) nor on real hardware.

Has anyone an idea how to force the misalignment?

Philipp Oppermann

I think that this could be a side effect of the recent update of our VGA driver code, which introduces volatile writes.

With volatile, the compiler can no longer use SSE instructions to combine multiple VGA buffer writes. The SSE instructions are the instructions that require the 16 byte alignment. So without them, the error no longer occurs. (Of course the issue is still there. We just need a different code sample to trigger it.)

I'll try to take a closer look on this issue in the next few days. Thanks a lot for your this!

Philipp Oppermann

I've updated the post: https://github.com/phil-opp...

We now add some garbage code to the `divide_by_zero_handler`, which should compile to a `movaps` instruction again. This should lead to a bootloop on real hardware. Does it work for you?

Hoschi

Hey Philipp!

Thanks for the fast reply, I already thought I had a typo anywhere.

With your update, I can reproduce the reboot loop now.

Thanks again!
Christian

{% endraw %}