[GSoC22 Weekly Status Report #1&2] Implementation of machine-dependent methods: Koichi Imai

From: 今井航一 <kotty.0704_at_gmail.com>
Date: Mon, 27 Jun 2022 16:23:54 UTC
Hello,

My goal for GSoC project is to implement the "Linuxulator on powerpc64".
This is to realize the binary compatibility of Linux for FreeBSD.

The first step is to support the execution of a test program compiled for
Linux that just exits and we need the following to achieve.

   - syscalls.master file that generate syscall table
   - linux.h that defines all types and structures
   - linux_sysvec.c
      - linux_fetch_syscall_args,linux_set_syscall_args
      - linux_copyout_strings
      - linux_copyout_auxargs
      - linux_exec_setregs
      - linux_fixup_elf
      - linux_trans_osrel
   - execve(), mmap2(), mprotect() syscall

So far, I have completed the first 3 dots and am now trying to support the
above system calls.
Also, some bugs may need to be removed where they have already been
implemented.

Concurrently, I was also building an environment to run FreeBSD/powerpc64le
on qemu.
FreeBSD/powerpc64 works fine, but I had a problem that FreeBSD/powerpc64le
wouldn't connect to the network. I found that I could connect to the
network using libvirt but still looking for an easier way.

Koichi