You might need to run qemu with -smp 1 even though your gnumach is not SMP enabled, so that the acpi tables and apic works properly.
I haven't tried UP with --enable-apic and no smp flag in qemu, I should try that to confirm. Damien Sent from Proton Mail Android -------- Original Message -------- On 13/6/25 3:14 am, Guy-Fleury Iteriteka <gfle...@disroot.org> wrote: > Le 12 juin 2025 18:49:22 GMT+02:00, Michael Banck via Bug reports for the > GNU Hurd <bug-hurd@gnu.org> a écrit : > >Hi, > > > >On Thu, Jun 12, 2025 at 09:54:22PM +0800, Zhaoming Luo wrote: > >> On Wed, Jun 11, 2025 at 09:07:10PM +0200, Michael Banck wrote: > >> > On Mon, Mar 24, 2025 at 12:25:51PM +0800, Zhaoming Luo wrote: > >> > > Integrate HPET so host_get_time, host_get_time64, and > host_get_uptime64 > >> > > are more precise. The highest precision can be 10ns when this patch is > >> > > applied. > >> > > >> > Is there something else besides this patch that needs to be > >> > done/patched/configured to get higher resolution timers? > >> > > >> > I am running the current gnumach Debian package which (to the best of my > >> > knowledge) includes this patch, but clock_getres() still reports > >> > 10000000 ns timer resolution and applications like PostgreSQL that rely > >> > on timing still have 10ms resolution. > >> > > >> The current higher resolution depends on HPET, and the HPET will be > >> enabled when APIC is enabled[0]. Therefore, please try to compile a > >> gnumach kernel with --enable-apic in the ./configure stage. > > > >Alright, I tried that (rebuilding the current Debian unstable gnumach > package), > >but (at least on i486) it hangs early on boot in KVM: > > With which qemu command? > > There is a bug when you use qemu -smp 2 > > Compile gnumach with --disable-linux-groups --enable-apic --enable-ncpus=4 > or 8 and in qemu use -smp 1 or 3 or 4 expect 2 > > > > >|Loading GNU Mach ... > >|Loading the Hurd ... > >|ow:13148 high:21913 > >|vm_page: HIGHMEM: pages: 301024 (1175M), free: 0 (0M) > >|vm_page: HIGHMEM: min:15051 low:18061 high:30102 > >|ACPI v1.0 > >|HPET at physical address 0xfed00000 > >|ACPI: > >| rsdp = 0x47ffe1ac6 > >| rsdt/xsdt = 0xf8e90ac6 (n = 4) > >|8 bit APIC ids > >|APIC entry=0xf8e92a1a end=0xf8e92a66 > >|APIC entry=0xf8e92a1a end=0xf8e92a66 > >|APIC entry=0xf8e92a22 end=0xf8e92a66 > >|APIC entry=0xf8e92a2e end=0xf8e92a66 > >|APIC entry=0xf8e92a38 end=0xf8e92a66 > >|APIC entry=0xf8e92a42 end=0xf8e92a66 > >|APIC entry=0xf8e92a4c end=0xf8e92a66 > >|APIC entry=0xf8e92a56 end=0xf8e92a66 > >|APIC entry=0xf8e92a60 end=0xf8e92a66 > >|Unhandled APIC entry type 0x4 > >|CPUS: > >| CPU 0 - APIC ID 0 - addr=0xf8e96000 > >|IOAPICS: > >| IOAPIC 0 - APIC ID 0 - addr=0xf8e97000 > >|IOAPIC version 0x11 > >|IRQ override: pin=0 gsi=2 trigger=EDGE polarity=HIGH > >|IRQ override: pin=5 gsi=5 trigger=LEVEL polarity=HIGH > >|IRQ override: pin=9 gsi=9 trigger=LEVEL polarity=HIGH > >|IRQ override: pin=10 gsi=10 trigger=LEVEL polarity=HIGH > >|IRQ override: pin=11 gsi=11 trigger=LEVEL polarity=HIGH > >|IOAPIC 0 configured with GSI 0-23 > > > > > >Michael > > > > Hi, > >