>The system ACPI BIOS is attempting to access PCI configuration space
>directly rather than using the correct PCI Config space operation regions.
>This is unsafe - directly accessing config space like this is non-atomic.
>The OSL implementation blocks these accesses.
Perhaps, Dana, you can give us some AML recipes on how to fix this?
I have an old ASUS CUV4X which has the same problem, it defines an
operating region:
OperationRegion (PCIC, SystemIO, 0x0CF8, 0x08)
Field (PCIC, DWordAcc, NoLock, Preserve)
{
PIND, 32,
PDAT, 32
}
And the uses the following _STA method for the FDC0 (floppy device):
Method (_STA, 0, NotSerialized)
{
Store (0x80002084, PIND) <-- bad
Store (PDAT, Local0) <-- bad
And (Local0, 0x0100, Local0)
If (LEqual (Local0, 0x00))
{
Return (0x00)
}
Else
{
ENFG ()
Store (IOFN, Local0)
And (Local0, 0x10, Local0)
If (LNot (LEqual (Local0, 0x00)))
{
EXFG ()
Return (0x0F)
}
Else
{
Store (FCIO, Local1)
If (LNot (LEqual (Local1, 0x00)))
{
EXFG ()
Return (0x0D)
}
Else
{
EXFG ()
Return (0x00)
}
}
}
}
This then leads to:
acpica: [ID 972481 kern.warning] WARNING: AcpiOsWritePort: cf8 32 not permitted
acpica: [ID 815887 kern.notice] ACPI-0519: *** Error:
acpica: [ID 441208 kern.notice] Handler for [SystemIO] returned AE_ERROR
acpica: [ID 584230 kern.notice] ACPI-1413: *** Error:
acpica: [ID 810882 kern.notice] Method execution failed
acpica: [ID 363072 kern.notice] [\_SB_.PCI0.PX40.FDC0._STA] (Node c81f3364)
Now if I could rewrite the AML to do the proper thing and install the
replacement
ACPICA table (just as I fixed the Ferrari 4000 batter), such a recipe might
help some to see what the exact problem is.
Casper
PS: What is the status of iasl? Getting a standard Solaris iasl binary
out would be very helpful.
_______________________________________________
opensolaris-discuss mailing list
[email protected]