[PATCH] Hurd/HurdDevelopers.mdwn: added Svante's contributions

2024-01-09 Thread jbra...@dismail.de
Sorry for another tiny change.  Svante asked me to include his
contributions as well.

---
 Hurd/HurdDevelopers.mdwn | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Hurd/HurdDevelopers.mdwn b/Hurd/HurdDevelopers.mdwn
index 5328e37a..18222e13 100644
--- a/Hurd/HurdDevelopers.mdwn
+++ b/Hurd/HurdDevelopers.mdwn
@@ -10,13 +10,14 @@ License|/fdl]]."]]"""]]
 
 The Hurd has very few people working on it. This is a list of people who are  
large contributors to the project.
 
+
 * Samuel Thibault - Our fearless leader
 * Joshua Branson - Developer
 * Sergey Bugaev - 64 bit port and security fixes
 * Flávio Cruz - Mach IPC improvements
 * Almudena Garcia - SMP work and hardware tester
 * Joan Lledó - PCI arbiter and lwip port
-* Svante Signell - pfinet/fakeroot fixes
+* Svante Signell - pfinet/fakeroot fixes, file record locking, ported ada/gnat
 * Damien Zammit - ACPI arbiter, SMP, and rumpkernel
 
 Here is a list of people who were large contributors:
-- 
2.42.0




Re: [PATCH v3] news/2023-q4.mdwn: new qoth for q4 of 2023.

2024-01-09 Thread Joshua Branson
"Dr. Arne Babenhauserheide"  writes:

> Samuel Thibault  writes:
>
>> Applied, thanks!
>>
>> jbra...@dismail.de, le dim. 07 janv. 2024 11:18:20 -0500, a ecrit:
>>> This is version 3 of the last qoth of 2023.  I've incorporated Dr.
>>> Arne's comments.
>
> Are you already spreading this somewhere? The changes are pretty
> awesome!

Looks like it's already on the wiki:

https://www.gnu.org/software/hurd/index.html


>
> Best wishes,
> Arne

-- 

Joshua Branson
Sent from the Hurd



Re: [PATCH v3] news/2023-q4.mdwn: new qoth for q4 of 2023.

2024-01-09 Thread Dr. Arne Babenhauserheide

Samuel Thibault  writes:

> Applied, thanks!
>
> jbra...@dismail.de, le dim. 07 janv. 2024 11:18:20 -0500, a ecrit:
>> This is version 3 of the last qoth of 2023.  I've incorporated Dr.
>> Arne's comments.

Are you already spreading this somewhere? The changes are pretty awesome!

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein,
ohne es zu merken.
draketo.de


signature.asc
Description: PGP signature


Re: [PATCH] open_issues/bcachefs.mdwn: new file.

2024-01-09 Thread Samuel Thibault
Applied, thanks!

