The project is still mostly stalled, unfortunately. But a couple of things were achieved :
- Simon Venken reported a bug on semaphores, which were reworked.
- Simon Venken also reported a bug concerning the chaining of wake-ups in sleep queues, which was fixed.
- the kern/mbuf module, providing message ring buffers, was added.
- the kern/log module was reworked to use a message ring buffer, and a bug on the log buffer being full was fixed.
As a result of personal events, the project has been mostly stalled these last six months. However a few changes were made, the most important being :
- Interrupt handling rework on x86, with the merging of the trap module into the cpu module.
- Red zone support on x86 (amd64), which is required for full ABI compliance.
- Suspend/resume thread operations, similar to SIGSTOP/SIGCONT on Unix.
Since I got myself an ARM Chromebook, I made it a goal to be able to work on X15 directly on that small device. This implies cross compiling from ARM (actually aarch64) to x86, and running it in an emulator. Continue reading “Cross compiling X15 on ARM”
The major change of this quarter is the addition of a generic low level performance monitoring system, developed in large part by Rémy Noël.
Continue reading “X15 – Progress report – 2018Q2”
It’s been a while since I’ve written about the progress on X15. As an open source project I work on in my free time, its development pace is unsurprisingly not constant, but despite that, a lot of progress was made since it was seriously restarted in 2017.
Continue reading “X15 – Progress report – 2018Q1”
Among the goals of the X15 operating system is real time. This expression is undoubtedly one of the vaguest buzzwords out there in the computer industry, which means I can’t really say anything about it without first attempting to provide a decent definition. Continue reading “Hey, real time !”
This could be the title of a novel, but no, the subject is really about computers and systems. Continue reading “The trust tree”
As an intended successor to the Mach microkernel, X15 inherited some of its trends, in both its internal APIs and its implementation. Continue reading “Mapping physical memory directly”
Well, Buildbot didn’t turn out well. Quality is too low for my taste, so I decided to switch to another one, namely Jenkins. And for now, despite not being very fond of Java applications, I’m quite satisfied. It supports the basic features I was looking for (automatic building, decent configuration power, a nice web interface, users and rights management, IRC notifications), but I was also surprised by multi-configuration builds, which fit perfectly with my needs.
Despite being small, X15 already supports quite a few configurations, such as i386 (32-bits x86, with or without PAE), amd64 (also known as x86_64) and a bunch of test modules. It’s very likely to support more in the future, so I decided to take some time and try Buildbot, a continuous integration framework, to automate builds with varying options. A link to the web interface is now in the main menu bar of the web site.