Re: [PATCH] ACPI, APEI, EINJ: Subtract any matching Register Region from Trigger resources

From: Luck, Tony
Date: Tue Aug 22 2017 - 12:03:16 EST


On Tue, Aug 22, 2017 at 02:04:27PM +0000, Ghannam, Yazen wrote:
> > *einj_get_trigger_parameter_region(
> > ((char *)trigger_tab + sizeof(struct acpi_einj_trigger));
> > for (i = 0; i < trigger_tab->entry_count; i++) {
> > if (entry->action == ACPI_EINJ_TRIGGER_ERROR &&
> > - entry->instruction == ACPI_EINJ_WRITE_REGISTER_VALUE &&
> > entry->register_region.space_id ==
> > ACPI_ADR_SPACE_SYSTEM_MEMORY &&
> > (entry->register_region.address & param2) == (param1 &
> > param2))

Maybe you should add the other instruction types that make sense
here (ACPI_EINJ_READ_REGISTER, ACPI_EINJ_READ_REGISTER_VALUE and
ACPI_EINJ_WRITE_REGISTER) as a sanity check against the BIOS
giving you an action in the trigger table that doesn't involve
a memory access?

-Tony