NetBSD Problem Report #41066

From www@NetBSD.org  Tue Mar 24 17:26:12 2009
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [204.152.190.11])
	by www.NetBSD.org (Postfix) with ESMTP id 8064863BF4B
	for <gnats-bugs@gnats.netbsd.org>; Tue, 24 Mar 2009 17:26:12 +0000 (UTC)
Message-Id: <20090324172612.4F11763B8BA@www.NetBSD.org>
Date: Tue, 24 Mar 2009 17:26:12 +0000 (UTC)
From: w41ter@gmail.com
Reply-To: w41ter@gmail.com
To: gnats-bugs@NetBSD.org
Subject: [ACPI] pckbc0: unable to establish interrupt for aux slot
X-Send-Pr-Version: www-1.0

>Number:         41066
>Category:       kern
>Synopsis:       [ACPI] pckbc0: unable to establish interrupt for aux slot
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Tue Mar 24 17:30:00 +0000 2009
>Originator:     walt
>Release:        -current
>Organization:
>Environment:
NetBSD k9.localnet 5.99.8 NetBSD 5.99.8 (CURRENT) #3: Tue Mar 24 09:47:53 PDT 2009  toor@k9.localnet:/usr/src/sys/arch/i386/compile/K8MP i386

>Description:
When I include ps/2 mouse support in my kernel config I get the error message above, which prevents X from recognizing the keyboard.

ECS-USA GeForce6100PM-M2 (2.0) AMD64x2 running in 32-bit mode.