jbra...@dismail.de, le sam. 06 janv. 2024 14:59:40 -0500, a ecrit:
> Well, we might as well document our conversation with Kent about bachchefs.
> 
> ---
>  open_issues/bcachefs.mdwn | 326 ++
>  1 file changed, 326 insertions(+)
>  create mode 100644 open_issues/bcachefs.mdwn
> 
> diff --git a/open_issues/bcachefs.mdwn b/open_issues/bcachefs.mdwn
> new file mode 100644
> index ..aa39bce0
> --- /dev/null
> +++ b/open_issues/bcachefs.mdwn
> @@ -0,0 +1,326 @@
> +[[!meta copyright="Copyright © 2007, 2008, 2010, 2011 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_hurd]]
> +
> +The Hurd's primary filesystem is ext2, which works but lacks modern
> +features.  With ext2, Hurd users reguarly deal with filesystem
> +corruption.  Ext2 does not have a journal, so Hurd users occasionally
> +have to deal with filesystem corruption.  `fsck` can fix most of the
> +issues (with loss of random data), but without a proper journal the
> +Hurd currently is not a good a OS for long-term data storage.
> +
> +Bcachefs is a modern COW (copy-on-write) open source filesystem for
> +Linux, which intends to replace Btrfs and ZFS while having the
> +performance of ext4 or XFS.  It is almost 100,000 lines of code.
> +Btrfs is 150,000 lines of code.  Bcachefs is structured as a
> +filesystem built on top of a database.  There is a clean small
> +database transaction layer.  That core database library is maybe
> +25,000 lines of code.
> +
> +Some Hurd developers recently [[talked with
> +Bcachefs|https://youtube.com/watch?v=bcWsrYvc5Fg]] author Kent
> +Overstreat about porting bcachefs to the Hurd.  There are currently no
> +concrete plans to do so due to lack of developer man power.
> +
> +90% of the Bcachefs filesystem code builds and runs in userspace.  It
> +uses a shim layer that makes maps kernel locking primatives to
> +pthreads, the kernel io API is mapped to AIO, etc.  Bcachefs does
> +intend to eventually rewrite most or all of its current codebase into
> +rust.
> +
> +Kent is ok with us merging a shim layer for libstore that maps to the
> +Unix filesystem API.  That would be a header file that goes into the
> +bcachefs code.
> +
> +There is a somewhat working FUSE port of bcachefs, but Kent is not
> +certain that is a good way to run bcachefs in userspace.  Kent wants
> +to use the FUSE port to help in debbugging.  Suppose bcachefs starts
> +acting up, then you could switch to running it in userspace and attach
> +GDB to the running process.  This is currently not possible.
> +
> +We could port bcachefs to the Hurd's native filesystem API: libdiskfs.
> +
> +One interesting aspect of the conversation was Kent's goal of re-using
> +kernel code in userspace. The Linux kernel hashtable code is high
> +performance, resizeable, lockless, and builds and runs in userspace.
> +As long as you have liburcu, then you can use the kernel hashtable in
> +userspace on the Hurd.  This might be useful to use on the Hurd.
> +
> +Bcachefs is liscensed as GPLv2, and many of Kent's previous employers
> +own the patents, including Google. Kent is ok with potentially making
> +the license GPLv2+, as long as there was not a promise to keep
> +bcachefs GPLv2 only.
> +
> +# IRC logs
> +
> +https://logs.guix.gnu.org/hurd/2023-09-26.log
> +
> +maybe I'm wrong though, do you know much about fuse? or 
> file systems?
> + no i dont know much about filesystems
> + what is bcachefs?
> +see? :D
> +  I agree that someone intimate in the Mach pager api, libdiskfs 
> and fuse would be great at that meeting
> +I do kind of understand Mach VM / paging, I must say
> +from the looks of it, I even understand it best among 
> those who have looked at it recently
> +and I mostly understand libdiskfs
> + so go to the meeting
> + what is fuse? do we even need it for hurd?
> + file systems in userspace
> +FUSE is "filesystem in user space", it's both the name 
> for the concept, and the name of Linux's specific mechanism, of offloading fs 
> to userland
> + yeah, i think it may be unneeded for filesystem on hurd
> +it's basically a giant hack that pretends to be a 
> fileystem implementation to the rest of the kernel, and then sends requests 
> and receives responses from a userland program that _actually_ implements the 
> fs
> +on the Hurd, *of course* filesystems are implemented in 
> userland, 

Re: [PATCH] added Sergey as a Hurd Developer

2024-01-09 Thread Samuel Thibault
Updated, thanks!

jbra...@dismail.de, le sam. 06 janv. 2024 15:22:23 -0500, a ecrit:
> I also added Almudena Garcia as well.
> 
> * Hurd/HurdDevelopers.mdwn: reorganized and added Sergey as a Hurd Developer.
> ---
>  Hurd/HurdDevelopers.mdwn | 27 ++-
>  1 file changed, 14 insertions(+), 13 deletions(-)
> 
> diff --git a/Hurd/HurdDevelopers.mdwn b/Hurd/HurdDevelopers.mdwn
> index 908ebb04..5328e37a 100644
> --- a/Hurd/HurdDevelopers.mdwn
> +++ b/Hurd/HurdDevelopers.mdwn
> @@ -9,27 +9,28 @@ License|/fdl]]."]]"""]]
>  [[!meta title="Hurd Developers"]]
>  
>  The Hurd has very few people working on it. This is a list of people who are 
>  large contributors to the project.
> -
>  
> -* Thomas Schwinge - Maintainer
> -* Samuel Thibault - Developer
> -* Joshual Branson - Developer
> -* Justus Winter - Developer
> +* Samuel Thibault - Our fearless leader
> +* Joshua Branson - Developer
> +* Sergey Bugaev - 64 bit port and security fixes
> +* Flávio Cruz - Mach IPC improvements
> +* Almudena Garcia - SMP work and hardware tester
>  * Joan Lledó - PCI arbiter and lwip port
> -* Damien Zammit - ACPI arbiter
>  * Svante Signell - pfinet/fakeroot fixes
> -* Flávio Cruz - fixes
> -* Manolis Ragkousis - Hurd support for Guix
> +* Damien Zammit - ACPI arbiter, SMP, and rumpkernel
>  
>  Here is a list of people who were large contributors:
>  
> -* Zheng Da - netdde
> -* Jeremie Koenig - Debian installer
> -* Marcus Brinkman - Co-author of the Critique
> -* Neal H. Walfield - Co-author of the Critique
> -* Richard Braun - Owner of darnassus.sceen.net
>  * Miles Bader - Original developer
> +* Richard Braun - Owner of darnassus.sceen.net
> +* Marcus Brinkman - Co-author of the Critique
>  * Thomas Bushnell - Original maintainer
> +* Zheng Da - netdde
> +* Jeremie Koenig - Debian installer
>  * Roland McGrath - Original maintainer
> +* Manolis Ragkousis - Hurd support for Guix
> +* Thomas Schwinge - Previous Maintainer
> +* Neal H. Walfield - Co-author of the Critique
> +* Justus Winter - Developer
>  
>  [See the full list at 
> Savannah](https://savannah.gnu.org/project/memberlist.php?group=hurd)
> -- 
> 2.42.0
> 
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.



Re: [PATCH v3] news/2023-q4.mdwn: new qoth for q4 of 2023.

2024-01-09 Thread Samuel Thibault
Applied, thanks!

jbra...@dismail.de, le dim. 07 janv. 2024 11:18:20 -0500, a ecrit:
> This is version 3 of the last qoth of 2023.  I've incorporated Dr.
> Arne's comments.
> 
> ---
>  news/2023-q4.mdwn | 121 ++
>  1 file changed, 121 insertions(+)
>  create mode 100644 news/2023-q4.mdwn
> 
> diff --git a/news/2023-q4.mdwn b/news/2023-q4.mdwn
> new file mode 100644
> index ..294b6b22
> --- /dev/null
> +++ b/news/2023-q4.mdwn
> @@ -0,0 +1,121 @@
> +[[!meta copyright="Copyright © 2013 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]]."]]"""]]
> +
> +[[!meta date="2024-01-05 22:22 UTC"]]
> +
> +Hello!  Welcome to a new qoth.  This qoth covers new and interesting GNU/Hurd
> +developments in Q4 of 2023!
> +[[!if test="included()" then="""[[!toggle id=full_news
> +text="Details."]][[!toggleable id=full_news text="[[!paste 
> id=full_news]]"]]"""
> +else="
> +[[!paste id=full_news]]"]]
> +
> +[[!cut id="full_news" text="""
> +
> +Samuel Thibault fixed gcc's Hurd's default pie and [[added static pie
> +support|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00061.html]].
> +He also added a [[whatis
> +command|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg7.html]]
> +to GNU Mach's kernel debugger, which can determine what an
> +address points to (a stack? a port? some kalloc? ...).  He also added
> +[[hurd-amd64 support to
> +GCC|https://lists.debian.org/debian-hurd/2023/11/msg00039.html]].
> +
> +Samuel requested that the Hurd team set up a [[continuous
> +integration,|https://lists.gnu.org/archive/html/bug-hurd/2023-12/msg7.html]]
> +so that when developers make code changes, they can be certain that
> +they did not break anything.  It turns out that the Hurd supports
> +several different environments: 32 bit, 64 bit, 32-on-64 bit, ACPI,
> +non-ACPI, SMP, non-SMP, Xen, etc.  Apparently Flavio has a [[personal
> +CI|https://github.com/flavioc/cross-hurd/actions/runs/7080757561]],
> +but it is set up in a Debian independent way.  If you are interested in
> +helping the Hurd project set up a CI, then please get in touch!
> +
> +Luca Dariz worked on adding [[some simple GNU Mach user-space tests
> +|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00031.html]].
> +With a working MiG, a GNU/Linux machine can run make check in the GNU
> +Mach source code, which will launch qemu to ensure that 32 bit (PAE
> +and non PAE), 32 on 64 bit, and full 64 bit GNU Mach works.  We
> +currently do this testing on GNU/Linux, because qemu does not run on
> +the Hurd.
> +
> +Many people worked on the Hurd's new [[x86_64 bit
> +support|https://lists.gnu.org/archive/html/bug-hurd/2023-10/msg00036.html]].
> +A 64-bit debian bbuild is set up, and we can bootstrap a chroot!  The
> +hurd-amd64 wanna-build infrastructure is also set up.  We are having
> +issues reliably building packages on a 64-bit Hurd, which lead Samuel
> +to uncover and fix [[a proc
> +leak|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00035.html]].
> +
> +Flavio Cruz [[improved GNU Mach's
> +IPC|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00033.html]]
> +by reordering `mach_msg_type_t` fields to byte align `msgt_name` and
> +`msgt_size`.  He also created a patch series to [[avoid message
> +resizing for
> +x86_64|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00028.html]].
> +He also [[removed untyped mach RPC
> +code|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00026.html]].
> +GNU Mach uses typed IPC.  The Hurd could support both typed and
> +untyped, but it appears that the Hurd only uses typed RPC.  So it
> +seems best to remove any untyped RPC code.
> +
> +Sergey Bugaev added [[GNU Mach entry re-coalescing
> +support|https://darnassus.sceen.net/~hurd-web/open_issues/gnumach_vm_map_entry_forward_merging/]].
> +Essentially, Mach is not always able to merge two vm entries that are
> +made next to each other, which slows down ext2 and bash.  Sergey
> +allowed GNU Mach to merge entries in the common cases, which greatly
> +helps ext2fs.
> +
> +Sergey is also working on [[porting the Ladybird web
> +browser|https://lists.gnu.org/archive/html/bug-hurd/2023-11/msg00013.html]]
> +to the Hurd.  The author of this post uses the [[netsurf web
> +browser|https://www.netsurf-browser.org/]] on the Hurd, which works on
> +simple websites like wikipedia, but it badly renders javascript heavy
> +websites, which makes many websites un-useable.  If Sergey is
> +successful in porting 

Re: [PATCH] open_issues/arm_port.mdwn: documented Sergeys AArch64 port status.

2024-01-09 Thread Samuel Thibault
Applied, thanks!

jbra...@dismail.de, le mar. 09 janv. 2024 15:20:47 -0500, a ecrit:
> I figure that we might as well document the AArch64 port status on the wiki.
> 
> ---
>  open_issues/arm_port.mdwn | 172 +-
>  1 file changed, 134 insertions(+), 38 deletions(-)
> 
> diff --git a/open_issues/arm_port.mdwn b/open_issues/arm_port.mdwn
> index 26e0b770..8a2bc27f 100644
> --- a/open_issues/arm_port.mdwn
> +++ b/open_issues/arm_port.mdwn
> @@ -9,56 +9,152 @@ 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]]."]]"""]]
>  
> -Several people have expressed interested in a port of GNU/Hurd for the ARM
> -architecture.
> +Several people have expressed interested in a port of GNU/Hurd for the
> +ARM architecture.  Luckily a userspace port of the Hurd servers and
> +glibc is underway.  As early as January 1, 2024 an AArch64 port is
> +making some progress.  Sergey did some hacking on glibc, binutils,
> +GCC, and added some headers to GNU Mach.  He was able to build the
> +core Hurd servers: ext2fs, proc, exec, and auth.
>  
> +One would think that he would need to port GNU Mach to run the
> +binaries, but Sergey ran a statically linked hello world executable on
> +GNU/Linux, under GDB, being careful to skip over and emulate syscalls
> +and RPCs.  The glibc port has the TLS setup, hwcaps / cpu-features,
> +and ifuncs.
>  
> -# IRC, freenode, #hurd, 2012-07-28
> +Now to some of the more technical things:
>  
> - Has anyone heard about porting hurd and gnu/mach to arm
> -  architecture?
> - mcsim: i think so
> - mcsim: why are you asking ?
> - I found an article where author stated that he has ported hurd to
> -  arm, but I have never met this information before.
> - He wrote ethernet driver and managed to use ping command
> - author's name is Sartakov Vasily
> - well that's possible, a long time ago
> - and it was probably not complete enough to be merged upstream
> - like many other attempts at many other things
> - Not so long. Article is dated by June 2011.
> - do you have a link ?
> - Yes, but it is in Russian.
> - oh
> - well i don't remember him sharing that with us
> - mcsim: he did some work on porting Mach, but AIUI never got it
> -  nearly finished
> - nowadays he does L4 stuff
> - was also at FOSDEM
> +- The TLS implementation is basically complete and working. We're
> +using `tpidr_el0` for the thread pointer (as can be seen in the listing
> +above), like GNU/Linux and unlike Windows (which uses x18, apparently)
> +and macOS (which uses `tpidrro_el0`). We're using "Variant I" layout, as
> +described in "ELF Handling for Thread-Local Storage", again same as
> +GNU/Linux, and unlike what we do on both x86 targets. This actually
> +ends up being simpler than what we had for x86! The other cool thing
> +is that we can do `msr tpidr_el0, x0` from userspace without any
> +gnumach involvement, so that part of the implementation is quite a bit
> +simpler too.
>  
> +- Conversely, while on x86 it is possible to perform "cpuid" and
> +identify CPU features entirely in user space, on AArch64 this requires
> +access to some EL1-only registers. On Linux and the BSDs, the kernel
> +exposes info about the CPU features via `AT_HWCAP` (and more recently,
> +`AT_HWCAP2`) auxval entries. Moreover, Linux allows userland to read
> +some otherwise EL1-only registers (notably for us, `midr_el1`) by
> +catching the trap that results from the EL0 code trying to do that,
> +and emulating its effect.  Also, Linux exposes `midr_el1` and
> +`revidr_el1` values through procfs.
>  
> -## IRC, freenode, #hurd, 2012-10-09
> +- The Hurd does not use `auxval`, nor is gnumach involved in `execve` anyway.
> +So I thought the natural way to expose this info would be with an RPC,
> +and so in `mach_aarch64.defs` I have an `aarch64_get_hwcaps` routine that
> +returns the two hwcaps values (using the same bits as `AT_HWCAP{,2}`) and
> +the values of `midr_el1`/`revidr_el1`. This is hooked to `init_cpu_features`
> +in glibc, and used to initialize `GLRO(dl_hwcap)` / `GLRO(dl_hwcap2)` and
> +eventually to pick the appropriate ifunc implementations.
>  
> - bootinfdsds: There was an unfinished port to arm, if you're
> -  interested.
> - mcsim: Has that ever been published?
> - tschwinge: I don't think so. But I have an email of that person 
> and
> -  I think that this could be discussed with him.
> +- The page size (or rather, paging granularity) is notoriously not
> +necessarily 4096 on ARM, and the best practice is for userland not to
> +assume any specific page size and always query it dynamically. GNU
> +Mach will (probably) have to be built support for some specific page
> +size, but I've cleaned up a few places in glibc where things were
> +relying on a statically defined page size.
>  
> +- 

[PATCH] open_issues/arm_port.mdwn: documented Sergeys AArch64 port status.

2024-01-09 Thread jbra...@dismail.de
I figure that we might as well document the AArch64 port status on the wiki.

---
 open_issues/arm_port.mdwn | 172 +-
 1 file changed, 134 insertions(+), 38 deletions(-)

diff --git a/open_issues/arm_port.mdwn b/open_issues/arm_port.mdwn
index 26e0b770..8a2bc27f 100644
--- a/open_issues/arm_port.mdwn
+++ b/open_issues/arm_port.mdwn
@@ -9,56 +9,152 @@ 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]]."]]"""]]
 
