PHIPS BLOG

  •  Home
  •  Get To Know Me

Assembly

Screenshot: PhipsBoot Output
Programming & DevOps

Introducing PhipsBoot – My x86 Relocatable Bootloader

Today, I’d like to introduce you to PhipsBoot. 🎉 I started working on it in September 2023 or so, but polished it just recently. A lot of knowledge from my previous blog post about x86 Kernel Development & Relocatable Binaries went into this project. PhipsBoot is a relocatable x86_64 bootloader Read more…

By Philipp Schuster, 1 year2024-01-30 ago
Programming & DevOps

Kernel/Boot: Cope with a Relocation by a Bootloader in 32-bit x86 Assembly Code

A kernel should be relocatable by bootloaders as this is the only guarantee that it doesn’t interfere with addresses already in use by the firmware. This is especially true for the legacy boot flow on x86, i.e., without UEFI. Update 2024-01-29: I just published a new blog post focusing more Read more…

By Philipp Schuster, 2 years2022-12-07 ago
Code Snippet: Part of the QEMU Debugcon Driver written in Assembly
Programming & DevOps

The Probably Simplest x86 Driver Written in Assembly – Printing to QEMU’s debugcon-Device

This is an educational resource I wish I had when I started digging into low-level and operating systems during my early time of my studies at the university. However, dear past me, I got your back! Do you want to see a minimal way to communicate with (virtual) hardware and Read more…

By Philipp Schuster, 3 years2022-09-26 ago
Programming & DevOps

Rust: Calling Functions With Different Calling Conventions From Same File

The other day I had some fun with assembly and wanted to try to call assembly functions from Rust. Each compiler follows a certain calling convention, that specifies how parameters are passed between functions. The calling convention is part of an ABI, an application binary interface. There are two major Read more…

By Philipp Schuster, 4 years2021-07-26 ago
Programming & DevOps

Include Assembly Source Files In Rust Project (and Build with Cargo)

Update: Since Rust 1.59, the macros global_asm! and asm! are finally stable! I also updated the blog post a little but it is mostly in the state from back then. In this blog post, I show how you can create assembly files next to Rust files and compile everything by Read more…

By Philipp Schuster, 4 years2021-07-25 ago

Because this blog is a few years old and used to be a more or less personal german blog, old posts are in german. Newer posts are in english.

  • Impressum
  • Datenschutzerklärung
Hestia | Developed by ThemeIsle