From nobody@FreeBSD.org  Thu Dec 13 09:39:45 2012
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 617E567E
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Dec 2012 09:39:45 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id 48EC58FC15
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Dec 2012 09:39:45 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id qBD9disA079194
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 13 Dec 2012 09:39:44 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id qBD9diaw079193;
	Thu, 13 Dec 2012 09:39:44 GMT
	(envelope-from nobody)
Message-Id: <201212130939.qBD9diaw079193@red.freebsd.org>
Date: Thu, 13 Dec 2012 09:39:44 GMT
From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: freebsd-gnats-submit@FreeBSD.org
Subject: stopping during resume caused by io_apic.c change(r243764) 
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         174409
>Category:       amd64
>Synopsis:       [suspend/resume] stopping during resume caused by io_apic.c change(r243764)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    avg
>State:          patched
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Dec 13 09:40:00 UTC 2012
>Closed-Date:    
>Last-Modified:  Tue Apr 22 05:31:28 UTC 2014
>Originator:     KAHO Toshikazu
>Release:        10.0-current
>Organization:
>Environment:
FreeBSD bansidhe.pf2.ed.niigata-u.ac.jp 10.0-CURRENT FreeBSD 10.0-CURRENT #8 r243763: Thu Dec 13 17:00:02 JST 2012     root@bansidhe.pf2.ed.niigata-u.ac.jp:/usr/obj/usr/src/sys/BANSIDHE  amd64
>Description:
The Machine is Acer AO752. acpi s3 sleep is usable before r243763,
but the machine freeze during resume after r243764.

>How-To-Repeat:
After r243764, suspend with `acpiconf -s 3`,
then hit any key or press power button.
>Fix:
revert the change of r243764.


>Release-Note:
>Audit-Trail:

From: Andriy Gapon <avg@FreeBSD.org>
To: bug-followup@FreeBSD.org, kaho@elam.kais.kyoto-u.ac.jp
Cc:  
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Fri, 14 Dec 2012 18:46:53 +0200

 Could you please provide unabridged verbose dmesg from this system?
 
 -- 
 Andriy Gapon

