[[!meta copyright="Copyright © 2011, 2012, 2013, 2014, 2016, 2017 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] [[!tag open_issue_gnumach open_issue_mig]] There is a `master-x86_64` GNU Mach branch. As of 2012-11-20, it only supports the [[microkernel/mach/gnumach/ports/Xen]] platform for now. What is left for initial support (32-on-64) is * adding 64bit boot support from grub * implement 32/64 RPC compatibility for RPCs served by kernel. See http://lists.gnu.org/archive/html/bug-hurd/2012-04/msg00000.html For pure 64bit support, we need to * add 64bit definitions in binutils * add 64bit definitions in gcc * implement 64bit variants of code in glibc/sysdeps/mach/i386 and glibc/sysdeps/mach/hurd/i386 * implement 64bit variants of code in libpthread/sysdeps/i386, libpthread/sysdeps/mach/i386, libpthread/sysdeps/mach/hurd/i386 * fetch from Linux 64bit variant of code in ./pfinet/linux-src/arch/i386 and ./pfinet/linux-src/include/asm-i386 * define the mig ABI * bootstrap a distrib, e.g. Debian hurd-amd64 (see https://jenkins.debian.net/view/rebootstrap/job/rebootstrap_hurd-amd64_gcc7/ ) # IRC, freenode, #hurd, 2011-10-16 it'd be really good to have a 64bit kernel, no need to care about addressing space :) yes a 64 bits kernel would be nice i guess it wouldn't be too hard to have a special mach kernel for 64 bits processors, but 32 bits userland only well, it means tinkering with mig [[mig_portable_rpc_declarations]]. # IRC, freenode, #hurd, 2012-10-03 youpi: just so you know in case you try the master-x86_64 with grub youpi: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=689509 ok, thx the squeeze version is fine but i had to patch the wheezy/sid one I actually hadn't hoped to boot into 64bit directly from grub youpi: there is code in viengoos that could be reused i've been thinking about it for a time now ok the two easiest ways are 1/ the viengoos one (a -m32 object file converted with objcopy as an embedded loader) and 2/ establishing an identity mapping using 4x1 GB large pages and switching to long mode, then jumping to c code to complete the initialization i think i'll go the second way with x15, so you'll have the two :) ## IRC, freenode, #hurd, 2013-07-02 In context of [[mondriaan_memory_protection]]. BTW, it's not like I have an infinite amount of time for this, but having 64-bit support would be valuable for me, so I might contribute that back if it's not a too monumental task I saw some discussions about 32bit apps on top of 64bit mach, but I'd like a full 64bit system any clues? I suppose the compiler support is all there already is MIG (and mach) the only piece missing? the problem is the interfaces themselves type widths as passed between userspace and kernel ## IRC, OFTC, #debian-hurd, 2013-10-05 and what about 64 bit support, almost done? kernel part is done MIG 32/64 trnaslation missing [[mig_portable_rpc_declarations]].