No description
  • C 98.3%
  • Assembly 1.3%
  • C++ 0.2%
  • Makefile 0.1%
Find a file
Michael Kelly 5643c89411 host_adjust_time64() to return outstanding time adjustment without altering it.
It's awkward to support an interface that returns 'old_adjustment'
without modifying 'new_adjustment' because the latter is not an
optional parameter. This solution disregards 'new_adjustment'
specifically when the nanoseconds component has the value
MACH_ADJTIME_NSECS_OMIT (which is beyond the normally permissible
range).
Message-ID: <20260415180318.109742-2-mike@weatherwax.co.uk>
2026-04-15 22:13:22 +02:00
.forgejo/workflows ci: Test xen platform as well 2026-02-08 09:06:23 +01:00
aarch64 make hwcaps_t a pointer to uint64_t 2025-01-14 02:25:07 +01: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 chore: remove dead MACH_TTD code 2026-04-06 20:50:10 +02:00
doc Implement per-task virtual memory limit 2025-09-22 00:51:29 +02:00
i386 vm_page: Add global LRU list 2026-04-12 21:30:08 +02:00
include host_adjust_time64() to return outstanding time adjustment without altering it. 2026-04-15 22:13:22 +02:00
ipc typo 2026-04-08 08:42:29 +02:00
kern host_adjust_time64() to return outstanding time adjustment without altering it. 2026-04-15 22:13:22 +02:00
linux linux: Fix buffer allocation for PAE 2026-03-30 00:53:12 +02:00
tests Add missing symlink 2026-02-24 09:48:31 +01:00
util Delete util/putchar.{c,h} and util/puts.c 2023-01-18 02:02:56 +01:00
vm vm_page: Make page eviction use the global LRU list 2026-04-12 21:30:29 +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.