Subject: Re: pckbc(4) not working with 3.0 GENERIC.MPACPI kernel....
To: NetBSD/i386 Discussion List <port-i386@NetBSD.org>
From: John R. Shannon <john@johnrshannon.com>
List: port-i386
Date: 05/23/2006 17:08:57
Greg A. Woods wrote:
> At Wed, 17 May 2006 23:50:52 -0300,
> Jared D. McNeill wrote:
>> On 17-May-06, at 9:44 PM, Greg A. Woods wrote:
>>> How the heck to I try to fix this?  I reallly need kbd/vga/wscons
>>> support on this machine, and as far as I can tell I also need to run the
>>> MPACPI kernel, if only so that we can power these machines down remotely
>>> when necessary.
>> Can you try a kernel based on GENERIC.MPACPI without 'pckbc* at  
>> acpi?' and instead with 'pckbc* at isa?'?
> 
> OK, that seems to work:
> 
> 17:27 [1915] $ diff GENERIC.MPACPI  GENERIC.MPACPIISA 
> 311c311
> < pckbc*        at acpi?                # PC keyboard controller
> ---
>> #pckbc*       at acpi?                # PC keyboard controller
> 443c443
> < #pckbc0               at isa?                 # pc keyboard controller
> ---
>> pckbc0                at isa?                 # pc keyboard controller
> 
> 
> So, what's wrong with how the pckbc(4) driver talks to acpi(4)?  Would
> it help anyone else figure that out if I built a kernel with ACPI_DEBUG
> and posted the results?  Maybe the KB controller needs
> ACPI_ACTIVATE_DEV?
> 
> 
> FYI this is one of those newer 1U IBM xSeries 336 servers (type 8837).
> It really flies with those CPUs, but I wish I had time to get the SMBus
> controller working or whatever to get it to have good support for
> envstat, etc.
> 
> 
>>> NetBSD/i386 BIOS Boot, Revision 3.2
>>> (woods@becoming, Tue May  9 15:15:13 EDT 2006)
>>> Memory: 629/151026688 k
> Press return to boot now, any other key for boot menu
> booting hd0a:netbsd - starting in 0 
> type "?" or "help" for help.
>> boot netbsd-GENERIC.MPACPIISA.1
> booting hd0a:netbsd-GENERIC.MPACPIISA.1
> 7903424+159204+366192 [405760+375507]=0x8ca354
> WARNING: skipping large memory map entry: 0x100000000/0x28000000/0x1
> kenter: 0x00001000
> acpi: wakecode is installed at 0x1000, size=328
> Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
>     The NetBSD Foundation, Inc.  All rights reserved.
> Copyright (c) 1982, 1986, 1989, 1991, 1993
>     The Regents of the University of California.  All rights reserved.
> 
> NetBSD 3.0_STABLE (GENERIC.MPACPIISA) #1: Tue May 23 17:21:15 EDT 2006
>         woods@becoming:/home/woods/becoming/netbsd-3-i386-i386-ppro-obj/building/work/woods/m-NetBSD-3/sys/arch/i386/compile/GENERIC.MPACPIISA
> total memory = 3455 MB
> avail memory = 3372 MB
> BIOS32 rev. 0 found at 0xfd6f1
> mainbus0 (root)
> cpu0 at mainbus0: apid 0 (boot processor)
> cpu0: Intel (686-class), 3000.26 MHz, id 0xf43
> cpu0: features bfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
> cpu0: features bfebfbff<PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX>
> cpu0: features bfebfbff<FXSR,SSE,SSE2,SS,HTT,TM,SBF>
> cpu0: features2 641d<SSE3,MONITOR,DS-CPL,CID,xTPR>
> cpu0: features3 20100000<EM64T>
> cpu0: "Intel(R) Xeon(TM) CPU 3.00GHz"
> cpu0: I-cache 12K uOp cache 8-way
> cpu0: L2 cache 2 MB 64B/line 8-way
> cpu0: ITLB 4K/4M: 128 entries
> cpu0: DTLB 4K/4M: 64 entries
> cpu0: using thermal monitor 1
> cpu0: calibrating local timer
> cpu0: apic clock running at 200 MHz
> cpu0: 64 page colors
> cpu1 at mainbus0: apid 6 (application processor)
> cpu1: starting
> cpu1: Intel (686-class), 3000.12 MHz, id 0xf43
> cpu1: features bfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
> cpu1: features bfebfbff<PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX>
> cpu1: features bfebfbff<FXSR,SSE,SSE2,SS,HTT,TM,SBF>
> cpu1: features2 641d<SSE3,MONITOR,DS-CPL,CID,xTPR>
> cpu1: features3 20100000<EM64T>
> cpu1: "Intel(R) Xeon(TM) CPU 3.00GHz"
> cpu1: I-cache 12K uOp cache 8-way
> cpu1: L2 cache 2 MB 64B/line 8-way
> cpu1: ITLB 4K/4M: 128 entries
> cpu1: DTLB 4K/4M: 64 entries
> cpu1: using thermal monitor 1
> ioapic0 at mainbus0 apid 14 (I/O APIC)
> ioapic0: pa 0xfec00000, version 20, 24 pins
> ioapic1 at mainbus0 apid 13 (I/O APIC)
> ioapic1: pa 0xfec82000, version 20, 24 pins
> ioapic2 at mainbus0 apid 12 (I/O APIC)
> ioapic2: pa 0xfec82400, version 20, 24 pins
> acpi0 at mainbus0
> acpi0: using Intel ACPI CA subsystem version 20040211
> acpi0: X/RSDT: OemId <IBM   ,SERONYXP,00001001>, AslId <IBM ,45444f43>
> acpi0: SCI interrupting at int 9
> acpi0: fixed-feature power button present
> ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
> ACPI Object Type 'Processor' (0x0c) at acpi0 not configured
> PNP0A08 at acpi0 not configured
> PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configured
> PNP0303 [IBM Enhanced (101/102-key, PS/2 mouse support)] at acpi0 not configured
> PNP0F13 [PS/2 Port for PS/2-style Mice] at acpi0 not configured
> com0 at acpi0 (PNP0501-2)
> com0: io 0x3f8-0x3ff irq 4
> com: ns16550a, working fifo
> com0: console
> PNP0000 [AT Interrupt Controller] at acpi0 not configured
> PNP0003 [APIC] at acpi0 not configured
> PNP0003 [APIC] at acpi0 not configured
> PNP0003 [APIC] at acpi0 not configured
> PNP0200 [AT DMA Controller] at acpi0 not configured
> PNP0100 [AT Timer] at acpi0 not configured
> PNP0B00 [AT Real-Time Clock] at acpi0 not configured
> PNP0800 [AT-style speaker sound] at acpi0 not configured
> npx0 at acpi0 (PNP0C04)
> npx0: io 0xf0-0xff irq 13
> npx0: using exception 16
> PNP0C02 [Plug and Play motherboard register resources] at acpi0 not configured
> pci0 at mainbus0 bus 0: configuration mode 1
> pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
> pchb0 at pci0 dev 0 function 0
> pchb0: Intel product 0x3590 (rev. 0x0c)
> Intel product 0x3591 (undefined subclass 0x00, revision 0x0c) at pci0 dev 0 function 1 not configured
> ppb0 at pci0 dev 2 function 0: Intel product 0x3595 (rev. 0x0c)
> pci1 at ppb0 bus 2
> pci1: i/o space, memory space enabled, rd/line, wr/inv ok
> ppb1 at pci0 dev 4 function 0: Intel product 0x3597 (rev. 0x0c)
> pci2 at ppb1 bus 3
> pci2: i/o space, memory space enabled, rd/line, wr/inv ok
> ppb2 at pci2 dev 0 function 0: Intel product 0x0329 (rev. 0x09)
> pci3 at ppb2 bus 4
> pci3: i/o space, memory space enabled, rd/line, wr/inv ok
> mpt0 at pci3 dev 1 function 0: LSI Logic 53c1030 Ultra320 SCSI
> mpt0: interrupting at ioapic1 pin 4 (irq 11)
> scsibus0 at mpt0: 16 targets, 8 luns pehci0 at pci0 dev 29 function 7: Intel 82801EB/ER USB EHCI Controller (rev. 0x02)
> ehci0: interrupting at ioapic0 pin 23 (irq 5)
> ehci0: BIOS has given up ownership
> ehci0: EHCI version 1.0
> ehci0: companion controllers, 2 ports each: uhci0 uhci1
> usb2 at ehci0: USB revision 2.0
> uhub2 at usb2
> uhub2: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
> uhub2: single transaction translator
> uhub2: 4 ports with 4 removable, self powered
> ppb6 at pci0 dev 30 function 0: Intel 82801BA Hub-PCI Bridge (rev. 0xc2)
> pci7 at ppb6 bus 1
> pci7: i/o space, memory space enabled
> vga0 at pci7 dev 1 function 0: ATI Technologies Radeon 7000/VE (rev. 0x00)
> wsdisplay0 at vga0 kbdmux 1
> wsmux1: connecting to wsdisplay0
> pcib0 at pci0 dev 31 function 0
> pcib0: Intel 82801EB LPC Interface Bridge (rev. 0x02)
> piixide0 at pci0 dev 31 function 2
> piixide0: Intel 82801EB Serial ATA Controller (rev. 0x02)
> piixide0: bus-master DMA support present
> piixide0: primary channel configured to compatibility mode
> piixide0: primary channel interrupting at ioapic0 pin 14 (irq 14)
> atabus0 at piixide0 channel 0
> piixide0: secondary channel configured to compatibility mode
> piixide0: secondary channel interrupting at ioapic0 pin 15 (irq 15)
> atabus1 at piixide0 channel 1
> Intel 82801EB/ER SMBus Controller (SMBus serial bus, revision 0x02) at pci0 dev 31 function 3 not configured
> isa0 at pcib0
> pckbc0 at isa0 port 0x60-0x64
> pckbd0 at pckbc0 (kbd slot)
> pckbc0: using irq 1 for kbd slot
> wskbd0 at pckbd0 mux 1
> wskbd0: connecting to wsdisplay0
> pcppi0 at isa0 port 0x61
> midi0 at pcppi0: PC speaker
> sysbeep0 at pcppi0
> isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
> isapnp0: no ISA Plug 'n Play devices found
> ioapic0: enabling
> ioapic1: enabling
> ioapic2: enabling
> Kernelized RAIDframe activated
> scsibus0: waiting 2 seconds for devices to settle...
> atapibus0 at atabus0: 2 targets
> cd0 at atapibus0 drive 0: <HL-DT-STCD-RW/DVD DRIVE GCC-4246N, , 0Y03> cdrom removable
> cd0: 32-bit data port
> cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
> cd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
> sd0 at scsibus0 target 0 lun 0: <IBM-ESXS, VPR073C3-ETS10FN, S3CD> disk fixed
> sd0: 70006 MB, 41991 cyl, 5 head, 682 sec, 512 bytes/sect x 143374000 sectors
> sd0: sync (6.25ns offset 127), 16-bit (320.000MB/s) transfers, tagged queueing
> sd1 at scsibus0 target 1 lun 0: <IBM-ESXS, MAX3073NC     FN, CA06> disk fixed
> sd1: 70006 MB, 49158 cyl, 4 head, 729 sec, 512 bytes/sect x 143374000 sectors
> sd1: sync (6.25ns offset 127), 16-bit (320.000MB/s) transfers, tagged queueing
> ses0 at scsibus0 target 8 lun 0: <IBM, 25P3495a S320  1, 1> processor fixed
> ses0: SAF-TE Compliant Device
> ses0: async, 8-bit transfers
> boot device: sd0
> root on sd0a dumps on sd0b
> root file system type: ffs
> cpu1: CPU 6 running
> 


I'm using pckbc at apci:
$ dmesg |grep pckbc
pckbc0 at acpi0 (PNP0303): kbd port
pckbc0: io 0x60,0x64 irq 1
pckbc1 at acpi0 (PNP0F13): aux port
pckbc1: irq 12
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot

My kernel config has:

acpi0           at mainbus0

#options        ACPI_ACTIVATE_DEV       # If set, activate inactive devices
pckbc*          at acpi?                # PC keyboard controller
##pckbc0                at isa?                 # pc keyboard controller



-- 
John R. Shannon, CISSP
john@johnrshannon.com
jshannon@dsci-usa.com
john.r.shannon@us.army.mil
shannonjr@NetBSD.org