[GSoC22 Weekly Status Report#5] Successfully built a minimum linuxulator for powerpc64: Koichi Imai

From: 今井航一 <kotty.0704_at_gmail.com>
Date: Mon, 18 Jul 2022 19:06:54 UTC
Hello,

I could finally build the minimum linuxulator for powerpc64 this week.
This took so much time since I needed to arrange the system call table
and I had to write the other parts correctly to conform to the existing
linuxulator code.

One major change for my project is the change in supporting endian.
Initially, I intended to do a little-endian implementation to reuse much of
the existing linuxulator code. However, due to the following reasons, I
decided to continue my development with big-endian for now.

1. The latest version of FreeBSD/powerpc64le 14.0 CURRENT doesn't work in
my environment. (Stops while booting)
2. The STABLE version 13.1 of FreeBSD/powerpc64le works but since it has
the old version of sys/compat/linux and some of machine-independent codes
aren't defined here yet(ex. l_siginfo_t,). I tried to solve this by copying
the new version of sys/compat/linux. However, there are functions that do
not match the number of arguments
(sys/kern/kern_cpuset.c:kern_cpuset_setaffinity()) due to the old kernel
version, and functions such as kern_poll_maxfd() are not supported because
the C++ version is C99. These do not seem to be unsolvable, but I do not
want to spend time on this as such bugs should be resolved with a new
kernel.


Although there were some obstacles, I think I have made a big step forward.
I will continue debugging in the next weeks to make sure the various system
calls are usable.

Koichi Imai