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

Reply via email to