From: Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Mon, 17 Dec 2012 20:59:32 +0900

   Hello, and sorry for delay reply.
 
 > Could you please provide unabridged verbose dmesg from this system?
 
 unload ehci.ko and uhci.ko in /etc/rc.suspend and
 load ehci.ko and uhci.ko in /etc/rc.resume.
 
 Some modules load after boot using kld_list in rc.conf:
 kld_list="miibus if_iwn usb usb_quirk ehci uhci ichsmb iic smbus
  iicsmb smb snd_hda coretemp ng_ubt vkbd cuse4bsd wlan_amrr
  wlan_ccmp wlan_tkip wlan_wep linux"
 
 -- dmesg --
 Table 'FACP' at 0xb9ff4000
 Table 'DMAR' at 0xb9ff5000
 Table 'HPET' at 0xb9ff3000
 Table 'APIC' at 0xb9ff2000
 APIC: Found table at 0xb9ff2000
 APIC: Using the MADT enumerator.
 MADT: Found CPU APIC ID 0 ACPI ID 1: enabled
 SMP: Added CPU 0 (AP)
 MADT: Found CPU APIC ID 1 ACPI ID 2: enabled
 SMP: Added CPU 1 (AP)
 MADT: Found CPU APIC ID 0 ACPI ID 3: disabled
 MADT: Found CPU APIC ID 0 ACPI ID 4: disabled
 Copyright (c) 1992-2012 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
 	The Regents of the University of California. All rights reserved.
 FreeBSD is a registered trademark of The FreeBSD Foundation.
 FreeBSD 10.0-CURRENT #9 r243763:244180: Thu Dec 13 18:24:35 JST 2012
     root@bansidhe.pf2.ed.niigata-u.ac.jp:/usr/obj/usr/src/sys/BANSIDHE amd64
 Preloaded elf kernel "/boot/kernel/kernel" at 0xffffffff80adf000.
 Preloaded elf obj module "/boot/kernel/miibus.ko" at 0xffffffff80adf288.
 Preloaded elf obj module "/boot/kernel/agp.ko" at 0xffffffff80adf830.
 Preloaded elf obj module "/boot/kernel/ahci.ko" at 0xffffffff80adfe18.
 Preloaded elf obj module "/boot/kernel/cpufreq.ko" at 0xffffffff80ae0400.
 Preloaded elf obj module "/boot/kernel/kbdmux.ko" at 0xffffffff80ae09e8.
 Preloaded elf obj module "/boot/kernel/acpi_wmi.ko" at 0xffffffff80ae1050.
 Preloaded elf obj module "/boot/kernel/hwpmc.ko" at 0xffffffff80ae1680.
 CPU: Genuine Intel(R) CPU           U2300  @ 1.20GHz (K8-class CPU)
   Origin = "GenuineIntel"  Id = 0x1067a  Family = 0x6  Model = 0x17  Stepping = 10
   Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
   Features2=0xc00e3bd<SSE3,DTES64,MON,DS_CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,XSAVE,OSXSAVE>
   AMD Features=0x20100800<SYSCALL,NX,LM>
   AMD Features2=0x1<LAHF>
 real memory  = 4294967296 (4096 MB)
 Physical memory chunk(s):
 0x0000000000010000 - 0x0000000000099fff, 565248 bytes (138 pages)
 0x0000000000100000 - 0x00000000001fffff, 1048576 bytes (256 pages)
 0x0000000000b11000 - 0x00000000b07d0fff, 2949382144 bytes (720064 pages)
 0x00000000b9ebf000 - 0x00000000b9f7ffff, 790528 bytes (193 pages)
 0x00000000b9fbf000 - 0x00000000b9fe1fff, 143360 bytes (35 pages)
 0x00000000b9ff7000 - 0x00000000b9ffffff, 36864 bytes (9 pages)
 0x0000000100000000 - 0x000000013ffe7fff, 1073643520 bytes (262120 pages)
 avail memory = 3986374656 (3801 MB)
 Event timer "LAPIC" quality 400
 ACPI APIC Table: <ACRSYS ACRPRDCT>
 INTR: Adding local APIC 1 as a target
 FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 FreeBSD/SMP: 1 package(s) x 2 core(s)
  cpu0 (BSP): APIC ID:  0
  cpu1 (AP): APIC ID:  1
 x86bios:  IVT 0x000000-0x0004ff at 0xfffffe0000000000
 x86bios: SSEG 0x098000-0x098fff at 0xffffff8000216000
 x86bios: EBDA 0x09e000-0x09ffff at 0xfffffe000009e000
 x86bios:  ROM 0x0a0000-0x0fefff at 0xfffffe00000a0000
 APIC: CPU 0 has ACPI ID 1
 APIC: CPU 1 has ACPI ID 2
 ULE: setup cpu 0
 ULE: setup cpu 1
 ACPI: RSDP 0xfe020 00024 (v02 ACRSYS)
 ACPI: XSDT 0xb9ff6120 0006C (v01 ACRSYS ACRPRDCT 00000001      01000013)
 ACPI: FACP 0xb9ff4000 000F4 (v04 ACRSYS ACRPRDCT 00000001 1025 01000013)
 ACPI: DSDT 0xb9fe8000 073EA (v01 ACRSYS ACRPRDCT 00000001 1025 01000013)
 ACPI: FACS 0xb9f8d000 00040
 ACPI: DMAR 0xb9ff5000 00068 (v01               ? 00000001      00000000)
 ACPI: HPET 0xb9ff3000 00038 (v01 ACRSYS ACRPRDCT 00000001 1025 01000013)
 ACPI: APIC 0xb9ff2000 0006C (v02 ACRSYS ACRPRDCT 00000001 1025 01000013)
 ACPI: MCFG 0xb9ff1000 0003C (v01 ACRSYS ACRPRDCT 00000001 1025 01000013)
 ACPI: ASF! 0xb9ff0000 000A5 (v32 ACRSYS ACRPRDCT 00000001 1025 01000013)
 ACPI: SLIC 0xb9fe7000 00176 (v01 ACRSYS ACRPRDCT 00000001 1025 01000013)
 ACPI: BOOT 0xb9fe6000 00028 (v01 ACRSYS ACRPRDCT 00000001 1025 01000013)
 ACPI: SSDT 0xb9fe2000 00655 (v01  PmRef    CpuPm 00003000 INTL 20051117)
 MADT: Found IO APIC ID 4, Interrupt 0 at 0xfec00000
 ioapic0: Changing APIC ID to 4
 ioapic0: Routing external 8259A's -> intpin 0
 MADT: Interrupt override: source 0, irq 2
 ioapic0: Routing IRQ 0 -> intpin 2
 MADT: Interrupt override: source 9, irq 9
 ioapic0: intpin 9 trigger: level
 ioapic0 <Version 2.0> irqs 0-23 on motherboard
 cpu0 BSP:
      ID: 0x00000000   VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff
   lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff
   timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400
 random: <entropy source, Software, Yarrow>
 mem: <memory>
 null: <null device, zero device>
 kbd: new array size 4
 kbd1 at kbdmux0
 VESA: INT 0x10 vector 0xc000:0x0014
 VESA: information block
 0000   56 45 53 41 00 03 00 01 00 99 01 00 00 00 40 00
 0010   00 99 ff 03 00 01 33 01 00 99 45 01 00 99 69 01
 0020   00 99 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0030   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0040   60 01 61 01 62 01 63 01 64 01 65 01 66 01 67 01
 0050   68 01 69 01 6a 01 6b 01 6c 01 6d 01 6e 01 6f 01
 0060   70 01 71 01 3c 01 4d 01 5c 01 3a 01 4b 01 5a 01
 0070   07 01 1a 01 1b 01 05 01 17 01 18 01 12 01 14 01
 0080   15 01 01 01 03 01 11 01 ff ff 00 00 00 00 00 00
 0090   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00a0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00b0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00c0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00d0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00e0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 00f0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0100   49 6e 74 65 6c 28 72 29 43 61 6e 74 69 67 61 20
 0110   47 72 61 70 68 69 63 73 20 43 68 69 70 20 41 63
 0120   63 65 6c 65 72 61 74 65 64 20 56 47 41 20 42 49
 0130   4f 53 00 49 6e 74 65 6c 20 43 6f 72 70 6f 72 61
 0140   74 69 6f 6e 00 49 6e 74 65 6c 28 72 29 43 61 6e
 0150   74 69 67 61 20 47 72 61 70 68 69 63 73 20 43 6f
 0160   6e 74 72 6f 6c 6c 65 72 00 48 61 72 64 77 61 72
 0170   65 20 56 65 72 73 69 6f 6e 20 30 2e 30 00 00 00
 0180   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 0190   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 01a0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 01b0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 01c0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 01d0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 01e0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 01f0   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 VESA: 9 mode(s) found
 VESA: v3.0, 65472k memory, flags:0x1, mode table:0xffffff8000258040 (99000040)
 VESA: Intel(r)Cantiga Graphics Chip Accelerated VGA BIOS
 VESA: Intel Corporation Intel(r)Cantiga Graphics Controller Hardware Version 0.0
 io: <I/O>
 ctl: CAM Target Layer loaded
 acpi0: <ACRSYS ACRPRDCT> on motherboard
 acpi0: installed _OSI("Linux")
 PCIe: Memory Mapped configuration base @ 0xf8000000
 ioapic0: routing intpin 9 (ISA IRQ 9) to lapic 0 vector 48
 ACPI: Executed 1 blocks of module-level executable AML code
 acpi0: Power Button (fixed)
 cpu0: Processor \\_PR_.CPU0 (ACPI ID 1) -> APIC ID 0
 cpu0: <ACPI CPU> on acpi0
 ACPI: SSDT 0xb9e6fe18 0019F (v01  PmRef  Cpu0Ist 00003000 INTL 20051117)
 ACPI: Dynamic OEM Table Load:
 ACPI: SSDT 0 0019F (v01  PmRef  Cpu0Ist 00003000 INTL 20051117)
 ACPI: SSDT 0xb9e6e598 00537 (v01  PmRef  Cpu0Cst 00003001 INTL 20051117)
 ACPI: Dynamic OEM Table Load:
 ACPI: SSDT 0 00537 (v01  PmRef  Cpu0Cst 00003001 INTL 20051117)
 cpu1: Processor \\_PR_.CPU1 (ACPI ID 2) -> APIC ID 1
 cpu1: <ACPI CPU> on acpi0
 ACPI: SSDT 0xb9e6fc18 001CF (v01  PmRef    ApIst 00003000 INTL 20051117)
 ACPI: Dynamic OEM Table Load:
 ACPI: SSDT 0 001CF (v01  PmRef    ApIst 00003000 INTL 20051117)
 ACPI: SSDT 0xb9e6df18 0008D (v01  PmRef    ApCst 00003000 INTL 20051117)
 ACPI: Dynamic OEM Table Load:
 ACPI: SSDT 0 0008D (v01  PmRef    ApCst 00003000 INTL 20051117)
 ACPI: Processor \\_PR_.CPU2 (ACPI ID 3) ignored
 ACPI: Processor \\_PR_.CPU3 (ACPI ID 4) ignored
 atrtc0: <AT realtime clock> port 0x70-0x77 on acpi0
 atrtc0: Warning: Couldn't map I/O.
 atrtc0: registered as a time-of-day clock (resolution 1000000us, adjustment 0.500000000s)
 ioapic0: routing intpin 8 (ISA IRQ 8) to lapic 0 vector 49
 Event timer "RTC" frequency 32768 Hz quality 0
 hpet0: <High Precision Event Timer> iomem 0xfed00000-0xfed003ff irq 0,8 on acpi0
 hpet0: vendor 0x8086, rev 0x1, 14318180Hz 64bit, 4 timers, legacy route
 hpet0:  t0: irqs 0x00f00000 (0), 64bit, periodic
 hpet0:  t1: irqs 0x00f00000 (0)
 hpet0:  t2: irqs 0x00f00800 (0)
 hpet0:  t3: irqs 0x00f01000 (0)
 Timecounter "HPET" frequency 14318180 Hz quality 950
 ioapic0: routing intpin 20 (PCI IRQ 20) to lapic 0 vector 50
 Event timer "HPET" frequency 14318180 Hz quality 450
 Event timer "HPET1" frequency 14318180 Hz quality 440
 Event timer "HPET2" frequency 14318180 Hz quality 440
 Event timer "HPET3" frequency 14318180 Hz quality 440
 attimer0: <AT timer> port 0x40-0x43,0x50-0x53 on acpi0
 Timecounter "i8254" frequency 1193182 Hz quality 0
 ioapic0: routing intpin 2 (ISA IRQ 0) to lapic 0 vector 51
 Event timer "i8254" frequency 1193182 Hz quality 100
 ACPI timer: 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 1/3 -> 10
 Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x408-0x40b on acpi0
 acpi_ec0: <Embedded Controller: GPE 0x18> port 0x62,0x66 on acpi0
 pci_link0:        Index  IRQ  Rtd  Ref  IRQs
   Initial Probe       0   11   N     0  3 4 5 7 9 10 11 12
   Validation          0   11   N     0  3 4 5 7 9 10 11 12
   After Disable       0  255   N     0  3 4 5 7 9 10 11 12
 pci_link1:        Index  IRQ  Rtd  Ref  IRQs
   Initial Probe       0   11   N     0  3 4 5 7 9 10 11 12
   Validation          0   11   N     0  3 4 5 7 9 10 11 12
   After Disable       0  255   N     0  3 4 5 7 9 10 11 12
 pci_link2:        Index  IRQ  Rtd  Ref  IRQs
   Initial Probe       0   11   N     0  3 4 5 7 9 10 11 12
   Validation          0   11   N     0  3 4 5 7 9 10 11 12
   After Disable       0  255   N     0  3 4 5 7 9 10 11 12
 pci_link3:        Index  IRQ  Rtd  Ref  IRQs
   Initial Probe       0   10   N     0  3 4 5 7 9 10 11 12
   Validation          0   10   N     0  3 4 5 7 9 10 11 12
   After Disable       0  255   N     0  3 4 5 7 9 10 11 12
 pci_link4:        Index  IRQ  Rtd  Ref  IRQs
   Initial Probe       0  255   N     0  3 4 5 7 9 10 11 12
   Validation          0  255   N     0  3 4 5 7 9 10 11 12
   After Disable       0  255   N     0  3 4 5 7 9 10 11 12
 pci_link5:        Index  IRQ  Rtd  Ref  IRQs
   Initial Probe       0  255   N     0  3 4 5 7 9 10 11 12
   Validation          0  255   N     0  3 4 5 7 9 10 11 12
   After Disable       0  255   N     0  3 4 5 7 9 10 11 12
 pci_link6:        Index  IRQ  Rtd  Ref  IRQs
   Initial Probe       0   11   N     0  3 4 5 7 9 10 11 12
   Validation          0   11   N     0  3 4 5 7 9 10 11 12
   After Disable       0  255   N     0  3 4 5 7 9 10 11 12
 pci_link7:        Index  IRQ  Rtd  Ref  IRQs
   Initial Probe       0   11   N     0  3 4 5 7 9 10 11 12
   Validation          0   11   N     0  3 4 5 7 9 10 11 12
   After Disable       0  255   N     0  3 4 5 7 9 10 11 12
 acpi_button0: <Power Button> on acpi0
 acpi_lid0: <Control Method Lid Switch> on acpi0
 acpi_button1: <Sleep Button> on acpi0
 battery0: <ACPI Control Method Battery> on acpi0
 acpi_acad0: <AC Adapter> on acpi0
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 pcib0: decoding 4 range 0-0xcf7
 pcib0: decoding 4 range 0xd00-0xffff
 pcib0: decoding 3 range 0xa0000-0xbffff
 pcib0: decoding 3 range 0xc0000000-0xfebfffff
 pci0: <ACPI PCI bus> on pcib0
 pci0: domain=0, physical bus=0
 found->	vendor=0x8086, dev=0x2a40, revid=0x07
 	domain=0, bus=0, slot=0, func=0
 	class=06-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x2090, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x8086, dev=0x2a42, revid=0x07
 	domain=0, bus=0, slot=2, func=0
 	class=03-00-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message
 	map[10]: type Memory, range 64, base 0xd0000000, size 22, enabled
 pcib0: allocated type 3 (0xd0000000-0xd03fffff) for rid 10 of pci0:0:2:0
 	map[18]: type Prefetchable Memory, range 64, base 0xc0000000, size 28, enabled
 pcib0: allocated type 3 (0xc0000000-0xcfffffff) for rid 18 of pci0:0:2:0
 	map[20]: type I/O Port, range 32, base 0x30d0, size  3, enabled
 pcib0: allocated type 4 (0x30d0-0x30d7) for rid 20 of pci0:0:2:0
 pcib0: matched entry for 0.2.INTA
 pcib0: slot 2 INTA hardwired to IRQ 16
 found->	vendor=0x8086, dev=0x2a43, revid=0x07
 	domain=0, bus=0, slot=2, func=1
 	class=03-80-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	powerspec 3  supports D0 D3  current D0
 	map[10]: type Memory, range 64, base 0xd2400000, size 20, enabled
 pcib0: allocated type 3 (0xd2400000-0xd24fffff) for rid 10 of pci0:0:2:1
 found->	vendor=0x8086, dev=0x2937, revid=0x03
 	domain=0, bus=0, slot=26, func=0
 	class=0c-03-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	map[20]: type I/O Port, range 32, base 0x30a0, size  5, enabled
 pcib0: allocated type 4 (0x30a0-0x30bf) for rid 20 of pci0:0:26:0
 pcib0: matched entry for 0.26.INTA
 pcib0: slot 26 INTA hardwired to IRQ 16
 found->	vendor=0x8086, dev=0x293c, revid=0x03
 	domain=0, bus=0, slot=26, func=7
 	class=0c-03-20, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=10
 	powerspec 2  supports D0 D3  current D0
 	map[10]: type Memory, range 32, base 0xd4504c00, size 10, enabled
 pcib0: allocated type 3 (0xd4504c00-0xd4504fff) for rid 10 of pci0:0:26:7
 pcib0: matched entry for 0.26.INTD
 pcib0: slot 26 INTD hardwired to IRQ 19
 ehci early: SMM active, request owner change
 found->	vendor=0x8086, dev=0x293e, revid=0x03
 	domain=0, bus=0, slot=27, func=0
 	class=04-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	powerspec 2  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 	map[10]: type Memory, range 64, base 0xd4500000, size 14, enabled
 pcib0: allocated type 3 (0xd4500000-0xd4503fff) for rid 10 of pci0:0:27:0
 pcib0: matched entry for 0.27.INTA
 pcib0: slot 27 INTA hardwired to IRQ 22
 found->	vendor=0x8086, dev=0x2940, revid=0x03
 	domain=0, bus=0, slot=28, func=0
 	class=06-04-00, hdrtype=0x01, mfdev=1
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=255
 	powerspec 2  supports D0 D3  current D0
 	MSI supports 1 message
 found->	vendor=0x8086, dev=0x2946, revid=0x03
 	domain=0, bus=0, slot=28, func=3
 	class=06-04-00, hdrtype=0x01, mfdev=1
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=255
 	powerspec 2  supports D0 D3  current D0
 	MSI supports 1 message
 found->	vendor=0x8086, dev=0x2934, revid=0x03
 	domain=0, bus=0, slot=29, func=0
 	class=0c-03-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	map[20]: type I/O Port, range 32, base 0x3080, size  5, enabled
 pcib0: allocated type 4 (0x3080-0x309f) for rid 20 of pci0:0:29:0
 pcib0: matched entry for 0.29.INTA
 pcib0: slot 29 INTA hardwired to IRQ 23
 found->	vendor=0x8086, dev=0x2935, revid=0x03
 	domain=0, bus=0, slot=29, func=1
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=b, irq=10
 	map[20]: type I/O Port, range 32, base 0x3060, size  5, enabled
 pcib0: allocated type 4 (0x3060-0x307f) for rid 20 of pci0:0:29:1
 pcib0: matched entry for 0.29.INTB
 pcib0: slot 29 INTB hardwired to IRQ 19
 found->	vendor=0x8086, dev=0x2936, revid=0x03
 	domain=0, bus=0, slot=29, func=2
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=11
 	map[20]: type I/O Port, range 32, base 0x3040, size  5, enabled
 pcib0: allocated type 4 (0x3040-0x305f) for rid 20 of pci0:0:29:2
 pcib0: matched entry for 0.29.INTD
 pcib0: slot 29 INTD hardwired to IRQ 16
 found->	vendor=0x8086, dev=0x293a, revid=0x03
 	domain=0, bus=0, slot=29, func=7
 	class=0c-03-20, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	powerspec 2  supports D0 D3  current D0
 	map[10]: type Memory, range 32, base 0xd4504800, size 10, enabled
 pcib0: allocated type 3 (0xd4504800-0xd4504bff) for rid 10 of pci0:0:29:7
 pcib0: matched entry for 0.29.INTA
 pcib0: slot 29 INTA hardwired to IRQ 23
 ehci early: SMM active, request owner change
 found->	vendor=0x8086, dev=0x2448, revid=0x93
 	domain=0, bus=0, slot=30, func=0
 	class=06-04-01, hdrtype=0x01, mfdev=0
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x8086, dev=0x2917, revid=0x03
 	domain=0, bus=0, slot=31, func=0
 	class=06-01-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x8086, dev=0x2929, revid=0x03
 	domain=0, bus=0, slot=31, func=2
 	class=01-06-01, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x02b0, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=b, irq=10
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 16 messages
 	map[10]: type I/O Port, range 32, base 0x30c8, size  3, enabled
 pcib0: allocated type 4 (0x30c8-0x30cf) for rid 10 of pci0:0:31:2
 	map[14]: type I/O Port, range 32, base 0x30dc, size  2, enabled
 pcib0: allocated type 4 (0x30dc-0x30df) for rid 14 of pci0:0:31:2
 	map[18]: type I/O Port, range 32, base 0x30c0, size  3, enabled
 pcib0: allocated type 4 (0x30c0-0x30c7) for rid 18 of pci0:0:31:2
 	map[1c]: type I/O Port, range 32, base 0x30d8, size  2, enabled
 pcib0: allocated type 4 (0x30d8-0x30db) for rid 1c of pci0:0:31:2
 	map[20]: type I/O Port, range 32, base 0x3020, size  5, enabled
 pcib0: allocated type 4 (0x3020-0x303f) for rid 20 of pci0:0:31:2
 	map[24]: type Memory, range 32, base 0xd4504000, size 11, enabled
 pcib0: allocated type 3 (0xd4504000-0xd45047ff) for rid 24 of pci0:0:31:2
 pcib0: matched entry for 0.31.INTB
 pcib0: slot 31 INTB hardwired to IRQ 19
 found->	vendor=0x8086, dev=0x2930, revid=0x03
 	domain=0, bus=0, slot=31, func=3
 	class=0c-05-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0003, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=c, irq=11
 	map[10]: type Memory, range 64, base 0xd4505000, size  8, enabled
 pcib0: allocated type 3 (0xd4505000-0xd45050ff) for rid 10 of pci0:0:31:3
 	map[20]: type I/O Port, range 32, base 0x3000, size  5, enabled
 pcib0: allocated type 4 (0x3000-0x301f) for rid 20 of pci0:0:31:3
 pcib0: matched entry for 0.31.INTC
 pcib0: slot 31 INTC hardwired to IRQ 18
 vgapci0: <VGA-compatible display> port 0x30d0-0x30d7 mem 0xd0000000-0xd03fffff,0xc0000000-0xcfffffff irq 16 at device 2.0 on pci0
 agp0: <Intel GM45 SVGA controller> on vgapci0
 pcib0: allocated type 3 (0xd0400000-0xd0400fff) for rid 64 of agp0
 agp0: Allocated flush page phys 0xd0400000 virt 0xfffffe00d0400000
 agp0: aperture size is 256M, detected 65532k stolen memory
 agp0: AGP_I965_PGTBL_CTL2: 00000000
 agp0: AGP_I855_GCC1: 0x70
 agp0: AGP_I965_MSAC: 0x00
 agp0: Mappable GTT entries: 65536
 agp0: Total GTT entries: 524288
 vgapci1: <VGA-compatible display> mem 0xd2400000-0xd24fffff at device 2.1 on pci0
 pci0: <serial bus, USB> at device 26.0 (no driver attached)
 pci0: <serial bus, USB> at device 26.7 (no driver attached)
 pci0: <multimedia, HDA> at device 27.0 (no driver attached)
 pcib1: <ACPI PCI-PCI bridge> at device 28.0 on pci0
 pcib0: allocated type 4 (0x2000-0x2fff) for rid 1c of pcib1
 pcib0: allocated type 3 (0xd3500000-0xd44fffff) for rid 20 of pcib1
 pcib1: failed to allocate initial prefetch window: 0xd0400000-0xd13fffff
 pcib1:   domain            0
 pcib1:   secondary bus     1
 pcib1:   subordinate bus   1
 pcib1:   I/O decode        0x2000-0x2fff
 pcib1:   memory decode     0xd3500000-0xd44fffff
 pcib1:   no prefetched decode
 pci1: <ACPI PCI bus> on pcib1
 pci1: domain=0, physical bus=1
 found->	vendor=0x1969, dev=0x1063, revid=0xc0
 	domain=0, bus=1, slot=0, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 	map[10]: type Memory, range 64, base 0xd3500000, size 18, enabled
 pcib1: allocated memory range (0xd3500000-0xd353ffff) for rid 10 of pci0:1:0:0
 	map[18]: type I/O Port, range 32, base 0x2000, size  7, enabled
 pcib1: allocated I/O port range (0x2000-0x207f) for rid 18 of pci0:1:0:0
 pcib1: matched entry for 1.0.INTA
 pcib1: slot 0 INTA hardwired to IRQ 16
 pci1: <network, ethernet> at device 0.0 (no driver attached)
 pcib2: <ACPI PCI-PCI bridge> at device 28.3 on pci0
 pcib2: failed to allocate initial I/O port window: 0x1000-0x1fff
 pcib0: allocated type 3 (0xd2500000-0xd34fffff) for rid 20 of pcib2
 pcib0: allocated type 3 (0xd1400000-0xd23fffff) for rid 24 of pcib2
 pcib2:   domain            0
 pcib2:   secondary bus     2
 pcib2:   subordinate bus   2
 pcib2:   memory decode     0xd2500000-0xd34fffff
 pcib2:   prefetched decode 0xd1400000-0xd23fffff
 pci2: <ACPI PCI bus> on pcib2
 pci2: domain=0, physical bus=2
 found->	vendor=0x8086, dev=0x0083, revid=0x00
 	domain=0, bus=2, slot=0, func=0
 	class=02-80-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 	map[10]: type Memory, range 64, base 0xd2500000, size 13, enabled
 pcib2: allocated memory range (0xd2500000-0xd2501fff) for rid 10 of pci0:2:0:0
 pcib2: matched entry for 2.0.INTA
 pcib2: slot 0 INTA hardwired to IRQ 19
 pci2: <network> at device 0.0 (no driver attached)
 pci0: <serial bus, USB> at device 29.0 (no driver attached)
 pci0: <serial bus, USB> at device 29.1 (no driver attached)
 pci0: <serial bus, USB> at device 29.2 (no driver attached)
 pci0: <serial bus, USB> at device 29.7 (no driver attached)
 pcib3: <PCI-PCI bridge> at device 30.0 on pci0
 pcib3:   domain            0
 pcib3:   secondary bus     3
 pcib3:   subordinate bus   3
 pcib3:   no prefetched decode
 pcib3:   Subtractively decoded bridge.
 pci3: <PCI bus> on pcib3
 pci3: domain=0, physical bus=3
 isab0: <PCI-ISA bridge> at device 31.0 on pci0
 isa0: <ISA bus> on isab0
 ahci0: <Intel ICH9M AHCI SATA controller> port 0x30c8-0x30cf,0x30dc-0x30df,0x30c0-0x30c7,0x30d8-0x30db,0x3020-0x303f mem 0xd4504000-0xd45047ff irq 19 at device 31.2 on pci0
 ahci0: attempting to allocate 1 MSI vectors (16 supported)
 msi: routing MSI IRQ 256 to local APIC 0 vector 52
 ahci0: using IRQ 256 for MSI
 ahci0: AHCI v1.20 with 4 3Gbps ports, Port Multiplier supported
 ahci0: Caps: 64bit NCQ SNTF SS ALP AL 3Gbps PM PMD SSC PSC 32cmd CCC EM 4ports
 ahci0: Caps2:
 ahcich0: <AHCI channel> at channel 0 on ahci0
 ahcich0: Caps:
 ahcich1: <AHCI channel> at channel 1 on ahci0
 ahcich1: Caps:
 ahcich2: not probed (disabled)
 ahcich3: not probed (disabled)
 ahcich4: <AHCI channel> at channel 4 on ahci0
 ahcich4: Caps:
 ahcich5: <AHCI channel> at channel 5 on ahci0
 ahcich5: Caps:
 ahciem0: <AHCI enclosure management bridge> on ahci0
 ahciem0: Caps: ALHD XMT SMB LED
 pci0: <serial bus, SMBus> at device 31.3 (no driver attached)
 acpi_wmi0: <ACPI-WMI mapping> on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 atkbd: the current kbd controller command byte 0067
 atkbd: keyboard ID 0x41ab (2)
 kbd0 at atkbd0
 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
 ioapic0: routing intpin 1 (ISA IRQ 1) to lapic 0 vector 53
 atkbd0: [GIANT-LOCKED]
 psm0: unable to allocate IRQ
 psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
 psm0: current command byte:0067
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 ioapic0: routing intpin 12 (ISA IRQ 12) to lapic 0 vector 54
 psm0: [GIANT-LOCKED]
 psm0: model Synaptics Touchpad, device ID 0-00, 3 buttons
 psm0: config:00004000, flags:00000008, packet size:6
 psm0: syncmask:c0, syncbits:00
 acpi0: wakeup code va 0xffffff8115a69000 pa 0x94000
 pcib0: allocated type 3 (0xa0000-0xa07ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa0800-0xa0fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa1000-0xa17ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa1800-0xa1fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa2000-0xa27ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa2800-0xa2fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa3000-0xa37ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa3800-0xa3fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa4000-0xa47ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa4800-0xa4fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa5000-0xa57ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa5800-0xa5fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa6000-0xa67ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa6800-0xa6fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa7000-0xa77ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa7800-0xa7fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa8000-0xa87ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa8800-0xa8fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa9000-0xa97ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xa9800-0xa9fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xaa000-0xaa7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xaa800-0xaafff) for rid 0 of orm0
 pcib0: allocated type 3 (0xab000-0xab7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xab800-0xabfff) for rid 0 of orm0
 pcib0: allocated type 3 (0xac000-0xac7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xac800-0xacfff) for rid 0 of orm0
 pcib0: allocated type 3 (0xad000-0xad7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xad800-0xadfff) for rid 0 of orm0
 pcib0: allocated type 3 (0xae000-0xae7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xae800-0xaefff) for rid 0 of orm0
 pcib0: allocated type 3 (0xaf000-0xaf7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xaf800-0xaffff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb0000-0xb07ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb0800-0xb0fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb1000-0xb17ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb1800-0xb1fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb2000-0xb27ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb2800-0xb2fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb3000-0xb37ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb3800-0xb3fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb4000-0xb47ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb4800-0xb4fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb5000-0xb57ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb5800-0xb5fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb6000-0xb67ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb6800-0xb6fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb7000-0xb77ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb7800-0xb7fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb8000-0xb87ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb8800-0xb8fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb9000-0xb97ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xb9800-0xb9fff) for rid 0 of orm0
 pcib0: allocated type 3 (0xba000-0xba7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xba800-0xbafff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbb000-0xbb7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbb800-0xbbfff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbc000-0xbc7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbc800-0xbcfff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbd000-0xbd7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbd800-0xbdfff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbe000-0xbe7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbe800-0xbefff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbf000-0xbf7ff) for rid 0 of orm0
 pcib0: allocated type 3 (0xbf800-0xbffff) for rid 0 of orm0
 isa_probe_children: disabling PnP devices
 atkbdc: atkbdc0 already exists; skipping it
 atrtc: atrtc0 already exists; skipping it
 attimer: attimer0 already exists; skipping it
 sc: sc0 already exists; skipping it
 isa_probe_children: probing non-PnP devices
 orm0: <ISA Option ROM> at iomem 0xd0000-0xd0fff on isa0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 sc0: fb0, kbd1, terminal emulator: scteken (teken terminal)
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 pcib0: allocated type 4 (0x3c0-0x3df) for rid 0 of vga0
 pcib0: allocated type 3 (0xa0000-0xbffff) for rid 0 of vga0
 fdc0 failed to probe at port 0x3f0 irq 6 drq 2 on isa0
 ppc0 failed to probe at irq 7 on isa0
 uart0 failed to probe at port 0x3f8 irq 4 on isa0
 uart1 failed to probe at port 0x2f8 irq 3 on isa0
 wbwd0 failed to probe on isa0
 isa_probe_children: probing PnP devices
 est0: <Enhanced SpeedStep Frequency Control> on cpu0
 p4tcc0: <CPU Frequency Thermal Control> on cpu0
 est1: <Enhanced SpeedStep Frequency Control> on cpu1
 p4tcc1: <CPU Frequency Thermal Control> on cpu1
 Device configuration finished.
 Timecounters tick every 10.000 msec
 tcp_init: net.inet.tcp.tcbhashsize auto tuned to 32768
 lo0: bpf attached
 ahcich0: AHCI reset...
 ahcich0: SATA connect time=100us status=00000123
 ahcich0: AHCI reset: device found
 ahcich1: AHCI reset...
 ahcich1: SATA offline status=00000004
 ahcich1: AHCI reset: device not found
 ahcich4: AHCI reset...
 ahcich4: SATA offline status=00000004
 ahcich4: AHCI reset: device not found
 ahcich5: AHCI reset...
 ahcich5: SATA offline status=00000004
 ahcich5: AHCI reset: device not found
 battery0: battery initialization start
 acpi_acad0: acline initialization start
 acpi_acad0: On Line
 acpi_acad0: acline initialization done, tried 1 times
 ahcich0: AHCI reset: device ready after 100ms
 ada0 at ahcich0 bus 0 scbus0 target 0 lun 0
 ada0: <WDC WD3200BEVT-00A0RT0 01.01A01> ATA-8 SATA 2.x device
 ada0: Serial Number WD-WXH0AB990255
 ada0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
 ada0: Command Queueing enabled
 ada0: 305245MB (625142448 512 byte sectors: 16H 63S/T 16383C)
 ada0: Previously was known as ad0
 GEOM: new disk ada0
 pass0 at ahcich0 bus 0 scbus0 target 0 lun 0
 pass0: <WDC WD3200BEVT-00A0RT0 01.01A01> ATA-8 SATA 2.x device
 pass0: Serial Number WD-WXH0AB990255
 pass0: 300.000MB/s transfers (SATA 2.x, UDMA6, PIO 8192bytes)
 pass0: Command Queueing enabled
 pass1 at ahciem0 bus 0 scbus4 target 0 lun 0
 pass1: <AHCI SGPIO Enclosure 1.00 0001> SEMB S-E-S 2.00 device
 ses0 at ahciem0 bus 0 scbus4 target 0 lun 0
 ses0: <AHCI SGPIO Enclosure 1.00 0001> SEMB S-E-S 2.00 device
 ses0: SEMB SES Device
 ses0: Generation Code 0x0 has 1 SubEnclosures
 ses0:  SubEnclosure ID 0, 1 Types With this ID, Descriptor Length 36, offset 8
 ses0: WWN: 0
 ses0:  Type Desc[0]: Type 0x17, MaxElt 6, In Subenc 0, Text Length 0: 
 SMP: AP CPU #1 Launched!
 cpu1 AP:
      ID: 0x01000000   VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff
   lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff
   timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400
 ioapic0: routing intpin 1 (ISA IRQ 1) to lapic 1 vector 48
 ioapic0: routing intpin 12 (ISA IRQ 12) to lapic 1 vector 49
 hwpmc: SOFT/16/64/0x67<INT,USR,SYS,REA,WRI> TSC/1/64/0x20<REA> IAP/2/40/0x3ff<INT,USR,SYS,EDG,THR,REA,WRI,INV,QUA,PRC> IAF/3/40/0x67<INT,USR,SYS,REA,WRI>
 Trying to mount root from ufs:/dev/ada0s4a [rw]...
 start_init: trying /sbin/init
 Setting hostuuid: 5ebbdf0a-7404-6649-923e-d8412b756885.
 Setting hostid: 0x2ffff142.
 Entropy harvesting: interrupts ethernet point_to_point kickstart.
 Starting file system checks:
 /dev/ada0s4a: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ada0s4a: clean, 11086766 free (146894 frags, 1367484 blocks, 0.9% fragmentation)
 /dev/ada0s4f: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ada0s4f: clean, 3018409 free (615673 frags, 300342 blocks, 3.8% fragmentation)
 /dev/ada0s4g: FILE SYSTEM CLEAN; SKIPPING CHECKS
 /dev/ada0s4g: clean, 74861005 free (7973 frags, 9356629 blocks, 0.0% fragmentation)
 Mounting local file systems:.
 Loading kernel modules:
 wlan: <802.11 Link Layer>
 pci0: driver added
 found->	vendor=0x8086, dev=0x2937, revid=0x03
 	domain=0, bus=0, slot=26, func=0
 	class=0c-03-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=16
 pci0:0:26:0: reprobing on driver added
 found->	vendor=0x8086, dev=0x293c, revid=0x03
 	domain=0, bus=0, slot=26, func=7
 	class=0c-03-20, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=19
 	powerspec 2  supports D0 D3  current D0
 pci0:0:26:7: reprobing on driver added
 found->	vendor=0x8086, dev=0x293e, revid=0x03
 	domain=0, bus=0, slot=27, func=0
 	class=04-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=22
 	powerspec 2  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:0:27:0: reprobing on driver added
 found->	vendor=0x8086, dev=0x2934, revid=0x03
 	domain=0, bus=0, slot=29, func=0
 	class=0c-03-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=23
 pci0:0:29:0: reprobing on driver added
 found->	vendor=0x8086, dev=0x2935, revid=0x03
 	domain=0, bus=0, slot=29, func=1
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=b, irq=19
 pci0:0:29:1: reprobing on driver added
 found->	vendor=0x8086, dev=0x2936, revid=0x03
 	domain=0, bus=0, slot=29, func=2
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=16
 pci0:0:29:2: reprobing on driver added
 found->	vendor=0x8086, dev=0x293a, revid=0x03
 	domain=0, bus=0, slot=29, func=7
 	class=0c-03-20, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=23
 	powerspec 2  supports D0 D3  current D0
 pci0:0:29:7: reprobing on driver added
 found->	vendor=0x8086, dev=0x2930, revid=0x03
 	domain=0, bus=0, slot=31, func=3
 	class=0c-05-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0003, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=c, irq=18
 pci0:0:31:3: reprobing on driver added
 pci1: driver added
 found->	vendor=0x1969, dev=0x1063, revid=0xc0
 	domain=0, bus=1, slot=0, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=16
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:1:0:0: reprobing on driver added
 pci2: driver added
 found->	vendor=0x8086, dev=0x0083, revid=0x00
 	domain=0, bus=2, slot=0, func=0
 	class=02-80-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=19
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:2:0:0: reprobing on driver added
 iwn0: <Intel Centrino Wireless-N 1000> mem 0xd2500000-0xd2501fff irq 19 at device 0.0 on pci2
 iwn0: attempting to allocate 1 MSI vectors (1 supported)
 msi: routing MSI IRQ 257 to local APIC 1 vector 50
 iwn0: using IRQ 257 for MSI
 iwn0: MIMO 1T2R, BGS, address 00:1e:64:45:f5:64
 iwn0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 iwn0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 iwn0: 1T2R
 iwn0: 11ng MCS 20MHz
 iwn0: MCS 0-7: 6.5Mbps - 65Mbps
 iwn0: 11ng MCS 20MHz SGI
 iwn0: MCS 0-7: 7Mbps - 72Mbps
 iwn0: 11ng MCS 40MHz:
 iwn0: MCS 0-7: 13.5Mbps - 135Mbps
 iwn0: 11ng MCS 40MHz SGI:
 iwn0: MCS 0-7: 15Mbps - 150Mbps
 pci3: driver added
 pci0: driver added
 found->	vendor=0x8086, dev=0x2937, revid=0x03
 	domain=0, bus=0, slot=26, func=0
 	class=0c-03-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=16
 pci0:0:26:0: reprobing on driver added
 found->	vendor=0x8086, dev=0x293c, revid=0x03
 	domain=0, bus=0, slot=26, func=7
 	class=0c-03-20, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=19
 	powerspec 2  supports D0 D3  current D0
 pci0:0:26:7: reprobing on driver added
 ehci0: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xd4504c00-0xd4504fff irq 19 at device 26.7 on pci0
 ioapic0: routing intpin 19 (PCI IRQ 19) to lapic 0 vector 53
 usbus0: EHCI version 1.0
 usbus0 on ehci0
 ehci0: usbpf: Attached
 found->	vendor=0x8086, dev=0x293e, revid=0x03
 usbus0: 480Mbps High Speed USB v2.0
 	domain=0, bus=0, slot=27, func=0
 	class=04-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=22
 	powerspec 2  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:0:27:0: reprobing on driver added
 found->	vendor=0x8086, dev=0x2934, revid=0x03
 	domain=0, bus=0, slot=29, func=0
 	class=0c-03-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=23
 pci0:0:29:0: reprobing on driver added
 found->	vendor=0x8086, dev=0x2935, revid=0x03
 	domain=0, bus=0, slot=29, func=1
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=b, irq=19
 pci0:0:29:1: reprobing on driver added
 found->	vendor=0x8086, dev=0x2936, revid=0x03
 	domain=0, bus=0, slot=29, func=2
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=16
 pci0:0:29:2: reprobing on driver added
 found->	vendor=0x8086, dev=0x293a, revid=0x03
 	domain=0, bus=0, slot=29, func=7
 	class=0c-03-20, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=23
 	powerspec 2  supports D0 D3  current D0
 pci0:0:29:7: reprobing on driver added
 ehci1: <Intel 82801I (ICH9) USB 2.0 controller> mem 0xd4504800-0xd4504bff irq 23 at device 29.7 on pci0
 ioapic0: routing intpin 23 (PCI IRQ 23) to lapic 1 vector 51
 usbus1: EHCI version 1.0
 ugen0.1: <Intel> at usbus0
 uhub0: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
 usbus1 on ehci1
 ehci1: usbpf: Attached
 found->	vendor=0x8086, dev=0x2930, revid=0x03
 usbus1: 480Mbps High Speed USB v2.0
 	domain=0, bus=0, slot=31, func=3
 	class=0c-05-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0003, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=c, irq=18
 pci0:0:31:3: reprobing on driver added
 pci1: driver added
 found->	vendor=0x1969, dev=0x1063, revid=0xc0
 	domain=0, bus=1, slot=0, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=16
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:1:0:0: reprobing on driver added
 pci2: driver added
 pci3: driver added
 ugen1.1: <Intel> at usbus1
 uhub1: <Intel EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus1
 pci0: driver added
 found->	vendor=0x8086, dev=0x2937, revid=0x03
 	domain=0, bus=0, slot=26, func=0
 	class=0c-03-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=16
 pci0:0:26:0: reprobing on driver added
 uhci0: <Intel 82801I (ICH9) USB controller> port 0x30a0-0x30bf irq 16 at device 26.0 on pci0
 ioapic0: routing intpin 16 (PCI IRQ 16) to lapic 0 vector 54
 usbus2 on uhci0
 uhci0: usbpf: Attached
 found->	vendor=0x8086, dev=0x293e, revid=0x03
 usbus2: 12Mbps Full Speed USB v1.0
 	domain=0, bus=0, slot=27, func=0
 	class=04-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=22
 	powerspec 2  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:0:27:0: reprobing on driver added
 found->	vendor=0x8086, dev=0x2934, revid=0x03
 	domain=0, bus=0, slot=29, func=0
 	class=0c-03-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=23
 pci0:0:29:0: reprobing on driver added
 uhci1: <Intel 82801I (ICH9) USB controller> port 0x3080-0x309f irq 23 at device 29.0 on pci0
 ugen2.1: <Intel> at usbus2
 uhub2: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
 usbus3 on uhci1
 uhci1: usbpf: Attached
 usbus3: found->	vendor=0x8086, dev=0x2935, revid=0x03
 12Mbps Full Speed USB v1.0
 	domain=0, bus=0, slot=29, func=1
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=b, irq=19
 pci0:0:29:1: reprobing on driver added
 uhci2: <Intel 82801I (ICH9) USB controller> port 0x3060-0x307f irq 19 at device 29.1 on pci0
 ugen3.1: <Intel> at usbus3
 uhub3: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3
 usbus4 on uhci2
 uhci2: usbpf: Attached
 usbus4: 12Mbps Full Speed USB v1.0
 found->	vendor=0x8086, dev=0x2936, revid=0x03
 	domain=0, bus=0, slot=29, func=2
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0290, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=16
 pci0:0:29:2: reprobing on driver added
 uhci3: <Intel 82801I (ICH9) USB controller> port 0x3040-0x305f irq 16 at device 29.2 on pci0
 ugen4.1: <Intel> at usbus4
 uhub4: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus4
 usbus5 on uhci3
 uhci3: usbpf: Attached
 found->	vendor=0x8086, dev=0x2930, revid=0x03
 usbus5: 12Mbps Full Speed USB v1.0
 	domain=0, bus=0, slot=31, func=3
 	class=0c-05-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0003, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=c, irq=18
 pci0:0:31:3: reprobing on driver added
 pci1: driver added
 found->	vendor=0x1969, dev=0x1063, revid=0xc0
 	domain=0, bus=1, slot=0, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=16
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:1:0:0: reprobing on driver added
 pci2: driver added
 pci3: driver added
 uhub2: 2 ports with 2 removable, self powered
 ugen5.1: <Intel> at usbus5
 uhub5: <Intel UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus5
 pci0: driver added
 found->	vendor=0x8086, dev=0x293e, revid=0x03
 	domain=0, bus=0, slot=27, func=0
 	class=04-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=22
 	powerspec 2  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:0:27:0: reprobing on driver added
 found->	vendor=0x8086, dev=0x2930, revid=0x03
 	domain=0, bus=0, slot=31, func=3
 	class=0c-05-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0003, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=c, irq=18
 pci0:0:31:3: reprobing on driver added
 ichsmb0: <Intel 82801I (ICH9) SMBus controller> port 0x3000-0x301f mem 0xd4505000-0xd45050ff irq 18 at device 31.3 on pci0
 ioapic0: routing intpin 18 (PCI IRQ 18) to lapic 1 vector 52
 smbus0: <System Management Bus> on ichsmb0
 pci1: driver added
 found->	vendor=0x1969, dev=0x1063, revid=0xc0
 	domain=0, bus=1, slot=0, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=16
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:1:0:0: reprobing on driver added
 pci2: driver added
 pci3: driver added
 uhub3: 2 ports with 2 removable, self powered
 snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024]
 feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=5 feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25
 uhub0: 2 ports with 2 removable, self powered
 uhub4: 2 ports with 2 removable, self powered
 pci0: driver added
 found->	vendor=0x8086, dev=0x293e, revid=0x03
 	domain=0, bus=0, slot=27, func=0
 	class=04-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=22
 	powerspec 2  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:0:27:0: reprobing on driver added
 hdac0: <Intel 82801I HDA Controller> mem 0xd4500000-0xd4503fff irq 22 at device 27.0 on pci0
 hdac0: PCI card vendor: 0x1025, device: 0x029b
 hdac0: HDA Driver Revision: 20120126_0002
 hdac0: Config options: on=0x00000000 off=0x00000000
 hdac0: attempting to allocate 1 MSI vectors (1 supported)
 msi: routing MSI IRQ 258 to local APIC 0 vector 55
 hdac0: using IRQ 258 for MSI
 hdac0: Caps: OSS 4, ISS 4, BSS 0, NSDO 1, 64bit, CORB 256, RIRB 256
 pci1: driver added
 found->	vendor=0x1969, dev=0x1063, revid=0xc0
 	domain=0, bus=1, slot=0, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=16
 	powerspec 3  supports D0 D3  current D0
 	MSI supports 1 message, 64 bit
 pci0:1:0:0: reprobing on driver added
 pci2: driver added
 pci3: driver added
 hdacc0: <Realtek ALC269 HDA CODEC> at cad 0 on hdac0
 hdaa0: <Realtek ALC269 Audio Function Group> at nid 1 on hdacc0
 hdaa0: Subsystem ID: 0x1025029b
 hdaa0: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0
 hdaa0: Original pins configuration:
 hdaa0: nid   0x    as seq device       conn  jack    loc        color   misc
 hdaa0: 17 411111f0 15 0  Speaker       None  1/8     Rear       Black   1
 hdaa0: 18 99a30930 3  0  Mic           Fixed ATAPI   Onboard    Unknown 9
 hdaa0: 20 99130110 1  0  Speaker       Fixed ATAPI   Onboard    Unknown 1
 hdaa0: 21 0321101f 1  15 Headphones    Jack  1/8     Left       Black   0
 hdaa0: 22 411111f0 15 0  Speaker       None  1/8     Rear       Black   1
 hdaa0: 24 03a19840 4  0  Mic           Jack  1/8     Left       Pink    8
 hdaa0: 25 411111f0 15 0  Speaker       None  1/8     Rear       Black   1
 hdaa0: 26 411111f0 15 0  Speaker       None  1/8     Rear       Black   1
 hdaa0: 27 411111f0 15 0  Speaker       None  1/8     Rear       Black   1
 hdaa0: 29 4015812d 2  13 Speaker       None  Optical 0x00       Purple  1
 hdaa0: 30 03451120 2  0  SPDIF-out     Jack  Optical Left       Black   1
 hdaa0: Patching widget caps nid=29 0x00400000 -> 0x00700000
 hdaa0: Patched pins configuration:
 hdaa0: nid   0x    as seq device       conn  jack    loc        color   misc
 hdaa0: 17 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
 hdaa0: 18 99a30930 3  0  Mic           Fixed ATAPI   Onboard    Unknown 9
 hdaa0: 20 99130110 1  0  Speaker       Fixed ATAPI   Onboard    Unknown 1
 hdaa0: 21 0321101f 1  15 Headphones    Jack  1/8     Left       Black   0
 hdaa0: 22 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
 hdaa0: 24 03a19840 4  0  Mic           Jack  1/8     Left       Pink    8
 hdaa0: 25 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
 hdaa0: 26 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
 hdaa0: 27 411111f0 15 0  Speaker       None  1/8     Rear       Black   1 DISA
 hdaa0: 30 03451120 2  0  SPDIF-out     Jack  Optical Left       Black   1
 hdaa0: 4 associations found:
 hdaa0: Association 0 (1) out:
 hdaa0:  Pin nid=20 seq=0
 hdaa0:  Pin nid=21 seq=15
 hdaa0: Association 1 (2) out:
 hdaa0:  Pin nid=30 seq=0
 hdaa0: Association 2 (3) in:
 hdaa0:  Pin nid=18 seq=0
 hdaa0: Association 3 (4) in:
 hdaa0:  Pin nid=24 seq=0
 hdaa0: Tracing association 0 (1)
 hdaa0:  Pin 20 traced to DAC 2
 hdaa0:  Pin 21 traced to DAC 2 and hpredir 0
 hdaa0: Association 0 (1) trace succeeded
 hdaa0: Tracing association 1 (2)
 hdaa0:  Pin 30 traced to DAC 6
 hdaa0: Association 1 (2) trace succeeded
 hdaa0: Tracing association 2 (3)
 hdaa0:  Unable to trace pin 18 to ADC 7, undo traces
 hdaa0:  Pin 18 traced to ADC 8
 hdaa0: Association 2 (3) trace succeeded
 hdaa0: Tracing association 3 (4)
 hdaa0:  Pin 24 traced to ADC 7
 hdaa0: Association 3 (4) trace succeeded
 hdaa0: Looking for additional DAC for association 0 (1)
 hdaa0: Looking for additional DAC for association 1 (2)
 hdaa0: Looking for additional ADC for association 2 (3)
 hdaa0: Looking for additional ADC for association 3 (4)
 hdaa0: Tracing input monitor
 hdaa0:  Tracing nid 11 to out
 hdaa0:  nid 11 is input monitor
 hdaa0:  Tracing nid 36 to out
 hdaa0: Tracing other input monitors
 hdaa0:  Tracing nid 18 to out
 hdaa0:  Tracing nid 24 to out
 hdaa0: Tracing beeper
 hdaa0: Headphones redirection for association 0 nid=21 using unsolicited responses.
 hdaa0: Pin sense: nid=21 sence=0x80000000 (connected)
 hdaa0: Redirect output to: headphones
 hdaa0: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
 pcm0: <Realtek ALC269 (Analog 2.0+HP/2.0)> at nid 20,21 and 18 on hdaa0
 pcm0: Playback:
 pcm0:      Stream cap: 0x00000001 PCM
 pcm0:         PCM cap: 0x000e0560 16 20 24 bits, 44 48 96 192 KHz
 pcm0:             DAC: 2
 pcm0: 
 pcm0:     nid=20 [pin: Speaker (Fixed)]
 pcm0:       + <- nid=12 [audio mixer] [src: pcm, mix]
 pcm0:              + <- nid=2 [audio output] [src: pcm]
 pcm0:              + <- nid=11 [audio mixer] [src: mix]
 pcm0: 
 pcm0:     nid=21 [pin: Headphones (Black Jack)]
 pcm0:       + <- nid=12 [audio mixer] [src: pcm, mix]
 pcm0:              + <- nid=2 [audio output] [src: pcm]
 pcm0:              + <- nid=11 [audio mixer] [src: mix]
 pcm0: 
 pcm0: Record:
 pcm0:      Stream cap: 0x00000001 PCM
 pcm0:         PCM cap: 0x000e0160 16 20 24 bits, 44 48 96 KHz
 pcm0:             ADC: 8
 pcm0: 
 pcm0:     nid=8 [audio input]
 pcm0:       + <- nid=35 [audio selector] [src: speaker, monitor]
 pcm0:              + <- nid=29 [beep widget] [src: speaker]
 pcm0:              + <- nid=18 [pin: Mic (Fixed)] [src: monitor]
 pcm0: 
 pcm0: Master Volume (OSS: vol): -63/1dB
 pcm0:    +- ctl  1 (nid   2 out):    -63/1dB (65 steps)
 pcm0:    +- ctl 10 (nid  12 in   0): mute
 pcm0:    +- ctl 11 (nid  12 in   1): mute
 pcm0:    +- ctl 16 (nid  20 in ):    mute
 pcm0:    +- ctl 17 (nid  21 in ):    mute
 pcm0: 
 pcm0: PCM Volume (OSS: pcm): -63/1dB
 pcm0:    +- ctl  1 (nid   2 out):    -63/1dB (65 steps)
 pcm0:    +- ctl 10 (nid  12 in   0): mute
 pcm0: 
 pcm0: Microphone2 Volume (OSS: monitor): -17/29dB
 pcm0:    +- ctl  4 (nid   8 in   0): -17/29dB (47 steps) + mute
 pcm0: 
 pcm0: Speaker/Beep Volume (OSS: speaker): -17/12dB
 pcm0:    +- ctl  4 (nid   8 in   0): -17/29dB (47 steps) + mute
 pcm0: 
 pcm0: Recording Level (OSS: rec): -17/29dB
 pcm0:    +- ctl  4 (nid   8 in   0): -17/29dB (47 steps) + mute
 pcm0: 
 pcm0: Input Mix Level (OSS: mix)
 pcm0:    +- ctl 11 (nid  12 in   1): mute
 pcm0: 
 pcm0: Input Monitoring Level (OSS: igain): 0/0dB
 pcm0:    +- ctl 11 (nid  12 in   1): mute
 pcm0: 
 pcm0: Mixer "vol":
 pcm0: Mixer "pcm":
 pcm0: Mixer "speaker":
 pcm0: Mixer "rec":
 pcm0: Mixer "igain":
 pcm0: Mixer "ogain":
 pcm0: Mixer "monitor":
 pcm0: Playback channel set is: Front Left, Front Right, 
 pcm0: Playback channel matrix is: 2.0 (connected)
 pcm0: Automatically set rec source to: monitor
 pcm0: Recording channel set is: Front Left, Front Right, 
 pcm0: Recording channel matrix is: 2.0 (unknown)
 pcm1: <Realtek ALC269 (Left Digital)> at nid 30 on hdaa0
 pcm1: Playback:
 pcm1:      Stream cap: 0x00000005 AC3 PCM
 pcm1:         PCM cap: 0x000e05f0 16 20 24 bits, 32 44 48 88 96 192 KHz
 pcm1:             DAC: 6
 pcm1: 
 pcm1:     nid=30 [pin: SPDIF-out (Black Jack)]
 pcm1:       + <- nid=6 [audio output] [src: pcm]
 pcm1: 
 pcm1: Mixer "vol" -> "none": child=0x00000010
 pcm1: Mixer "pcm": parent="vol"
 pcm1: Soft PCM mixer ENABLED
 pcm1: Playback channel set is: Front Left, Front Right, 
 pcm1: Playback channel matrix is: 2.0 (unknown)
 pcm2: <Realtek ALC269 (Left Analog Mic)> at nid 24 on hdaa0
 pcm2: Record:
 pcm2:      Stream cap: 0x00000001 PCM
 pcm2:         PCM cap: 0x000e0160 16 20 24 bits, 44 48 96 KHz
 pcm2:             ADC: 7
 pcm2: 
 pcm2:     nid=7 [audio input]
 pcm2:       + <- nid=36 [audio mixer] [src: speaker, mic, mix]
 pcm2:              + <- nid=24 [pin: Mic (Pink Jack)] [src: mic]
 pcm2:              + <- nid=29 [beep widget] [src: speaker]
 pcm2:              + <- nid=11 [audio mixer] [src: mix]
 pcm2: 
 pcm2: Input Mix:
 pcm2: 
 pcm2:     nid=11 [audio mixer]
 pcm2:       + <- nid=24 [pin: Mic (Pink Jack)] [src: mic]
 pcm2:       + <- nid=29 [beep widget] [src: speaker]
 pcm2: 
 pcm2: Microphone Volume (OSS: mic): 0/30dB
 pcm2:    +- ctl  5 (nid  11 in   0): -34/12dB (32 steps) + mute
 pcm2:    +- ctl 20 (nid  24 out):    0/30dB (4 steps)
 pcm2:    +- ctl 27 (nid  36 in   0): mute
 pcm2: 
 pcm2: Speaker/Beep Volume (OSS: speaker)
 pcm2:    +- ctl  9 (nid  11 in   4): -34/12dB (32 steps) + mute
 pcm2:    +- ctl 31 (nid  36 in   4): mute
 pcm2: 
 pcm2: Recording Level (OSS: rec): -17/29dB
 pcm2:    +- ctl  3 (nid   7 in   0): -17/29dB (47 steps) + mute
 pcm2:    +- ctl 27 (nid  36 in   0): mute
 pcm2:    +- ctl 31 (nid  36 in   4): mute
 pcm2:    +- ctl 32 (nid  36 in   5): mute
 pcm2: 
 pcm2: Input Mix Level (OSS: mix): -34/12dB
 pcm2:    +- ctl  5 (nid  11 in   0): -34/12dB (32 steps) + mute
 pcm2:    +- ctl  9 (nid  11 in   4): -34/12dB (32 steps) + mute
 pcm2:    +- ctl 32 (nid  36 in   5): mute
 pcm2: 
 pcm2: Mixer "mic":
 pcm2: Mixer "mix":
 pcm2: Mixer "rec":
 pcm2: Recording channel set is: Front Left, Front Right, 
 pcm2: Recording channel matrix is: 2.0 (disconnected)
 hdacc1: <Intel Cantiga HDA CODEC> at cad 1 on hdac0
 hdaa1: <Intel Cantiga Audio Function Group> at nid 1 on hdacc1
 hdaa1: Subsystem ID: 0x80860101
 hdaa1: NumGPIO=0 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=0
 hdaa1: Original pins configuration:
 hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
 hdaa1:  3 18560010 1  0  Digital-out   Jack  Digital 0x18       Unknown 0
 hdaa1: Patched pins configuration:
 hdaa1: nid   0x    as seq device       conn  jack    loc        color   misc
 hdaa1:  3 18560010 1  0  Digital-out   Jack  Digital 0x18       Unknown 0
 hdaa1: 1 associations found:
 hdaa1: Association 0 (1) out:
 hdaa1:  Pin nid=3 seq=0
 hdaa1: Tracing association 0 (1)
 hdaa1:  Pin 3 traced to DAC 2
 hdaa1: Association 0 (1) trace succeeded
 hdaa1: Looking for additional DAC for association 0 (1)
 hdaa1: Tracing input monitor
 hdaa1: Tracing other input monitors
 hdaa1: Tracing beeper
 hdaa1: FG config/quirks: forcestereo ivref50 ivref80 ivref100 ivref
 pcm3: <Intel Cantiga (HDMI 8ch)> at nid 3 on hdaa1
 pcm3: Playback:
 pcm3:      Stream cap: 0x00000005 AC3 PCM
 pcm3:         PCM cap: 0x001e07f0 16 20 24 32 bits, 32 44 48 88 96 176 192 KHz
 pcm3:             DAC: 2
 pcm3: 
 pcm3:     nid=3 [pin: Digital-out (Jack)]
 pcm3:       + <- nid=2 [audio output] [src: pcm]
 pcm3: 
 pcm3: Master Volume (OSS: vol): 0/0dB
 pcm3:    +- ctl  1 (nid   3 in ):    mute
 pcm3: 
 pcm3: PCM Volume (OSS: pcm): 0/0dB
 pcm3:    +- ctl  1 (nid   3 in ):    mute
 pcm3: 
 pcm3: Mixer "vol":
 pcm3: Mixer "pcm":
 pcm3: Soft PCM mixer ENABLED
 pcm3: Playback channel matrix is: unknown, assuming 7.1 (disconnected)
 uhub5: 2 ports with 2 removable, self powered
 coretemp0: <CPU On-Die Thermal Sensors> on cpu0
 coretemp0: Setting TjMax=100
 coretemp1: <CPU On-Die Thermal Sensors> on cpu1
 coretemp1: Setting TjMax=100
 Cuse4BSD v0.1.26 @ /dev/cuse
 Linux ELF exec handler installed
 Writing entropy file:.
 Setting hostname: bansidhe.pf2.ed.niigata-u.ac.jp.
 uhub1: 6 ports with 6 removable, self powered
 ugen1.2: <SuYin> at usbus1
 Starting Network: lo0 iwn0.
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
 	options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
 	inet 127.0.0.1 netmask 0xff000000 
 	inet6 ::1 prefixlen 128 
 	inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 
 	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
 iwn0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290
 	ether 00:1e:64:45:f5:64
 	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
 	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
 	status: no carrier
 Starting devd.
 Starting Network: iwn0.
 iwn0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290
 	ether 00:1e:64:45:f5:64
 	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
 	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
 	status: no carrier
 Starting Network: iwn0.
 iwn0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290
 	ether 00:1e:64:45:f5:64
 	nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
 	media: IEEE 802.11 Wireless Ethernet autoselect (autoselect)
 	status: no carrier
 Starting webcamd.
 Attached to ugen1.2[0]
 Starting webcamd.
 Webcamd is already running for ugen1.2.0
 /usr/local/etc/rc.d/webcamd: WARNING: failed to start webcamd
 route: writing to routing socket: Network is unreachable
 add net default: gateway 172.21.1.22 fib 0: Network is unreachable
 add net ::ffff:0.0.0.0: gateway ::1
 add net ::0.0.0.0: gateway ::1
 add net fe80::: gateway ::1
 add net ff02::: gateway ::1
 ELF ldconfig path: /lib /usr/lib /usr/lib/compat /usr/local/lib /usr/local/lib/compat/pkg /usr/local/lib/R/lib /usr/local/lib/alsa-lib /usr/local/lib/compat/pkg /usr/local/lib/event2 /usr/local/lib/ffmpeg-devel /usr/local/lib/gcc46 /usr/local/lib/gegl-0.1 /usr/local/lib/graphviz /usr/local/lib/nss /usr/local/lib/virtualbox
 32-bit compatibility ldconfig path: /compat/i386/lib /compat/i386/usr/lib /compat/i386/usr/local/lib /usr/local/lib /usr/local/lib/compat/pkg
 Creating and/or trimming log files.
 Starting syslogd.
 No core dumps found.
 Clearing /tmp (X related).
 Starting nfsuserd.
 Updating motd:.
 Configuring syscons: keymap blanktime.
 Starting cron.
 Starting nfscbd.
 nfslock: pseudo-device
 Starting inetd.
 Starting background file system checks in 60 seconds.
 
 Mon Dec 17 20:56:02 JST 2012
 drm0: <Mobile Intel$BB.(B GM45 Express Chipset> on vgapci0
 vgapci0: attempting to allocate 1 MSI vectors (1 supported)
 msi: routing MSI IRQ 259 to local APIC 1 vector 53
 vgapci0: using IRQ 259 for MSI
 info: [drm] MSI enabled 1 message(s)
 info: [drm] AGP at 0xc0000000 256MB
 info: [drm] Initialized i915 1.6.0 20080730
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp
 

From: Andriy Gapon <avg@FreeBSD.org>
To: Kaho Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 18 Dec 2012 00:39:30 +0200

 on 17/12/2012 13:59 Kaho Toshikazu said the following:
 > Hello, and sorry for delay reply.
 
 No problem and thank you for the data.
 Could you please try the following patch?
 I suspect that it might not be sufficient, I am working on some additional changes.
 
 --- a/sys/x86/x86/intr_machdep.c
 +++ b/sys/x86/x86/intr_machdep.c
 @@ -287,6 +287,7 @@ intr_resume(void)
  	atpic_reset();
  #endif
  	mtx_lock(&intr_table_lock);
 +	lapic_setup(0);
  	STAILQ_FOREACH(pic, &pics, pics) {
  		if (pic->pic_resume != NULL)
  			pic->pic_resume(pic);
 diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c
 index 9b1e259..0df973a 100644
 --- a/sys/x86/x86/local_apic.c
 +++ b/sys/x86/x86/local_apic.c
 @@ -160,7 +160,6 @@ static u_long lapic_timer_divisor;
  static struct eventtimer lapic_et;
 
  static void	lapic_enable(void);
 -static void	lapic_resume(struct pic *pic);
  static void	lapic_timer_oneshot(struct lapic *,
  		    u_int count, int enable_int);
  static void	lapic_timer_periodic(struct lapic *,
 @@ -172,8 +171,6 @@ static int	lapic_et_start(struct eventtimer *et,
      struct bintime *first, struct bintime *period);
  static int	lapic_et_stop(struct eventtimer *et);
 
 -struct pic lapic_pic = { .pic_resume = lapic_resume };
 -
  static uint32_t
  lvt_mode(struct lapic *la, u_int pin, uint32_t value)
  {
 @@ -573,14 +570,6 @@ lapic_enable(void)
  	lapic->svr = value;
  }
 
 -/* Reset the local APIC on the BSP during resume. */
 -static void
 -lapic_resume(struct pic *pic)
 -{
 -
 -	lapic_setup(0);
 -}
 -
  int
  lapic_id(void)
  {
 @@ -1409,7 +1398,6 @@ apic_setup_io(void *dummy __unused)
  	 * properly program the LINT pins.
  	 */
  	lapic_setup(1);
 -	intr_register_pic(&lapic_pic);
  	if (bootverbose)
  		lapic_dump("BSP");
 
 
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 18 Dec 2012 10:54:04 +0900

   Hello, and thanks for your work.
 
 >Could you please try the following patch?
 >I suspect that it might not be sufficient, I am working on some
 >additional changes.
 
   The patched kernel dosen't solve the problem. On waking up,
 the machine hangs with LCD backlight on, but it shows nothing.
 Power off is all that I can do. Each revision (r243764 or r227309)
 of io_apic.c with the patch makes the machine hangs. The machine 
 can wake up with io_apic.c reverted to r227309 and without the patch.
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: Andriy Gapon <avg@FreeBSD.org>
To: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 18 Dec 2012 11:55:09 +0200

 on 18/12/2012 03:54 KAHO Toshikazu said the following:
 >   Hello, and thanks for your work.
 > 
 >> Could you please try the following patch?
 >> I suspect that it might not be sufficient, I am working on some
 >> additional changes.
 > 
 >   The patched kernel dosen't solve the problem. On waking up,
 > the machine hangs with LCD backlight on, but it shows nothing.
 > Power off is all that I can do. Each revision (r243764 or r227309)
 > of io_apic.c with the patch makes the machine hangs. The machine 
 > can wake up with io_apic.c reverted to r227309 and without the patch.
 > 
 
 I understand.
 Could you please try the following patch on top of the previous one (without
 reverting r227309, of course) ?
 
 --- a/sys/x86/acpica/acpi_wakeup.c
 +++ b/sys/x86/acpica/acpi_wakeup.c
 @@ -261,12 +261,17 @@ acpi_wakeup_machdep(struct acpi_softc *sc, int state, int
 sleep_result,
  #endif
  		}
 
 +		/*
 +		 * Re-program IO-APIC pins to their correct states before
 +		 * enabling Local APICs (which is done when CPUs are restarted).
 +		 */
 +		intr_resume();
 +
  #ifdef SMP
  		if (!CPU_EMPTY(&suspcpus))
  			restart_cpus(suspcpus);
  #endif
  		mca_resume();
 -		intr_resume();
 
  		AcpiSetFirmwareWakingVector(0);
  	} else {
 --- a/sys/x86/x86/intr_machdep.c
 +++ b/sys/x86/x86/intr_machdep.c
 @@ -287,11 +287,11 @@ intr_resume(void)
  	atpic_reset();
  #endif
  	mtx_lock(&intr_table_lock);
 -	lapic_setup(0);
  	STAILQ_FOREACH(pic, &pics, pics) {
  		if (pic->pic_resume != NULL)
  			pic->pic_resume(pic);
  	}
 +	lapic_setup(0);
  	mtx_unlock(&intr_table_lock);
  }
 
 
 I've put the combined patch here:
 http://people.freebsd.org/~avg/apic-resume.diff
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 18 Dec 2012 22:15:39 +0900

   Hello,
 
 > I understand.
 > Could you please try the following patch on top of the previous one (without
 > reverting r227309, of course) ?
 
   Thank you for making patch.
 
 r244394 + patch : The machine hangs.
 r244394 + patch + io_apic.c reverting : The machine can wake up.
 
   The patch does not make any regression, but cannot solve the problem.
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: Andriy Gapon <avg@FreeBSD.org>
To: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 18 Dec 2012 16:18:34 +0200

 on 18/12/2012 15:15 KAHO Toshikazu said the following:
 >   Hello,
 > 
 >> I understand.
 >> Could you please try the following patch on top of the previous one (without
 >> reverting r227309, of course) ?
 > 
 >   Thank you for making patch.
 > 
 > r244394 + patch : The machine hangs.
 > r244394 + patch + io_apic.c reverting : The machine can wake up.
 > 
 >   The patch does not make any regression, but cannot solve the problem.
 
 That's unfortunate...
 
 Are you set up for crash dumps (minidumps are ok) ?
 Could you please add a call to panic("ioapic_resume"); at the beginning of
 ioapic_resume function in sys/x86/x86/io_apic.c and save a crash dump for debugging?
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Wed, 19 Dec 2012 10:47:26 +0900

   Hello,
 
 >  Are you set up for crash dumps (minidumps are ok) ?
 >  Could you please add a call to panic("ioapic_resume"); at the beginning of
 >  ioapic_resume function in sys/x86/x86/io_apic.c and save a crash dump for debugging?
 
   The machine now panics, but any keyboard operation makes nothing
 in debugger. If sysctl debug.debugger_on_panic=0 , kernel was
 trying to save a dump but failed by ahci error. All devices seem
 to be sleeping yet.
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: Andriy Gapon <avg@FreeBSD.org>
To: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Sun, 23 Dec 2012 09:32:02 +0200

 on 19/12/2012 03:47 KAHO Toshikazu said the following:
 >   Hello,
 > 
 >>  Are you set up for crash dumps (minidumps are ok) ?
 >>  Could you please add a call to panic("ioapic_resume"); at the beginning of
 >>  ioapic_resume function in sys/x86/x86/io_apic.c and save a crash dump for debugging?
 > 
 >   The machine now panics, but any keyboard operation makes nothing
 > in debugger. If sysctl debug.debugger_on_panic=0 , kernel was
 > trying to save a dump but failed by ahci error. All devices seem
 > to be sleeping yet.
 
 Oh, I should have realized that this won't work.  Sorry about that.
 Could you please revert all patches from me and put your source tree into the
 working shape (head minus r243764) and the try the following purely diagnostic
 patch?  The patch presumes that you have DDB in your kernel config.
 Please report output produced after resuming.
 Thank you.
 
 diff --git a/sys/x86/x86/io_apic.c b/sys/x86/x86/io_apic.c
 index 4df27c2..1f82816 100644
 --- a/sys/x86/x86/io_apic.c
 +++ b/sys/x86/x86/io_apic.c
 @@ -486,14 +486,30 @@ ioapic_config_intr
  }
 
  static void
 +ioapic_dump(struct ioapic *io)
 +{
 +	int i;
 +
 +	printf("ioapic%u:\n", io->io_id);
 +	for (i = 0; i < io->io_numintr; i++)
 +		printf("pin%d: %08x:%08x\n", i,
 +		    ioapic_read(io->io_addr, IOAPIC_REDTBL_LO(i)),
 +		    ioapic_read(io->io_addr, IOAPIC_REDTBL_HI(i)));
 +}
 +
 +static void
  ioapic_resume(struct pic *pic)
  {
  	struct ioapic *io = (struct ioapic *)pic;
  	int i;
 
  	mtx_lock_spin(&icu_lock);
 +	printf("before re-programming ioapic\n");
 +	ioapic_dump(io);
  	for (i = 0; i < io->io_numintr; i++)
  		ioapic_program_intpin(&io->io_pins[i]);
 +	printf("after re-programming ioapic\n");
 +	ioapic_dump(io);
  	mtx_unlock_spin(&icu_lock);
  }
 
 diff --git a/sys/x86/x86/local_apic.c b/sys/x86/x86/local_apic.c
 index 0df973a..13e4b4f 100644
 --- a/sys/x86/x86/local_apic.c
 +++ b/sys/x86/x86/local_apic.c
 @@ -342,6 +342,8 @@ lapic_dump(const char* str)
  		printf("   cmci: 0x%08x\n", lapic->lvt_cmci);
  }
 
 +static db_cmdfcn_t db_show_lapic;
 +
  void
  lapic_setup(int boot)
  {
 @@ -353,6 +355,10 @@ lapic_setup(int boot)
  	la = &lapics[lapic_id()];
  	KASSERT(la->la_present, ("missing APIC structure"));
  	saveintr = intr_disable();
 +
 +	printf("before setup\n");
 +	db_show_lapic(0, 0, 0, NULL);
 +
  	maxlvt = (lapic->version & APIC_VER_MAXLVT) >> MAXLVTSHIFT;
 
  	/* Initialize the TPR to allow all interrupts. */
 @@ -398,6 +404,9 @@ lapic_setup(int boot)
  	if (maxlvt >= LVT_CMCI)
  		lapic->lvt_cmci = lvt_mode(la, LVT_CMCI, lapic->lvt_cmci);
  	
 +	printf("after setup\n");
 +	db_show_lapic(0, 0, 0, NULL);
 +
  	intr_restore(saveintr);
  }
 
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 25 Dec 2012 11:03:01 +0900

   Hello,
 
 > Oh, I should have realized that this won't work.  Sorry about that.
 > Could you please revert all patches from me and put your source tree into the
 > working shape (head minus r243764) and the try the following purely diagnostic
 > patch?  The patch presumes that you have DDB in your kernel config.
 > Please report output produced after resuming.
 > Thank you.
 
   Thank you for making a new patch. The additional lines produced
 by the patch are below here. They were copied form `dmesg -a` without
 any changes, despite of some lines were mixed each other.
 
 -- at boot --
 before setup
 lapic ID = 0
 version  = 1.4
 max LVT  = 5
 SVR      = ff (enabled)
 TPR      = 00
 In-service Interrupts:
 TMR Interrupts:
 IRR Interrupts:
 after setup
 lapic ID = 0
 version  = 1.4
 max LVT  = 5
 SVR      = ff (enabled)
 TPR      = 00
 In-service Interrupts:
 TMR Interrupts:
 IRR Interrupts:
 
 <snip>
 
 before setup
 lapic ID = 1
 version  = 1.4
 max LVT  = 5
 SVR      = ff (disabled)
 TPR      = 00
 In-service Interrupts:
 TMR Interrupts:
 IRR Interrupts:
 after setup
 lapic ID = 1
 version  = 1.4
 max LVT  = 5
 SVR      = ff (enabled)
 TPR      = 00
 In-service Interrupts:
 TMR Interrupts:
 IRR Interrupts:
 
 -- after resume --
 before setup
 lapic ID = before re-programming ioapic
 1
 vioapic0:
 ersion pin0: 00010c04:090b0000
  = 1.4
 pin1: 00010d4c:02000000
 max LVTpin2: 000106c4:06020000
   = 5
 pin3: 00010d00:085a0000
 SVR  pin4: 00010d84:4a180000
     = fpin5: 00010d00:00800000
 f (dispin6: 00010c00:50320000
 abled)
 pin7: 00010c04:08740000
 TPR    pin8: 00010d0c:43680000
   = 00
 pin9: 00010c03:66020000
 In-servpin10: 00010e44:089c0000
 ice Intpin11: 00010d80:08900000
 erruptspin12: 00010c00:40000000
 :
 TMR pin13: 00010c00:c10e0000
 Interrupin14: 000104af:08a20000
 pts:
 Ipin15: 00010400:7abd0000
 RR Intpin16: 00010114:28090000
 erruptspin17: 00010c00:08100000
 :
 after setup
 pin18: 00010504:40320000
 lapic Ipin19: 00010d94:d9690000
 D = 1
 vpin20: 00010e87:5c000000
 ersion pin21: 00010431:08000000
  = 1.4
 pin22: 00010600:68280000
 max LVTpin23: 00010420:d8000000
   = 5
 SVR      = ff (enabled)
 TPR      = 00
 In-service Iafter re-programming ioapic
 ntioapic0:
 erruptspin0: 00010700:000b0000
 :
 TMR pin1: 00000030:01000000
 Interrpin2: 00010033:00020000
 upts:
 pin3: 00010d00:085a0000
 IRR Intpin4: 00010d84:4a180000
 erruptspin5: 00010d00:00800000
 :
 pin6: 00010c00:50320000
 pin7: 00010c04:08740000
 pin8: 00000031:00680000
 pin9: 0000d030:00020000
 pin10: 00010e44:089c0000
 pin11: 00010d80:08900000
 pin12: 00000031:01000000
 pin13: 00010c00:c10e0000
 pin14: 000104af:08a20000
 pin15: 00010400:7abd0000
 pin16: 00010114:28090000
 pin17: 00010c00:08100000
 pin18: 0000a034:01320000
 pin19: 00010d94:d9690000
 pin20: 0000a032:00000000
 pin21: 00010431:08000000
 pin22: 00010600:68280000
 pin23: 00010420:d8000000
 before setup
 lapic ID = 0
 version  = 1.4
 max LVT  = 5
 SVR      = 0f (enabled)
 TPR      = 00
 In-service Interrupts:
 TMR Interrupts:
 IRR Interrupts:
 after setup
 lapic ID = 0
 version  = 1.4
 max LVT  = 5
 SVR      = ff (enabled)
 TPR      = 00
 In-service Interrupts:
 TMR Interrupts:
 IRR Interrupts:
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: Andriy Gapon <avg@FreeBSD.org>
To: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 25 Dec 2012 12:07:58 +0200

 on 25/12/2012 04:03 KAHO Toshikazu said the following:
 >   Hello,
 > 
 >> Oh, I should have realized that this won't work.  Sorry about that.
 >> Could you please revert all patches from me and put your source tree into the
 >> working shape (head minus r243764) and the try the following purely diagnostic
 >> patch?  The patch presumes that you have DDB in your kernel config.
 >> Please report output produced after resuming.
 >> Thank you.
 > 
 >   Thank you for making a new patch. The additional lines produced
 > by the patch are below here. They were copied form `dmesg -a` without
 > any changes, despite of some lines were mixed each other.
 [snip]
 > pin9: 00010c03:66020000
 [snip]
 > pin9: 0000d030:00020000
 
 Hmm, quite interesting.
 Could you please take 'vmstat -i' output twice between reboot and resume (a few
 minutes apart) and then twice after resume (also a few minutes apart) ?
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 25 Dec 2012 22:38:28 +0900

   Hello,
 
 > Could you please take 'vmstat -i' output twice between reboot and
 > resume (a few minutes apart) and then twice after resume (also a few
 > minutes apart) ?
 
 "irq 9" does not seem to increase.
 ( vmstat -i && sleep 300 && vmstat -i ) shows 
 
 -- before resume --
 interrupt                          total       rate
 irq1: atkbd0                         250          2
 irq9: acpi0                           48          0
 irq12: psm0                         6672         73
 irq20: hpet0                       11888        130
 irq23: ehci1 uhci1                    83          0
 irq256: ahci0                       3479         38
 irq257: iwn0                        1243         13
 irq258: hdac0                         93          1
 irq259: vgapci0                      510          5
 Total                              24266        266
 interrupt                          total       rate
 irq1: atkbd0                        1042          2
 irq9: acpi0                           48          0
 irq12: psm0                        81558        208
 irq20: hpet0                       29229         74
 irq23: ehci1 uhci1                    83          0
 irq256: ahci0                       3656          9
 irq257: iwn0                       26987         69
 irq258: hdac0                         93          0
 irq259: vgapci0                     1379          3
 Total                             144075        368
 
 -- after resume --
 interrupt                          total       rate
 irq1: atkbd0                        1420          2
 irq9: acpi0                           48          0
 irq12: psm0                       127668        204
 irq20: hpet0                       43515         69
 irq23: ehci1 uhci1                   166          0
 irq256: ahci0                       3907          6
 irq257: iwn0                       49418         79
 irq258: hdac0                        103          0
 irq259: vgapci0                     2658          4
 Total                             228903        367
 interrupt                          total       rate
 irq1: atkbd0                        2414          2
 irq9: acpi0                           48          0
 irq12: psm0                       154170        167
 irq20: hpet0                       61978         67
 irq23: ehci1 uhci1                   166          0
 irq256: ahci0                       3992          4
 irq257: iwn0                       66827         72
 irq258: hdac0                        103          0
 irq259: vgapci0                     3319          3
 Total                             293017        317
 
 -- 
 kaho@ed.niigata-u.ac.jp

From: Andriy Gapon <avg@FreeBSD.org>
To: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Tue, 25 Dec 2012 17:54:09 +0200

 on 25/12/2012 15:38 KAHO Toshikazu said the following:
 >   Hello,
 > 
 >> Could you please take 'vmstat -i' output twice between reboot and
 >> resume (a few minutes apart) and then twice after resume (also a few
 >> minutes apart) ?
 > 
 > "irq 9" does not seem to increase.
 > ( vmstat -i && sleep 300 && vmstat -i ) shows 
 
 Thank you.
 
 Could you please re-apply r243764 and then try the following _hack_?
 
 --- a/sys/x86/x86/io_apic.c
 +++ b/sys/x86/x86/io_apic.c
 @@ -493,7 +493,7 @@ ioapic_resume(struct pic *pic)
 
  	mtx_lock_spin(&icu_lock);
  	for (i = 0; i < io->io_numintr; i++)
 -		ioapic_program_intpin(&io->io_pins[i]);
 +		if (i != 9) ioapic_program_intpin(&io->io_pins[i]);
  	mtx_unlock_spin(&icu_lock);
  }
 
 
 Also, not sure if I asked before the following questions related to debugging
 possibilities.
 Does this system have a serial port?  Are you able to setup serial console access?
 Or the same for firewire port/console.
 Does this system preserve memory content across reboot/reset?
 In other words, can you see messages from the previous boot in dmesg after a reboot?
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Wed, 26 Dec 2012 12:27:17 +0900

   Hello,
 
 > Could you please re-apply r243764 and then try the following _hack_?
 
   Yes, the machine can wake up with pure head src + this patch.
 
 > Also, not sure if I asked before the following questions related to
 > debugging possibilities.
 > Does this system have a serial port?  Are you able to setup serial
 > console access?
 > Or the same for firewire port/console.
 > Does this system preserve memory content across reboot/reset?
 > In other words, can you see messages from the previous boot in dmesg
 > after a reboot?
 
   The machine I'm using is a cheap mobile notebook with a ULV CPU.
 It does not have a serial port and a firewire. I have USB-serial
 adapters, but I don't think it helps to make a serial console.
 I can only take a memo by a pen, if the machine does not reboot
 immediately and the keyboard on DDB is alive.
 
 -- 
 kaho@elem.kais.kyoto-u.ac.jp