-Several people have expressed interested in a port of GNU/Hurd for the ARM
-architecture.
+Several people have expressed interested in a port of GNU/Hurd for the
+ARM architecture.  Luckily a userspace port of the Hurd servers and
+glibc is underway.  As early as January 1, 2024 an AArch64 port is
+making some progress.  Sergey did some hacking on glibc, binutils,
+GCC, and added some headers to GNU Mach.  He was able to build the
+core Hurd servers: ext2fs, proc, exec, and auth.
 
+One would think that he would need to port GNU Mach to run the
+binaries, but Sergey ran a statically linked hello world executable on
+GNU/Linux, under GDB, being careful to skip over and emulate syscalls
+and RPCs.  The glibc port has the TLS setup, hwcaps / cpu-features,
+and ifuncs.
 
-# IRC, freenode, #hurd, 2012-07-28
+Now to some of the more technical things:
 
- Has anyone heard about porting hurd and gnu/mach to arm
-  architecture?
- mcsim: i think so
- mcsim: why are you asking ?
- I found an article where author stated that he has ported hurd to
-  arm, but I have never met this information before.
- He wrote ethernet driver and managed to use ping command
- author's name is Sartakov Vasily
- well that's possible, a long time ago
- and it was probably not complete enough to be merged upstream
- like many other attempts at many other things
- Not so long. Article is dated by June 2011.
- do you have a link ?
- Yes, but it is in Russian.
- oh
- well i don't remember him sharing that with us
- mcsim: he did some work on porting Mach, but AIUI never got it
-  nearly finished
- nowadays he does L4 stuff
- was also at FOSDEM
+- The TLS implementation is basically complete and working. We're
+using `tpidr_el0` for the thread pointer (as can be seen in the listing
+above), like GNU/Linux and unlike Windows (which uses x18, apparently)
+and macOS (which uses `tpidrro_el0`). We're using "Variant I" layout, as
+described in "ELF Handling for Thread-Local Storage", again same as
+GNU/Linux, and unlike what we do on both x86 targets. This actually
+ends up being simpler than what we had for x86! The other cool thing
+is that we can do `msr tpidr_el0, x0` from userspace without any
+gnumach involvement, so that part of the implementation is quite a bit
+simpler too.
 