David Holland advised me to file this report including the DSDT, but I don't know how to do attachments using this system.  Here is the part that seems relevant to me, but if it's not what you need then please tell me how to get the info to you:

            Device(PS2M) {
                Name(_HID, 0x130fd041)
                Method(_STA) {
                    If(LEqual(PS2F, 0x00)) {
                        Return(0x0f)
                    }
                    Else {
                        Return(0x00)
                    }
                }
                Method(_CRS) {
                    Name(BUF1, Buffer(0x05) {0x22, 0x0, 0x10, 0x79, 0x0
                    /* ResourceTemplate() {
                     0x0000  IRQ() {12}
                    } */
                     })
                    Name(BUF2, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 
0x1, 0x1, 0x22, 0x0, 0x10, 0x79, 0x0
                    /* ResourceTemplate() {
                     0x0000  IO(Decode16, 0x60, 0x60, 0x1, 0x1)
                     0x0008  IO(Decode16, 0x64, 0x64, 0x1, 0x1)
                     0x0010  IRQ() {12}
                    } */
                     })
                    If(LEqual(KBDI, 0x01)) {
                        If(LEqual(OSFL, 0x02)) {
                            Return(BUF1)
                        }
                        If(LEqual(OSFL, 0x01)) {
                            Return(BUF1)
                        }
                        Else {
                            Return(BUF2)
                        }
                    }
                    Else {
                        Return(BUF1)
                    }
                }
            }
            Device(PS2K) {
                Name(_HID, 0x0303d041)
                Name(_CID, 0x0b03d041)
                Method(_STA) {
                    If(LEqual(KBDI, 0x01)) {
                        Return(0x00)
                    }
                    Else {
                        Return(0x0f)
                    }
                }
                Name(_CRS, Buffer(0x15) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1,
 0x1, 0x22, 0x2, 0x0, 0x79, 0x0
                /* ResourceTemplate() {
                 0x0000  IO(Decode16, 0x60, 0x60, 0x1, 0x1)
                 0x0008  IO(Decode16, 0x64, 0x64, 0x1, 0x1)
                 0x0010  IRQ() {1}
                } */
                 })
            }
            Device(PSMR) {
                Name(_HID, 0x020cd041)
                Name(_UID, 0x03)
                Method(_STA) {
                    If(LEqual(KBDI, 0x00)) {
                        Return(0x00)
                    }
                    If(LEqual(PS2F, 0x00)) {
                        If(LEqual(OSFL, 0x02)) {
                            Return(0x0f)
                        }
                        If(LEqual(OSFL, 0x01)) {
                            Return(0x0f)
                        }
                        Return(0x00)
                    }
                    Return(0x00)
                }
                Name(_CRS, Buffer(0x12) {0x47, 0x1, 0x60, 0x0, 0x60, 0x0, 0x1, 0x1, 0x47, 0x1, 0x64, 0x0, 0x64, 0x0, 0x1,
 0x1, 0x79, 0x0
                /* ResourceTemplate() {
                 0x0000  IO(Decode16, 0x60, 0x60, 0x1, 0x1)
                 0x0008  IO(Decode16, 0x64, 0x64, 0x1, 0x1)
                } */
                 })
            }
            Method(\_SB.PCI0.LEG0.UAR1._PRW) {
                Return(Package(0x02) {
                    0x03,
                    0x05,
                })
            }
            OperationRegion(PIO1, PCI_Config, 0x74, 0x01)
            Scope(\) {
                Field(\_SB.PCI0.LEG0.PIO1, ByteAcc, NoLock, Preserve) {
                    ,   2,
                    HPTF,       1,
                    Offset(0x1)
                }
            }
            OperationRegion(PIRQ, PCI_Config, 0x7c, 0x0c)
            Scope(\) {
                Field(\_SB.PCI0.LEG0.PIRQ, AnyAcc, NoLock, Preserve) {
                    INTA,       4,
                    INTB,       4,
                    INTC,       4,
                    INTD,       4,
                    PCEA,       4,
                    PCEB,       4,
                    PCEC,       4,
                    PCED,       4,
                    SCII,       4,
                    TCOI,       4,
                    INTF,       4,
                    INTQ,       4,
                    INTU,       4,
                    INTS,       4,
                    IS0P,       4,
                    ITID,       4,
                    INTG,       4,
                    INTH,       4,
                    INTJ,       4,
                    INTK,       4,
                    INTL,       4,
                    IGPI,       4,
                    INTN,       4,
                    ISA2,       4
                }
            }
             OperationRegion(LPIO, PCI_Config, 0xa0, 0x18)
            Scope(\) {
                Field(\_SB.PCI0.LEG0.LPIO, ByteAcc, NoLock, Preserve) {
                    UAIO,       8,
                    SNDD,       4,
                    MIDD,       4,
                    MSSD,       4,
                    FDCD,       2,
                    Offset(0x3),
                    PRIO,       3,
                    ,   1,
                    GEN1,       1,
                    GEN2,       1,
                    GEN3,       1,
                    GEN4,       1,
                    GAM1,       8,
                    GAM2,       8
                }
                OperationRegion(RTC2, SystemIO, 0x72, 0x02)
                Field(RTC2, ByteAcc, NoLock, Preserve) {
                    CM2I,       8,
                    CM2D,       8
                }
                IndexField(CM2I, CM2D, ByteAcc, NoLock, Preserve) {
                    Offset(0xcc),
                    UA1D,       8
                }
                Name(UARA, 0x00)
                Name(UARB, 0x00)
                Method(DISD, 1) {
                    If(LEqual(Arg0, 0x00)) {
                        Store(UARA, Local0)
                        XOr(Local0, 0xff, Local0)
                        And(UAIO, Local0, UAIO)
                    }
                    If(LEqual(Arg0, 0x01)) {
                        Store(UARB, Local0)
                        XOr(Local0, 0xff, Local0)
                        And(UAIO, Local0, UAIO)
                    }
                    If(LEqual(Arg0, 0x02)) {
                        Store(0x00, PRIO)
                    }
                    If(LEqual(Arg0, 0x03)) {
                        Store(0x00, FDCD)
                    }
                    If(LEqual(Arg0, 0x04)) {
                        Store(0x00, GAM1)
                        Store(0x00, GAM2)
                    }
                    If(LEqual(Arg0, 0x05)) {
                        Store(0x00, MIDD)
                    }
                }
                Method(CKIO, 2) {
                    If(LEqual(Arg1, 0x00)) {
                        Or(UARA, UARB, Local0)
                        And(UAIO, Local0, UAIO)
                        Store(UARA, Local0)
                        XOr(Local0, 0xff, Local0)
                        And(UAIO, Local0, UAIO)
                        If(LEqual(Arg0, 0x03f8)) {
                            Store(0x01, Local0)
                        }
                        If(LEqual(Arg0, 0x02f8)) {
                            Store(0x02, Local0)
                        }
                        If(LEqual(Arg0, 0x02e8)) {
                            Store(0x20, Local0)
                        }
                        If(LEqual(Arg0, 0x03e8)) {
                            Store(0x80, Local0)
                        }
                        Or(UAIO, Local0, UAIO)
                        Store(Local0, UARA)
                    }
                    If(LEqual(Arg1, 0x01)) {
                        Or(UARA, UARB, Local0)
                        And(UAIO, Local0, UAIO)
                        Store(UARB, Local0)
                        XOr(Local0, 0xff, Local0)
                        And(UAIO, Local0, UAIO)
                        If(LEqual(Arg0, 0x03f8)) {
                            Store(0x01, Local0)
                        }
                        If(LEqual(Arg0, 0x02f8)) {
                            Store(0x02, Local0)
                        }
                        If(LEqual(Arg0, 0x02e8)) {
                            Store(0x20, Local0)
                        }
                        If(LEqual(Arg0, 0x03e8)) {
                            Store(0x80, Local0)
                        }
                        Or(UAIO, Local0, UAIO)
                        Store(Local0, UARB)
                    }
                    If(LEqual(Arg1, 0x02)) {
                        If(LEqual(Arg0, 0x0378)) {
                            Store(0x00, PRIO)
                            Or(PRIO, 0x01, PRIO)
                        }
                        If(LEqual(Arg0, 0x0278)) {
                            Store(0x00, PRIO)
                            Or(PRIO, 0x02, PRIO)
                        }
                        If(LEqual(Arg0, 0x03bc)) {
                            Store(0x00, PRIO)
                            Or(PRIO, 0x04, PRIO)
                        }
                    }
                    If(LEqual(Arg1, 0x03)) {
                        Or(FDCD, 0x01, FDCD)
                    }
                    If(LEqual(Arg1, 0x04)) {
                        Store(0x00, GAM1)
                        Store(0x00, GAM2)
                        If(LEqual(Arg0, 0x0201)) {
                            Or(GAM1, 0x02, GAM1)
                        }
                        If(LEqual(Arg0, 0x0209)) {
                            Or(GAM2, 0x02, GAM2)
                        }
                    }
                    If(LEqual(Arg1, 0x05)) {
                        Store(0x00, MIDD)
                        If(LEqual(Arg0, 0x0300)) {
                            Or(MIDD, 0x01, MIDD)
                        }
                        If(LEqual(Arg0, 0x0330)) {
                            Or(MIDD, 0x08, MIDD)
                        }
                    }
                }
                Method(SLDM, 2) {
                }
                Method(CLSU, 1) {
                    CreateWordField(Arg0, 0x02, UARO)
                    If(LEqual(UARO, 0x03f8)) {
                        And(UAIO, 0xfe, UAIO)
                    }
                    If(LEqual(UARO, 0x02f8)) {
                        And(UAIO, 0xfd, UAIO)
                    }
                    If(LEqual(UARO, 0x02e8)) {
                        And(UAIO, 0xbf, UAIO)
                    }
                    If(LEqual(UARO, 0x03e8)) {
                        And(UAIO, 0x7f, UAIO)
                    }
                }
            }
        }
        Device(USB0) { <snippage>




>How-To-Repeat:

>Fix:
Workaround is to disable kernel support for ps/2 mice.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.