From: Andriy Gapon <avg@FreeBSD.org>
To: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Wed, 26 Dec 2012 09:14:33 +0200

 on 26/12/2012 05:27 KAHO Toshikazu said the following:
 >   Hello,
 > 
 >> Could you please re-apply r243764 and then try the following _hack_?
 > 
 >   Yes, the machine can wake up with pure head src + this patch.
 
 Here is my current understanding of the situation.
 r243764 is actually an improvement, not a regression.
 
 What happens without r243764 during resume: ioapic pin 9 which is used for
 SCI/IRQ9 has some garbage in its CPU destination configuration, we unmask the
 pin, ioapic sends interrupt message to nowhere, the interrupt is never accepted
 and so the pin is stuck even after we program it with the correct destination.
 This is bad.
 
 What happens with r243764 during resume: we first program the correct
 destination (which happens to be BSP), then unmask the pin; as soon as
 interrupts on the BSP are re-enable SCI/IRQ9 is correctly delivered.
 This is the correct behavior, IMO.
 But apparently there is some problem in our ACPI code which leads to the hang.
 This is bad.
 
 While now I know where to look for the root cause, I don't know to do that in
 the early post-resume environment.  As I understand, there is no way to output
 any information from kernel.  This makes things hard.
 
 Some things to try (independently of each other) without the hack and with r243764:
 o cpuset -l 1 -x 9 -- to try to see what happens if SCI/IRQ9 is delivered to the
 AP instead of BSP
 
 o the following patch:
 --- a/sys/dev/acpica/acpi.c
 +++ b/sys/dev/acpica/acpi.c
 @@ -2776,6 +2776,9 @@ acpi_EnterSleepState(struct acpi_softc *sc, int state)
  	sleep_result = acpi_sleep_machdep(sc, state);
  	acpi_wakeup_machdep(sc, state, sleep_result, 0);
  	AcpiLeaveSleepStatePrep(state);
 +
 +	AcpiDisableAllGpes();
 +
  	intr_restore(intr);
 
  	/* call acpi_wakeup_machdep() again with interrupt enabled */
 
 >> Also, not sure if I asked before the following questions related to
 >> debugging possibilities.
 >> Does this system have a serial port?  Are you able to setup serial
 >> console access?
 >> Or the same for firewire port/console.
 >> Does this system preserve memory content across reboot/reset?
 >> In other words, can you see messages from the previous boot in dmesg
 >> after a reboot?
 > 
 >   The machine I'm using is a cheap mobile notebook with a ULV CPU.
 > It does not have a serial port and a firewire. I have USB-serial
 > adapters, but I don't think it helps to make a serial console.
 > I can only take a memo by a pen, if the machine does not reboot
 > immediately and the keyboard on DDB is alive.
 > 
 
 I see.
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Wed, 26 Dec 2012 20:34:41 +0900

   Hello,
 
   Hmm.. The machine has a broken ACPI but OS doesn't catch it
 before r243764, and the broken ACPI doesn't make any ill effect.
 After r243764, OS catch the broken information and treat it
 as a correct information, so that the machine stops.
 It is a story I understand from your mail.
 
 > o cpuset -l 1 -x 9 -- to try to see what happens if SCI/IRQ9
 > is delivered to the AP instead of BSP
 
   I cannot find any effect from `cpuset -l 1 -x 9` command.
 
   With pure head + your acpi.c patch, the machine can wake up
 from sleep. But "irq9: acpi0" rate showed by "vmstat -i" is
 increasing every second after resume. 
 To close and open LCD makes 2 irq9 before resume, but irq9 rate
 is too fast after resume.
 
   "vmstat -i" shows
 
 -- before sleep --
 interrupt                          total       rate
 irq1: atkbd0                        1153          2
 irq9: acpi0                           56          0
 irq12: psm0                        75744        177
 irq20: hpet0                       30065         70
 irq23: ehci1 uhci1                    83          0
 irq256: ahci0                       4572         10
 irq258: hdac0                         93          0
 irq259: vgapci0                     1022          2
 Total                             112788        264
 
 -- after wake up from sleep --
 interrupt                          total       rate
 irq1: atkbd0                        1427          2
 irq9: acpi0                      2364611       4564
 irq12: psm0                        78870        152
 irq20: hpet0                       42270         81
 irq23: ehci1 uhci1                   166          0
 irq256: ahci0                       4740          9
 irq258: hdac0                         99          0
 irq259: vgapci0                     1615          3
 Total                            2493798       4814
 
 -- after resume and some times later --
 interrupt                          total       rate
 irq1: atkbd0                        1643          0
 irq9: acpi0                    103768672      45313
 irq12: psm0                        86056         37
 irq20: hpet0                      442586        193
 irq23: ehci1 uhci1                   166          0
 irq256: ahci0                       4942          2
 irq258: hdac0                         99          0
 irq259: vgapci0                     3091          1
 irq260: alc0                          42          0
 Total                          104307297      45549
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: Andriy Gapon <avg@FreeBSD.org>
To: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Wed, 26 Dec 2012 13:47:04 +0200

 on 26/12/2012 13:34 KAHO Toshikazu said the following:
 >   With pure head + your acpi.c patch, the machine can wake up
 > from sleep. But "irq9: acpi0" rate showed by "vmstat -i" is
 > increasing every second after resume. 
 > To close and open LCD makes 2 irq9 before resume, but irq9 rate
 > is too fast after resume.
 
 That's something interesting.  Thank you again!
 Could you please now try the following patch instead of all previous patches/hacks?
 
 http://people.freebsd.org/~avg/acpi-apic-wakeup.patch
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Thu, 27 Dec 2012 13:44:34 +0900

   Hello, and thank you for new patch.
 
 > Could you please now try the following patch instead of all previous
 > patches/hacks?
 > http://people.freebsd.org/~avg/acpi-apic-wakeup.patch
 
   The machine doesn't wake up with this patch.
 I cannot find any changes caused by the patch before suspend.
 After resume, the machine hangs.
 
 -- 
 kaho@ed.niigata-u.ac.jp

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Sat, 29 Dec 2012 15:24:28 +0900

   Hello,
 
 > Oh, I expected this patch to be an improvement over the previous one...
 > Please double check that the patch is applied correctly (4 files changed).
 
   I re-fetch the patch and apply it. A kernel is building now.
 I think the patch is applied correctly, but some offsets were occurred.
 All changes were cleaned before applying the patch.
 
 -- message from patch command --
 Patching file x86/x86/local_apic.c using Plan A...
 Hunk #4 succeeded at 1362 (offset -36 lines).
 
 Patching file amd64/amd64/mp_machdep.c using Plan A...
 Hunk #1 succeeded at 1431 with fuzz 2 (offset -277 lines).
 
 Patching file dev/acpica/acpi.c using Plan A...
 Hunk #1 succeeded at 2657 (offset -33 lines).
 Hunk #2 succeeded at 2744 (offset -33 lines).
 
 --
 > Unfortunately, I am going on vacation for 2 weeks, so I'll be able to
 > get back to this issue in ~3 weeks.
 
   I see. Don't mind. Good vacation!
 
 > If you'd like you can try to use the previous patch (the one that
 > results in the interrupt storm) and attempt to determine the cause of
 > the interrupt storm.
 > The relevant code is in the following files:
 > sys/contrib/dev/acpica/components/events/evsci.c
 > sys/contrib/dev/acpica/components/events/evevent.c
 > sys/contrib/dev/acpica/components/events/evgpe.c
 > Interesting functions are: AcpiEvSciXruptHandler, AcpiEvFixedEventDetect,
 > AcpiEvGpeDetect.
 
   Thanks for a suggestion.
 
 -- 
 kaho@ed.niigata-u.ac.jp

