Damien Zammit, le jeu. 09 oct. 2025 05:55:41 +0000, a ecrit: > Hi > > On 10/9/25 4:04 PM, Michael Kelly wrote: > > ACPI defines the '\_PIC' System Configuration Object Method > > (https://uefi.org/htmlspecs/ACPI_Spec_6_4_html/05_ACPI_Software_Programming_Model/ACPI_Software_Programming_Model.html#system-configuration-objects) > > that is used by an OSPM to indicate the interrupt model that is in use > > on the system. I cannot find anywhere in Hurd/GNUmach that uses this > > interface meaning that the default of PIC mode is assumed. > I was not aware of that method. Thanks. > > I was able to alter \_PIC to APIC mode within the acpi_init.c code and > > then the existing code that reads the MADT tables reported the IOAPIC > > GSI 19 (rather than 11). With that one change (plus the patch from > > earlier in this thread) I am able to boot successfully in 64 bit on my > > hardware. > > > > Is there a way of detecting the interrupt model in use within the Hurd > > ACPI server? That would need to be known in order to set the appropriate > > model for \_PIC. Possibly the more appropriate place might be within > > gnumach/i386/i386at/acpi_parse_apic.c where it is known whether the > > IOAPIC is being used or not. That code however uses a memory mapped > > interface to ACPI and I don't know whether it's possible or advisable to > > perform an ACPI write operation to the \_PIC mode. > > It will be necessary to make acpi server call the \_PIC method since > it has access to the acpi low level functions. > > Maybe we need to expose a new RPC for acpi to set that mode > and pass the value from somewhere. Although, its not clear to me > how to pass that value from gnumach to acpi server later on. > > Samuel, how should we solve this?
We can easily add device_intr_something RPCs for acpi to know what it should do. And conversely if gnumach needs to know how to configure its interrupt reception we can add another RPC. Samuel
