Below you will find pages that utilize the taxonomy term “x86”
Blog | November 19, 2020
Before the BSD Kernel starts: Part One on AMD64
By Maciej Grochowski
System initialization is one of the niche areas that few people look into. The exact details vary considerably between different platforms, firmwares, CPU architectures and operating systems, making it difficult to learn it all. Usually, if something is not working correctly during the early stages of system startup or if the OS does not boot, it rarely has anything to do with the code responsible for booting. Most of the time, it is due to other factors, such as the boot media or BIOS configuration.
read more
Blog | October 29, 2020
How Debuggers Work: Getting and Setting x86 Registers, Part 2: XSAVE
By Michał Górny
In the previous part of this article, I have described the basic methods of getting and setting the baseline registers of 32-bit and 64-bit x86 CPUs. I have covered General Purpose Registers, baseline Floating-Point Registers and Debug Registers along with their ptrace(2) interface.
In the second part, I would like to discuss the XSAVE family of instructions. I will describe the different variants of this instruction as well as explain the differences between them and their limitations.
read more
Blog | October 22, 2020
How Debuggers Work: Getting and Setting x86 Registers, Part 1
By Michał Górny
In this article, I would like to shortly describe the methods used to dump and restore the different kinds of registers on 32-bit and 64-bit x86 CPUs. The first part will focus on General Purpose Registers, Debug Registers and Floating-Point Registers up to the XMM registers provided by the SSE extension. I will explain how their values can be obtained via the
read more
ptrace(2)
interface.
Careers
Embedded Software Developer
We are looking for a candidate to fill the position of a BSD/Linux kernel developer. The programmer will be responsible for device drivers and bootloaders for embedded x86_64 and aarch64-based systems.