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

Joan Picanyol lists-freebsd-current at biaix.org
Wed Jan 21 16:52:17 PST 2004


* 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


More information about the freebsd-current mailing list