No description
  • C 98.3%
  • Assembly 1.3%
  • C++ 0.2%
  • Makefile 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Samuel Thibault 55df6d376d
Some checks failed
/ i386 (--disable-kdb, --disable-apic --disable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--disable-kdb, --disable-apic --enable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--disable-kdb, --enable-apic --disable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--disable-kdb, --enable-apic --disable-pae --enable-ncpus=8) (push) Has been cancelled
/ i386 (--disable-kdb, --enable-apic --enable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--disable-kdb, --enable-apic --enable-pae --enable-ncpus=8) (push) Has been cancelled
/ i386 (--disable-kdb, --enable-platform=xen --enable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--enable-kdb, --disable-apic --disable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--enable-kdb, --disable-apic --enable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--enable-kdb, --enable-apic --disable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--enable-kdb, --enable-apic --disable-pae --enable-ncpus=8) (push) Has been cancelled
/ i386 (--enable-kdb, --enable-apic --enable-pae --enable-ncpus=1) (push) Has been cancelled
/ i386 (--enable-kdb, --enable-apic --enable-pae --enable-ncpus=8) (push) Has been cancelled
/ i386 (--enable-kdb, --enable-platform=xen --enable-pae --enable-ncpus=1) (push) Has been cancelled
/ x86_64 (--disable-kdb, --disable-apic --enable-ncpus=1, --disable-user32) (push) Has been cancelled
/ x86_64 (--disable-kdb, --disable-apic --enable-ncpus=1, --enable-user32) (push) Has been cancelled
/ x86_64 (--disable-kdb, --enable-apic --enable-ncpus=1, --disable-user32) (push) Has been cancelled
/ x86_64 (--disable-kdb, --enable-apic --enable-ncpus=1, --enable-user32) (push) Has been cancelled
/ x86_64 (--disable-kdb, --enable-apic --enable-ncpus=8, --disable-user32) (push) Has been cancelled
/ x86_64 (--disable-kdb, --enable-apic --enable-ncpus=8, --enable-user32) (push) Has been cancelled
/ x86_64 (--disable-kdb, --enable-platform=xen --enable-ncpus=1, --disable-user32) (push) Has been cancelled
/ x86_64 (--disable-kdb, --enable-platform=xen --enable-ncpus=1, --enable-user32) (push) Has been cancelled
/ x86_64 (--enable-kdb, --disable-apic --enable-ncpus=1, --disable-user32) (push) Has been cancelled
/ x86_64 (--enable-kdb, --disable-apic --enable-ncpus=1, --enable-user32) (push) Has been cancelled
/ x86_64 (--enable-kdb, --enable-apic --enable-ncpus=1, --disable-user32) (push) Has been cancelled
/ x86_64 (--enable-kdb, --enable-apic --enable-ncpus=1, --enable-user32) (push) Has been cancelled
/ x86_64 (--enable-kdb, --enable-apic --enable-ncpus=8, --disable-user32) (push) Has been cancelled
/ x86_64 (--enable-kdb, --enable-apic --enable-ncpus=8, --enable-user32) (push) Has been cancelled
/ x86_64 (--enable-kdb, --enable-platform=xen --enable-ncpus=1, --disable-user32) (push) Has been cancelled
/ x86_64 (--enable-kdb, --enable-platform=xen --enable-ncpus=1, --enable-user32) (push) Has been cancelled
xen: warn a bit more about running as dom0
2026-07-10 00:01:22 +02:00
.forgejo/workflows ci: Use correct i386 headers to build mig 32 bit 2026-07-09 23:52:14 +02:00
aarch64 aarch64: add per-arch lock.h shim for kern/lock.h's machine include 2026-05-31 22:50:22 +02:00
chips Use -Wstrict-prototypes and fix warnings 2022-12-21 12:55:46 +01:00
ddb ddb: Show last processor number in show thread/us 2026-01-02 19:57:52 +01:00
device cons: Print to hypervisor console for debugging 2026-07-09 23:59:34 +02:00
doc add max_priority to task object 2026-05-25 23:32:09 +02:00
i386 xen: warn a bit more about running as dom0 2026-07-10 00:01:22 +02:00
include mach: add EM_AARCH64 to the ELF machine constant list 2026-05-31 22:53:04 +02:00
ipc ipc: declare copyinmsg / copyoutmsg in <ipc/copy_user.h> 2026-05-31 22:53:37 +02:00
kern ipc: declare copyinmsg / copyoutmsg in <ipc/copy_user.h> 2026-05-31 22:53:37 +02:00
linux ahci: Avoid running two flushes in parallel on the same port 2026-06-30 00:35:01 +02:00
tests tests: Enable optional qemu unit tests for xen platform 2026-07-09 23:59:07 +02:00
util Delete util/putchar.{c,h} and util/puts.c 2023-01-18 02:02:56 +01:00
vm vm_allocate_contiguous: Do not check for highmem limit 2026-06-29 01:11:57 +02:00
x86_64 chore: remove dead MACH_TTD code 2026-04-06 20:50:10 +02:00
xen Implement per-task virtual memory limit 2025-09-22 00:51:29 +02:00
.gitignore Ignore more files 2026-02-24 09:44:46 +01:00
=announce-1.0 Wed Apr 16 12:52:25 1997 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu> 1997-04-17 20:05:46 +00:00
=announce-1.1 *** empty log message *** 1997-05-09 17:34:25 +00:00
=announce-1.1.1 *** empty log message *** 1997-05-12 16:29:00 +00:00
=announce-1.2 *** empty log message *** 1999-06-21 19:05:59 +00:00
=announce-1.3 1.3 release ready 2002-05-27 20:00:56 +00:00
AUTHORS 2006-10-15 Thomas Schwinge <tschwinge@gnu.org> 2009-06-18 00:26:46 +02:00
ChangeLog Switch to the new ChangeLog style. 2009-07-11 09:49:36 +02:00
config.status.dep.patch Update dependency patch for Automake 1.10.2, 1.11, and thereabouts. 2009-11-16 23:49:11 +01:00
configfrag-first.ac configfrag: fix usage of mach_ncpus before his definition 2024-11-20 00:28:31 +01:00
configfrag.ac chore: remove dead MACH_TTD code 2026-04-06 20:50:10 +02:00
configure.ac Fix build against automake 1.17 2025-02-04 23:30:02 +01:00
COPYING 2007-01-22 Thomas Schwinge <tschwinge@gnu.org> 2009-06-18 00:27:02 +02:00
COPYING3 Add GPLv3 license text 2018-11-26 00:37:13 +01:00
DEVELOPMENT 2007-04-25 Thomas Schwinge <tschwinge@gnu.org> 2009-06-18 00:27:08 +02:00
gensym.awk Define prototype for bogus in gensym.awk 2023-02-15 17:52:55 +01:00
gitlog-to-changelog Generate ChangeLog files for distributions. 2013-09-27 21:24:24 +02:00
Makefile.am Fix build against automake 1.17 2025-02-04 23:30:02 +01:00
Makefile.in.dep.2.patch Fix build against automake 1.17 2025-02-04 23:30:02 +01:00
Makefile.in.dep.patch Fix bootstrap hack for automake 1.16 2018-08-13 21:24:07 +02:00
Makefrag.am chore: remove dead MIGRATING_THREADS code 2026-04-06 20:54:15 +02:00
Makerules.am Make sure the field offsets are updated 2015-07-25 04:00:27 +02:00
Makerules.mig.am Rework *.msgids handling when neither client nor server stubs are required 2015-10-31 12:44:06 +01:00
NEWS GNU Mach 1.8 2016-12-18 19:16:18 +01:00
README Fix IRC network name 2025-05-05 09:57:05 +02:00
version.c.in 2005-07-12 Guillem Jover <guillem@hadrons.org> 2009-06-18 00:15:27 +02:00
version.m4 Drop spurious version suffix 2022-02-11 15:24:28 +01:00

This is GNU Mach, the GNU distribution of the Mach microkernel,
<http://www.gnu.org/software/hurd/microkernel/mach/gnumach.html>.  Welcome.

GNU Mach is the microkernel upon which a GNU Hurd system is based.  It
provides an Inter Process Communication (IPC) mechanism that the Hurd
uses to define interfaces for implementing in a distributed multi-server
fashion the services a traditional operating system kernel provides.

GNU Mach runs on 32-bit x86 machines.  A version running on 64-bit x86
(x86_64) machines is in progress.  Volunteers interested in ports to
other architectures are sought; please contact us (see below) if you'd
like to help.

libmach, bootloaders, default pagers, and the like are not part of
this distribution.  For libraries, we refer you to the GNU C Library,
which has Mach support.  For bootloaders, we refer you to GRUB.  (This
kernel can be loaded by any bootloader that uses the multiboot
standard.)  For default pagers, we refer you to your particular system
that you will run on top of Mach.

The Mach Interface Generator (MIG) is no longer part of this distribution, and
instead is packaged separately: GNU MIG.

Generic installation instructions may be found in the file INSTALL.

By default, most drivers for network boards are included, as well as
drivers for IDE, SCSI and AHCI disks.

If you want the in-kernel debugger compiled in, specify --enable-kdb
to configure.  This is only useful if you actually anticipate
debugging the kernel, of course.  We don't turn it on by default
because it adds considerably to the unpageable memory footprint of the
kernel.

GNU Mach can be cross-built.  No specific options need to be given when
building on a 32-bit x86 ELF userland such as GNU/Linux.  Manually switch the
compiler to 32-bit mode when using a 64-bit x86 (x86_64) ELF toolchain:

    $ [...]/configure --host=i686-gnu CC='gcc -m32' LD='ld -melf_i386'

or point to a 32-bit ELF toolchain:

    $ [...]/configure --host=i686-gnu CC=i686-linux-gnu-gcc LD=i686-linux-gnu-ld

Also, GNU MIG needs to be a 32bit version to properly compile the interfaces,
you can specify for instance

    $ [...]/configure --host=i686-gnu CC=i686-linux-gnu-gcc LD=i686-linux-gnu-ld MIG=i686-linux-gnu-mig


Please read the FAQ at <http://www.gnu.org/software/hurd/faq.html>.
Bug reports should be sent to <bug-hurd@gnu.org> or filed on
<http://savannah.gnu.org/bugs/?group=hurd>.  Requests for assistance
should be sent to <help-hurd@gnu.org> or filed on
<http://savannah.gnu.org/support/?group=hurd>.  You can also find us on
the libera.chat IRC network in the #hurd channel.