From owner-acpi-jp@jp.FreeBSD.org Wed Aug 27 00:34:46 2003
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id h7QFYk572866;
	Wed, 27 Aug 2003 00:34:46 +0900 (JST)
	(envelope-from owner-acpi-jp@jp.FreeBSD.org)
Received: from dns12.mail.yahoo.co.jp (dns12.mail.yahoo.co.jp [210.81.151.145])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with SMTP/inet id h7QFYja72838
	for <acpi-jp@jp.FreeBSD.org>; Wed, 27 Aug 2003 00:34:46 +0900 (JST)
	(envelope-from enokion@ybb.ne.jp)
Received: from unknown (HELO ?127.0.0.1?) (219.177.124.226 with poptime)
  by dns12.mail.yahoo.co.jp with SMTP; 26 Aug 2003 15:34:45 -0000
X-Apparently-From: <enokion@ybb.ne.jp>
From: Masaru Oenoki <enokion@yahoo.co.jp>
To: acpi-jp@jp.FreeBSD.org
Message-Id: <20030827003223.B7FE.ENOKION@yahoo.co.jp>
MIME-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
X-Mailer: Becky! ver. 2.05.11
Reply-To: acpi-jp@jp.FreeBSD.org
Precedence: list
Date: Wed, 27 Aug 2003 00:35:04 +0900
X-Sequence: acpi-jp 2606
Subject: [acpi-jp 2606] acpi don't work correctly on my motherboad..
Sender: owner-acpi-jp@jp.FreeBSD.org
X-Originator: enokion@yahoo.co.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+030821

Hello.

Would you tell me about ACPI on FreeBSD5.1 Release ?

I have an old SMP motherboad made by tyan, called Tiger100.
I setup FreeBSD5.1 Release on it, but many ACPI errors are
occured.. I tried to fix the problem, but I can't..

My purpose is to get cpu temperatures. I'm now reading
the specification from acpi.info and want to be able to
read the acpidump.. But I have no idea about the following
AE_AML_REGION_LIMIT messages. What should I do for it ?

I tryed to change
 - OperationRegion section of BAR2, number 0x2 to 0x0 - 0x4
 - Field section of BAR2, ByteAcc to AnyAcc - QWordAcc
 - same as above, Preserve to WriteAsZeros
but the error wasn't fix yet.

I uploaded the whole dmesg and acpidump on following urls.
http://www.geocities.jp/enokion/dmesg.txt
http://www.geocities.jp/enokion/acpidump.txt

I put following lines to /boot/loader.conf
hw.acpi.verbose = 1
debug.acpi.layer = "ACPI_ALL_COMPONENTS ACPI_BUS"
debug.acpi.level = "ACPI_LV_WARN ACPI_LV_ERROR ACPI_LV_OBJECTS"

------------ an extract of dmesg -------------------------
ACPI debug layer 0x13fff  debug level 0x8003
Preloaded acpi_dsdt "/boot/acpi_dsdt.aml" at 0xc046e244.
ACPI: DSDT was overridden.
   tbget-0375: *** Info: Table [DSDT] replaced by host OS
acpi0: <OEMTYN OEMTYNTB> on motherboard
pcibios: BIOS version 2.10
acpi0: power button is handled as a fixed feature programming model.
    ACPI-0803 [03] acpi_probe_children   : device identify routines
