summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-26libirqhelp: Add libraryHEADmasterDamien Zammit
Add a helper library for attaching interrupt handlers in userspace. Message-ID: <20240326045846.1661099-2-damien@zamaudio.com>
2024-03-23Revert "exec: Stop relying on address space size"Samuel Thibault
This reverts commit db46ea2eb9dc84959fbf9b1819facac3d6078ba1. This is making the hurd startup hang.
2024-03-23exec: Add support for AArch64 executablesSergey Bugaev
This maps to EM_AARCH64. Just like the x86_64 branch, we only compile this code if CPU_TYPE_ARM64 is defined in Mach headers, to avoid raising Mach version requirement on other architectures; and we explicitly enable the branch when building for AArch64 itself, to get a build error if CPU_TYPE_ARM64 is somehow not defined. Message-ID: <20240323115322.69075-7-bugaevc@gmail.com>
2024-03-23boot: Add support for AArch64Sergey Bugaev
Message-ID: <20240323115322.69075-10-bugaevc@gmail.com>
2024-03-23proc: Add support for AArch64 in unameSergey Bugaev
Since no CPU subtypes are defined for CPU_TYPE_ARM64, just report the type, same as for x86_64. Sample uname(2) output: sysname: GNU release: 0.9 version: GNU-Mach 1.8/Hurd-0.9 machine: aarch64 Message-ID: <20240323115322.69075-9-bugaevc@gmail.com>
2024-03-23elfcore: Add support for saving AArch64 registersSergey Bugaev
Message-ID: <20240323115322.69075-8-bugaevc@gmail.com>
2024-03-23exec: Stop relying on address space sizeSergey Bugaev
The code here just wants to deallocate the whole address space, and Mach already contains the logic to limit the passed-in range to the vm_map's actual bounds (see VM_MAP_RANGE_CHECK). Message-ID: <20240323115322.69075-6-bugaevc@gmail.com>
2024-03-23libshouldbeinlibc: Stop relying on address space sizeSergey Bugaev
While GNU Mach on AArch64 still exports VM_MIN_ADDRESS / VM_MAX_ADDRESS for compatibility, we should try to rely on it less when possible; in the future we might be able to stop exporting them from Mach. The code here really just wants to wire everything in its address space, and the wire_segment_internal () routine already queries for actually present memory regions dynamically. Message-ID: <20240323115322.69075-5-bugaevc@gmail.com>
2024-03-23proc: Only try host_kernel_version () on i386Sergey Bugaev
None of the new architectures are going to have it; that isn't specific to x86_64. Message-ID: <20240323115322.69075-4-bugaevc@gmail.com>
2024-03-23Make long & friends 64-bit on 64-bit platformsSergey Bugaev
Not only on x86_64. Message-ID: <20240323115322.69075-3-bugaevc@gmail.com>
2024-03-23exec: Fix creating executable stacksSergey Bugaev
The previous logic had two independent issues: * We need to make the stack executable if either the program or its ELF interpreter requires executable stack. In practice, it's common for the program itself to not require executable stack, but ld.so (glibc) needs it. * mach_setup_thread () allocates stacks with a simple vm_allocate (), which creates non-executable memory. So if an executable stack is required, the stack has to be vm_protect'ed to enable execution, not the other way around. As the comment suggest, it would've been better to use vm_map () with the desired protection directly. Message-ID: <20240323115322.69075-2-bugaevc@gmail.com>
2024-03-23term: Fix function prototypeSergey Bugaev
struct bottomhalf.mdmstate is of type error_t (*)(int *state). Fixes -Wincompatible-pointer-types, which is a hard error by default in GCC 14. Message-ID: <20240323115322.69075-1-bugaevc@gmail.com>
2024-03-12console-client: Add another missing error checkEtienne Brateau
Message-ID: <20240312220842.79072-1-etienne.brateau@gmail.com>
2024-03-12console-check: Add missing error checkEtienne Brateau
Message-ID: <20240312220311.76709-1-etienne.brateau@gmail.com>
2024-03-12ext2fs: support translators on non-hurd-created filesystemsSamuel Thibault
We are fine with only using xattr on filesystems that don't have the i_translator inode field.
2024-03-10console-client: use xkbcommon instead of x11 for xkb extended supportEtienne Brateau
This allow to reduce the dependencies, only xkbcommon (keyboard support only) is required instead of the whole x11 library + lex + yacc. This replacement allow to reduce the code size, now features are handled by xkbcommon itself. The functionnalites remain the sames (actions are reimplemented but in the code directly as it’s impossible to add custom actions). The custom xkb data files are removed as we can now directly use the standard ones from xkeyboard-config. The configuration to launch the console keyboard modules changed to now directly configure the model+layout+variat+options directly. Tested by compiling with and without xkbcommon. Tested X11 (ran i3 correctly). Composing is still working. Message-ID: <20240309234838.31923-1-etienne.brateau@gmail.com>
2024-03-09console-client: use constant value instead of magic numberEtienne Brateau
Message-ID: <20240309003840.586490-1-etienne.brateau@gmail.com>
2024-03-08MAKEDEV: when creating devices, ensure the underlying files are either ↵Flavio Cruz
block/char devices or directories The perl test suite has a test where it reads all the block or char devices under /dev without following the translators. Then it compares it against a list of devices that read the translated nodes stat info. The patch changes how the the device files are created initially so that the stat information is identical and makes the Hurd environment appear more similar to other operating systems. Message-ID: <Zef__LrgPLXp9WHG@jupiter.tail36e24.ts.net>
2024-03-06procfs: fix MemTotal 4G memory clamp on 32bit systemsSamuel Thibault
Using vmstats allows to get up to 16T.
2024-03-05ext2fs: New default: use xattrs to store translator recordsDamien Zammit
Replaces experimental option --x-xattr-translator-records with --no-xattr-translator-records to allow rolling back to previous behaviour. NB: - Legacy records still work with either setting. - Adding a new record removes a legacy one.
2024-03-04ext2fs: Check that the filesystem supports xattr before reading itDamien Zammit
2024-03-03libps: update ps_emit_nice_size_t to handle arbitrarily large size_tFlavio Cruz
Update argument types for sprint_frac_value to reflect how big they actually are so that GCC doesn't think it needs a larger buffer than necessary. Message-ID: <ZeS1i5u_OziWpApt@jupiter.tail36e24.ts.net>
2024-03-01libbpf: avoid aborting on unknown instructionSamuel Thibault
Userland might load BPF programs with unknown instructions, we currently don't pre-check against that. In such a case, we shouldn't make netdde completely abort, and rather just return 0 like e.g. in the division by zero case.
2024-03-01rumpdisk: do not open device if block size is 0Flavio Cruz
Currently, if we do: $ ls /dev/cd0/ The computer seems to get stuck, caused by the divide by 0 in the rumpdisk server in device_get_status. I noticed that if we have no disk in the cdrom device, we can still open it but block and media size will be 0 and the message "cd0 dos partition I/O error" will be printed to the console. To avoid this problem, we check the block size and throw an error when it is 0. This also works correctly when a disk actually exists. This should help fix the perl and likely the vim test suites that are currently failing in https://buildd.debian.org/. Message-ID: <Zd_8XjcHcbNIp5NM@mars.tail36e24.ts.net>
2024-02-17Add proc_getchildren_rusage RPC and track rusage for children and descendantsFlavio Cruz
Message-ID: <20240216182630.5770-2-flaviocruz@gmail.com>
2024-02-08runsystem.hurd.sh: Refresh from runsystem.hurd.sh.inSamuel Thibault
2024-02-08runsystem: Check that /servers/socket/1 is really set upSamuel Thibault
In case the image was built through a tarball, /servers/socket/1 might exist but not actually have been configured as pflocal translator. So better check that we do have a translator there, and fix it otherwise.
2024-02-08runsystem.hurd.sh: Try to run bash firstSamuel Thibault
Some systems have /bin/sh pointing to dash, which is even more stressful for users when running in an emergency. Better first try bash. Also try dash too in case /bin/sh is hosed.
2024-02-08runsystem.hurd.sh: Print a newline at bootSamuel Thibault
This helps debugging boot issues.
2024-02-08runsystem.hurd.sh: Do not try to set up translators if we do not have settransSamuel Thibault
2024-02-08runsystem.hurd.sh: Make emergency really an emergencySamuel Thibault
emergency means we want to get a shell as quickly as possible, so we do not want any daemon at all.
2024-02-08runsystem: Do not eat first parameterSamuel Thibault
It has not been the kernel file name any more for a long time already.
2024-02-08runsystem: Do not try to set up translators if we do not have settransSamuel Thibault
2024-02-08runsystem: Try to run bash firstSamuel Thibault
Some systems have /bin/sh pointing to dash, which is even more stressful for users when running in an emergency. Better first try bash. Also try dash too in case /bin/sh is hosed.
2024-02-08runsystem: do not require bashSamuel Thibault
So that people can install just dash.
2024-02-04Add missing includeSamuel Thibault
for va_start etc.
2024-01-23Update rpctrace to use the new ABI for inlined port namesFlavio Cruz
Message-ID: <Za3wnF34kVU0r1TS@jupiter.tail36e24.ts.net>
2024-01-23trivial hurd manual changes.jbranso@dismail.de
* doc/hurd.texi (Special Files): added a reference to the zero store. * doc/hurd.texi (Translators): added a sentence about /dev/random. * doc/hurd.texi (Invoking 'mount'): added a short explanation. * doc/hurd.texi (Trivfs Callbacks): added @code{FSTYPE_MISC}. Message-ID: <20230921164822.9227-5-jbranso@dismail.de>
2024-01-23add a FAT FS section to the hurd manual.jbranso@dismail.de
* doc/hurd.texi (FAT FS): new section. Message-ID: <20230921164822.9227-4-jbranso@dismail.de>
2024-01-23describe the ISO-9960 filesystem in the hurd manual.jbranso@dismail.de
* doc/hurd.texi (ISO-9960): I added in a short explanation. Message-ID: <20230921164822.9227-3-jbranso@dismail.de>
2024-01-23add a short ext2fs description to the hurd manual.jbranso@dismail.de
* doc/hurd.texi (Linux Extended 2 FS): added a short description. Message-ID: <20230921164822.9227-2-jbranso@dismail.de>
2024-01-23describe fixing filesystem corruption in the hurd manual.jbranso@dismail.de
* doc/hurd.texi (Repairing Filesystems): described fixing filesystem corruption. * doc/hurd.texi (Shutdown): added the hurd specific halt-hurd command. Message-ID: <20230921164822.9227-1-jbranso@dismail.de>
2023-12-31x86_64: utmp uses int32_t to store time so use a temporary variableFlavio Cruz
Message-ID: <ZZBGYmkYNwpoamBm@jupiter.tail36e24.ts.net>
2023-12-29pfinet: fix type aliasFlavio Cruz
Message-ID: <20231229212105.858759-11-flaviocruz@gmail.com>
2023-12-29libftpconn: add out >= 2 condition to make GCC happyFlavio Cruz
Message-ID: <20231229212105.858759-10-flaviocruz@gmail.com>
2023-12-29Fix overflow issues in tmpfs and vmallocateFlavio Cruz
Message-ID: <20231229212105.858759-9-flaviocruz@gmail.com>
2023-12-29proxy-defpager: add missing return statementFlavio Cruz
Message-ID: <20231229212105.858759-8-flaviocruz@gmail.com>
2023-12-29Fix a few pointer related warnings.Flavio Cruz
Message-ID: <20231229212105.858759-7-flaviocruz@gmail.com>
2023-12-29x86_64: use 21 bytes in libps since %z might require more characters.Flavio Cruz
This makes GCC happy. Message-ID: <20231229212105.858759-6-flaviocruz@gmail.com>
2023-12-29Fix printf format specifiersFlavio Cruz
Message-ID: <20231229212105.858759-4-flaviocruz@gmail.com>