[GSoC22 Weekly Status Report#5] Successfully built a minimum linuxulator for powerpc64: Koichi Imai
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
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