Timecounter "ACPI-safe"  frequency 3579545 Hz
    ACPI-0815 [03] acpi_probe_children   : namespace scan
    ACPI-0867 [06] acpi_probe_child      : scanning '\\_PR_.CPU1'acpi_cpu0: <CPU> on acpi0
    ACPI-0867 [06] acpi_probe_child      : scanning '\\_PR_.CPU2'acpi_cpu1: <CPU> on acpi0
    ACPI-0867 [06] acpi_probe_child      : scanning '\\_SB_.PCI0'
 exfldio-0210 [25] ExSetupRegion         : Field [MDEC] access width (1 bytes) too large for region [BAR2] (length 0)
 exfldio-0221 [25] ExSetupRegion         : Field [MDEC] Base+Offset+Width 0+0+1 is beyond end of region [BAR2] (length 0)
 dswexec-0523 [17] DsExecEndOp           : [Store]: Could not resolve operands, AE_AML_REGION_LIMIT
 psparse-1287: *** Error: Method execution failed [\\MEMR] (Node 0xc25bfc28), AE_AML_REGION_LIMIT
 psparse-1287: *** Error: Method execution failed [\\_SB_.PCI0._CRS] (Node 0xc25b67a8), AE_AML_REGION_LIMIT
  uteval-0226: *** Error: Return object type is incorrect [\\_SB_.PCI0._CRS] (Node 0xc25b67a8), AE_TYPE
  uteval-0230 [10] UtEvaluateObject      : Type returned from _CRS was incorrect : 1
can't fetch resources for \\_SB_.PCI0 - AE_TYPE
pcib0: <ACPI Host-PCI bridge> on acpi0
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table -hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry - AE_BAD_PARAMETER
PCI_LINK-0443 [10] acpi_pci_link_add_prt : couldn't handle this routing table - hardwired
PCI_LINK-0966 [09] acpi_pci_link_config  : couldn't add PCI interrupt link entry - AE_BAD_PARAMETER
   < after this, same error messages are continued >

------------ an extract of acpidump -------------------------
        Device(PMU_) {
            Method(_ADR) {
                Return(Or(\_SB_.PCI0.SBRG._ADR, 0x3, ))
            }
        }
        Device(USB0) {
            Method(_ADR) {
                Return(Or(\_SB_.PCI0.SBRG._ADR, 0x2, ))
            }
            Name(PRW_, Package(0x2) {
                0x8,
                0x2,
            })
        }
        OperationRegion(\_SB_.PCI0.PMU_.BAR0, PCI_Config, 0x40, 0x2)
        OperationRegion(\_SB_.PCI0.PMU_.BAR1, PCI_Config, 0x90, 0x2)
        OperationRegion(\_SB_.PCI0.SBRG.BAR2, PCI_Config, 0x4e, 0x2)
        Field(\_SB_.PCI0.PMU_.BAR0, ByteAcc, NoLock, Preserve) {
            PMSB,        16
        }
        Field(\_SB_.PCI0.PMU_.BAR1, ByteAcc, NoLock, Preserve) {
            SMSB,       16
        }
        Field(\_SB_.PCI0.SBRG.BAR2, ByteAcc, NoLock, Preserve) {
            MDEC,       16

        }
        Method(PMBS) {
            If(PMBR()) {
            }
            Else {
                And(PMSB, 0xfffe, PMBR())
            }
            Return(PMBR())
        }
        OperationRegion(PMRG, SystemIO, PMBS, PMBL)
        Method(SMBS) {
            If(SMBR()) {
            }
            Else {
                And(SMSB, 0xfffe, SMBR())
            }
            Return(SMBR())
        }
        OperationRegion(SMRG, SystemIO, SMBS, SMBL)
        Method(\MEMR) {
            If(RMEM) {
            }
            Else {
                Store(\_SB_.PCI0.MDEC, Local0)
                If(And(Local0, 0x40, )) {
                    Store(0xfffe0000, RMEM)
                }
                If(And(Local0, 0x80, )) {
                    Store(0xfff80000, RMEM)
                }
                If(And(Local0, 0x0200, )) {
                    Store(0xfff00000, RMEM)
                }
                If(LEqual(RMEM, 0x0)) {
                    Store(0xfffe0000, RMEM)
                }
            }
            Return(RMEM)
        }
        Method(\APCE) {
            And(\_SB_.PCI0.MDEC, 0x0100, APCM)
            Return(APCM)
        }
    }
}

Regards,
Masaru Oenoki<enokion@yahoo.co.jp>


