Re: [lm-sensors] Could the k8temp driver be interfering with ACPI?

David Hubbard
2007-03-03T15:47:23Z

Hi Jean,

> Is there anything preventing us from doing such a walk and pre-allocate
> all the I/O ranges? I am not familiar with the ACPI code at all, would
> you possibly propose a patch doing that?

Here's a random idea -- what do you think of it?

ACPI already allocates some I/O ranges, which was a surprise to me:

> My machine looks like this:
>
> 1000-107f : 0000:00:1f.0
> 1000-1003 : ACPI PM1a_EVT_BLK
> 1004-1005 : ACPI PM1a_CNT_BLK
> 1008-100b : ACPI PM_TMR
> 1010-1015 : ACPI CPU throttle
> 1020-1020 : ACPI PM2_CNT_BLK
> 1028-102b : ACPI GPE0_BLK
> 102c-102f : ACPI GPE1_BLK

For I/O and memory that ACPI accesses and has not reserved, the AML
interpreter could allocate at run-time.

I'm not sure how to implement exactly. For example, it would be bad to
have a /proc/ioports that had a lot of single ports allocated, for
example:
1000-107f : 0000:00:1f.0
1000-1000 : ACPI PM1a_EVT_BLK
1001-1001 : ACPI PM1a_EVT_BLK
1002-1002 : ACPI PM1a_EVT_BLK
1003-1003 : ACPI PM1a_EVT_BLK

Thus the AML interpreter would need to have some reasonable
intelligence when allocating regions. Conflict resolution would also
be more difficult, e.g. if a hwmon driver was loaded first and then
acpi as a module, ACPI could not allocate the region. Maybe run-time
allocating won't work.

And then, how would ACPI release a region after it has used it? The
easiest method would be to never release anything used even once.

Thoughts?

David