+- Conversely, while on x86 it is possible to perform "cpuid" and
+identify CPU features entirely in user space, on AArch64 this requires
+access to some EL1-only registers. On Linux and the BSDs, the kernel
+exposes info about the CPU features via `AT_HWCAP` (and more recently,
+`AT_HWCAP2`) auxval entries. Moreover, Linux allows userland to read
+some otherwise EL1-only registers (notably for us, `midr_el1`) by
+catching the trap that results from the EL0 code trying to do that,
+and emulating its effect.  Also, Linux exposes `midr_el1` and
+`revidr_el1` values through procfs.
 
-## IRC, freenode, #hurd, 2012-10-09
+- The Hurd does not use `auxval`, nor is gnumach involved in `execve` anyway.
+So I thought the natural way to expose this info would be with an RPC,
+and so in `mach_aarch64.defs` I have an `aarch64_get_hwcaps` routine that
+returns the two hwcaps values (using the same bits as `AT_HWCAP{,2}`) and
+the values of `midr_el1`/`revidr_el1`. This is hooked to `init_cpu_features`
+in glibc, and used to initialize `GLRO(dl_hwcap)` / `GLRO(dl_hwcap2)` and
+eventually to pick the appropriate ifunc implementations.
 
- bootinfdsds: There was an unfinished port to arm, if you're
-  interested.
- mcsim: Has that ever been published?
- tschwinge: I don't think so. But I have an email of that person and
-  I think that this could be discussed with him.
+- The page size (or rather, paging granularity) is notoriously not
+necessarily 4096 on ARM, and the best practice is for userland not to
+assume any specific page size and always query it dynamically. GNU
+Mach will (probably) have to be built support for some specific page
+size, but I've cleaned up a few places in glibc where things were
+relying on a statically defined page size.
 
+- There are a number of hardware hardening features available on AArch64
+(PAC, BTI, MTE — why do people keep adding more and more workarounds,
+including hardware ones, instead of rewriting software in a properly
+memory-safe language...). Those are not really supported right now; all