You may be interested in this wiki page, which mentions what is needed for 64-bit support. I believe the current plan is to have a 64-bit kernel with a 32 bit user space (though 64 bit kernel and 64 bit user space would be cool too).
http://darnassus.sceen.net/~hurd-web/open_issues/64-bit_port P.S. Please take everything I say with a grain of salt. I think half of Samuel's emails are him correcting the incorrect emails that I have sent. :) December 19, 2020 11:26 AM, "Tobias Platen" <g...@platen-software.de> wrote: > On Sat, 19 Dec 2020 11:44:41 +0100 > Tobias Platen <g...@platen-software.de> wrote: > >> Hello, >> >> I managed to cross compile gnumach on my Talos II using a mig installation >> in a buster chroot. For ppc support I used some modules from the osfmk >> kernel, >> which I took from [1]. Much more work will be needed for a working PPC >> branch. >> >> [1] https://github.com/slp/osfmk-mklinux/tree/master/osfmk/src/mach_kernel >> -- >> Tobias Platen <g...@platen-software.de> > > This evening I made parts of the kernel 64bit safe, since osfmk originally > supported 32 bit only. I've uploaded my version of the kernel to notabug[2]. > > [2] https://notabug.org/isengaara/gnumach-ppc > > I was able to start the kernel on POWER9 where I got the following debug > output: > > calling setup_main > rdxtree_cache_init > ipc_bootstrap > calling is_alloc > allocate memory from [ipc_space] size=88 > space=0x13e420670 sizeof(space)=8 > calling is_alloc > allocate memory from [ipc_space] size=88 > space=0x13e4206d0 sizeof(space)=8 > allocate memory from [] size=0 > allocate memory from [] size=0 > ipc_init > allocate memory from [ipc_port] size=136 > allocate memory from [ipc_port] size=136 > allocate memory from [ipc_port] size=136 > allocate memory from [ipc_port] size=136 > allocate memory from [ipc_port] size=136 > splsched() is not implemented > splx() is not implemented > allocate memory from [] size=0 > stack_attach() is not implemented > splsched() is not implemented > splx() is not implemented > splsched() is not implemented > splx() is not implemented > userland: start_kernel_threads > create idle thread 0 > panic kern/startup.c:293: start_kernel_threads: TODO: bootstrap create > > -- > Tobias Platen <g...@platen-software.de>