From: "Sergey V. Dyatko" <sergey.dyatko@gmail.com>
To: bug-followup@FreeBSD.org, Andriy Gapon <avg@FreeBSD.org>
Cc:  
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c
 change(r243764)
Date: Mon, 21 Jan 2013 11:31:32 +0300

 Hi,
 
 Today I revert io_apic.c to r227309 and resume works for me.  
 head, amd64 r227309:245694
 
 -- 
 wbr, tiger
Responsible-Changed-From-To: freebsd-amd64->avg 
Responsible-Changed-By: avg 
Responsible-Changed-When: Mon Jan 21 15:44:15 UTC 2013 
Responsible-Changed-Why:  
The problem is triggered by my change and I'd like to get to the bottom 
of it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174409 

From: "Sergey V. Dyatko" <sergey.dyatko@gmail.com>
To: bug-followup@FreeBSD.org, kaho@elam.kais.kyoto-u.ac.jp
Cc:  
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c
 change(r243764)
Date: Fri, 25 Jan 2013 08:46:57 +0300

 Hi,
 
 Thanks Andriy!
 
 after tree days patching, reverting and patching again... my laptop can
 resume :) 
 KAHO Toshikazu does it work for you ?
 
 full svn diff (also you can find it here http://svn.freebsd.by/files/acpi-apic-wakeup-final.patch)
 
 [tiger@laptop]:/usr/src%svn diff
 Index: sys/amd64/amd64/mp_machdep.c
 ===================================================================
 --- sys/amd64/amd64/mp_machdep.c        (revision 245694)
 +++ sys/amd64/amd64/mp_machdep.c        (working copy)
 @@ -1431,11 +1431,11 @@
         while (!CPU_ISSET(cpu, &started_cpus))
                 ia32_pause();
  
 -       CPU_CLR_ATOMIC(cpu, &started_cpus);
 -
         /* Resume MCA and local APIC */
         mca_resume();
         lapic_setup(0);
 +
 +       CPU_CLR_ATOMIC(cpu, &started_cpus);
  }
  
  /*
 Index: sys/dev/acpica/acpi.c
 ===================================================================
 --- sys/dev/acpica/acpi.c       (revision 245694)
 +++ sys/dev/acpica/acpi.c       (working copy)
 @@ -2659,6 +2659,7 @@
  {
      register_t intr;
      ACPI_STATUS status;
 +    ACPI_EVENT_STATUS power_button_status;
      enum acpi_sleep_state slp_state;
      int sleep_result;
  
 @@ -2743,8 +2744,35 @@
      intr = intr_disable();
      if (state != ACPI_STATE_S1) {
         sleep_result = acpi_sleep_machdep(sc, state);
 +       AcpiWriteBitRegister(ACPI_BITREG_SCI_ENABLE, 1);
         acpi_wakeup_machdep(sc, state, sleep_result, 0);
         AcpiLeaveSleepStatePrep(state);
 +
 +       if (sleep_result == 1 && state == ACPI_STATE_S3) {
 +           /*
 +            * Prevent mis-interpretation of the wakeup by power button
 +            * as a request for power off.
 +            * Ideally we should post an appropriate wakeup event,
 +            * perhaps using acpi_event_power_button_wake or alike.
 +            *
 +            * Clearing of power button status after wakeup is mandated
 +            * by ACPI specification in section "Fixed Power Button".
 +            *
 +            * XXX As of ACPICA 20121114 AcpiGetEventStatus provides
 +            * status as 0/1 corressponding to inactive/active despite
 +            * its type being ACPI_EVENT_STATUS.  In other words,
 +            * we should not test for ACPI_EVENT_FLAG_SET for time
   being.
 +            */
 +           if (ACPI_SUCCESS(AcpiGetEventStatus(ACPI_EVENT_POWER_BUTTON,
 +               &power_button_status)) && power_button_status != 0) {
 +               AcpiClearEvent(ACPI_EVENT_POWER_BUTTON);
 +               device_printf(sc->acpi_dev,
 +                   "cleared fixed power button status\n");
 +           }
 +       }
 +
 +       AcpiDisableAllGpes();
 +
         intr_restore(intr);
  
         /* call acpi_wakeup_machdep() again with interrupt enabled */
 Index: sys/x86/x86/intr_machdep.c
 ===================================================================
 --- sys/x86/x86/intr_machdep.c  (revision 245694)
 +++ sys/x86/x86/intr_machdep.c  (working copy)
 @@ -287,6 +287,7 @@
         atpic_reset();
  #endif
         mtx_lock(&intr_table_lock);
 +       lapic_setup(0);
         STAILQ_FOREACH(pic, &pics, pics) {
                 if (pic->pic_resume != NULL)
                         pic->pic_resume(pic);
 Index: sys/x86/x86/local_apic.c
 ===================================================================
 --- sys/x86/x86/local_apic.c    (revision 245694)
 +++ sys/x86/x86/local_apic.c    (working copy)
 @@ -160,7 +160,6 @@
  static struct eventtimer lapic_et;
  
  static void    lapic_enable(void);
 -static void    lapic_resume(struct pic *pic);
  static void    lapic_timer_oneshot(struct lapic *,
                     u_int count, int enable_int);
  static void    lapic_timer_periodic(struct lapic *,
 @@ -172,8 +171,6 @@
      struct bintime *first, struct bintime *period);
  static int     lapic_et_stop(struct eventtimer *et);
  
 -struct pic lapic_pic = { .pic_resume = lapic_resume };
 -
  static uint32_t
  lvt_mode(struct lapic *la, u_int pin, uint32_t value)
  {
 @@ -573,14 +570,6 @@
         lapic->svr = value;
  }
  
 -/* Reset the local APIC on the BSP during resume. */
 -static void
 -lapic_resume(struct pic *pic)
 -{
 -
 -       lapic_setup(0);
 -}
 -
  int
  lapic_id(void)
  {
 @@ -1373,7 +1362,6 @@
          * properly program the LINT pins.
          */
         lapic_setup(1);
 -       intr_register_pic(&lapic_pic);
         if (bootverbose)
                 lapic_dump("BSP");
  
 
 -- 
 wbr, tiger

From: Andriy Gapon <avg@FreeBSD.org>
To: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Sat, 26 Jan 2013 16:21:34 +0200

 Updated version of the patch:
 http://people.freebsd.org/~avg/acpi-apic-wakeup.2.patch
 
 -- 
 Andriy Gapon

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Thu, 31 Jan 2013 09:29:00 +0900

   Hello,
 
   I'm sorry for delay reply.
 
 > Do you have any news?
 > BTW, is your kernel DTrace capable?
 
   I don't have any news.
 I'm using the kernel with io_apic.c reverted to r227309.
 
   I don't think the kernel is DTrace capable, but I can recompile it.
 
 > Updated version of the patch:
 > http://people.freebsd.org/~avg/acpi-apic-wakeup.2.patch
 
   Thank you. I'll test the patch.
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: "Sergey V. Dyatko" <sergey.dyatko@gmail.com>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Thu, 31 Jan 2013 09:44:54 +0900

   Hello,
 
 > after tree days patching, reverting and patching again... my laptop can
 > resume :) 
 > KAHO Toshikazu does it work for you ?
 
   Thank you for making a patch. A kernel is compiling now.
 I'll report the result of the patch ASAP.
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: "Sergey V. Dyatko" <sergey.dyatko@gmail.com>
Cc: bug-followup@FreeBSD.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Thu, 31 Jan 2013 10:49:38 +0900

   Hello,
 
 > after tree days patching, reverting and patching again... my laptop can
 > resume :) 
 > KAHO Toshikazu does it work for you ?
 
   Yes, it work for me too.
 `vmstat -i` shows irq9(acpi) is silent after resume.
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>
To: Andriy Gapon <avg@freebsd.org>
Cc: bug-followup@freebsd.org
Subject: Re: amd64/174409: stopping during resume caused by io_apic.c change(r243764)
Date: Thu, 31 Jan 2013 11:16:56 +0900

   Hello Andriy Gapon,
 
 > Updated version of the patch:
 > http://people.freebsd.org/~avg/acpi-apic-wakeup.2.patch
 
   The patch solves the problem. The machine can wake up
 from acpi S3 sleep. A irq9(acpi0) total counter increases two
 when I close and open the LCD panel after resume.
 
 -- 
 kaho@elam.kais.kyoto-u.ac.jp

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: amd64/174409: commit references a PR
Date: Sat,  2 Feb 2013 12:42:21 +0000 (UTC)

 Author: avg
 Date: Sat Feb  2 12:42:07 2013
 New Revision: 246250
 URL: http://svnweb.freebsd.org/changeset/base/246250
 
 Log:
   acpi: after wakeup from a state > S1 re-enable SCI_EN with a direct write
   
   This hack is picked up from Linux, which claims that it follows
   Windows behavior.
   
   PR:		amd64/174409
   Tested by:	Sergey V. Dyatko <sergey.dyatko@gmail.com>,
   		KAHO Toshikazu <kaho@elam.kais.kyoto-u.ac.jp>,
   		Slawa Olhovchenkov <slw@zxy.spb.ru>
   MFC after:	13 days
 
 Modified:
   head/sys/dev/acpica/acpi.c
 
 Modified: head/sys/dev/acpica/acpi.c
 ==============================================================================
 --- head/sys/dev/acpica/acpi.c	Sat Feb  2 12:08:28 2013	(r246249)
 +++ head/sys/dev/acpica/acpi.c	Sat Feb  2 12:42:07 2013	(r246250)
 @@ -278,7 +278,7 @@ TUNABLE_INT("debug.acpi.interpreter_slac
  SYSCTL_INT(_debug_acpi, OID_AUTO, interpreter_slack, CTLFLAG_RDTUN,
      &acpi_interpreter_slack, 1, "Turn on interpreter slack mode.");
  
 -#ifdef __amd64__
 +#if defined(__amd64__) || defined(__i386__)
  /* Reset system clock while resuming.  XXX Remove once tested. */
  static int acpi_reset_clock = 1;
  TUNABLE_INT("debug.acpi.reset_clock", &acpi_reset_clock);
 @@ -2744,6 +2744,19 @@ acpi_EnterSleepState(struct acpi_softc *
      if (state != ACPI_STATE_S1) {
  	sleep_result = acpi_sleep_machdep(sc, state);
  	acpi_wakeup_machdep(sc, state, sleep_result, 0);
 +
 +	/*
 +	 * XXX According to ACPI specification SCI_EN bit should be restored
 +	 * by ACPI platform (BIOS, firmware) to its pre-sleep state.
 +	 * Unfortunately some BIOSes fail to do that and that leads to
 +	 * unexpected and serious consequences during wake up like a system
 +	 * getting stuck in SMI handlers.
 +	 * This hack is picked up from Linux, which claims that it follows
 +	 * Windows behavior.
 +	 */
 +	if (sleep_result == 1 && state != ACPI_STATE_S4)
 +	    AcpiWriteBitRegister(ACPI_BITREG_SCI_ENABLE, ACPI_ENABLE_EVENT);
 +
  	AcpiLeaveSleepStatePrep(state);
  	intr_restore(intr);
  
 @@ -2810,7 +2823,7 @@ backout:
  static void
  acpi_resync_clock(struct acpi_softc *sc)
  {
 -#ifdef __amd64__
 +#if defined(__amd64__) || defined(__i386__)
      if (!acpi_reset_clock)
  	return;
  
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->patched 
State-Changed-By: avg 
State-Changed-When: Sat Feb 2 12:54:21 UTC 2013 
State-Changed-Why:  
Should be fixed in head now. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=174409 
>Unformatted:
