help needed fixing DSDT on Tyan S-2466 (was: Re: ACPI soft off...)

From: Joan Picanyol <lists-freebsd-current_at_biaix.org>
Date: Thu, 22 Jan 2004 01:45:41 +0100
* Peter Schultz <pmes_at_bis.midco.net> [20040121 20:56]:
> Joan Picanyol wrote:
> >What else should I try to get this to work?
> By fixing the iasl compilation errors you may get soft off to work. 
> Just follow the directions found here:
> 
> http://www.cpqlinux.com/acpi-howto.html#fix_broken_dsdt


I've modified my asl a bit, I've:

1. replaced all instances of Microsoft* with FreeBSD
2. commented out the "Store (Local0, Local0)" lines
3. added a "Return(Package(0x02){0x00,0x00})" to "Method (\_WAK,...)"

You can find the new version at
http://grummit.biaix.org:8888/joan/debug/FreeBSD/ACPI/my.asl 

Howerver, it still does not compile cleanly:

Intel ACPI Component Architecture
ASL Optimizing Compiler / AML Disassembler version 20030619 [Jan 17 2004]
Copyright (C) 2000 - 2003 Intel Corporation
Supports ACPI Specification Revision 2.0b
 
my.asl   359:             And (IO2B, 0xFE, IO2B)
Error    1022 -                   ^ Object does not exist (IO2B)
 
my.asl   359:             And (IO2B, 0xFE, IO2B)
Error    1022 -         Object does not exist ^  (IO2B)
 
ASL Input:  my.asl - 2199 lines, 65861 bytes, 674 keywords
Compilation complete. 2 Errors, 0 Warnings, 0 Remarks, 318 Optimizations

I don't know how to deal with these. The full method is:

    Method (\_PTS, 1, NotSerialized)
    {
        Or (Arg0, 0xF0, Local0)
        Store (Local0, DBG1)
        Or (IRQR, 0x10, IRQR)
        Or (IO23, 0x01, IO23)
        Store (IO23, Local0)
        Store (Local0, DBG1)
        Sleep (0x0200)
        If (LEqual (Arg0, 0x01))
        {
            Store (IO21, Local1)
            Store (Local1, IO21)
        }

        If (LEqual (Arg0, 0x04))
        {
            Store (G_ST, Local1)
            Store (Local1, G_ST)
            Store (G_SB, Local1)
            Store (Local1, G_SB)
        }

        If (LEqual (Arg0, 0x05))
        {
            Store (G_ST, Local1)
            Store (Local1, G_ST)
            Store (G_SB, Local1)
            Store (Local1, G_SB)
            And (IO2B, 0xFE, IO2B)
        }
    }

Does anyone know how to fix this? On a side issue, I'd like to know
how to make sure FreeBSD is using my new DSDT. I've set up loader.conf
appropiately, but doing 'acpidump' gives me the original version. Is
this expected behaviour?

tks
-- 
pica
Received on Wed Jan 21 2004 - 15:52:17 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:39 UTC