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?

Damien



Reply via email to