NetBSD Problem Report #58932

From www@netbsd.org  Mon Dec 23 09:05:48 2024
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 6287E1A9238
	for <gnats-bugs@gnats.NetBSD.org>; Mon, 23 Dec 2024 09:05:48 +0000 (UTC)
Message-Id: <20241223090546.2A06E1A923A@mollari.NetBSD.org>
Date: Mon, 23 Dec 2024 09:05:46 +0000 (UTC)
From: ea1abz@gmail.com
Reply-To: ea1abz@gmail.com
To: gnats-bugs@NetBSD.org
Subject: NetBSD-10.99.12-i386-install.img ACPI problems Compal DL-75 laptop
X-Send-Pr-Version: www-1.0

>Number:         58932
>Category:       install
>Synopsis:       NetBSD-10.99.12-i386-install.img ACPI problems Compal DL-75 laptop
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    install-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Dec 23 09:10:01 +0000 2024
>Last-Modified:  Thu Dec 26 15:55:01 +0000 2024
>Originator:     Ramiro Aceves
>Release:        NetBSD 10.99.12
>Organization:
>Environment:
NetBSD  10.99.12 NetBSD 10.99.12 (GENERIC) #0: Sat Dec 21 07:31:23 UTC 2024  mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386/compile/GENERIC i386

>Description:
I think this problem is the same as this one I filled some time ago:

https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=57826

I have just tried to install NetBSD current in this old Compal Electronics DL-75 laptop, just to see if ACPI changes in the code fix the problem. The kernel boots but panics after a while and enters in ddb in kernel debugger. In order to have a successful boot I must disable ACPI with "boot -2" as suggested, this is the only way to have NetBSD running in this machine. 

The uname -a command has been issued when ACPI was disabled, of course, from the installer.

The dmesg booting and panic screen (I do not know a way to record that in a file, sorry):


https://ea4nz.cloudns.cc/hamradio/20241223_084701.jpg
https://ea4nz.cloudns.cc/hamradio/20241223_084711.jpg
https://ea4nz.cloudns.cc/hamradio/20241223_084722.jpg
https://ea4nz.cloudns.cc/hamradio/20241223_084732.jpg
https://ea4nz.cloudns.cc/hamradio/20241223_084741.jpg
https://ea4nz.cloudns.cc/hamradio/20241223_084751.jpg

in kernel debugger "bt" command:

https://ea4nz.cloudns.cc/hamradio/20241223_084815.jpg

This is a successful boot with ACPI disabled:


[     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
[     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
[     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
[     1.000000]     2024
[     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
[     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[     1.000000]     The Regents of the University of California.  All rights reserved.

[     1.000000] NetBSD 10.99.12 (GENERIC) #0: Sat Dec 21 07:31:23 UTC 2024
[     1.000000] 	mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386/compile/GENERIC
[     1.000000] total memory = 2039 MB
[     1.000000] avail memory = 1977 MB
[     1.000000] timecounter: Timecounters tick every 10.000 msec
[     1.000000] Kernelized RAIDframe activated
[     1.000000] timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
[     1.000004] mainbus0 (root)
[     1.000004] cpu0 at mainbus0
[     1.000004] ACPI Error: AE_BAD_PARAMETER, Thread 3244851456 could not acquire Mutex [ACPI_MTX_Tables] (0x2) (20240827/utmutex-326)
[     1.000004] cpu0: Use lfence to serialize rdtsc
[     1.000004] cpu0: Intel(R) Pentium(R) M processor 1.86GHz, id 0x6d8
[     1.000004] cpu0: node 0, package 0, core 0, smt 0
[     1.000004] pci0 at mainbus0 bus 0: configuration mode 1
[     1.000004] pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
[     1.000004] pchb0 at pci0 dev 0 function 0: Intel 82915PM/GM/GMS,82910GML Host Bridge (rev. 0x04)
[     1.000004] agp0 at pchb0: i915-family chipset
[     1.000004] agp0: detected 7932k stolen memory
[     1.000004] agp0: aperture at 0xa0000000, size 0x10000000
[     1.000004] i915drmkms0 at pci0 dev 2 function 0: Intel 82915GM/GMS,82910GML Integrated Graphics Device (rev. 0x04)
[     1.000004] Intel 82915GM/GMS IGD Companion (miscellaneous display, revision 0x04) at pci0 dev 2 function 1 not configured
[     1.000004] uhci0 at pci0 dev 29 function 0: Intel 82801FB/FR USB UHCI Controller (rev. 0x04)
[     1.000004] uhci0: interrupting at irq 7
[     1.000004] usb0 at uhci0: USB revision 1.0
[     1.000004] uhci1 at pci0 dev 29 function 1: Intel 82801FB/FR USB UHCI Controller (rev. 0x04)
[     1.000004] uhci1: interrupting at irq 3
[     1.000004] usb1 at uhci1: USB revision 1.0
[     1.000004] uhci2 at pci0 dev 29 function 2: Intel 82801FB/FR USB UHCI Controller (rev. 0x04)
[     1.000004] uhci2: interrupting at irq 11
[     1.000004] usb2 at uhci2: USB revision 1.0
[     1.000004] uhci3 at pci0 dev 29 function 3: Intel 82801FB/FR USB UHCI Controller (rev. 0x04)
[     1.000004] uhci3: interrupting at irq 11
[     1.000004] usb3 at uhci3: USB revision 1.0
[     1.000004] ehci0 at pci0 dev 29 function 7: Intel 82801FB/FR USB EHCI Controller (rev. 0x04)
[     1.000004] ehci0: 64-bit DMA - limited
[     1.000004] ehci0: interrupting at irq 7
[     1.000004] ehci0: EHCI version 1.0
[     1.000004] ehci0: 4 companion controllers, 2 ports each: uhci0 uhci1 uhci2 uhci3
[     1.000004] ehci0: Using DMA subregion for control data structures
[     1.000004] usb4 at ehci0: USB revision 2.0
[     1.000004] ppb0 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Bridge (rev. 0xd4)
[     1.000004] pci1 at ppb0 bus 1
[     1.000004] pci1: i/o space, memory space enabled
[     1.000004] fwohci0 at pci1 dev 0 function 0: VIA Technologies VT6306 IEEE 1394 Host Controller (rev. 0x80)
[     1.000004] fwohci0: interrupting at irq 10
[     1.000004] fwohci0: OHCI version 1.0 (ROM=1)
[     1.000004] fwohci0: No. of Isochronous channels is 4.
[     1.000004] fwohci0: EUI64 00:02:3f:59:88:40:01:0f
[     1.000004] fwohci0: Phy 1394a available S400, 2 ports.
[     1.000004] fwohci0: Link S400, max_rec 512 bytes.
[     1.000004] fwohci0: max_rec 512 -> 2048
[     1.000004] ieee1394if0 at fwohci0: IEEE1394 bus
[     1.000004] fwip0 at ieee1394if0: IP over IEEE1394
[     1.000004] fwohci0: Initiate bus reset
[     1.000004] re0 at pci1 dev 1 function 0: RealTek 8169/8110 Gigabit Ethernet (rev. 0x10)
[     1.000004] re0: interrupting at irq 11
[     1.000004] re0: RTL8169/8110SB (0x1000)
[     1.000004] re0: Ethernet address 00:0f:b0:93:6f:e1
[     1.000004] re0: using 256 tx descriptors
[     1.000004] rgephy0 at re0 phy 7: RTL8211B 1000BASE-T media interface
[     1.000004] rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
[     1.000004] iwi0 at pci1 dev 2 function 0: Intel PRO/Wireless LAN 2200BG Mini-PCI Adapter (rev. 0x05)
[     1.000004] iwi0: interrupting at irq 11
[     1.000004] iwi0: 802.11 address 00:13:ce:6b:7d:01
[     1.000004] cbb0 at pci1 dev 4 function 0: ENE Technology CB710 CardBus Controller (rev. 0x00)
[     1.000004] ENE Technology product 0530 (flash memory) at pci1 dev 4 function 1 not configured
[     1.000004] sdhc0 at pci1 dev 4 function 2: ENE Technology CB712/714/810 PCI SD Card Reader Controller (rev. 0x00)
[     1.000004] sdhc0: interrupting at irq 5
[     1.000004] sdhc0: SDHC 1.0, rev 0, caps <01e021a1/00000000>, SDMA, 33000 kHz, HS 3.3V, 512 byte blocks
[     1.000004] sdmmc0 at sdhc0 slot 0
[     1.000004] cbb0: cacheline 0x8 lattimer 0x40
[     1.000004] cbb0: bhlc 0x824008
[     1.000004] cbb0: autoconfiguration error: secondary bus number uninitialized; try PCI_BUS_FIXUP
[     1.000004] pci_intr_map: no mapping for pin A (line=ff)
[     1.000004] cbb0: autoconfiguration error: couldn't map interrupt
[     1.000004] cardslot0 at cbb0
[     1.000004] pcmcia0 at cardslot0
[     1.000004] auich0 at pci0 dev 30 function 2: i82801FB (ICH6) AC-97 Audio
[     1.000004] auich0: interrupting at irq 5
[     1.000004] auich0: ac97: Avance Logic unknown (0x414c4752) codec; headphone, 20 bit DAC, 18 bit ADC, no 3D stereo
[     1.000004] auich0: ac97: ext id 0xa07<AC97_23,AMAP,SPDIF,DRA,VRA>
[     1.000004] Intel 82801FB/FR AC'97 Modem Controller (modem communications, revision 0x04) at pci0 dev 30 function 3 not configured
[     1.000004] ichlpcib0 at pci0 dev 31 function 0: Intel 82801FBM ICH6M LPC Interface Bridge (rev. 0x04)
[     1.000004] timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
[     1.009412] ichlpcib0: 24-bit timer
[     1.009412] tco0 at ichlpcib0: TCO (watchdog) timer configured.
[     1.009412] tco0: Min/Max interval 1/367 seconds
[     1.009412] piixide0 at pci0 dev 31 function 1: Intel 82801FB IDE Controller (ICH6) (rev. 0x04)
[     1.009412] piixide0: bus-master DMA support present
[     1.009412] piixide0: primary channel configured to compatibility mode
[     1.009412] piixide0: primary channel interrupting at irq 14
[     1.009412] atabus0 at piixide0 channel 0
[     1.009412] piixide0: secondary channel configured to compatibility mode
[     1.009412] piixide0: secondary channel interrupting at irq 15
[     1.009412] atabus1 at piixide0 channel 1
[     1.009412] ichsmb0 at pci0 dev 31 function 3: Intel 82801FB/FR SMBus Controller (rev. 0x04)
[     1.009412] ichsmb0: interrupting at irq 3
[     1.009412] iic0 at ichsmb0: I2C bus
[     1.009412] isa0 at ichlpcib0
[     1.009412] pckbc0 at isa0 port 0x60-0x64
[     1.009412] pckbd0 at pckbc0 (kbd slot)
[     1.009412] pckbc0: using irq 1 for kbd slot
[     1.009412] wskbd0 at pckbd0: console keyboard
[     1.009412] pms0 at pckbc0 (aux slot)
[     1.009412] pms0: ALPS PS/2 V2 pointing device
[     1.009412] pckbc0: using irq 12 for aux slot
[     1.009412] wsmouse0 at pms0 mux 0
[     1.009412] attimer0 at isa0 port 0x40-0x43
[     1.009412] pcppi0 at isa0 port 0x61
[     1.009412] midi0 at pcppi0: PC speaker
[     1.009412] sysbeep0 at pcppi0
[     1.009412] attimer0: attached to pcppi0
[     1.009412] est0 at cpu0: Enhanced SpeedStep
[     1.009412] fwohci0: BUS reset
[     1.009412] fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
[     1.009412] ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
[     1.009412] ieee1394if0: bus manager 0
[     1.009412] WARNING: system needs entropy for security; see entropy(7)
[     1.243346] timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
[     1.576941] auich0: measured ac97 link rate at 48000 Hz
[     1.576941] audio0 at auich0: playback, capture, full duplex, independent
[     1.576941] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for playback
[     1.576941] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) for recording
[     1.576941] uhub0 at usb0: NetBSD (0x0000) UHCI root hub (0x0000), class 9/0, rev 1.00/1.00, addr 1
[     1.576941] uhub0: 2 ports with 2 removable, self powered
[     1.576941] uhub1 at usb1: NetBSD (0x0000) UHCI root hub (0x0000), class 9/0, rev 1.00/1.00, addr 1
[     1.576941] uhub1: 2 ports with 2 removable, self powered
[     1.576941] uhub2 at usb2: NetBSD (0x0000) UHCI root hub (0x0000), class 9/0, rev 1.00/1.00, addr 1
[     1.576941] uhub2: 2 ports with 2 removable, self powered
[     1.576941] uhub3 at usb3: NetBSD (0x0000) UHCI root hub (0x0000), class 9/0, rev 1.00/1.00, addr 1
[     1.576941] uhub3: 2 ports with 2 removable, self powered
[     1.576941] uhub4 at usb4: NetBSD (0x0000) EHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 1
[     1.576941] uhub4: 8 ports with 8 removable, self powered
[     1.586945] IPsec: Initialized Security Association Processing.
[     1.596942] atapibus0 at atabus0: 2 targets
[     1.676942] cd0 at atapibus0 drive 1: <TSSTcorpCD/DVDW TS-L632B, 95WK401090, TI33> cdrom removable
[     1.686942] cd0: 32-bit data port
[     1.686942] cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
[     1.686942] wd0 at atabus0 drive 0
[     1.696943] wd0: <IC25N080ATMR04-0>
[     1.696943] wd0: drive supports 16-sector PIO transfers, LBA48 addressing
[     1.696943] wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 sectors
[     2.156950] wd0: 32-bit data port
[     2.156950] wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
[     2.156950] wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ultra/100) (using DMA)
[     2.156950] cd0(piixide0:0:1): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA)
[     2.656957] umass0 at uhub4 port 1 configuration 1 interface 0
[     2.656957] umass0: USB (0x0781) SanDisk 3.2Gen1 (0x5591), rev 2.10/1.00, addr 2
[     2.656957] umass0: using SCSI over Bulk-Only
[     2.656957] scsibus0 at umass0: 2 targets, 1 lun per target
[     2.656957] sd0 at scsibus0 target 0 lun 0: <USB, SanDisk 3.2Gen1, 1.00> disk removable
[     2.666958] sd0: 58674 MB, 65535 cyl, 16 head, 63 sec, 512 bytes/sect x 120164352 sectors
[     2.676958] sd0: 114020352 trailing sectors not covered by disklabel
[     2.966961] ehci0: handing over low speed device on port 5 to uhci2
[     3.026963] swwdog0: software watchdog initialized
[     3.106964] sd0: 114020352 trailing sectors not covered by disklabel
[     3.106964] sd0: 114020352 trailing sectors not covered by disklabel
[     3.116964] sd0: 114020352 trailing sectors not covered by disklabel
[     3.116964] sd0: 114020352 trailing sectors not covered by disklabel
[     3.126964] WARNING: 2 errors while detecting hardware; check system log.
[     3.126964] boot device: sd0
[     3.126964] root on sd0a dumps on sd0b
[     3.126964] sd0: 114020352 trailing sectors not covered by disklabel
[     3.136965] root file system type: ffs
[     3.136965] kern.module.path=/stand/i386/10.99.12/modules
[     3.136965] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[     3.136965] [drm] Driver supports precise vblank timestamp query.
[     3.146987] i915drmkms0: interrupting at irq 11 (i915drmkms0)
[     3.176966] [drm] Initialized overlay support.
[     3.176966] [drm] Initialized i915 1.6.0 20200114 for i915drmkms0 on minor 0
[     3.316970] intelfb0 at i915drmkms0
[     3.316970] [drm] DRM_I915_DEBUG enabled
[     3.316970] [drm] DRM_I915_DEBUG_GEM enabled
[     3.326972] intelfb0: framebuffer at 0xa0009000, size 1280x800, depth 32, stride 5120
[     3.966978] wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 emulation), using wskbd0
[     3.976977] wsmux1: connecting to wsdisplay0
[     4.316984] entropy: best effort
[     4.936993] uhidev0 at uhub2 port 1 configuration 1 interface 0
[     4.936993] uhidev0: Alcor Micro (0x0566) product 3004 (0x3004), rev 1.10/1.00, addr 2, iclass 3/1
[     4.946993] ukbd0 at uhidev0
[     4.946993] wskbd1 at ukbd0 mux 1
[     4.946993] wskbd1: connecting to wsdisplay0
[     4.946993] uhidev1 at uhub2 port 1 configuration 1 interface 1
[     4.946993] uhidev1: Alcor Micro (0x0566) product 3004 (0x3004), rev 1.10/1.00, addr 2, iclass 3/0
[     4.986993] uhidev1: 4 report ids
[     4.986993] uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
[     4.986993] uhid1 at uhidev1 reportid 3: input=3, output=0, feature=0
[     4.986993] uhid2 at uhidev1 reportid 4: input=1, output=0, feature=0

Thanks so much for your time. It is a machine that I do not use for useful jobs, I only use for testing that NetBSD works. Just in case thig bugs helps to discover some bug in the code.

Regards.
Ramiro.










>How-To-Repeat:
Boot the installer with default options.
>Fix:
Not a fix but disabling ACPI leads to a usable system.

>Audit-Trail:
From: Andrius V <vezhlys@gmail.com>
To: gnats-bugs@netbsd.org
Cc: ea1abz@gmail.com
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Mon, 23 Dec 2024 22:57:13 +0200

 Hi,

 Looking at the dmesg, I would try to disable integrated audio in the
 BIOS, if there's such an option and see if boot still crashes in the
 same way. I believe I've seen this heartbeat issues, when audio is
 stalling the system, though not during the boot process itself. Can be
 USB related too...


 On Mon, Dec 23, 2024 at 11:10=E2=80=AFAM <ea1abz@gmail.com> wrote:
 >
 > >Number:         58932
 > >Category:       install
 > >Synopsis:       NetBSD-10.99.12-i386-install.img ACPI problems Compal DL=
 -75 laptop
 > >Confidential:   no
 > >Severity:       serious
 > >Priority:       medium
 > >Responsible:    install-manager
 > >State:          open
 > >Class:          sw-bug
 > >Submitter-Id:   net
 > >Arrival-Date:   Mon Dec 23 09:10:01 +0000 2024
 > >Originator:     Ramiro Aceves
 > >Release:        NetBSD 10.99.12
 > >Organization:
 > >Environment:
 > NetBSD  10.99.12 NetBSD 10.99.12 (GENERIC) #0: Sat Dec 21 07:31:23 UTC 20=
 24  mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386/compile/GENERIC i386
 >
 > >Description:
 > I think this problem is the same as this one I filled some time ago:
 >
 > https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=3D57826
 >
 > I have just tried to install NetBSD current in this old Compal Electronic=
 s DL-75 laptop, just to see if ACPI changes in the code fix the problem. Th=
 e kernel boots but panics after a while and enters in ddb in kernel debugge=
 r. In order to have a successful boot I must disable ACPI with "boot -2" as=
  suggested, this is the only way to have NetBSD running in this machine.
 >
 > The uname -a command has been issued when ACPI was disabled, of course, f=
 rom the installer.
 >
 > The dmesg booting and panic screen (I do not know a way to record that in=
  a file, sorry):
 >
 >
 > https://ea4nz.cloudns.cc/hamradio/20241223_084701.jpg
 > https://ea4nz.cloudns.cc/hamradio/20241223_084711.jpg
 > https://ea4nz.cloudns.cc/hamradio/20241223_084722.jpg
 > https://ea4nz.cloudns.cc/hamradio/20241223_084732.jpg
 > https://ea4nz.cloudns.cc/hamradio/20241223_084741.jpg
 > https://ea4nz.cloudns.cc/hamradio/20241223_084751.jpg
 >
 > in kernel debugger "bt" command:
 >
 > https://ea4nz.cloudns.cc/hamradio/20241223_084815.jpg
 >
 > This is a successful boot with ACPI disabled:
 >
 >
 > [     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2=
 003,
 > [     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012,=
  2013,
 > [     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022,=
  2023,
 > [     1.000000]     2024
 > [     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
 > [     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
 > [     1.000000]     The Regents of the University of California.  All rig=
 hts reserved.
 >
 > [     1.000000] NetBSD 10.99.12 (GENERIC) #0: Sat Dec 21 07:31:23 UTC 202=
 4
 > [     1.000000]         mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386=
 /compile/GENERIC
 > [     1.000000] total memory =3D 2039 MB
 > [     1.000000] avail memory =3D 1977 MB
 > [     1.000000] timecounter: Timecounters tick every 10.000 msec
 > [     1.000000] Kernelized RAIDframe activated
 > [     1.000000] timecounter: Timecounter "i8254" frequency 1193182 Hz qua=
 lity 100
 > [     1.000004] mainbus0 (root)
 > [     1.000004] cpu0 at mainbus0
 > [     1.000004] ACPI Error: AE_BAD_PARAMETER, Thread 3244851456 could not=
  acquire Mutex [ACPI_MTX_Tables] (0x2) (20240827/utmutex-326)
 > [     1.000004] cpu0: Use lfence to serialize rdtsc
 > [     1.000004] cpu0: Intel(R) Pentium(R) M processor 1.86GHz, id 0x6d8
 > [     1.000004] cpu0: node 0, package 0, core 0, smt 0
 > [     1.000004] pci0 at mainbus0 bus 0: configuration mode 1
 > [     1.000004] pci0: i/o space, memory space enabled, rd/line, rd/mult, =
 wr/inv ok
 > [     1.000004] pchb0 at pci0 dev 0 function 0: Intel 82915PM/GM/GMS,8291=
 0GML Host Bridge (rev. 0x04)
 > [     1.000004] agp0 at pchb0: i915-family chipset
 > [     1.000004] agp0: detected 7932k stolen memory
 > [     1.000004] agp0: aperture at 0xa0000000, size 0x10000000
 > [     1.000004] i915drmkms0 at pci0 dev 2 function 0: Intel 82915GM/GMS,8=
 2910GML Integrated Graphics Device (rev. 0x04)
 > [     1.000004] Intel 82915GM/GMS IGD Companion (miscellaneous display, r=
 evision 0x04) at pci0 dev 2 function 1 not configured
 > [     1.000004] uhci0 at pci0 dev 29 function 0: Intel 82801FB/FR USB UHC=
 I Controller (rev. 0x04)
 > [     1.000004] uhci0: interrupting at irq 7
 > [     1.000004] usb0 at uhci0: USB revision 1.0
 > [     1.000004] uhci1 at pci0 dev 29 function 1: Intel 82801FB/FR USB UHC=
 I Controller (rev. 0x04)
 > [     1.000004] uhci1: interrupting at irq 3
 > [     1.000004] usb1 at uhci1: USB revision 1.0
 > [     1.000004] uhci2 at pci0 dev 29 function 2: Intel 82801FB/FR USB UHC=
 I Controller (rev. 0x04)
 > [     1.000004] uhci2: interrupting at irq 11
 > [     1.000004] usb2 at uhci2: USB revision 1.0
 > [     1.000004] uhci3 at pci0 dev 29 function 3: Intel 82801FB/FR USB UHC=
 I Controller (rev. 0x04)
 > [     1.000004] uhci3: interrupting at irq 11
 > [     1.000004] usb3 at uhci3: USB revision 1.0
 > [     1.000004] ehci0 at pci0 dev 29 function 7: Intel 82801FB/FR USB EHC=
 I Controller (rev. 0x04)
 > [     1.000004] ehci0: 64-bit DMA - limited
 > [     1.000004] ehci0: interrupting at irq 7
 > [     1.000004] ehci0: EHCI version 1.0
 > [     1.000004] ehci0: 4 companion controllers, 2 ports each: uhci0 uhci1=
  uhci2 uhci3
 > [     1.000004] ehci0: Using DMA subregion for control data structures
 > [     1.000004] usb4 at ehci0: USB revision 2.0
 > [     1.000004] ppb0 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI Br=
 idge (rev. 0xd4)
 > [     1.000004] pci1 at ppb0 bus 1
 > [     1.000004] pci1: i/o space, memory space enabled
 > [     1.000004] fwohci0 at pci1 dev 0 function 0: VIA Technologies VT6306=
  IEEE 1394 Host Controller (rev. 0x80)
 > [     1.000004] fwohci0: interrupting at irq 10
 > [     1.000004] fwohci0: OHCI version 1.0 (ROM=3D1)
 > [     1.000004] fwohci0: No. of Isochronous channels is 4.
 > [     1.000004] fwohci0: EUI64 00:02:3f:59:88:40:01:0f
 > [     1.000004] fwohci0: Phy 1394a available S400, 2 ports.
 > [     1.000004] fwohci0: Link S400, max_rec 512 bytes.
 > [     1.000004] fwohci0: max_rec 512 -> 2048
 > [     1.000004] ieee1394if0 at fwohci0: IEEE1394 bus
 > [     1.000004] fwip0 at ieee1394if0: IP over IEEE1394
 > [     1.000004] fwohci0: Initiate bus reset
 > [     1.000004] re0 at pci1 dev 1 function 0: RealTek 8169/8110 Gigabit E=
 thernet (rev. 0x10)
 > [     1.000004] re0: interrupting at irq 11
 > [     1.000004] re0: RTL8169/8110SB (0x1000)
 > [     1.000004] re0: Ethernet address 00:0f:b0:93:6f:e1
 > [     1.000004] re0: using 256 tx descriptors
 > [     1.000004] rgephy0 at re0 phy 7: RTL8211B 1000BASE-T media interface
 > [     1.000004] rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, =
 1000baseT, 1000baseT-FDX, auto
 > [     1.000004] iwi0 at pci1 dev 2 function 0: Intel PRO/Wireless LAN 220=
 0BG Mini-PCI Adapter (rev. 0x05)
 > [     1.000004] iwi0: interrupting at irq 11
 > [     1.000004] iwi0: 802.11 address 00:13:ce:6b:7d:01
 > [     1.000004] cbb0 at pci1 dev 4 function 0: ENE Technology CB710 CardB=
 us Controller (rev. 0x00)
 > [     1.000004] ENE Technology product 0530 (flash memory) at pci1 dev 4 =
 function 1 not configured
 > [     1.000004] sdhc0 at pci1 dev 4 function 2: ENE Technology CB712/714/=
 810 PCI SD Card Reader Controller (rev. 0x00)
 > [     1.000004] sdhc0: interrupting at irq 5
 > [     1.000004] sdhc0: SDHC 1.0, rev 0, caps <01e021a1/00000000>, SDMA, 3=
 3000 kHz, HS 3.3V, 512 byte blocks
 > [     1.000004] sdmmc0 at sdhc0 slot 0
 > [     1.000004] cbb0: cacheline 0x8 lattimer 0x40
 > [     1.000004] cbb0: bhlc 0x824008
 > [     1.000004] cbb0: autoconfiguration error: secondary bus number unini=
 tialized; try PCI_BUS_FIXUP
 > [     1.000004] pci_intr_map: no mapping for pin A (line=3Dff)
 > [     1.000004] cbb0: autoconfiguration error: couldn't map interrupt
 > [     1.000004] cardslot0 at cbb0
 > [     1.000004] pcmcia0 at cardslot0
 > [     1.000004] auich0 at pci0 dev 30 function 2: i82801FB (ICH6) AC-97 A=
 udio
 > [     1.000004] auich0: interrupting at irq 5
 > [     1.000004] auich0: ac97: Avance Logic unknown (0x414c4752) codec; he=
 adphone, 20 bit DAC, 18 bit ADC, no 3D stereo
 > [     1.000004] auich0: ac97: ext id 0xa07<AC97_23,AMAP,SPDIF,DRA,VRA>
 > [     1.000004] Intel 82801FB/FR AC'97 Modem Controller (modem communicat=
 ions, revision 0x04) at pci0 dev 30 function 3 not configured
 > [     1.000004] ichlpcib0 at pci0 dev 31 function 0: Intel 82801FBM ICH6M=
  LPC Interface Bridge (rev. 0x04)
 > [     1.000004] timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz=
  quality 1000
 > [     1.009412] ichlpcib0: 24-bit timer
 > [     1.009412] tco0 at ichlpcib0: TCO (watchdog) timer configured.
 > [     1.009412] tco0: Min/Max interval 1/367 seconds
 > [     1.009412] piixide0 at pci0 dev 31 function 1: Intel 82801FB IDE Con=
 troller (ICH6) (rev. 0x04)
 > [     1.009412] piixide0: bus-master DMA support present
 > [     1.009412] piixide0: primary channel configured to compatibility mod=
 e
 > [     1.009412] piixide0: primary channel interrupting at irq 14
 > [     1.009412] atabus0 at piixide0 channel 0
 > [     1.009412] piixide0: secondary channel configured to compatibility m=
 ode
 > [     1.009412] piixide0: secondary channel interrupting at irq 15
 > [     1.009412] atabus1 at piixide0 channel 1
 > [     1.009412] ichsmb0 at pci0 dev 31 function 3: Intel 82801FB/FR SMBus=
  Controller (rev. 0x04)
 > [     1.009412] ichsmb0: interrupting at irq 3
 > [     1.009412] iic0 at ichsmb0: I2C bus
 > [     1.009412] isa0 at ichlpcib0
 > [     1.009412] pckbc0 at isa0 port 0x60-0x64
 > [     1.009412] pckbd0 at pckbc0 (kbd slot)
 > [     1.009412] pckbc0: using irq 1 for kbd slot
 > [     1.009412] wskbd0 at pckbd0: console keyboard
 > [     1.009412] pms0 at pckbc0 (aux slot)
 > [     1.009412] pms0: ALPS PS/2 V2 pointing device
 > [     1.009412] pckbc0: using irq 12 for aux slot
 > [     1.009412] wsmouse0 at pms0 mux 0
 > [     1.009412] attimer0 at isa0 port 0x40-0x43
 > [     1.009412] pcppi0 at isa0 port 0x61
 > [     1.009412] midi0 at pcppi0: PC speaker
 > [     1.009412] sysbeep0 at pcppi0
 > [     1.009412] attimer0: attached to pcppi0
 > [     1.009412] est0 at cpu0: Enhanced SpeedStep
 > [     1.009412] fwohci0: BUS reset
 > [     1.009412] fwohci0: node_id=3D0xc000ffc0, gen=3D1, CYCLEMASTER mode
 > [     1.009412] ieee1394if0: 1 nodes, maxhop <=3D 0 cable IRM irm(0) (me)
 > [     1.009412] ieee1394if0: bus manager 0
 > [     1.009412] WARNING: system needs entropy for security; see entropy(7=
 )
 > [     1.243346] timecounter: Timecounter "clockinterrupt" frequency 100 H=
 z quality 0
 > [     1.576941] auich0: measured ac97 link rate at 48000 Hz
 > [     1.576941] audio0 at auich0: playback, capture, full duplex, indepen=
 dent
 > [     1.576941] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) =
 for playback
 > [     1.576941] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) =
 for recording
 > [     1.576941] uhub0 at usb0: NetBSD (0x0000) UHCI root hub (0x0000), cl=
 ass 9/0, rev 1.00/1.00, addr 1
 > [     1.576941] uhub0: 2 ports with 2 removable, self powered
 > [     1.576941] uhub1 at usb1: NetBSD (0x0000) UHCI root hub (0x0000), cl=
 ass 9/0, rev 1.00/1.00, addr 1
 > [     1.576941] uhub1: 2 ports with 2 removable, self powered
 > [     1.576941] uhub2 at usb2: NetBSD (0x0000) UHCI root hub (0x0000), cl=
 ass 9/0, rev 1.00/1.00, addr 1
 > [     1.576941] uhub2: 2 ports with 2 removable, self powered
 > [     1.576941] uhub3 at usb3: NetBSD (0x0000) UHCI root hub (0x0000), cl=
 ass 9/0, rev 1.00/1.00, addr 1
 > [     1.576941] uhub3: 2 ports with 2 removable, self powered
 > [     1.576941] uhub4 at usb4: NetBSD (0x0000) EHCI root hub (0x0000), cl=
 ass 9/0, rev 2.00/1.00, addr 1
 > [     1.576941] uhub4: 8 ports with 8 removable, self powered
 > [     1.586945] IPsec: Initialized Security Association Processing.
 > [     1.596942] atapibus0 at atabus0: 2 targets
 > [     1.676942] cd0 at atapibus0 drive 1: <TSSTcorpCD/DVDW TS-L632B, 95WK=
 401090, TI33> cdrom removable
 > [     1.686942] cd0: 32-bit data port
 > [     1.686942] cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mod=
 e 2 (Ultra/33)
 > [     1.686942] wd0 at atabus0 drive 0
 > [     1.696943] wd0: <IC25N080ATMR04-0>
 > [     1.696943] wd0: drive supports 16-sector PIO transfers, LBA48 addres=
 sing
 > [     1.696943] wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sec=
 t x 156301488 sectors
 > [     2.156950] wd0: 32-bit data port
 > [     2.156950] wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mod=
 e 5 (Ultra/100)
 > [     2.156950] wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 (Ul=
 tra/100) (using DMA)
 > [     2.156950] cd0(piixide0:0:1): using PIO mode 4, Ultra-DMA mode 2 (Ul=
 tra/33) (using DMA)
 > [     2.656957] umass0 at uhub4 port 1 configuration 1 interface 0
 > [     2.656957] umass0: USB (0x0781) SanDisk 3.2Gen1 (0x5591), rev 2.10/1=
 .00, addr 2
 > [     2.656957] umass0: using SCSI over Bulk-Only
 > [     2.656957] scsibus0 at umass0: 2 targets, 1 lun per target
 > [     2.656957] sd0 at scsibus0 target 0 lun 0: <USB, SanDisk 3.2Gen1, 1.=
 00> disk removable
 > [     2.666958] sd0: 58674 MB, 65535 cyl, 16 head, 63 sec, 512 bytes/sect=
  x 120164352 sectors
 > [     2.676958] sd0: 114020352 trailing sectors not covered by disklabel
 > [     2.966961] ehci0: handing over low speed device on port 5 to uhci2
 > [     3.026963] swwdog0: software watchdog initialized
 > [     3.106964] sd0: 114020352 trailing sectors not covered by disklabel
 > [     3.106964] sd0: 114020352 trailing sectors not covered by disklabel
 > [     3.116964] sd0: 114020352 trailing sectors not covered by disklabel
 > [     3.116964] sd0: 114020352 trailing sectors not covered by disklabel
 > [     3.126964] WARNING: 2 errors while detecting hardware; check system =
 log.
 > [     3.126964] boot device: sd0
 > [     3.126964] root on sd0a dumps on sd0b
 > [     3.126964] sd0: 114020352 trailing sectors not covered by disklabel
 > [     3.136965] root file system type: ffs
 > [     3.136965] kern.module.path=3D/stand/i386/10.99.12/modules
 > [     3.136965] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013=
 ).
 > [     3.136965] [drm] Driver supports precise vblank timestamp query.
 > [     3.146987] i915drmkms0: interrupting at irq 11 (i915drmkms0)
 > [     3.176966] [drm] Initialized overlay support.
 > [     3.176966] [drm] Initialized i915 1.6.0 20200114 for i915drmkms0 on =
 minor 0
 > [     3.316970] intelfb0 at i915drmkms0
 > [     3.316970] [drm] DRM_I915_DEBUG enabled
 > [     3.316970] [drm] DRM_I915_DEBUG_GEM enabled
 > [     3.326972] intelfb0: framebuffer at 0xa0009000, size 1280x800, depth=
  32, stride 5120
 > [     3.966978] wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 =
 emulation), using wskbd0
 > [     3.976977] wsmux1: connecting to wsdisplay0
 > [     4.316984] entropy: best effort
 > [     4.936993] uhidev0 at uhub2 port 1 configuration 1 interface 0
 > [     4.936993] uhidev0: Alcor Micro (0x0566) product 3004 (0x3004), rev =
 1.10/1.00, addr 2, iclass 3/1
 > [     4.946993] ukbd0 at uhidev0
 > [     4.946993] wskbd1 at ukbd0 mux 1
 > [     4.946993] wskbd1: connecting to wsdisplay0
 > [     4.946993] uhidev1 at uhub2 port 1 configuration 1 interface 1
 > [     4.946993] uhidev1: Alcor Micro (0x0566) product 3004 (0x3004), rev =
 1.10/1.00, addr 2, iclass 3/0
 > [     4.986993] uhidev1: 4 report ids
 > [     4.986993] uhid0 at uhidev1 reportid 2: input=3D1, output=3D0, featu=
 re=3D0
 > [     4.986993] uhid1 at uhidev1 reportid 3: input=3D3, output=3D0, featu=
 re=3D0
 > [     4.986993] uhid2 at uhidev1 reportid 4: input=3D1, output=3D0, featu=
 re=3D0
 >
 > Thanks so much for your time. It is a machine that I do not use for usefu=
 l jobs, I only use for testing that NetBSD works. Just in case thig bugs he=
 lps to discover some bug in the code.
 >
 > Regards.
 > Ramiro.
 >
 >
 >
 >
 >
 >
 >
 >
 >
 >
 > >How-To-Repeat:
 > Boot the installer with default options.
 > >Fix:
 > Not a fix but disabling ACPI leads to a usable system.
 >

From: Taylor R Campbell <riastradh@NetBSD.org>
To: Ramiro Aceves <ea1abz@gmail.com>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
	gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems Compal DL-75 laptop
Date: Mon, 23 Dec 2024 21:58:29 +0000

 > Date: Mon, 23 Dec 2024 09:10:01 +0000 (UTC)
 > From: ea1abz@gmail.com
 >=20
 > The dmesg booting and panic screen (I do not know a way to record
 > that in a file, sorry):

 You may be able to:

 1. boot in the way that crashes
 2. type `reboot' (or `sync') at the ddb prompt
 3. boot in the way that works
 4. run `dmesg' (or check /var/run/dmesg.boot)

 This should have the previous boot's dmesg at the beginning, as long
 as it is a reboot or reset and not power-off and power-on.

 > https://ea4nz.cloudns.cc/hamradio/20241223_084701.jpg
 > [...]

 Here's the panic, summarized:

 [   1.7092374] panic: cpu0: time has not advanced in 1501 heartbeats
 [   1.7092374] cpu0: Begin traceback...
 [   1.7092374] [...]
 [   1.7092374] panic
 [   1.7092374] heartbeat
 [   1.7092374] hardclock
 [   1.7092374] --- switch to interrupt stack ---
 [   1.7092374] Xresume_lapic_timer
 [   1.7092374] --- interrupt ---
 [   1.7092374] inl
 [   1.7092374] AcpiHwRead
 [   1.7092374] AcpiGetTimer
 [   1.7092374] acpitimer_read_fast
 [   1.7092374] binuptime
 [   1.7092374] microtime
 [   1.7092374] auich_finish_attach
 [   1.7092374] config_interrupts_thread

 The panic shows that the system timecounter state has not advanced in
 about 15sec.  This is weird because the hardclock interrupt seems to
 be firing on cpu0, and that normally advances the system timecounter
 state.

 When the heartbeat timer timed out, it was probably in this loop in
 the auich(4) PCI audio driver:

    1646 	/* start */
    1647 	kpreempt_disable();
    1648 	microtime(&t1);
    1649 	bus_space_write_1(sc->iot, sc->aud_ioh, ICH_PCMI + ICH_CTRL, ICH_R=
 PBM);
    1650=20
    1651 	/* wait */
    1652 	nciv =3D ociv;
    1653 	do {
    1654 		microtime(&t2);
    1655 		if (t2.tv_sec - t1.tv_sec > 1)
    1656 			break;
    1657 		nciv =3D bus_space_read_1(sc->iot, sc->aud_ioh,
    1658 					ICH_PCMI + ICH_CIV);
    1659 	} while (nciv =3D=3D ociv);
    1660 	microtime(&t2);
    1661=20
    1662 	/* stop */
    1663 	bus_space_write_1(sc->iot, sc->aud_ioh, ICH_PCMI + ICH_CTRL, 0);
    1664 	kpreempt_enable();

 https://nxr.netbsd.org/xref/src/sys/dev/pci/auich.c?r=3D1.161#1646

 Specifically, it was probably in one of the microtime() calls, reading
 out the ACPI timecounter register.  I also note that the dmesg
 timestamps have not advanced.

 The available timecounters appear to be:

 timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
 timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0

 This makes me suspect that, in spite of acpi_timer.c's attempts to
 test the ACPI hardware timer before committing to use it, that timer
 is broken -- it's not advancing the timecounter and it's not letting
 auich(4) break out of that loop and it's not moving the dmesg
 timestamps forward.

 Unfortunately, there's no userconf(4) trick to disabling the ACPI
 timecounter at boot, but I would be curious to see what happens if you
 patch acpitimer_init in sys/dev/acpi/acpi_timer.c to just return -1
 unconditionally without doing anything to attach a timecounter.

 If that produces the same results, you could try additionally patching
 acpipmtimer_attach in sys/dev/ic/acpipmtimer.c to just return NULL
 unconditionally without doing anything to attach a timecounter.  Then
 your system might boot with i8254 -- suboptimal, but better than not
 booting, and it would help to confirm this hypothesis about what's
 happening.

 I would also be curious to see output of `acpidump -dt' on this system
 (whether from NetBSD, if you can get it that way, or even from Linux
 if you can't, with the caveat I'm not 100% sure the command-line
 options are the same).

From: Ramiro Aceves <ea1abz@gmail.com>
To: gnats-bugs@netbsd.org, install-manager@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Cc: 
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Tue, 24 Dec 2024 08:29:14 +0100

 El 23/12/24 a las 22:00, Andrius V escribió:
 > The following reply was made to PR install/58932; it has been noted by GNATS.
 > 
 > From: Andrius V <vezhlys@gmail.com>
 > To: gnats-bugs@netbsd.org
 > Cc: ea1abz@gmail.com
 > Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 >   Compal DL-75 laptop
 > Date: Mon, 23 Dec 2024 22:57:13 +0200
 > 
 >   Hi,
 >   
 >   Looking at the dmesg, I would try to disable integrated audio in the
 >   BIOS, if there's such an option and see if boot still crashes in the
 >   same way. I believe I've seen this heartbeat issues, when audio is
 >   stalling the system, though not during the boot process itself. Can be
 >   USB related too...

 Hello Andrius, thanks for answering, but BIOS does not have such option. 
 Time ago I investigated trying to get a full menu BIOS but was not able 
 to do that. BIOS to the user appears to be very simple with reduced options.

 Regards.


From: Ramiro Aceves <ea1abz@gmail.com>
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Tue, 24 Dec 2024 08:57:59 +0100

 El 23/12/24 a las 22:58, Taylor R Campbell escribió:
 >> Date: Mon, 23 Dec 2024 09:10:01 +0000 (UTC)
 >> From: ea1abz@gmail.com
 >>
 >> The dmesg booting and panic screen (I do not know a way to record
 >> that in a file, sorry):
 > 
 > You may be able to:
 > 
 > 1. boot in the way that crashes
 > 2. type `reboot' (or `sync') at the ddb prompt
 > 3. boot in the way that works
 > 4. run `dmesg' (or check /var/run/dmesg.boot)
 > 
 > This should have the previous boot's dmesg at the beginning, as long
 > as it is a reboot or reset and not power-off and power-on.


 Oh, thanks so much Taylor. I have pasted dmesg obtained that way  at the 
 end of this report (first with the crash with ACPI ON and second the 
 good one with ACPI OFF).

 Now I have some doubts as NetBSD newbie before I can continue. In order 
 to do patching to the installer kernel on the USB flash drive, having in 
 mind that the installed system in the hard disk on the i386 machine is 
 NetBSD-10.1 (ACPI off to be usable) and we are trying to fix the 
 installer that is 10.99.12 on a USB dongle:

 -Get the NetBSD-current source code on the i386 and compile a kernel. 
 Then replace the kernel on the USB dongle. Seems to me the most 
 straightforward, but slower.

 -Get the NeBSD-current source code my intel i7 amd64 NetBSD machine and 
 crosscompile a kernel. Then replace the kernel on the USB dongle. 
 Quicker but more effort.

 When getting the source, should I get the exact version of 
 NetBSD-current source code that was used in the installer?

 Please, tell me if it will work or wether there is a better way.

 Thanks so much for your time.
 Regards.
 Ramiro.






 > 
 >> https://ea4nz.cloudns.cc/hamradio/20241223_084701.jpg
 >> [...]
 > 
 > Here's the panic, summarized:
 > 
 > [   1.7092374] panic: cpu0: time has not advanced in 1501 heartbeats
 > [   1.7092374] cpu0: Begin traceback...
 > [   1.7092374] [...]
 > [   1.7092374] panic
 > [   1.7092374] heartbeat
 > [   1.7092374] hardclock
 > [   1.7092374] --- switch to interrupt stack ---
 > [   1.7092374] Xresume_lapic_timer
 > [   1.7092374] --- interrupt ---
 > [   1.7092374] inl
 > [   1.7092374] AcpiHwRead
 > [   1.7092374] AcpiGetTimer
 > [   1.7092374] acpitimer_read_fast
 > [   1.7092374] binuptime
 > [   1.7092374] microtime
 > [   1.7092374] auich_finish_attach
 > [   1.7092374] config_interrupts_thread
 > 
 > The panic shows that the system timecounter state has not advanced in
 > about 15sec.  This is weird because the hardclock interrupt seems to
 > be firing on cpu0, and that normally advances the system timecounter
 > state.
 > 
 > When the heartbeat timer timed out, it was probably in this loop in
 > the auich(4) PCI audio driver:
 > 
 >     1646 	/* start */
 >     1647 	kpreempt_disable();
 >     1648 	microtime(&t1);
 >     1649 	bus_space_write_1(sc->iot, sc->aud_ioh, ICH_PCMI + ICH_CTRL, ICH_RPBM);
 >     1650
 >     1651 	/* wait */
 >     1652 	nciv = ociv;
 >     1653 	do {
 >     1654 		microtime(&t2);
 >     1655 		if (t2.tv_sec - t1.tv_sec > 1)
 >     1656 			break;
 >     1657 		nciv = bus_space_read_1(sc->iot, sc->aud_ioh,
 >     1658 					ICH_PCMI + ICH_CIV);
 >     1659 	} while (nciv == ociv);
 >     1660 	microtime(&t2);
 >     1661
 >     1662 	/* stop */
 >     1663 	bus_space_write_1(sc->iot, sc->aud_ioh, ICH_PCMI + ICH_CTRL, 0);
 >     1664 	kpreempt_enable();
 > 
 > https://nxr.netbsd.org/xref/src/sys/dev/pci/auich.c?r=1.161#1646
 > 
 > Specifically, it was probably in one of the microtime() calls, reading
 > out the ACPI timecounter register.  I also note that the dmesg
 > timestamps have not advanced.
 > 
 > The available timecounters appear to be:
 > 
 > timecounter: Timecounter "i8254" frequency 1193182 Hz quality 100
 > timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000
 > timecounter: Timecounter "ichlpcib0" frequency 3579545 Hz quality 1000
 > timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 > 
 > This makes me suspect that, in spite of acpi_timer.c's attempts to
 > test the ACPI hardware timer before committing to use it, that timer
 > is broken -- it's not advancing the timecounter and it's not letting
 > auich(4) break out of that loop and it's not moving the dmesg
 > timestamps forward.
 > 
 > Unfortunately, there's no userconf(4) trick to disabling the ACPI
 > timecounter at boot, but I would be curious to see what happens if you
 > patch acpitimer_init in sys/dev/acpi/acpi_timer.c to just return -1
 > unconditionally without doing anything to attach a timecounter.
 > 
 > If that produces the same results, you could try additionally patching
 > acpipmtimer_attach in sys/dev/ic/acpipmtimer.c to just return NULL
 > unconditionally without doing anything to attach a timecounter.  Then
 > your system might boot with i8254 -- suboptimal, but better than not
 > booting, and it would help to confirm this hypothesis about what's
 > happening.
 > 
 > I would also be curious to see output of `acpidump -dt' on this system
 > (whether from NetBSD, if you can get it that way, or even from Linux
 > if you can't, with the caveat I'm not 100% sure the command-line
 > options are the same).


 ************************DMESG ACPI ON *********************************

 [     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
 2003,
 [     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 
 2012, 2013,
 [     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 
 2022, 2023,
 [     1.000000]     2024
 [     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
 [     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
 [     1.000000]     The Regents of the University of California.  All 
 rights reserved.

 [     1.000000] NetBSD 10.99.12 (GENERIC) #0: Sat Dec 21 07:31:23 UTC 2024
 [     1.000000] 
 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386/compile/GENERIC
 [     1.000000] total memory = 2039 MB
 [     1.000000] avail memory = 1977 MB
 [     1.000000] timecounter: Timecounters tick every 10.000 msec
 [     1.000000] Kernelized RAIDframe activated
 [     1.000000] timecounter: Timecounter "i8254" frequency 1193182 Hz 
 quality 100
 [     1.000004] mainbus0 (root)
 [     1.000004] ACPI: RSDP 0x00000000000E5010 000014 (v00 INSYDE)
 [     1.000004] ACPI: RSDT 0x000000007F7FB2BB 000034 (v01 INSYDE 
 RSDT_000 00000100 ABCD 00010200)
 [     1.000004] ACPI: FACP 0x000000007F7FFB00 000074 (v01 INSYDE 
 FACP_000 00000100 0000 00010200)
 [     1.000004] ACPI: DSDT 0x000000007F7FB920 0041DE (v01 COMPAL DL7x 
   00000001 INTL 02002036)
 [     1.000004] ACPI: FACS 0x000000007F7FFFC0 000040
 [     1.000004] ACPI: APIC 0x000000007F7FFB90 000068 (v01 STUPID 
 MAPIC_00 30307830 ABCD 00010200)
 [     1.000004] ACPI: SSDT 0x000000007F7FB4C7 000277 (v01 PmRef  Cpu0Ist 
   00003000 INTL 20030522)
 [     1.000004] ACPI: SSDT 0x000000007F7FB2EF 0001D8 (v01 PmRef  Cpu0Cst 
   00003001 INTL 20030522)
 [     1.000004] ACPI: 3 ACPI AML tables successfully acquired and loaded
 [     1.000004] ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 0x20, 
 24 pins
 [     1.000004] cpu0 at mainbus0 apid 0
 [     1.000004] cpu0: Use lfence to serialize rdtsc
 [     1.000004] cpu0: Intel(R) Pentium(R) M processor 1.86GHz, id 0x6d8
 [     1.000004] cpu0: node 0, package 0, core 0, smt 0
 [     1.000004] acpi0 at mainbus0: Intel ACPICA 20240827
 [     1.000004] acpi0: X/RSDT: OemId <INSYDE,RSDT_000,00000100>, AslId 
 <ABCD,00010200>
 [     1.000004] acpi0: SCI interrupting at int 9
 [     1.000004] acpi0: fixed power button present
 [     1.000004] timecounter: Timecounter "ACPI-Fast" frequency 3579545 
 Hz quality 1000
 [     1.030545] acpiec0 at acpi0 (EC0, PNP0C09): io 0x62,0x66
 [     1.030545] acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
 [     1.030545] acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 [     1.030545] acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
 [     1.030545] acpivga0 at acpi0 (GFX0): ACPI Display Adapter
 [     1.030545] acpiout0 at acpivga0 (LCD, 0x0400): ACPI Display Output 
 Device
 [     1.030545] acpiout1 at acpivga0 (CRT1, 0x0100): ACPI Display Output 
 Device
 [     1.030545] acpiout2 at acpivga0 (DTV1, 0x0200): ACPI Display Output 
 Device
 [     1.030545] acpivga0: connected output devices:
 [     1.030545] acpivga0:   0x0100 (acpiout1): Ext. Monitor, head 0, 
 bios detect
 [     1.030545] acpivga0:   0x0400 (acpiout0): Unknown Output Device, 
 head 0, bios detect
 [     1.030545] acpivga0:   0x0200 (acpiout2): TV, head 0, bios detect
 [     1.030545] FWHD (INT0800) at acpi0 not configured
 [     1.030545] MATH (PNP0C04) at acpi0 not configured
 [     1.030545] attimer1 at acpi0 (TIMR, PNP0100): io 
 0x40-0x43,0x50-0x53 irq 0
 [     1.030545] acpiacad0 at acpi0 (ACAD, ACPI0003): ACPI AC Adapter
 [     1.030545] acpibat0 at acpi0 (BAT1, PNP0C0A-1): ACPI Battery
 [     1.030545] pckbc1 at acpi0 (PS2K, PNP0303) (kbd port): io 0x60,0x64 
 irq 1
 [     1.030545] pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
 [     1.030545] apm0 at acpi0: Power Management spec V1.2
 [     1.030545] ACPI: Enabled 4 GPEs in block 00 to 1F
 [     1.030545] pckbd0 at pckbc1 (kbd slot)
 [     1.030545] pckbport_cmd: send error
 [     1.030545] pckbc1: using irq 1 for kbd slot
 [     1.030545] wskbd0 at pckbd0: console keyboard
 [     1.030545] autoconfiguration error: pckbc: aux echo error 1
 [     1.030545] pci0 at mainbus0 bus 0: configuration mode 1
 [     1.030545] pci0: i/o space,ory M^?M^?M^?M^?e enabled, rd/line, 
 rd/mult, wr/inv ok
 [     1.030545] pchb0 at pci0 dev 0 function 0: Intel 
 82915PM/GM/GMS,82910GML Host Bridge (rev. 0x04)
 [     1.030545] agp0 at pchb0: i915-family chipset
 [     1.030545] agp0: detected 7932k stolen memory
 [     1.030545] agp0: aperture at 0xa0000000, size 0x10000000
 [     1.030545] i915drmkms0 at pci0 dev 2 function 0: Intel 
 82915GM/GMS,82910GML Integrated Graphics Device (rev. 0x04)
 [     1.030545] Intel 82915GM/GMS IGD Companion (miscellaneous display, 
 revision 0x04) at pci0 dev 2 function 1 not configured
 [     1.030545] uhci0 at pci0 dev 29 function 0: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.030545] uhci0: interrupting at ioapic0 pin 23
 [     1.030545] usb0 at uhci0: USB revision 1.0
 [     1.030545] uhci1 at pci0 dev 29 function 1: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.030545] uhci1: interrupting at ioapic0 pin 19
 [     1.030545] usb1 at uhci1: USB revision 1.0
 [     1.030545] uhci2 at pci0 dev 29 function 2: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.030545] uhci2: interrupting at ioapic0 pin 18
 [     1.030545] usb2 at uhci2: USB revision 1.0
 [     1.030545] uhci3 at pci0 dev 29 function 3: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.030545] uhci3: interrupting at ioapic0 pin 16
 [     1.030545] usb3 at uhci3: USB revision 1.0
 [     1.030545] ehci0 at pci0 dev 29 function 7: Intel 82801FB/FR USB 
 EHCI Controller (rev. 0x04)
 [     1.030545] ehci0: 64-bit DMA - limited
 [     1.030545] ehci0: interrupting at ioapic0 pin 23
 [     1.030545] ehci0: EHCI version 0.0
 [     1.030545] ehci0: wrong number of companions (0 != 4)
 [     1.030545] ehci0: Using DMA subregion for control data structures
 [     1.030545] ehci0: autoconfiguration error: reset timeout
 [     1.030545] ehci0: autoconfiguration error: init failed, error=5
 [     1.030545] ppb0 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI 
 Bridge (rev. 0xd4)
 [     1.030545] pci1 at ppb0 bus 1
 [     1.030545] pci1: i/o space, memory space enabled
 [     1.030545] fwohci0 at pci1 dev 0 function 0: VIA Technologies 
 VT6306 IEEE 1394 Host Controller (rev. 0x80)
 [     1.030545] fwohci0: interrupting at ioapic0 pin 20
 [     1.030545] fwohci0: OHCI version 1.0 (ROM=1)
 [     1.030545] fwohci0: No. of Isochronous channels is 4.
 [     1.030545] fwohci0: EUI64 00:02:3f:59:88:40:01:0f
 [     1.030545] fwohci0: Phy 1394a available S400, 2 ports.
 [     1.030545] fwohci0: Link S400, max_rec 512 bytes.
 [     1.030545] fwohci0: max_rec 512 -> 2048
 [     1.030545] ieee1394if0 at fwohci0: IEEE1394 bus
 [     1.030545] fwip0 at ieee1394if0: IP over IEEE1394
 [     1.030545] fwohci0: Initiate bus reset
 [     1.030545] re0 at pci1 dev 1 function 0: RealTek 8169/8110 Gigabit 
 Ethernet (rev. 0x10)
 [     1.030545] re0: interrupting at ioapic0 pin 21
 [     1.030545] re0: RTL8169/8110SB (0x1000)
 [     1.030545] re0: Ethernet address 00:0f:b0:93:6f:e1
 [     1.030545] re0: using 256 tx descriptors
 [     1.030545] rgephy0 at re0 phy 7: RTL8211B 1000BASE-T media interface
 [     1.030545] rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 
 1000baseT, 1000baseT-FDX, auto
 [     1.030545] iwi0 at pci1 dev 2 function 0: Intel PRO/Wireless LAN 
 2200BG Mini-PCI Adapter (rev. 0x05)
 [     1.030545] iwi0: interrupting at ioapic0 pin 22
 [     1.030545] iwi0: 802.11 address 00:13:ce:6b:7d:01
 [     1.030545] cbb0 at pci1 dev 4 function 0: ENE Technology CB710 
 CardBus Controller (rev. 0x00)
 [     1.030545] ENE Technology product 0530 (flash memory) at pci1 dev 4 
 function 1 not configured
 [     1.030545] sdhc0 at pci1 dev 4 function 2: ENE Technology 
 CB712/714/810 PCI SD Card Reader Controller (rev. 0x00)
 [     1.030545] sdhc0: interrupting at ioapic0 pin 17
 [     1.030545] sdhc0: SDHC 1.0, rev 0, caps <01e021a1/00000000>, SDMA, 
 33000 kHz, HS 3.3V, 512 byte blocks
 [     1.030545] sdmmc0 at sdhc0 slot 0
 [     1.030545] sdhc0: Clear PME# now
 [     1.030545] cbb0: cacheline 0x8 lattimer 0x40
 [     1.030545] cbb0: bhlc 0x824008
 [     1.030545] cbb0: autoconfiguration error: secondary bus number 
 uninitialized; try PCI_BUS_FIXUP
 [     1.030545] cbb0: interrupting at ioapic0 pin 16
 [     1.030545] cardslot0 at cbb0
 [     1.030545] pcmcia0 at cardslot0
 [     1.030545] auich0 at pci0 dev 30 function 2: i82801FB (ICH6) AC-97 
 Audio
 [     1.030545] auich0: interrupting at ioapic0 pin 17
 [     1.030545] auich0: ac97: Avance Logic unknown (0x414c4752) codec; 
 headphone, 20 bit DAC, 18 bit ADC, no 3D stereo
 [     1.030545] auich0: ac97: ext id 0xa07<AC97_23,AMAP,SPDIF,DRA,VRA>
 [     1.030545] Intel 82801FB/FR AC'97 Modem Controller (modem 
 communications, revision 0x04) at pci0 dev 30 function 3 not configured
 [     1.030545] ichlpcib0 at pci0 dev 31 function 0: Intel 82801FBM 
 ICH6M LPC Interface Bridge (rev. 0x04)
 [     1.030545] timecounter: Timecounter "ichlpcib0" frequency 3579545 
 Hz quality 1000
 [     1.030545] ichlpcib0: 24-bit timer
 [     1.030545] tco0 at ichlpcib0: TCO (watchdog) timer configured.
 [     1.030545] tco0: Min/Max interval 1/367 seconds
 [     1.030545] piixide0 at pci0 dev 31 function 1: Intel 82801FB IDE 
 Controller (ICH6) (rev. 0x04)
 [     1.030545] piixide0: bus-master DMA support present
 [     1.030545] piixide0: primary channel configured to compatibility mode
 [     1.030545] piixide0: primary channel interrupting at ioapic0 pin 14
 [     1.030545] atabus0 at piixide0 channel 0
 [     1.030545] piixide0: secondary channel configured to compatibility mode
 [     1.030545] piixide0: secondary channel interrupting at ioapic0 pin 15
 [     1.030545] atabus1 at piixide0 channel 1
 [     1.030545] ichsmb0 at pci0 dev 31 function 3: Intel 82801FB/FR 
 SMBus Controller (rev. 0x04)
 [     1.030545] ichsmb0: interrupting at ioapic0 pin 19
 [     1.030545] iic0 at ichsmb0: I2C bus
 [     1.030545] isa0 at ichlpcib0
 [     1.030545] pcppi0 at isa0 port 0x61
 [     1.030545] midi0 at pcppi0: PC speaker
 [     1.030545] sysbeep0 at pcppi0
 [     1.030545] attimer1: attached to pcppi0
 [     1.030545] acpicpu0 at cpu0: ACPI CPU
 [     1.030545] acpicpu0: C1: HLT, lat   0 us, pow     0 mW
 [     1.030545] acpicpu0: C2: I/O, lat   1 us, pow     0 mW
 [     1.030545] acpicpu0: C3: I/O, lat  85 us, pow     0 mW
 [     1.030545] acpicpu0: P0: I/O, lat 110 us, pow 27000 mW, 1867 MHz
 [     1.030545] acpicpu0: P1: I/O, lat 110 us, pow 23000 mW, 1600 MHz
 [     1.030545] acpicpu0: P2: I/O, lat 110 us, pow 20000 mW, 1333 MHz
 [     1.030545] acpicpu0: P3: I/O, lat 110 us, pow 17000 mW, 1067 MHz
 [     1.030545] acpicpu0: P4: I/O, lat 110 us, pow 13000 mW,  800 MHz
 [     1.030545] acpicpu0: T0: I/O, lat   1 us, pow     0 mW, 100 %
 [     1.030545] acpicpu0: T1: I/O, lat   1 us, pow     0 mW,  88 %
 [     1.030545] acpicpu0: T2: I/O, lat   1 us, pow     0 mW,  76 %
 [     1.030545] acpicpu0: T3: I/O, lat   1 us, pow     0 mW,  64 %
 [     1.030545] acpicpu0: T4: I/O, lat   1 us, pow     0 mW,  52 %
 [     1.030545] acpicpu0: T5: I/O, lat   1 us, pow     0 mW,  40 %
 [     1.030545] acpicpu0: T6: I/O, lat   1 us, pow     0 mW,  28 %
 [     1.030545] acpicpu0: T7: I/O, lat   1 us, pow     0 mW,  16 %
 [     1.030545] fwohci0: BUS reset
 [     1.030545] fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
 [     1.030545] ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
 [     1.030545] ieee1394if0: bus manager 0
 [     1.030545] WARNING: system needs entropy for security; see entropy(7)
 [     1.030545] timecounter: Timecounter "clockinterrupt" frequency 100 
 Hz quality 0
 [     1.800550] panic: cpu0: time has not advanced in 1501 heartbeats
 [     1.800550] cpu0: Begin traceback...
 [     1.800550] 
 vpanic(c14353b4,db76cf04,db76cf4c,c0d71922,c14353b4,c16517a4,5dd,db76cf58,c04c573f,c44bb4c0) 
 at netbsd:vpanic+0x176
 [     1.800550] 
 panic(c14353b4,c16517a4,5dd,db76cf58,c04c573f,c44bb4c0,0,5dc,5dc,f) at 
 netbsd:panic+0x18
 [     1.800550] 
 heartbeat(dc9a3ee4,0,5dd,0,c44ab100,dc9a3f60,dc9a3f78,c0102fd4,dc9a3ee4,dc9a3ee4) 
 at netbsd:heartbeat+0x292
 [     1.800550] hardclock(dc9a3ee4,dc9a3ee4,0,0,0,0,0,0,0,0) at 
 netbsd:hardclock+0x79
 [     1.800550] --- switch to interrupt stack ---
 [     1.800550] Xresume_lapic_ltimer() at netbsd:Xresume_lapic_ltimer+0x24
 [     1.800550] --- interrupt ---
 [     1.800550] 
 bus_space_read_1(c44a5400,10,c01020f3,c44bb4c0,c44bb4c0,c44bb4c0,c0db660b,0,c0102011,c44bb4c0) 
 at netbsd:bus_space_read_1+0x14
 [     1.800550] 
 config_interrupts_thread(c44bb4c0,1a2b000,1a37000,0,c01005a8,0,0,0,0,0) 
 at netbsd:config_interrupts_thread+0x7f
 [     1.800550] cpu0: End traceback...
 [     1.800550] fatal breakpoint trap in supervisor mode
 [     1.800550] trap type 1 code 0 eip 0xc0128094 cs 0x8 eflags 0x202 
 cr2 0 ilevel 0x7 esp 0xdb76cee8
 [     1.800550] curlwp 0xc44bb4c0 pid 0 lid 103 lowest kstack 0xdc9a12c0
 rebooting...


 ************************DMESG ACPI OFF *********************************


 [     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
 2003,
 [     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 
 2012, 2013,
 [     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 
 2022, 2023,
 [     1.000000]     2024
 [     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
 [     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
 [     1.000000]     The Regents of the University of California.  All 
 rights reserved.

 [     1.000000] NetBSD 10.99.12 (GENERIC) #0: Sat Dec 21 07:31:23 UTC 2024
 [     1.000000] 
 mkrepro@mkrepro.NetBSD.org:/usr/src/sys/arch/i386/compile/GENERIC
 [     1.000000] total memory = 2039 MB
 [     1.000000] avail memory = 1977 MB
 [     1.000000] timecounter: Timecounters tick every 10.000 msec
 [     1.000000] Kernelized RAIDframe activated
 [     1.000000] timecounter: Timecounter "i8254" frequency 1193182 Hz 
 quality 100
 [     1.000004] mainbus0 (root)
 [     1.000004] cpu0 at mainbus0
 [     1.000004] ACPI Error: AE_BAD_PARAMETER, Thread 3244851456 could 
 not acquire Mutex [ACPI_MTX_Tables] (0x2) (20240827/utmutex-326)
 [     1.000004] cpu0: Use lfence to serialize rdtsc
 [     1.000004] cpu0: Intel(R) Pentium(R) M processor 1.86GHz, id 0x6d8
 [     1.000004] cpu0: node 0, package 0, core 0, smt 0
 [     1.000004] pci0 at mainbus0 bus 0: configuration mode 1
 [     1.000004] pci0: i/o space, memory space enabled, rd/line, rd/mult, 
 wr/inv ok
 [     1.000004] pchb0 at pci0 dev 0 function 0: Intel 
 82915PM/GM/GMS,82910GML Host Bridge (rev. 0x04)
 [     1.000004] agp0 at pchb0: i915-family chipset
 [     1.000004] agp0: detected 7932k stolen memory
 [     1.000004] agp0: aperture at 0xa0000000, size 0x10000000
 [     1.000004] i915drmkms0 at pci0 dev 2 function 0: Intel 
 82915GM/GMS,82910GML Integrated Graphics Device (rev. 0x04)
 [     1.000004] Intel 82915GM/GMS IGD Companion (miscellaneous display, 
 revision 0x04) at pci0 dev 2 function 1 not configured
 [     1.000004] uhci0 at pci0 dev 29 function 0: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci0: interrupting at irq 7
 [     1.000004] usb0 at uhci0: USB revision 1.0
 [     1.000004] uhci1 at pci0 dev 29 function 1: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci1: interrupting at irq 3
 [     1.000004] usb1 at uhci1: USB revision 1.0
 [     1.000004] uhci2 at pci0 dev 29 function 2: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci2: interrupting at irq 11
 [     1.000004] usb2 at uhci2: USB revision 1.0
 [     1.000004] uhci3 at pci0 dev 29 function 3: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci3: interrupting at irq 11
 [     1.000004] usb3 at uhci3: USB revision 1.0
 [     1.000004] ehci0 at pci0 dev 29 function 7: Intel 82801FB/FR USB 
 EHCI Controller (rev. 0x04)
 [     1.000004] ehci0: 64-bit DMA - limited
 [     1.000004] ehci0: interrupting at irq 7
 [     1.000004] ehci0: EHCI version 1.0
 [     1.000004] ehci0: 4 companion controllers, 2 ports each: uhci0 
 uhci1 uhci2 uhci3
 [     1.000004] ehci0: Using DMA subregion for control data structures
 [     1.000004] usb4 at ehci0: USB revision 2.0
 [     1.000004] ppb0 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI 
 Bridge (rev. 0xd4)
 [     1.000004] pci1 at ppb0 bus 1
 [     1.000004] pci1: i/o space, memory space enabled
 [     1.000004] fwohci0 at pci1 dev 0 function 0: VIA Technologies 
 VT6306 IEEE 1394 Host Controller (rev. 0x80)
 [     1.000004] fwohci0: interrupting at irq 10
 [     1.000004] fwohci0: OHCI version 1.0 (ROM=1)
 [     1.000004] fwohci0: No. of Isochronous channels is 4.
 [     1.000004] fwohci0: EUI64 00:02:3f:59:88:40:01:0f
 [     1.000004] fwohci0: Phy 1394a available S400, 2 ports.
 [     1.000004] fwohci0: Link S400, max_rec 512 bytes.
 [     1.000004] fwohci0: max_rec 512 -> 2048
 [     1.000004] ieee1394if0 at fwohci0: IEEE1394 bus
 [     1.000004] fwip0 at ieee1394if0: IP over IEEE1394
 [     1.000004] fwohci0: Initiate bus reset
 [     1.000004] re0 at pci1 dev 1 function 0: RealTek 8169/8110 Gigabit 
 Ethernet (rev. 0x10)
 [     1.000004] re0: interrupting at irq 11
 [     1.000004] re0: RTL8169/8110SB (0x1000)
 [     1.000004] re0: Ethernet address 00:0f:b0:93:6f:e1
 [     1.000004] re0: using 256 tx descriptors
 [     1.000004] rgephy0 at re0 phy 7: RTL8211B 1000BASE-T media interface
 [     1.000004] rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 
 1000baseT, 1000baseT-FDX, auto
 [     1.000004] iwi0 at pci1 dev 2 function 0: Intel PRO/Wireless LAN 
 2200BG Mini-PCI Adapter (rev. 0x05)
 [     1.000004] iwi0: interrupting at irq 11
 [     1.000004] iwi0: 802.11 address 00:13:ce:6b:7d:01
 [     1.000004] cbb0 at pci1 dev 4 function 0: ENE Technology CB710 
 CardBus Controller (rev. 0x00)
 [     1.000004] ENE Technology product 0530 (flash memory) at pci1 dev 4 
 function 1 not configured
 [     1.000004] sdhc0 at pci1 dev 4 function 2: ENE Technology 
 CB712/714/810 PCI SD Card Reader Controller (rev. 0x00)
 [     1.000004] sdhc0: interrupting at irq 5
 [     1.000004] sdhc0: SDHC 1.0, rev 0, caps <01e021a1/00000000>, SDMA, 
 33000 kHz, HS 3.3V, 512 byte blocks
 [     1.000004] sdmmc0 at sdhc0 slot 0
 [     1.000004] cbb0: cacheline 0x8 lattimer 0x40
 [     1.000004] cbb0: bhlc 0x824008
 [     1.000004] cbb0: autoconfiguration error: secondary bus number 
 uninitialized; try PCI_BUS_FIXUP
 [     1.000004] pci_intr_map: no mapping for pin A (line=ff)
 [     1.000004] cbb0: autoconfiguration error: couldn't map interrupt
 [     1.000004] cardslot0 at cbb0
 [     1.000004] pcmcia0 at cardslot0
 [     1.000004] auich0 at pci0 dev 30 function 2: i82801FB (ICH6) AC-97 
 Audio
 [     1.000004] auich0: interrupting at irq 5
 [     1.000004] auich0: ac97: Avance Logic unknown (0x414c4752) codec; 
 headphone, 20 bit DAC, 18 bit ADC, no 3D stereo
 [     1.000004] auich0: ac97: ext id 0xa07<AC97_23,AMAP,SPDIF,DRA,VRA>
 [     1.000004] Intel 82801FB/FR AC'97 Modem Controller (modem 
 communications, revision 0x04) at pci0 dev 30 function 3 not configured
 [     1.000004] ichlpcib0 at pci0 dev 31 function 0: Intel 82801FBM 
 ICH6M LPC Interface Bridge (rev. 0x04)
 [     1.000004] timecounter: Timecounter "ichlpcib0" frequency 3579545 
 Hz quality 1000
 [     1.009861] ichlpcib0: 24-bit timer
 [     1.009861] tco0 at ichlpcib0: TCO (watchdog) timer configured.
 [     1.009861] tco0: Min/Max interval 1/367 seconds
 [     1.009861] piixide0 at pci0 dev 31 function 1: Intel 82801FB IDE 
 Controller (ICH6) (rev. 0x04)
 [     1.009861] piixide0: bus-master DMA support present
 [     1.009861] piixide0: primary channel configured to compatibility mode
 [     1.009861] piixide0: primary channel interrupting at irq 14
 [     1.009861] atabus0 at piixide0 channel 0
 [     1.009861] piixide0: secondary channel configured to compatibility mode
 [     1.009861] piixide0: secondary channel interrupting at irq 15
 [     1.009861] atabus1 at piixide0 channel 1
 [     1.009861] ichsmb0 at pci0 dev 31 function 3: Intel 82801FB/FR 
 SMBus Controller (rev. 0x04)
 [     1.009861] ichsmb0: interrupting at irq 3
 [     1.009861] iic0 at ichsmb0: I2C bus
 [     1.009861] isa0 at ichlpcib0
 [     1.009861] pckbc0 at isa0 port 0x60-0x64
 [     1.009861] pckbd0 at pckbc0 (kbd slot)
 [     1.009861] pckbc0: using irq 1 for kbd slot
 [     1.009861] wskbd0 at pckbd0: console keyboard
 [     1.009861] pms0 at pckbc0 (aux slot)
 [     1.009861] pms0: ALPS PS/2 V2 pointing device
 [     1.009861] pckbc0: using irq 12 for aux slot
 [     1.009861] wsmouse0 at pms0 mux 0
 [     1.009861] attimer0 at isa0 port 0x40-0x43
 [     1.009861] pcppi0 at isa0 port 0x61
 [     1.009861] midi0 at pcppi0: PC speaker
 [     1.009861] sysbeep0 at pcppi0
 [     1.009861] attimer0: attached to pcppi0
 [     1.009861] est0 at cpu0: Enhanced SpeedStep
 [     1.009861] fwohci0: BUS reset
 [     1.009861] fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
 [     1.009861] ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
 [     1.009861] ieee1394if0: bus manager 0
 [     1.009861] WARNING: system needs entropy for security; see entropy(7)
 [     1.249203] timecounter: Timecounter "clockinterrupt" frequency 100 
 Hz quality 0
 [     1.587272] auich0: measured ac97 link rate at 48000 Hz
 [     1.587272] audio0 at auich0: playback, capture, full duplex, 
 independent
 [     1.587272] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) 
 for playback
 [     1.587272] audio0: slinear_le:16 2ch 48000Hz, blk 1920 bytes (10ms) 
 for recording
 [     1.587272] uhub0 at usb0: NetBSD (0x0000) UHCI root hub (0x0000), 
 class 9/0, rev 1.00/1.00, addr 1
 [     1.587272] uhub0: 2 ports with 2 removable, self powered
 [     1.587272] uhub1 at usb1: NetBSD (0x0000) UHCI root hub (0x0000), 
 class 9/0, rev 1.00/1.00, addr 1
 [     1.587272] uhub1: 2 ports with 2 removable, self powered
 [     1.587272] uhub2 at usb2: NetBSD (0x0000) UHCI root hub (0x0000), 
 class 9/0, rev 1.00/1.00, addr 1
 [     1.587272] uhub2: 2 ports with 2 removable, self powered
 [     1.587272] uhub3 at usb3: NetBSD (0x0000) UHCI root hub (0x0000), 
 class 9/0, rev 1.00/1.00, addr 1
 [     1.587272] uhub3: 2 ports with 2 removable, self powered
 [     1.587272] uhub4 at usb4: NetBSD (0x0000) EHCI root hub (0x0000), 
 class 9/0, rev 2.00/1.00, addr 1
 [     1.587272] uhub4: 8 ports with 8 removable, self powered
 [     1.597273] IPsec: Initialized Security Association Processing.
 [     1.607273] atapibus0 at atabus0: 2 targets
 [     1.687273] cd0 at atapibus0 drive 1: <TSSTcorpCD/DVDW TS-L632B, 
 95WK401090, TI33> cdrom removable
 [     1.697274] cd0: 32-bit data port
 [     1.697274] cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA 
 mode 2 (Ultra/33)
 [     1.697274] wd0 at atabus0 drive 0
 [     1.697274] wd0: <IC25N080ATMR04-0>
 [     1.697274] wd0: drive supports 16-sector PIO transfers, LBA48 
 addressing
 [     1.697274] wd0: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 
 bytes/sect x 156301488 sectors
 [     2.147282] wd0: 32-bit data port
 [     2.147282] wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA 
 mode 5 (Ultra/100)
 [     2.157281] wd0(piixide0:0:0): using PIO mode 4, Ultra-DMA mode 5 
 (Ultra/100) (using DMA)
 [     2.157281] cd0(piixide0:0:1): using PIO mode 4, Ultra-DMA mode 2 
 (Ultra/33) (using DMA)
 [     2.667288] umass0 at uhub4 port 1 configuration 1 interface 0
 [     2.667288] umass0: USB (0x0781) SanDisk 3.2Gen1 (0x5591), rev 
 2.10/1.00, addr 2
 [     2.667288] umass0: using SCSI over Bulk-Only
 [     2.667288] scsibus0 at umass0: 2 targets, 1 lun per target
 [     2.667288] sd0 at scsibus0 target 0 lun 0: <USB, SanDisk 3.2Gen1, 
 1.00> disk removable
 [     2.677292] sd0: 58674 MB, 65535 cyl, 16 head, 63 sec, 512 
 bytes/sect x 120164352 sectors
 [     2.687289] sd0: 114020352 trailing sectors not covered by disklabel
 [     2.977293] ehci0: handing over low speed device on port 5 to uhci2
 [     3.037294] swwdog0: software watchdog initialized
 [     3.127296] sd0: 114020352 trailing sectors not covered by disklabel
 [     3.137296] sd0: 114020352 trailing sectors not covered by disklabel
 [     3.137296] sd0: 114020352 trailing sectors not covered by disklabel
 [     3.147296] sd0: 114020352 trailing sectors not covered by disklabel
 [     3.147296] WARNING: 2 errors while detecting hardware; check system 
 log.
 [     3.147296] boot device: sd0
 [     3.147296] root on sd0a dumps on sd0b
 [     3.157296] sd0: 114020352 trailing sectors not covered by disklabel
 [     3.157296] root file system type: ffs
 [     3.157296] kern.module.path=/stand/i386/10.99.12/modules
 [     3.167306] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
 [     3.167306] [drm] Driver supports precise vblank timestamp query.
 [     3.167306] i915drmkms0: interrupting at irq 11 (i915drmkms0)
 [     3.197297] [drm] Initialized overlay support.
 [     3.197297] [drm] Initialized i915 1.6.0 20200114 for i915drmkms0 on 
 minor 0
 [     3.337301] intelfb0 at i915drmkms0
 [     3.337301] [drm] DRM_I915_DEBUG enabled
 [     3.347314] [drm] DRM_I915_DEBUG_GEM enabled
 [     3.347314] intelfb0: framebuffer at 0xa0009000, size 1280x800, 
 depth 32, stride 5120
 [     4.017310] wsdisplay0 at intelfb0 kbdmux 1: console (default, vt100 
 emulation), using wskbd0
 [     4.017310] wsmux1: connecting to wsdisplay0
 [     4.357316] entropy: best effort
 [     4.977324] uhidev0 at uhub2 port 1 configuration 1 interface 0
 [     4.977324] uhidev0: Alcor Micro (0x0566) product 3004 (0x3004), rev 
 1.10/1.00, addr 2, iclass 3/1
 [     4.987324] ukbd0 at uhidev0
 [     4.987324] wskbd1 at ukbd0 mux 1
 [     4.987324] wskbd1: connecting to wsdisplay0
 [     4.987324] uhidev1 at uhub2 port 1 configuration 1 interface 1
 [     4.987324] uhidev1: Alcor Micro (0x0566) product 3004 (0x3004), rev 
 1.10/1.00, addr 2, iclass 3/0
 [     5.027324] uhidev1: 4 report ids
 [     5.027324] uhid0 at uhidev1 reportid 2: input=1, output=0, feature=0
 [     5.027324] uhid1 at uhidev1 reportid 3: input=3, output=0, feature=0
 [     5.027324] uhid2 at uhidev1 reportid 4: input=1, output=0, feature=0


From: Andrius V <vezhlys@gmail.com>
To: Ramiro Aceves <ea1abz@gmail.com>
Cc: gnats-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Tue, 24 Dec 2024 11:31:19 +0200

 --00000000000045d8a5062a00c7b8
 Content-Type: text/plain; charset="UTF-8"

 On Tue, Dec 24, 2024, 09:29 Ramiro Aceves <ea1abz@gmail.com> wrote:

 >
 > Hello Andrius, thanks for answering, but BIOS does not have such option.
 > Time ago I investigated trying to get a full menu BIOS but was not able
 > to do that. BIOS to the user appears to be very simple with reduced
 > options.
 >
 > Regards.
 >

 Device drivers can be also disabled by typing "userconf disable auich*" in
 bootloader. But from the last dmesg I am not so sure if it is an audio,
 nevertheless you can experiment by disabling some device drivers. Other
 devices like acpi ones can't be disabled like that though. Kernel config
 changes are needed or code changes like Taylor proposed to experiment in
 more specific way.

 >

 --00000000000045d8a5062a00c7b8
 Content-Type: text/html; charset="UTF-8"
 Content-Transfer-Encoding: quoted-printable

 <div dir=3D"auto"><div><br><br><div class=3D"gmail_quote"><div dir=3D"ltr" =
 class=3D"gmail_attr">On Tue, Dec 24, 2024, 09:29 Ramiro Aceves &lt;<a href=
 =3D"mailto:ea1abz@gmail.com" target=3D"_blank" rel=3D"noreferrer">ea1abz@gm=
 ail.com</a>&gt; wrote:</div><blockquote class=3D"gmail_quote" style=3D"marg=
 in:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 <br>
 Hello Andrius, thanks for answering, but BIOS does not have such option. <b=
 r>
 Time ago I investigated trying to get a full menu BIOS but was not able <br=
 >
 to do that. BIOS to the user appears to be very simple with reduced options=
 .<br>
 <br>
 Regards.<br></blockquote></div></div><div dir=3D"auto"><br></div><div dir=
 =3D"auto">Device drivers can be also disabled by typing &quot;userconf disa=
 ble auich*&quot; in bootloader. But from the last dmesg I am not so sure if=
  it is an audio, nevertheless you can experiment by disabling some device d=
 rivers. Other devices like acpi ones can&#39;t be disabled like that though=
 . Kernel config changes are needed or code changes like Taylor proposed to =
 experiment in more specific way.</div><div dir=3D"auto"><div class=3D"gmail=
 _quote"><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border=
 -left:1px #ccc solid;padding-left:1ex"></blockquote></div></div></div>

 --00000000000045d8a5062a00c7b8--

From: Ramiro Aceves <ea1abz@gmail.com>
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Tue, 24 Dec 2024 14:32:37 +0100

 El 23/12/24 a las 22:58, Taylor R Campbell escribió:
 ....
 ....
 > Unfortunately, there's no userconf(4) trick to disabling the ACPI
 > timecounter at boot, but I would be curious to see what happens if you
 > patch acpitimer_init in sys/dev/acpi/acpi_timer.c to just return -1
 > unconditionally without doing anything to attach a timecounter.
 > 
 > If that produces the same results, you could try additionally patching
 > acpipmtimer_attach in sys/dev/ic/acpipmtimer.c to just return NULL
 > unconditionally without doing anything to attach a timecounter.  Then
 > your system might boot with i8254 -- suboptimal, but better than not
 > booting, and it would help to confirm this hypothesis about what's
 > happening.
 > 
 > I would also be curious to see output of `acpidump -dt' on this system
 > (whether from NetBSD, if you can get it that way, or even from Linux
 > if you can't, with the caveat I'm not 100% sure the command-line
 > options are the same).

 Hello Taylor.

 Trying to to patch the program in the functions you mentioned I arrived 
 to warnings as errors like a function that where in the code but not 
 used (I think it was acpitimer_test() ) when compiling GENERIC. Changing 
 the code to overcome that arrived to an error when compiling  the am7990 
 driver. So I started again with a clean source without any modifications 
 in ACPI just to test that the standard GENERIC kernel could be built and 
 arrived to the same error, compilation stops at that point.


 netbsd-compal$ cat /usr/src/sys/CVS/Tag
 D2024.12.21.11.00.00


 #   compile  GENERIC/am7990.o
 gcc -msoft-float -mno-mmx -mno-sse -mno-avx -mindirect-branch=thunk 
 -mindirect-branch-register -ffreestanding -fno-zero-initialized-in-bss 
 -fno-delete-null-pointer-checks -O2 -fno-omit-frame-pointer 
 -fstack-protector -Wstack-protector --param ssp-buffer-size=1 
 -fstack-usage -Wstack-usage=3584 -fno-strict-aliasing -fno-common 
 -std=gnu99 -Werror -Wall -Wno-main -Wno-format-zero-length 
 -Wpointer-arith -Wmissing-prototypes -Wstrict-prototypes 
 -Wold-style-definition -Wswitch -Wshadow -Wcast-qual -Wwrite-strings 
 -Wno-unreachable-code -Wno-pointer-sign -Wno-attributes -Wno-type-limits 
 -Wextra -Wno-unused-parameter -Wold-style-definition -Wno-sign-compare 
 -Walloca -Di386 -I. -I../../../../external/mit/xen-include-public/dist/ 
 -I../../../../external/bsd/libnv/dist 
 -I../../../../external/bsd/acpica/dist 
 -I../../../../../common/lib/libx86emu 
 -I../../../../../common/lib/libc/misc -I../../../../../common/include 
 -I../../../../arch -I../../../.. -nostdinc -DCOMPAT_UTILS 
 -D__XEN_INTERFACE_VERSION__=0x3020a -DDIAGNOSTIC -DCOMPAT_44 -D_KERNEL 
 -D_KERNEL_OPT -std=gnu99 
 -I../../../../lib/libkern/../../../common/lib/libc/quad 
 -I../../../../lib/libkern/../../../common/lib/libc/string 
 -I../../../../lib/libkern/../../../common/lib/libc/arch/i386/string 
 -I../../../../lib/libkern/../../../common/lib/libc/arch/i386/atomic 
 -I../../../../lib/libkern/../../../common/lib/libc/hash/sha3 
 -D_FORTIFY_SOURCE=2 -I../../../../external/isc/atheros_hal/dist 
 -I../../../../external/isc/atheros_hal/ic 
 -I../../../../../common/include 
 -I../../../../external/bsd/acpica/dist/include 
 -I../../../../external/bsd/libnv/dist -c ../../../../dev/ic/am7990.c -o 
 am7990.o
 ../../../../dev/ic/am7990.c: In function 'am7990_meminit':
 ../../../../dev/ic/am7990.c:163:39: error: taking address of packed 
 member of 'struct leinit' may result in an unaligned pointer value 
 [-Werror=address-of-packed-member]
    163 |  lance_setladrf(&sc->sc_ethercom, init.init_ladrf);
        |                                   ~~~~^~~~~~~~~~~
 cc1: all warnings being treated as errors
 *** Error code 1

 Stop.
 make: stopped in /usr/src/sys/arch/i386/compile/GENERIC
        106.78 real        91.77 user        12.45 sys

 I would like to know if I am doing something wrong before continuing. 
 ¿is it ok to build NetBSD-current from NetBSD-10.1 RELEASE?

 Sorry for my ignorance, be pacient.

 Regards.
 Ramiro






From: Ramiro Aceves <ea1abz@gmail.com>
To: Andrius V <vezhlys@gmail.com>
Cc: gnats-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Tue, 24 Dec 2024 14:38:59 +0100

 El 24/12/24 a las 10:31, Andrius V escribió:
 > 
 > 
 > On Tue, Dec 24, 2024, 09:29 Ramiro Aceves <ea1abz@gmail.com 
 > <mailto:ea1abz@gmail.com>> wrote:
 > 
 > 
 >     Hello Andrius, thanks for answering, but BIOS does not have such
 >     option.
 >     Time ago I investigated trying to get a full menu BIOS but was not able
 >     to do that. BIOS to the user appears to be very simple with reduced
 >     options.
 > 
 >     Regards.
 > 
 > 
 > Device drivers can be also disabled by typing "userconf disable auich*" 
 > in bootloader. But from the last dmesg I am not so sure if it is an 
 > audio, nevertheless you can experiment by disabling some device drivers. 
 > Other devices like acpi ones can't be disabled like that though. Kernel 
 > config changes are needed or code changes like Taylor proposed to 
 > experiment in more specific way.
 > 

 Hi Andrius,

 I have "userconf disable auich*" with no results. Many thanks anyway!

 Ramiro.

From: Taylor R Campbell <riastradh@NetBSD.org>
To: Ramiro Aceves <ea1abz@gmail.com>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
	gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
	Compal DL-75 laptop
Date: Wed, 25 Dec 2024 02:08:38 +0000

 > Date: Tue, 24 Dec 2024 14:32:37 +0100
 > From: Ramiro Aceves <ea1abz@gmail.com>
 >=20
 > is it ok to build NetBSD-current from NetBSD-10.1 RELEASE?

 Yes -- try applying the attached patch (which will deal with the
 unused function warnings) and building as follows:

 $ cd src
 $ patch -p1 </path/to/pr58932-testnoacpitimer.patch
 $ ./build.sh -O ../obj -T ../tools -U -u -m amd64 -j4 -N1 tools kernel=3DGE=
 NERIC

 (Adjust -j4 to the number of cores you actually have, or want to use
 for the build.  It'll take a while, so you might want to reserve one
 of your cores for tetris(5) while you wait!)

 This will produce a kernel at:

 ../obj/sys/arch/amd64/compile/GENERIC/netbsd

 You can install it by just copying it to, say, /netbsdHEAD-20241224,
 and then boot it by typing `boot netbsdHEAD-20241224' at the
 bootloader prompt, or add it as a boot option in your boot.cfg file.

From: Ramiro Aceves <ea1abz@gmail.com>
To: gnats-bugs@netbsd.org, install-manager@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,
 Taylor R Campbell <riastradh@NetBSD.org>
Cc: 
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Wed, 25 Dec 2024 21:51:06 +0100

 El 25/12/24 a las 3:10, Taylor R Campbell via gnats escribió:
 > The following reply was made to PR install/58932; it has been noted by GNATS.
 > 
 > From: Taylor R Campbell <riastradh@NetBSD.org>
 > To: Ramiro Aceves <ea1abz@gmail.com>
 > Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
 > 	gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
 > Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 > 	Compal DL-75 laptop
 > Date: Wed, 25 Dec 2024 02:08:38 +0000
 > 
 >   > Date: Tue, 24 Dec 2024 14:32:37 +0100
 >   > From: Ramiro Aceves <ea1abz@gmail.com>
 >   >=20
 >   > is it ok to build NetBSD-current from NetBSD-10.1 RELEASE?
 >   
 >   Yes -- try applying the attached patch (which will deal with the
 >   unused function warnings) and building as follows:
 >   
 >   $ cd src
 >   $ patch -p1 </path/to/pr58932-testnoacpitimer.patch
 >   $ ./build.sh -O ../obj -T ../tools -U -u -m amd64 -j4 -N1 tools kernel=3DGE=
 >   NERIC
 >   
 >   (Adjust -j4 to the number of cores you actually have, or want to use
 >   for the build.  It'll take a while, so you might want to reserve one
 >   of your cores for tetris(5) while you wait!)
 >   
 >   This will produce a kernel at:
 >   
 >   ../obj/sys/arch/amd64/compile/GENERIC/netbsd
 >   
 >   You can install it by just copying it to, say, /netbsdHEAD-20241224,
 >   and then boot it by typing `boot netbsdHEAD-20241224' at the
 >   bootloader prompt, or add it as a boot option in your boot.cfg file.
 >   

 Thanks Taylor for the tips! Sorry, I do not see any atached patch file.

 Regards.
 Ramiro.

From: Taylor R Campbell <riastradh@NetBSD.org>
To: Ramiro Aceves <ea1abz@gmail.com>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
	gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
	Compal DL-75 laptop
Date: Thu, 26 Dec 2024 04:16:36 +0000

 This is a multi-part message in MIME format.
 --=_6mE0N06q/cXZ8M/buYqHazd5AYFDQpnf

 > Date: Wed, 25 Dec 2024 21:51:06 +0100
 > From: Ramiro Aceves <ea1abz@gmail.com>
 > 
 > Thanks Taylor for the tips! Sorry, I do not see any atached patch file.

 Oops -- attached now, sorry!

 --=_6mE0N06q/cXZ8M/buYqHazd5AYFDQpnf
 Content-Type: text/plain; charset="ISO-8859-1"; name="pr58932-testnoacpitimer"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment; filename="pr58932-testnoacpitimer.patch"

 diff -r 7c40a48ab841 sys/dev/acpi/acpi_timer.c
 --- a/sys/dev/acpi/acpi_timer.c	Tue Dec 24 12:13:05 2024 +0000
 +++ b/sys/dev/acpi/acpi_timer.c	Wed Dec 25 02:04:31 2024 +0000
 @@ -39,6 +39,9 @@
 =20
  #include <machine/acpi_machdep.h>
 =20
 +#undef	ACPI_REDUCED_HARDWARE
 +#define	ACPI_REDUCED_HARDWARE	TRUE
 +
  #if (!ACPI_REDUCED_HARDWARE)
  static int	acpitimer_test(void);
 =20

 --=_6mE0N06q/cXZ8M/buYqHazd5AYFDQpnf--

From: Ramiro Aceves <ea1abz@gmail.com>
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Thu, 26 Dec 2024 08:25:02 +0100

 El 26/12/24 a las 5:16, Taylor R Campbell escribió:
 >> Date: Wed, 25 Dec 2024 21:51:06 +0100
 >> From: Ramiro Aceves <ea1abz@gmail.com>
 >>
 >> Thanks Taylor for the tips! Sorry, I do not see any atached patch file.
 > 
 > Oops -- attached now, sorry!


 Thanks so much Taylor for help,

 I compiled the kernel with the patched file using ./build.sh command 
 like you explained (changing to i386). This way compilation succeded 
 fine, it build toolchain first after a long time in this weird, slow but 
 beloved i386 machine. It seems that the "manual way" method of building 
 the kernel as The Guide describe does not work in this case. I required 
 toolchain to be built even when there is no change in architecture.

 I booted with the new kernel and it enters again in ddb, rebooted from 
 that and dmesg was saved. I attach dmesg below:

 Regards.
 Ramiro



 [  1207.460164] rebooting...
 [     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
 2003,
 [     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 
 2012, 2013,
 [     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 
 2022, 2023,
 [     1.000000]     2024
 [     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
 [     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
 [     1.000000]     The Regents of the University of California.  All 
 rights reserved.

 [     1.000000] NetBSD 10.99.12 (GENERIC) #1: Thu Dec 26 08:05:47 CET 2024
 [     1.000000] 
 ramiro@netbsd-compal.remigio:/usr/obj/sys/arch/i386/compile/GENERIC
 [     1.000000] total memory = 2039 MB
 [     1.000000] avail memory = 1977 MB
 [     1.000000] timecounter: Timecounters tick every 10.000 msec
 [     1.000000] Kernelized RAIDframe activated
 [     1.000000] timecounter: Timecounter "i8254" frequency 1193182 Hz 
 quality 100
 [     1.000004] mainbus0 (root)
 [     1.000004] ACPI: RSDP 0x00000000000E5010 000014 (v00 INSYDE)
 [     1.000004] ACPI: RSDT 0x000000007F7FB2BB 000034 (v01 INSYDE 
 RSDT_000 00000100 ABCD 00010200)
 [     1.000004] ACPI: FACP 0x000000007F7FFB00 000074 (v01 INSYDE 
 FACP_000 00000100 0000 00010200)
 [     1.000004] ACPI: DSDT 0x000000007F7FB920 0041DE (v01 COMPAL DL7x 
   00000001 INTL 02002036)
 [     1.000004] ACPI: FACS 0x000000007F7FFFC0 000040
 [     1.000004] ACPI: APIC 0x000000007F7FFB90 000068 (v01 STUPID 
 MAPIC_00 30307830 ABCD 00010200)
 [     1.000004] ACPI: SSDT 0x000000007F7FB4C7 000277 (v01 PmRef  Cpu0Ist 
   00003000 INTL 20030522)
 [     1.000004] ACPI: SSDT 0x000000007F7FB2EF 0001D8 (v01 PmRef  Cpu0Cst 
   00003001 INTL 20030522)
 [     1.000004] ACPI: 3 ACPI AML tables successfully acquired and loaded
 [     1.000004] ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 0x20, 
 24 pins
 [     1.000004] cpu0 at mainbus0 apid 0
 [     1.000004] cpu0: Use lfence to serialize rdtsc
 [     1.000004] cpu0: Intel(R) Pentium(R) M processor 1.86GHz, id 0x6d8
 [     1.000004] cpu0: node 0, package 0, core 0, smt 0
 [     1.000004] acpi0 at mainbus0: Intel ACPICA 20240827
 [     1.000004] acpi0: X/RSDT: OemId <INSYDE,RSDT_000,00000100>, AslId 
 <ABCD,00010200>
 [     1.000004] acpi0: SCI interrupting at int 9
 [     1.000004] acpi0: fixed power button present
 [     1.000004] acpiec0 at acpi0 (EC0, PNP0C09): io 0x62,0x66
 [     1.000004] acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
 [     1.000004] acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 [     1.000004] acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
 [     1.000004] acpivga0 at acpi0 (GFX0): ACPI Display Adapter
 [     1.000004] acpiout0 at acpivga0 (LCD, 0x0400): ACPI Display Output 
 Device
 [     1.000004] acpiout1 at acpivga0 (CRT1, 0x0100): ACPI Display Output 
 Device
 [     1.000004] acpiout2 at acpivga0 (DTV1, 0x0200): ACPI Display Output 
 Device
 [     1.000004] acpivga0: connected output devices:
 [     1.000004] acpivga0:   0x0100 (acpiout1): Ext. Monitor, head 0, 
 bios detect
 [     1.000004] acpivga0:   0x0400 (acpiout0): Unknown Output Device, 
 head 0, bios detect
 [     1.000004] acpivga0:   0x0200 (acpiout2): TV, head 0, bios detect
 [     1.000004] FWHD (INT0800) at acpi0 not configured
 [     1.000004] MATH (PNP0C04) at acpi0 not configured
 [     1.000004] attimer1 at acpi0 (TIMR, PNP0100): io 
 0x40-0x43,0x50-0x53 irq 0
 [     1.000004] acpiacad0 at acpi0 (ACAD, ACPI0003): ACPI AC Adapter
 [     1.000004] acpibat0 at acpi0 (BAT1, PNP0C0A-1): ACPI Battery
 [     1.000004] pckbc1 at acpi0 (PS2K, PNP0303) (kbd port): io 0x60,0x64 
 irq 1
 [     1.000004] pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
 [     1.000004] apm0 at acpi0: Power Management spec V1.2
 [     1.000004] ACPI: Enabled 4 GPEs in block 00 to 1F
 [     1.000004] pckbd0 at pckbc1 (kbd slot)
 [     1.000004] pckbport_cmd: send error
 [     1.000004] pckbc1: using irq 1 for kbd slot
 [     1.000004] wskbd0 at pckbd0: console keyboard
 [     1.000004] autoconfiguration error: pckbc: aux echo error 1
 [     1.000004] pci0 at mainbus0 bus 0: configuration mode 1
 [     1.000004] pci0: i/o space, memory space enabled, rd/line, rd/mult, 
 wr/inv ok
 [     1.000004] pchb0 at pci0 dev 0 function 0: Intel 
 82915PM/GM/GMS,82910GML Host Bridge (rev. 0x04)
 [     1.000004] agp0 at pchb0: i915-family chipset
 [     1.000004] agp0: detected 7932k stolen memory
 [     1.000004] agp0: aperture at 0xa0000000, size 0x10000000
 [     1.000004] i915drmkms0 at pci0 dev 2 function 0: Intel 
 82915GM/GMS,82910GML Integrated Graphics Device (rev. 0x04)
 [     1.000004] Intel 82915GM/GMS IGD Companion (miscellaneous display, 
 revision 0x04) at pci0 dev 2 function 1 not configured
 [     1.000004] uhci0 at pci0 dev 29 function 0: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci0: interrupting at ioapic0 pin 23
 [     1.000004] usb0 at uhci0: USB revision 1.0
 [     1.000004] uhci1 at pci0 dev 29 function 1: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci1: interrupting at ioapic0 pin 19
 [     1.000004] usb1 at uhci1: USB revision 1.0
 [     1.000004] uhci2 at pci0 dev 29 function 2: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci2: interrupting at ioapic0 pin 18
 [     1.000004] usb2 at uhci2: USB revision 1.0
 [     1.000004] uhci3 at pci0 dev 29 function 3: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci3: interrupting at ioapic0 pin 16
 [     1.000004] usb3 at uhci3: USB revision 1.0
 [     1.000004] ehci0 at pci0 dev 29 function 7: Intel 82801FB/FR USB 
 EHCI Controller (rev. 0x04)
 [     1.000004] ehci0: 64-bit DMA - limited
 [     1.000004] ehci0: interrupting at ioapic0 pin 23
 [     1.000004] ehci0: EHCI version 0.0
 [     1.000004] ehci0: wrong number of companions (0 != 4)
 [     1.000004] ehci0: Using DMA subregion for control data structures
 [     1.000004] ehci0: autoconfiguration error: reset timeout
 [     1.000004] ehci0: autoconfiguration error: init failed, error=5
 [     1.000004] ppb0 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI 
 Bridge (rev. 0xd4)
 [     1.000004] pci1 at ppb0 bus 1
 [     1.000004] pci1: i/o space, memory space enabled
 [     1.000004] fwohci0 at pci1 dev 0 function 0: VIA Technologies 
 VT6306 IEEE 1394 Host Controller (rev. 0x80)
 [     1.000004] fwohci0: interrupting at ioapic0 pin 20
 [     1.000004] fwohci0: OHCI version 1.0 (ROM=1)
 [     1.000004] fwohci0: No. of Isochronous channels is 4.
 [     1.000004] fwohci0: EUI64 00:02:3f:59:88:40:01:0f
 [     1.000004] fwohci0: Phy 1394a available S400, 2 ports.
 [     1.000004] fwohci0: Link S400, max_rec 512 bytes.
 [     1.000004] fwohci0: max_rec 512 -> 2048
 [     1.000004] ieee1394if0 at fwohci0: IEEE1394 bus
 [     1.000004] fwip0 at ieee1394if0: IP over IEEE1394
 [     1.000004] fwohci0: Initiate bus reset
 [     1.000004] re0 at pci1 dev 1 function 0: RealTek 8169/8110 Gigabit 
 Ethernet (rev. 0x10)
 [     1.000004] re0: interrupting at ioapic0 pin 21
 [     1.000004] re0: RTL8169/8110SB (0x1000)
 [     1.000004] re0: Ethernet address 00:0f:b0:93:6f:e1
 [     1.000004] re0: using 256 tx descriptors
 [     1.000004] rgephy0 at re0 phy 7: RTL8211B 1000BASE-T media interface
 [     1.000004] rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 
 1000baseT, 1000baseT-FDX, auto
 [     1.000004] iwi0 at pci1 dev 2 function 0: Intel PRO/Wireless LAN 
 2200BG Mini-PCI Adapter (rev. 0x05)
 [     1.000004] iwi0: interrupting at ioapic0 pin 22
 [     1.000004] iwi0: 802.11 address 00:13:ce:6b:7d:01
 [     1.000004] cbb0 at pci1 dev 4 function 0: ENE Technology CB710 
 CardBus Controller (rev. 0x00)
 [     1.000004] ENE Technology product 0530 (flash memory) at pci1 dev 4 
 function 1 not configured
 [     1.000004] sdhc0 at pci1 dev 4 function 2: ENE Technology 
 CB712/714/810 PCI SD Card Reader Controller (rev. 0x00)
 [     1.000004] sdhc0: interrupting at ioapic0 pin 17
 [     1.000004] sdhc0: SDHC 1.0, rev 0, caps <01e021a1/00000000>, SDMA, 
 33000 kHz, HS 3.3V, 512 byte blocks
 [     1.000004] sdmmc0 at sdhc0 slot 0
 [     1.000004] cbb0: cacheline 0x8 lattimer 0x40
 [     1.000004] cbb0: bhlc 0x824008
 [     1.000004] cbb0: autoconfiguration error: secondary bus number 
 uninitialized; try PCI_BUS_FIXUP
 [     1.000004] cbb0: interrupting at ioapic0 pin 16
 [     1.000004] cardslot0 at cbb0
 [     1.000004] pcmcia0 at cardslot0
 [     1.000004] auich0 at pci0 dev 30 function 2: i82801FB (ICH6) AC-97 
 Audio
 [     1.000004] auich0: interrupting at ioapic0 pin 17
 [     1.000004] auich0: ac97: Avance Logic unknown (0x414c4752) codec; 
 headphone, 20 bit DAC, 18 bit ADC, no 3D stereo
 [     1.000004] auich0: ac97: ext id 0xa07<AC97_23,AMAP,SPDIF,DRA,VRA>
 [     1.000004] Intel 82801FB/FR AC'97 Modem Controller (modem 
 communications, revision 0x04) at pci0 dev 30 function 3 not configured
 [     1.000004] ichlpcib0 at pci0 dev 31 function 0: Intel 82801FBM 
 ICH6M LPC Interface Bridge (rev. 0x04)
 [     1.000004] timecounter: Timecounter "ichlpcib0" frequency 3579545 
 Hz quality 1000
 [     1.055298] ichlpcib0: 24-bit timer
 [     1.055298] tco0 at ichlpcib0: TCO (watchdog) timer configured.
 [     1.055298] tco0: Min/Max interval 1/367 seconds
 [     1.055298] piixide0 at pci0 dev 31 function 1: Intel 82801FB IDE 
 Controller (ICH6) (rev. 0x04)
 [     1.055298] piixide0: bus-master DMA support present
 [     1.055298] piixide0: primary channel configured to compatibility mode
 [     1.055298] piixide0: primary channel interrupting at ioapic0 pin 14
 [     1.055298] atabus0 at piixide0 channel 0
 [     1.055298] piixide0: secondary channel configured to compatibility mode
 [     1.055298] piixide0: secondary channel interrupting at ioapic0 pin 15
 [     1.055298] atabus1 at piixide0 channel 1
 [     1.055298] ichsmb0 at pci0 dev 31 function 3: Intel 82801FB/FR 
 SMBus Controller (rev. 0x04)
 [     1.055298] ichsmb0: interrupting at ioapic0 pin 19
 [     1.055298] iic0 at ichsmb0: I2C bus
 [     1.055298] isa0 at ichlpcib0
 [     1.055298] pcppi0 at isa0 port 0x61
 [     1.055298] midi0 at pcppi0: PC speaker
 [     1.055298] sysbeep0 at pcppi0
 [     1.055298] attimer1: attached to pcppi0
 [     1.055298] acpicpu0 at cpu0: ACPI CPU
 [     1.055298] acpicpu0: C1: HLT, lat   0 us, pow     0 mW
 [     1.055298] acpicpu0: C2: I/O, lat   1 us, pow     0 mW
 [     1.055298] acpicpu0: C3: I/O, lat  85 us, pow     0 mW
 [     1.055298] acpicpu0: P0: I/O, lat 110 us, pow 27000 mW, 1867 MHz
 [     1.055298] acpicpu0: P1: I/O, lat 110 us, pow 23000 mW, 1600 MHz
 [     1.055298] acpicpu0: P2: I/O, lat 110 us, pow 20000 mW, 1333 MHz
 [     1.055298] acpicpu0: P3: I/O, lat 110 us, pow 17000 mW, 1067 MHz
 [     1.055298] acpicpu0: P4: I/O, lat 110 us, pow 13000 mW,  800 MHz
 [     1.055298] acpicpu0: T0: I/O, lat   1 us, pow     0 mW, 100 %
 [     1.055298] acpicpu0: T1: I/O, lat   1 us, pow     0 mW,  88 %
 [     1.055298] acpicpu0: T2: I/O, lat   1 us, pow     0 mW,  76 %
 [     1.055298] acpicpu0: T3: I/O, lat   1 us, pow     0 mW,  64 %
 [     1.055298] acpicpu0: T4: I/O, lat   1 us, pow     0 mW,  52 %
 [     1.055298] acpicpu0: T5: I/O, lat   1 us, pow     0 mW,  40 %
 [     1.055298] acpicpu0: T6: I/O, lat   1 us, pow     0 mW,  28 %
 [     1.055298] acpicpu0: T7: I/O, lat   1 us, pow     0 mW,  16 %
 [     1.055298] fwohci0: BUS reset
 [     1.055298] fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
 [     1.055298] ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
 [     1.055298] ieee1394if0: bus manager 0
 [     1.055298] WARNING: system needs entropy for security; see entropy(7)
 [     1.055298] timecounter: Timecounter "clockinterrupt" frequency 100 
 Hz quality 0
 [     1.268746] panic: cpu0: time has not advanced in 1501 heartbeats
 [     1.268746] cpu0: Begin traceback...
 [     1.268746] 
 vpanic(c14353ec,db6b0f04,db6b0f4c,c0d71922,c14353ec,c1651764,5dd,dc8e6e68,0,c43fe4c0) 
 at netbsd:vpanic+0x176
 [     1.268746] 
 panic(c14353ec,c1651764,5dd,dc8e6e68,0,c43fe4c0,0,5dc,5dc,f) at 
 netbsd:panic+0x18
 [     1.268746] 
 heartbeat(dc8e6e68,0,5dd,0,12d,dc8e6ef8,dc8e6ebc,c0102fd4,dc8e6e68,dc8e6e68) 
 at netbsd:heartbeat+0x292
 [     1.268746] hardclock(dc8e6e68,dc8e6e68,0,0,0,0,0,0,0,0) at 
 netbsd:hardclock+0x79
 [     1.268746] --- switch to interrupt stack ---
 [     1.268746] Xresume_lapic_ltimer() at netbsd:Xresume_lapic_ltimer+0x24
 [     1.268746] --- interrupt ---
 [     1.268746] 
 bus_space_read_4(c43e65c4,c43fe4c0,0,4af,c43e65c4,dd313180,c1689420,0,dc8e6f60,dc8e6f60) 
 at netbsd:bus_space_read_4+0x15
 [     1.268746] binuptime(dc8e6ef8,1,0,4c981c14,44c97f02,0,0,0,0,0) at 
 netbsd:binuptime+0x7d
 [     1.268746] 
 microtime(dc8e6f60,dc0c4200,4,1,dc8f1000,c43ee108,10,bb80,c0dc88fa,0) at 
 netbsd:microtime+0x1a
 [     1.268746] 
 auich_finish_attach(c43e8400,10,c01020f3,c43fe4c0,c43fe4c0,c43fe4c0,c0db660b,0,c0102011,c43fe4c0) 
 at netbsd:auich_finish_attach+0x1fc
 [     1.268746] 
 config_interrupts_thread(c43fe4c0,1965000,1971000,0,c01005a8,0,0,0,0,0) 
 at netbsd:config_interrupts_thread+0x7f
 [     1.268746] cpu0: End traceback...
 [     1.268746] fatal breakpoint trap in supervisor mode
 [     1.268746] trap type 1 code 0 eip 0xc0128094 cs 0x8 eflags 0x202 
 cr2 0 ilevel 0x7 esp 0xdb6b0ee8
 [     1.268746] curlwp 0xc43fe4c0 pid 0 lid 103 lowest kstack 0xdc8e42c0
 fatal page fault in supervisor mode
 [     2.173675] trap type 6 code 0x2 eip 0xc010b2b9 cs 0x8 eflags 
 0x10006 cr2 0x88c600d5 ilevel 0x6 esp 0xc0af0010
 [     2.173839] curlwp 0xc43fe4c0 pid 0 lid 103 lowest kstack 0xdc8e42c0
 rebooting...
 [     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
 2003,
 [     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 
 2012, 2013,
 [     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 
 2022, 2023,
 [     1.000000]     2024
 [     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.

From: Ramiro Aceves <ea1abz@gmail.com>
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Thu, 26 Dec 2024 09:45:57 +0100

 El 23/12/24 a las 22:58, Taylor R Campbell escribió:
 >> Date: Mon, 23 Dec 2024 09:10:01 +0000 (UTC)
 >> From: ea1abz@gmail.com
 >>
 >> I would also be curious to see output of `acpidump -dt' on this system
 >> (whether from NetBSD, if you can get it that way, or even from Linux
 >> if you can't, with the caveat I'm not 100% sure the command-line
 >> options are the same).


 Hello Taylor,

 acpidump -dt from a FreeBSD installer. Please, let me know what is the 
 prefered policy in this cases, pasting the contents of files as text or 
 attaching them as files.


 Regards


 $ cat acpidump_from_freebsd.txt
 /*
    RSD PTR: OEM=INSYDE, ACPI_Rev=1.0x (0)
      RSDT=0x7f7fb2bb, cksum=170
   */
 /*
    RSDT: Length=52, Revision=1, Checksum=238,
      OEMID=INSYDE, OEM Table ID=RSDT_000, OEM Revision=0x100,
      Creator ID=ABCD, Creator Revision=0x10200
      Entries={ 0x7f7ffb00, 0x7f7ffb90, 0x7f7fb4c7, 0x7f7fb2ef }
   */
 /*
    FACP: Length=116, Revision=1, Checksum=231,
      OEMID=INSYDE, OEM Table ID=FACP_000, OEM Revision=0x100,
      Creator ID=0000, Creator Revision=0x10200
       FACS=0x7f7fffc0, DSDT=0x7f7fb920
      INT_MODEL=PIC
      Preferred_PM_Profile=Unspecified (0)
      SCI_INT=9
      SMI_CMD=0xb2, ACPI_ENABLE=0xe0, ACPI_DISABLE=0xe1, S4BIOS_REQ=0xe2
      PSTATE_CNT=0x80
      PM1a_EVT_BLK=0x1000-0x1003
      PM1a_CNT_BLK=0x1004-0x1005
      PM2_CNT_BLK=0x1020-0x1020
      PM_TMR_BLK=0x1008-0x100b
      GPE0_BLK=0x1028-0x102f
      CST_CNT=0x85
      P_LVL2_LAT=1 us, P_LVL3_LAT=85 us
      FLUSH_SIZE=0, FLUSH_STRIDE=0
      DUTY_OFFSET=1, DUTY_WIDTH=3
      DAY_ALRM=13, MON_ALRM=0, CENTURY=50
      IAPC_BOOT_ARCH={LEGACY_DEVICES,8042}
 Flags={WBINVD,C1_SUPPORTED,SLEEP_BUTTON,S4_RTC_WAKE,DOCKING_SUPPORTED}
   */
 /*
    FACS:    Length=64, HwSig=0x00000000, Firm_Wake_Vec=0x00000000
      Global_Lock=
      Flags=
      Version=0
   */
 /*
    DSDT: Length=16862, Revision=1, Checksum=214,
      OEMID=COMPAL, OEM Table ID=DL7x, OEM Revision=0x1,
      Creator ID=INTL, Creator Revision=0x2002036
   */
 /*
    APIC: Length=104, Revision=1, Checksum=75,
      OEMID=STUPID, OEM Table ID=MAPIC_00, OEM Revision=0x30307830,
      Creator ID=ABCD, Creator Revision=0x10200
      Local APIC ADDR=0xfee00000
      Flags={PC-AT}

      Type=Local APIC
      ACPI CPU=0
      Flags={ENABLED}
      APIC ID=0

      Type=Local APIC
      ACPI CPU=1
      Flags={DISABLED}
      APIC ID=1

      Type=IO APIC
      APIC ID=1
      INT BASE=0
      ADDR=0x00000000fec00000

      Type=INT Override
      BUS=0
      IRQ=0
      INTR=2
      Flags={Polarity=conforming, Trigger=conforming}

      Type=INT Override
      BUS=0
      IRQ=9
      INTR=9
      Flags={Polarity=active-hi, Trigger=level}

      Type=Local APIC NMI
      ACPI CPU=0
      LINT Pin=1
      Flags={Polarity=active-hi, Trigger=edge}

      Type=Local APIC NMI
      ACPI CPU=1
      LINT Pin=1
      Flags={Polarity=active-hi, Trigger=edge}
   */
 /*
    SSDT: Length=631, Revision=1, Checksum=246,
      OEMID=PmRef, OEM Table ID=Cpu0Ist, OEM Revision=0x3000,
      Creator ID=INTL, Creator Revision=0x20030522
   */
 /*
    SSDT: Length=472, Revision=1, Checksum=246,
      OEMID=PmRef, OEM Table ID=Cpu0Cst, OEM Revision=0x3001,
      Creator ID=INTL, Creator Revision=0x20030522
   */
 /*
   * Intel ACPI Component Architecture
   * AML/ASL+ Disassembler version 20221020 (32-bit version)
   * Copyright (c) 2000 - 2022 Intel Corporation
   *
   * Disassembling to symbolic ASL+ operators
   *
   * Disassembly of /tmp/acpidump.axb81y/acpdump.din, Thu Dec 26 08:37:15 
 2024
   *
   * Original Table Header:
   *     Signature        "DSDT"
   *     Length           0x000045E5 (17893)
   *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
   *     Checksum         0xA8
   *     OEM ID           "COMPAL"
   *     OEM Table ID     "DL7x    "
   *     OEM Revision     0x00000001 (1)
   *     Compiler ID      "INTL"
   *     Compiler Version 0x02002036 (33562678)
   */
 DefinitionBlock ("", "DSDT", 1, "COMPAL", "DL7x    ", 0x00000001)
 {
      External (_SB_.PCI0.LPCB.EC0_.ECOK, IntObj)

      OperationRegion (PRT0, SystemIO, 0x80, 0x04)
      Field (PRT0, DWordAcc, Lock, Preserve)
      {
          P80H,   32
      }

      OperationRegion (IO_T, SystemIO, 0x0800, 0x10)
      Field (IO_T, ByteAcc, NoLock, Preserve)
      {
          Offset (0x02),
          Offset (0x04),
          Offset (0x06),
          Offset (0x08),
          TRP0,   8,
          Offset (0x0A),
          Offset (0x0B),
          Offset (0x0C),
          Offset (0x0D),
          Offset (0x0E),
          Offset (0x0F),
          Offset (0x10)
      }

      OperationRegion (S_IO, SystemIO, 0x0680, 0x11)
      Field (S_IO, ByteAcc, NoLock, Preserve)
      {
          PMS0,   8,
          PME0,   8,
          PMS1,   8,
          PMS2,   8,
          PMS3,   8,
          PME1,   8,
          PME2,   8,
          PME3,   8,
          SMS1,   8,
          SMS2,   8,
          SME1,   8,
          SME2,   8,
          RT10,   1,
          RT11,   1,
              ,   1,
          RT13,   1,
          Offset (0x0E),
          RT30,   1,
          RT31,   1,
          RT32,   1,
          RT33,   1,
          RT34,   1,
          RT35,   1,
          RT36,   1,
          RT37,   1,
          Offset (0x10),
          DLPC,   1,
          CK33,   1,
          CK14,   1
      }

      OperationRegion (GPIO, SystemIO, 0x1300, 0x3C)
      Field (GPIO, ByteAcc, NoLock, Preserve)
      {
          GU00,   8,
          GU01,   8,
          GU02,   8,
          GU03,   8,
          GIO0,   8,
          GIO1,   8,
          GIO2,   8,
          GIO3,   8,
          Offset (0x0C),
          GL00,   8,
          GL01,   8,
              ,   5,
          GP21,   1,
              ,   1,
          GP23,   1,
              ,   1,
          GP25,   1,
          Offset (0x10),
          Offset (0x18),
          GB00,   8,
          GB01,   8,
          GB02,   8,
          GB03,   8,
          Offset (0x2C),
          GIV0,   8,
              ,   4,
          LPOL,   1,
          Offset (0x2E),
          GIV2,   8,
          GIV3,   8,
          GU04,   8,
          GU05,   8,
          GU06,   8,
          GU07,   8,
          GIO4,   8,
          GIO5,   8,
          GIO6,   8,
          GIO7,   8,
              ,   1,
          GP33,   1,
          Offset (0x39),
          GL05,   8,
          GL06,   8,
          GL07,   8
      }

      OperationRegion (MBOX, SystemMemory, 0x7F7FFC00, 0x0100)
      Field (MBOX, AnyAcc, Lock, Preserve)
      {
          MYOS,   16,
          SMIF,   8,
          PRM0,   8,
          PRM1,   8,
          SCIF,   8,
          PRM2,   8,
          PRM3,   8,
          LCKF,   8,
          PRM4,   8,
          PRM5,   8,
          P80D,   32,
          LIDS,   8,
          PWRS,   8,
          DBGS,   8,
          Offset (0x14),
          ACTT,   8,
          PSVT,   8,
          TC1V,   8,
          TC2V,   8,
          TSPV,   8,
          CRTT,   8,
          Offset (0x1E),
          BNUM,   8,
          B0SC,   8,
          B1SC,   8,
          B2SC,   8,
          B0SS,   8,
          B1SS,   8,
          B2SS,   8,
          Offset (0x28),
          WTHT,   8,
          Offset (0x3C),
          IGDS,   8,
          TLST,   8,
          CADL,   8,
          PADL,   8,
          CSTE,   16,
          NSTE,   16,
          SSTE,   16,
          NDID,   8,
          DID1,   32,
          DID2,   32,
          DID3,   32,
          DID4,   32,
          DID5,   32,
          Offset (0x67),
          BLCS,   8,
          BRTL,   8,
          Offset (0x82),
          UTYP,   2,
              ,   2,
              ,   3,
          Offset (0x83),
          CMAD,   3,
              ,   1,
          CMBD,   3,
          Offset (0x84),
          PTYP,   2,
              ,   2,
          LPTE,   2,
              ,   1,
          EPP9,   1,
              ,   6,
          AUEN,   1,
          AU97,   1,
          EHT,    8,
          PCT,    1,
          ALSS,   1,
          EMAS,   1,
          Offset (0x88),
          Offset (0x8C),
          CFGD,   16,
          Offset (0x96),
          ALSE,   8,
          ALAF,   8,
          LLOW,   8,
          LHIH,   8,
          Offset (0x9B),
          EMAE,   8,
          EMAP,   16,
          EMAL,   16,
          Offset (0xAA),
          D400,   8,
          Offset (0xB4),
          GTF0,   56,
          GTF2,   56,
          IDEM,   8
      }

      OperationRegion (RCRB, SystemMemory, 0xF0008000, 0x4000)
      Field (RCRB, DWordAcc, Lock, Preserve)
      {
          Offset (0x1000),
          Offset (0x3000),
          Offset (0x3404),
          HPAS,   2,
              ,   5,
          HPAE,   1,
          Offset (0x3418),
              ,   1,
          PATD,   1,
          SATD,   1,
          SMBD,   1,
          AZAD,   1,
          A97D,   1,
          Offset (0x341A),
          RP1D,   1,
          RP2D,   1,
          RP3D,   1,
          RP4D,   1
      }

      Mutex (MUTX, 0x00)
      Name (_S0, Package (0x03)  // _S0_: S0 System State
      {
          0x00,
          0x00,
          0x00
      })
      Name (_S3, Package (0x03)  // _S3_: S3 System State
      {
          0x05,
          0x05,
          0x00
      })
      Name (_S4, Package (0x03)  // _S4_: S4 System State
      {
          0x06,
          0x06,
          0x00
      })
      Name (_S5, Package (0x03)  // _S5_: S5 System State
      {
          0x07,
          0x07,
          0x00
      })
      Name (\PDC0, 0x80000000)
      Name (\PDC1, 0x80000000)
      Scope (\_PR)
      {
          Processor (CPU0, 0x00, 0x00001010, 0x06){}
          Processor (CPU1, 0x01, 0x00001010, 0x06){}
      }

      Name (\DSEN, 0x01)
      Name (\ECON, 0x00)
      Name (\GPIC, 0x00)
      Name (\CTYP, 0x00)
      Name (ECDY, 0x05)
      Name (\L01C, 0x00)
      Method (\_PIC, 1, NotSerialized)  // _PIC: Interrupt Model
      {
          GPIC = Arg0
      }

      Method (\_PTS, 1, NotSerialized)  // _PTS: Prepare To Sleep
      {
          PBST = 0x01
          While (PBST)
          {
              PBST = 0x01
          }

          If ((DBGS == 0x00))
          {
              RT10 = 0x00
          }

          If ((Arg0 == 0x01))
          {
              P80H = 0x51
          }
          ElseIf ((Arg0 == 0x02))
          {
              P80H = 0x52
          }
          ElseIf ((Arg0 == 0x03))
          {
              P80H = 0x53
              \_SB.GSMI (0x0A)
          }
          ElseIf ((Arg0 == 0x04))
          {
              P80H = 0x54
              \_SB.GSMI (0x03)
          }
          Else
          {
              P80H = 0x55
          }
      }

      Method (\_WAK, 1, NotSerialized)  // _WAK: Wake
      {
          If ((Arg0 == 0x01))
          {
              P80H = 0xE1
              Return (0x00)
          }
          ElseIf ((Arg0 == 0x02))
          {
              P80H = 0xE2
              Return (0x00)
          }
          ElseIf ((Arg0 == 0x03))
          {
              \_SB.GSMI (0x00)
              P80H = 0xE3
              Return (0x00)
          }
          ElseIf ((Arg0 == 0x04))
          {
              \_SB.GSMI (0x04)
              Notify (\_SB.PWRB, 0x02) // Device Wake
              P80H = 0xE4
              Return (0x00)
          }
          Else
          {
              P80H = 0xE5
              Return (0x00)
          }
      }

      Scope (\_GPE)
      {
          Method (_L01, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              L01C += 0x01
              If (\_SB.PCI0.RP01.HPCS)
              {
                  If (\_SB.PCI0.RP01.PDC1)
                  {
                      \_SB.PCI0.RP01.PDC1 = 0x01
                  }

                  \_SB.PCI0.RP01.HPCS = 0x01
              }

              If (\_SB.PCI0.RP02.HPCS)
              {
                  If (\_SB.PCI0.RP02.PDC2)
                  {
                      \_SB.PCI0.RP02.PDC2 = 0x01
                  }

                  \_SB.PCI0.RP02.HPCS = 0x01
              }

              If (\_SB.PCI0.RP03.HPCS)
              {
                  If (\_SB.PCI0.RP03.PDC3)
                  {
                      \_SB.PCI0.RP03.PDC3 = 0x01
                  }

                  \_SB.PCI0.RP03.HPCS = 0x01
              }

              If (\_SB.PCI0.RP04.HPCS)
              {
                  If (\_SB.PCI0.RP04.PDC4)
                  {
                      \_SB.PCI0.RP04.PDC4 = 0x01
                  }

                  \_SB.PCI0.RP04.HPCS = 0x01
              }

              If (D400)
              {
                  Name (TBF3, Buffer (0x05)
                  {
                       0x07, 0x66, 0x66, 0x40, 0x01                     
 // .ff@.
                  })
                  CreateByteField (TBF3, 0x01, CLCK)
                  If ((\_SB.PCI0.RP01.PDS1 == 0x00))
                  {
                      CLCK &= 0xFB
                  }

                  If ((\_SB.PCI0.RP02.PDS2 == 0x00))
                  {
                      CLCK &= 0xBF
                  }

                  If ((\_SB.PCI0.RP03.PDS3 == 0x00))
                  {
                      CLCK &= 0xFD
                  }

                  If ((\_SB.PCI0.RP04.PDS4 == 0x00))
                  {
                      CLCK &= 0xDF
                  }

                  \_SB.PCI0.SBUS.SBLW (0xDC, 0x00, TBF3, 0x00)
                  Stall (0x64)
              }

              Local0 = GP23 /* \GP23 */
              Local1 = GP33 /* \GP33 */
              Local2 = GP25 /* \GP25 */
              GP23 = \_SB.PCI0.RP01.PDS1
              GP33 = \_SB.PCI0.RP02.PDS2
              GP25 = \_SB.PCI0.RP03.PDS3
              Sleep (0x64)
              If ((GP23 != Local0))
              {
                  Notify (\_SB.PCI0.RP01, 0x00) // Bus Check
              }

              If ((GP33 != Local1))
              {
                  Notify (\_SB.PCI0.RP02, 0x00) // Bus Check
              }

              If ((GP25 != Local2))
              {
                  Notify (\_SB.PCI0.RP03, 0x00) // Bus Check
              }
          }

          Method (_L03, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              Notify (\_SB.PCI0.USB1, 0x02) // Device Wake
          }

          Method (_L04, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              Notify (\_SB.PCI0.USB2, 0x02) // Device Wake
          }

          Method (_L05, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              If (AZAD)
              {
                  Notify (\_SB.PCI0.MODM, 0x02) // Device Wake
              }
              Else
              {
                  Notify (\_SB.PCI0.AZAL, 0x02) // Device Wake
              }
          }

          Method (_L07, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              \_SB.PCI0.SBUS.HSTS = 0x20
          }

          Method (_L08, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
          }

          Method (_L09, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              If (\_SB.PCI0.RP01.PSP1)
              {
                  \_SB.PCI0.RP01.PSP1 = 0x01
                  \_SB.PCI0.RP01.PMCS = 0x01
                  Notify (\_SB.PCI0.RP01, 0x02) // Device Wake
              }

              If (\_SB.PCI0.RP02.PSP2)
              {
                  \_SB.PCI0.RP02.PSP2 = 0x01
                  \_SB.PCI0.RP02.PMCS = 0x01
                  Notify (\_SB.PCI0.RP02, 0x02) // Device Wake
              }

              If (\_SB.PCI0.RP03.PSP3)
              {
                  \_SB.PCI0.RP03.PSP3 = 0x01
                  \_SB.PCI0.RP03.PMCS = 0x01
                  Notify (\_SB.PCI0.RP03, 0x02) // Device Wake
              }

              If (\_SB.PCI0.RP04.PSP4)
              {
                  \_SB.PCI0.RP04.PSP4 = 0x01
                  \_SB.PCI0.RP04.PMCS = 0x01
                  Notify (\_SB.PCI0.RP04, 0x02) // Device Wake
              }
          }

          Method (_L0B, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              Notify (\_SB.PCI0.PCIB, 0x02) // Device Wake
          }

          Method (_L0C, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              Notify (\_SB.PCI0.USB3, 0x02) // Device Wake
          }

          Method (_L0D, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              Notify (\_SB.PCI0.USB7, 0x02) // Device Wake
          }

          Method (_L0E, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              Notify (\_SB.PCI0.USB4, 0x02) // Device Wake
          }

          Method (_L1C, 0, NotSerialized)  // _Lxx: Level-Triggered GPE, 
 xx=0x00-0xFF
          {
              LPOL = ~LPOL /* \LPOL */
              Notify (\_SB.LID0, 0x80) // Status Change
          }
      }

      OperationRegion (SMIO, SystemIO, 0xB2, 0x02)
      Field (SMIO, ByteAcc, NoLock, Preserve)
      {
          APMC,   8,
          APMD,   8
      }

      OperationRegion (PMIO, SystemIO, 0x1000, 0x80)
      Field (PMIO, DWordAcc, NoLock, Preserve)
      {
          Offset (0x01),
          PBST,   1,
          Offset (0x02)
      }

      Method (GETP, 1, Serialized)
      {
          If (((Arg0 & 0x09) == 0x00))
          {
              Return (0xFFFFFFFF)
          }

          If (((Arg0 & 0x09) == 0x08))
          {
              Return (0x0384)
          }

          Local0 = ((Arg0 & 0x0300) >> 0x08)
          Local1 = ((Arg0 & 0x3000) >> 0x0C)
          Return ((0x1E * (0x09 - (Local0 + Local1))))
      }

      Method (GDMA, 5, Serialized)
      {
          If (Arg0)
          {
              If ((Arg1 && Arg4))
              {
                  Return (0x14)
              }

              If ((Arg2 && Arg4))
              {
                  Return (((0x04 - Arg3) * 0x0F))
              }

              Return (((0x04 - Arg3) * 0x1E))
          }

          Return (0xFFFFFFFF)
      }

      Method (GETT, 1, Serialized)
      {
          Return ((0x1E * (0x09 - (((Arg0 >> 0x02) & 0x03
              ) + (Arg0 & 0x03)))))
      }

      Method (GETF, 3, Serialized)
      {
          Name (TMPF, 0x00)
          If (Arg0)
          {
              TMPF |= 0x01
          }

          If ((Arg2 & 0x02))
          {
              TMPF |= 0x02
          }

          If (Arg1)
          {
              TMPF |= 0x04
          }

          If ((Arg2 & 0x20))
          {
              TMPF |= 0x08
          }

          If ((Arg2 & 0x4000))
          {
              TMPF |= 0x10
          }

          Return (TMPF) /* \GETF.TMPF */
      }

      Method (SETP, 3, Serialized)
      {
          If ((Arg0 > 0xF0))
          {
              Return (0x08)
          }
          Else
          {
              If ((Arg1 & 0x02))
              {
                  If (((Arg0 <= 0x78) && (Arg2 & 0x02)))
                  {
                      Return (0x2301)
                  }

                  If (((Arg0 <= 0xB4) && (Arg2 & 0x01)))
                  {
                      Return (0x2101)
                  }
              }

              Return (0x1001)
          }
      }

      Method (SDMA, 1, Serialized)
      {
          If ((Arg0 <= 0x14))
          {
              Return (0x01)
          }

          If ((Arg0 <= 0x1E))
          {
              Return (0x02)
          }

          If ((Arg0 <= 0x2D))
          {
              Return (0x01)
          }

          If ((Arg0 <= 0x3C))
          {
              Return (0x02)
          }

          If ((Arg0 <= 0x5A))
          {
              Return (0x01)
          }

          Return (0x00)
      }

      Method (SETT, 3, Serialized)
      {
          If ((Arg1 & 0x02))
          {
              If (((Arg0 <= 0x78) && (Arg2 & 0x02)))
              {
                  Return (0x0B)
              }

              If (((Arg0 <= 0xB4) && (Arg2 & 0x01)))
              {
                  Return (0x09)
              }
          }

          Return (0x04)
      }

      Scope (\_SB)
      {
          Device (LID0)
          {
              Name (_HID, EisaId ("PNP0C0D") /* Lid Device */)  // _HID: 
 Hardware ID
              Method (_LID, 0, NotSerialized)  // _LID: Lid Status
              {
                  Return (LPOL) /* \LPOL */
              }
          }

          Device (PWRB)
          {
              Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */)  
 // _HID: Hardware ID
          }

          Device (SLPB)
          {
              Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */)  
 // _HID: Hardware ID
          }

          Device (PCI0)
          {
              Method (_INI, 0, NotSerialized)  // _INI: Initialize
              {
                  If (CondRefOf (_OSI, Local0))
                  {
                      MYOS = 0x00
                      If ((CFGD && 0x4000))
                      {
                          SMIF = 0x32
                          TRP0 = 0x00
                      }
                  }
                  ElseIf ((SizeOf (_OS) == 0x14))
                  {
                      MYOS = 0x01
                  }
                  ElseIf ((SizeOf (_OS) == 0x27))
                  {
                      MYOS = 0x02
                  }
                  Else
                  {
                      MYOS = 0x03
                  }
              }

              Method (_S1D, 0, NotSerialized)  // _S1D: S1 Device State
              {
                  If ((MYOS == 0x02))
                  {
                      Return (0x02)
                  }

                  Return (0x01)
              }

              Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
              {
                  Return (0x02)
              }

              Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
              {
                  Return (0x02)
              }

              Name (_HID, EisaId ("PNP0A08") /* PCI Express Bus */) // 
 _HID: Hardware ID
              Name (_CID, EisaId ("PNP0A03") /* PCI Bus */)  // _CID: 
 Compatible ID
              Name (_ADR, 0x00)  // _ADR: Address
              Name (_BBN, 0x00)  // _BBN: BIOS Bus Number
              OperationRegion (HBUS, PCI_Config, 0x40, 0xC0)
              Field (HBUS, DWordAcc, NoLock, Preserve)
              {
                  Offset (0x50),
                      ,   4,
                  PM0H,   2,
                  Offset (0x51),
                  PM1L,   2,
                      ,   2,
                  PM1H,   2,
                  Offset (0x52),
                  PM2L,   2,
                      ,   2,
                  PM2H,   2,
                  Offset (0x53),
                  PM3L,   2,
                      ,   2,
                  PM3H,   2,
                  Offset (0x54),
                  PM4L,   2,
                      ,   2,
                  PM4H,   2,
                  Offset (0x55),
                  PM5L,   2,
                      ,   2,
                  PM5H,   2,
                  Offset (0x56),
                  PM6L,   2,
                      ,   2,
                  PM6H,   2,
                  Offset (0x57),
                      ,   7,
                  HENA,   1,
                  Offset (0x5C),
                      ,   3,
                  TOUD,   5
              }

              Name (BUF0, ResourceTemplate ()
              {
                  WordBusNumber (ResourceProducer, MinFixed, MaxFixed, 
 PosDecode,
                      0x0000,             // Granularity
                      0x0000,             // Range Minimum
                      0x00FF,             // Range Maximum
                      0x0000,             // Translation Offset
                      0x0100,             // Length
                      0x00,, )
                  DWordIO (ResourceProducer, MinFixed, MaxFixed, 
 PosDecode, EntireRange,
                      0x00000000,         // Granularity
                      0x00000000,         // Range Minimum
                      0x00000CF7,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00000CF8,         // Length
                      0x00,, , TypeStatic, DenseTranslation)
                  IO (Decode16,
                      0x0CF8,             // Range Minimum
                      0x0CF8,             // Range Maximum
                      0x01,               // Alignment
                      0x08,               // Length
                      )
                  DWordIO (ResourceProducer, MinFixed, MaxFixed, 
 PosDecode, EntireRange,
                      0x00000000,         // Granularity
                      0x00000D00,         // Range Minimum
                      0x0000FFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x0000F300,         // Length
                      0x00,, , TypeStatic, DenseTranslation)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000A0000,         // Range Minimum
                      0x000BFFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00020000,         // Length
                      0x00,, , AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000C0000,         // Range Minimum
                      0x000C3FFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y00, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000C4000,         // Range Minimum
                      0x000C7FFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y01, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000C8000,         // Range Minimum
                      0x000CBFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y02, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000CC000,         // Range Minimum
                      0x000CFFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y03, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000D0000,         // Range Minimum
                      0x000D3FFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y04, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000D4000,         // Range Minimum
                      0x000D7FFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y05, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000D8000,         // Range Minimum
                      0x000DBFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y06, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000DC000,         // Range Minimum
                      0x000DFFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y07, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000E0000,         // Range Minimum
                      0x000E3FFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y08, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000E4000,         // Range Minimum
                      0x000E7FFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y09, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000E8000,         // Range Minimum
                      0x000EBFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y0A, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000EC000,         // Range Minimum
                      0x000EFFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00004000,         // Length
                      0x00,, _Y0B, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x000F0000,         // Range Minimum
                      0x000FFFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00010000,         // Length
                      0x00,, _Y0C, AddressRangeMemory, TypeStatic)
                  DWordMemory (ResourceProducer, PosDecode, MinFixed, 
 MaxFixed, Cacheable, ReadWrite,
                      0x00000000,         // Granularity
                      0x00000000,         // Range Minimum
                      0xFEBFFFFF,         // Range Maximum
                      0x00000000,         // Translation Offset
                      0x00000000,         // Length
                      0x00,, _Y0D, AddressRangeMemory, TypeStatic)
              })
              Method (_CRS, 0, Serialized)  // _CRS: Current Resource 
 Settings
              {
                  If (PM1L)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y00._LEN, C0LN)  
 // _LEN: Length
                      C0LN = Zero
                  }

                  If ((PM1L == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y00._RW, C0RW)  // 
 _RW_: Read-Write Status
                      C0RW = Zero
                  }

                  If (PM1H)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y01._LEN, C4LN)  
 // _LEN: Length
                      C4LN = Zero
                  }

                  If ((PM1H == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y01._RW, C4RW)  // 
 _RW_: Read-Write Status
                      C4RW = Zero
                  }

                  If (PM2L)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y02._LEN, C8LN)  
 // _LEN: Length
                      C8LN = Zero
                  }

                  If ((PM2L == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y02._RW, C8RW)  // 
 _RW_: Read-Write Status
                      C8RW = Zero
                  }

                  If (PM2H)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y03._LEN, CCLN)  
 // _LEN: Length
                      CCLN = Zero
                  }

                  If ((PM2H == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y03._RW, CCRW)  // 
 _RW_: Read-Write Status
                      CCRW = Zero
                  }

                  If (PM3L)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y04._LEN, D0LN)  
 // _LEN: Length
                      D0LN = Zero
                  }

                  If ((PM3L == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y04._RW, D0RW)  // 
 _RW_: Read-Write Status
                      D0RW = Zero
                  }

                  If (PM3H)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y05._LEN, D4LN)  
 // _LEN: Length
                      D4LN = Zero
                  }

                  If ((PM3H == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y05._RW, D4RW)  // 
 _RW_: Read-Write Status
                      D4RW = Zero
                  }

                  If (PM4L)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y06._LEN, D8LN)  
 // _LEN: Length
                      D8LN = Zero
                  }

                  If ((PM4L == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y06._RW, D8RW)  // 
 _RW_: Read-Write Status
                      D8RW = Zero
                  }

                  If (PM4H)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y07._LEN, DCLN)  
 // _LEN: Length
                      DCLN = Zero
                  }

                  If ((PM4H == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y07._RW, DCRW)  // 
 _RW_: Read-Write Status
                      DCRW = Zero
                  }

                  If (PM5L)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y08._LEN, E0LN)  
 // _LEN: Length
                      E0LN = Zero
                  }

                  If ((PM5L == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y08._RW, E0RW)  // 
 _RW_: Read-Write Status
                      E0RW = Zero
                  }

                  If (PM5H)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y09._LEN, E4LN)  
 // _LEN: Length
                      E4LN = Zero
                  }

                  If ((PM5H == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y09._RW, E4RW)  // 
 _RW_: Read-Write Status
                      E4RW = Zero
                  }

                  If (PM6L)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y0A._LEN, E8LN)  
 // _LEN: Length
                      E8LN = Zero
                  }

                  If ((PM6L == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y0A._RW, E8RW)  // 
 _RW_: Read-Write Status
                      E8RW = Zero
                  }

                  If (PM6H)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y0B._LEN, ECLN)  
 // _LEN: Length
                      ECLN = Zero
                  }

                  If ((PM6H == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y0B._RW, ECRW)  // 
 _RW_: Read-Write Status
                      ECRW = Zero
                  }

                  If (PM0H)
                  {
                      CreateDWordField (BUF0, \_SB.PCI0._Y0C._LEN, F0LN)  
 // _LEN: Length
                      F0LN = Zero
                  }

                  If ((PM0H == 0x01))
                  {
                      CreateBitField (BUF0, \_SB.PCI0._Y0C._RW, F0RW)  // 
 _RW_: Read-Write Status
                      F0RW = Zero
                  }

                  CreateDWordField (BUF0, \_SB.PCI0._Y0D._MIN, M1MN)  // 
 _MIN: Minimum Base Address
                  CreateDWordField (BUF0, \_SB.PCI0._Y0D._MAX, M1MX)  // 
 _MAX: Maximum Base Address
                  CreateDWordField (BUF0, \_SB.PCI0._Y0D._LEN, M1LN)  // 
 _LEN: Length
                  M1MN = (TOUD << 0x1B)
                  M1LN = ((M1MX - M1MN) + 0x01)
                  Return (BUF0) /* \_SB_.PCI0.BUF0 */
              }

              Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
              {
                  If (GPIC)
                  {
                      Return (Package (0x10)
                      {
                          Package (0x04)
                          {
                              0x0001FFFF,
                              0x00,
                              0x00,
                              0x10
                          },

                          Package (0x04)
                          {
                              0x0002FFFF,
                              0x00,
                              0x00,
                              0x10
                          },

                          Package (0x04)
                          {
                              0x001BFFFF,
                              0x00,
                              0x00,
                              0x10
                          },

                          Package (0x04)
                          {
                              0x001CFFFF,
                              0x00,
                              0x00,
                              0x11
                          },

                          Package (0x04)
                          {
                              0x001CFFFF,
                              0x01,
                              0x00,
                              0x10
                          },

                          Package (0x04)
                          {
                              0x001CFFFF,
                              0x02,
                              0x00,
                              0x12
                          },

                          Package (0x04)
                          {
                              0x001CFFFF,
                              0x03,
                              0x00,
                              0x13
                          },

                          Package (0x04)
                          {
                              0x001DFFFF,
                              0x00,
                              0x00,
                              0x17
                          },

                          Package (0x04)
                          {
                              0x001DFFFF,
                              0x01,
                              0x00,
                              0x13
                          },

                          Package (0x04)
                          {
                              0x001DFFFF,
                              0x02,
                              0x00,
                              0x12
                          },

                          Package (0x04)
                          {
                              0x001DFFFF,
                              0x03,
                              0x00,
                              0x10
                          },

                          Package (0x04)
                          {
                              0x001EFFFF,
                              0x00,
                              0x00,
                              0x11
                          },

                          Package (0x04)
                          {
                              0x001EFFFF,
                              0x01,
                              0x00,
                              0x14
                          },

                          Package (0x04)
                          {
                              0x001FFFFF,
                              0x00,
                              0x00,
                              0x12
                          },

                          Package (0x04)
                          {
                              0x001FFFFF,
                              0x01,
                              0x00,
                              0x13
                          },

                          Package (0x04)
                          {
                              0x001FFFFF,
                              0x03,
                              0x00,
                              0x10
                          }
                      })
                  }
                  Else
                  {
                      Return (Package (0x10)
                      {
                          Package (0x04)
                          {
                              0x0001FFFF,
                              0x00,
                              \_SB.PCI0.LPCB.LNKA,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x0002FFFF,
                              0x00,
                              \_SB.PCI0.LPCB.LNKA,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001BFFFF,
                              0x00,
                              \_SB.PCI0.LPCB.LNKA,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001CFFFF,
                              0x00,
                              \_SB.PCI0.LPCB.LNKB,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001CFFFF,
                              0x01,
                              \_SB.PCI0.LPCB.LNKA,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001CFFFF,
                              0x02,
                              \_SB.PCI0.LPCB.LNKC,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001CFFFF,
                              0x03,
                              \_SB.PCI0.LPCB.LNKD,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001DFFFF,
                              0x00,
                              \_SB.PCI0.LPCB.LNKH,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001DFFFF,
                              0x01,
                              \_SB.PCI0.LPCB.LNKD,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001DFFFF,
                              0x02,
                              \_SB.PCI0.LPCB.LNKC,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001DFFFF,
                              0x03,
                              \_SB.PCI0.LPCB.LNKA,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001EFFFF,
                              0x00,
                              \_SB.PCI0.LPCB.LNKB,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001EFFFF,
                              0x01,
                              \_SB.PCI0.LPCB.LNKE,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001FFFFF,
                              0x00,
                              \_SB.PCI0.LPCB.LNKC,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001FFFFF,
                              0x01,
                              \_SB.PCI0.LPCB.LNKD,
                              0x00
                          },

                          Package (0x04)
                          {
                              0x001FFFFF,
                              0x03,
                              \_SB.PCI0.LPCB.LNKA,
                              0x00
                          }
                      })
                  }
              }

              Device (PDRC)
              {
                  Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard 
 Resources */)  // _HID: Hardware ID
                  Name (_UID, 0x01)  // _UID: Unique ID
                  Name (_CRS, ResourceTemplate ()  // _CRS: Current 
 Resource Settings
                  {
                      Memory32Fixed (ReadWrite,
                          0xE0000000,         // Address Base
                          0x10000000,         // Address Length
                          )
                      Memory32Fixed (ReadWrite,
                          0xFED14000,         // Address Base
                          0x00004000,         // Address Length
                          )
                      Memory32Fixed (ReadWrite,
                          0xFED18000,         // Address Base
                          0x00001000,         // Address Length
                          )
                      Memory32Fixed (ReadWrite,
                          0xFED19000,         // Address Base
                          0x00001000,         // Address Length
                          )
                      Memory32Fixed (ReadWrite,
                          0xF0008000,         // Address Base
                          0x00004000,         // Address Length
                          )
                      Memory32Fixed (ReadWrite,
                          0xFEC00000,         // Address Base
                          0x00001000,         // Address Length
                          )
                      Memory32Fixed (ReadWrite,
                          0xFEE00000,         // Address Base
                          0x00001000,         // Address Length
                          )
                      Memory32Fixed (ReadWrite,
                          0xFED20000,         // Address Base
                          0x00070000,         // Address Length
                          )
                  })
              }

              Device (PEGP)
              {
                  Name (_ADR, 0x00010000)  // _ADR: Address
                  Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                  {
                      If (GPIC)
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  0x00,
                                  0x10
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  0x00,
                                  0x11
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  0x00,
                                  0x12
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  0x00,
                                  0x13
                              }
                          })
                      }
                      Else
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKA,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  \_SB.PCI0.LPCB.LNKB,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  \_SB.PCI0.LPCB.LNKC,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  \_SB.PCI0.LPCB.LNKD,
                                  0x00
                              }
                          })
                      }
                  }
              }

              Device (GFX0)
              {
                  Name (_ADR, 0x00020000)  // _ADR: Address
                  Method (_DOS, 1, NotSerialized)  // _DOS: Disable 
 Output Switching
                  {
                      DSEN = (Arg0 & 0x03)
                  }

                  Method (_DOD, 0, NotSerialized)  // _DOD: Display 
 Output Devices
                  {
                      Return (Package (0x03)
                      {
                          0x00010100,
                          0x00010400,
                          0x00010200
                      })
                  }

                  Device (LCD)
                  {
                      Name (_ADR, 0x0400)  // _ADR: Address
                      Method (_DCS, 0, NotSerialized)  // _DCS: Display 
 Current Status
                      {
                          \_SB.GSMI (0x09)
                          If ((CSTE & 0x01))
                          {
                              Return (0x1F)
                          }
                          Else
                          {
                              Return (0x1D)
                          }
                      }

                      Method (_DGS, 0, NotSerialized)  // _DGS: Display 
 Graphics State
                      {
                          If ((NSTE & 0x01))
                          {
                              Return (0x01)
                          }
                          Else
                          {
                              Return (0x00)
                          }
                      }

                      Method (_DSS, 1, NotSerialized)  // _DSS: Device 
 Set State
                      {
                          If (((Arg0 & 0xC0000000) == 0xC0000000))
                          {
                              CSTE = NSTE /* \NSTE */
                          }
                      }
                  }

                  Device (CRT1)
                  {
                      Name (_ADR, 0x0100)  // _ADR: Address
                      Method (_DCS, 0, NotSerialized)  // _DCS: Display 
 Current Status
                      {
                          \_SB.GSMI (0x09)
                          If ((CSTE & 0x02))
                          {
                              Return (0x1F)
                          }
                          Else
                          {
                              Return (0x1D)
                          }
                      }

                      Method (_DGS, 0, NotSerialized)  // _DGS: Display 
 Graphics State
                      {
                          If ((NSTE & 0x02))
                          {
                              Return (0x01)
                          }
                          Else
                          {
                              Return (0x00)
                          }
                      }

                      Method (_DSS, 1, NotSerialized)  // _DSS: Device 
 Set State
                      {
                          If (((Arg0 & 0xC0000000) == 0xC0000000))
                          {
                              CSTE = NSTE /* \NSTE */
                          }
                      }
                  }

                  Device (DTV1)
                  {
                      Name (_ADR, 0x0200)  // _ADR: Address
                      Method (_DCS, 0, NotSerialized)  // _DCS: Display 
 Current Status
                      {
                          \_SB.GSMI (0x09)
                          If ((CSTE & 0x04))
                          {
                              Return (0x1F)
                          }
                          Else
                          {
                              Return (0x1D)
                          }
                      }

                      Method (_DGS, 0, NotSerialized)  // _DGS: Display 
 Graphics State
                      {
                          If ((NSTE & 0x04))
                          {
                              Return (0x01)
                          }
                          Else
                          {
                              Return (0x00)
                          }
                      }

                      Method (_DSS, 1, NotSerialized)  // _DSS: Device 
 Set State
                      {
                          If (((Arg0 & 0xC0000000) == 0xC0000000))
                          {
                              CSTE = NSTE /* \NSTE */
                          }
                      }
                  }

                  Method (DSSW, 0, NotSerialized)
                  {
                      \_SB.GSMI (0x09)
                      If ((0x00 == DSEN))
                      {
                          PADL = CADL /* \CADL */
                          If ((CADL == 0x01))
                          {
                              NSTE = 0x01
                          }

                          If ((CADL == 0x03))
                          {
                              If ((CSTE == 0x04))
                              {
                                  NSTE = 0x01
                              }

                              If ((CSTE == 0x01))
                              {
                                  NSTE = 0x02
                              }

                              If ((CSTE == 0x02))
                              {
                                  NSTE = 0x03
                              }

                              If ((CSTE == 0x03))
                              {
                                  NSTE = 0x01
                              }
                          }

                          If ((CADL == 0x05))
                          {
                              If ((CSTE == 0x02))
                              {
                                  NSTE = 0x01
                              }

                              If ((CSTE == 0x01))
                              {
                                  NSTE = 0x04
                              }

                              If ((CSTE == 0x04))
                              {
                                  NSTE = 0x05
                              }

                              If ((CSTE == 0x05))
                              {
                                  NSTE = 0x01
                              }
                          }

                          If ((CADL == 0x07))
                          {
                              If ((CSTE == 0x01))
                              {
                                  NSTE = 0x03
                              }

                              If ((CSTE == 0x03))
                              {
                                  NSTE = 0x02
                              }

                              If ((CSTE == 0x02))
                              {
                                  NSTE = 0x05
                              }

                              If ((CSTE == 0x05))
                              {
                                  NSTE = 0x04
                              }

                              If ((CSTE == 0x04))
                              {
                                  NSTE = 0x01
                              }
                          }

                          Notify (\_SB.PCI0.GFX0, 0x80) // Status Change
                      }

                      If ((0x01 == DSEN))
                      {
                          \_SB.GSMI (0x08)
                          Notify (\_SB.PCI0.GFX0, 0x81) // Information Change
                      }
                  }
              }

              Device (AZAL)
              {
                  Name (_ADR, 0x001B0000)  // _ADR: Address
                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x05,
                      0x04
                  })
              }

              Device (RP01)
              {
                  Name (_ADR, 0x001C0000)  // _ADR: Address
                  OperationRegion (P1CS, PCI_Config, 0x40, 0x0100)
                  Field (P1CS, AnyAcc, NoLock, WriteAsZeros)
                  {
                      Offset (0x1A),
                      ABP1,   1,
                          ,   2,
                      PDC1,   1,
                          ,   2,
                      PDS1,   1,
                      Offset (0x20),
                      Offset (0x22),
                      PSP1,   1,
                      Offset (0x9C),
                          ,   30,
                      HPCS,   1,
                      PMCS,   1
                  }

                  Device (PXS1)
                  {
                      Name (_ADR, 0x00)  // _ADR: Address
                      Method (_RMV, 0, NotSerialized)  // _RMV: Removal 
 Status
                      {
                          Return (0x01)
                      }
                  }

                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x09,
                      0x04
                  })
                  Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                  {
                      If (\GPIC)
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  0x00,
                                  0x10
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  0x00,
                                  0x11
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  0x00,
                                  0x12
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  0x00,
                                  0x13
                              }
                          })
                      }
                      Else
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKA,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  \_SB.PCI0.LPCB.LNKB,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  \_SB.PCI0.LPCB.LNKC,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  \_SB.PCI0.LPCB.LNKD,
                                  0x00
                              }
                          })
                      }
                  }
              }

              Device (RP02)
              {
                  Name (_ADR, 0x001C0001)  // _ADR: Address
                  OperationRegion (P2CS, PCI_Config, 0x40, 0x0100)
                  Field (P2CS, AnyAcc, NoLock, WriteAsZeros)
                  {
                      Offset (0x1A),
                      ABP2,   1,
                          ,   2,
                      PDC2,   1,
                          ,   2,
                      PDS2,   1,
                      Offset (0x20),
                      Offset (0x22),
                      PSP2,   1,
                      Offset (0x9C),
                          ,   30,
                      HPCS,   1,
                      PMCS,   1
                  }

                  Device (PXS2)
                  {
                      Name (_ADR, 0x00)  // _ADR: Address
                      Method (_RMV, 0, NotSerialized)  // _RMV: Removal 
 Status
                      {
                          Return (0x01)
                      }
                  }

                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x09,
                      0x04
                  })
                  Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                  {
                      If (\GPIC)
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  0x00,
                                  0x11
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  0x00,
                                  0x12
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  0x00,
                                  0x13
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  0x00,
                                  0x10
                              }
                          })
                      }
                      Else
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKB,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  \_SB.PCI0.LPCB.LNKC,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  \_SB.PCI0.LPCB.LNKD,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  \_SB.PCI0.LPCB.LNKA,
                                  0x00
                              }
                          })
                      }
                  }
              }

              Device (RP03)
              {
                  Name (_ADR, 0x001C0002)  // _ADR: Address
                  OperationRegion (P3CS, PCI_Config, 0x40, 0x0100)
                  Field (P3CS, AnyAcc, NoLock, WriteAsZeros)
                  {
                      Offset (0x1A),
                      ABP3,   1,
                          ,   2,
                      PDC3,   1,
                          ,   2,
                      PDS3,   1,
                      Offset (0x20),
                      Offset (0x22),
                      PSP3,   1,
                      Offset (0x9C),
                          ,   30,
                      HPCS,   1,
                      PMCS,   1
                  }

                  Device (PXS0)
                  {
                      Name (_ADR, 0x00)  // _ADR: Address
                      Method (_RMV, 0, NotSerialized)  // _RMV: Removal 
 Status
                      {
                          Return (0x01)
                      }
                  }

                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x09,
                      0x04
                  })
                  Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                  {
                      If (\GPIC)
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  0x00,
                                  0x12
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  0x00,
                                  0x13
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  0x00,
                                  0x10
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  0x00,
                                  0x11
                              }
                          })
                      }
                      Else
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKC,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  \_SB.PCI0.LPCB.LNKD,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  \_SB.PCI0.LPCB.LNKA,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  \_SB.PCI0.LPCB.LNKB,
                                  0x00
                              }
                          })
                      }
                  }
              }

              Device (RP04)
              {
                  Name (_ADR, 0x001C0003)  // _ADR: Address
                  OperationRegion (P4CS, PCI_Config, 0x40, 0x0100)
                  Field (P4CS, AnyAcc, NoLock, WriteAsZeros)
                  {
                      Offset (0x1A),
                      ABP4,   1,
                          ,   2,
                      PDC4,   1,
                          ,   2,
                      PDS4,   1,
                      Offset (0x20),
                      Offset (0x22),
                      PSP4,   1,
                      Offset (0x9C),
                          ,   30,
                      HPCS,   1,
                      PMCS,   1
                  }

                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x09,
                      0x04
                  })
                  Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                  {
                      If (\GPIC)
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  0x00,
                                  0x13
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  0x00,
                                  0x10
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  0x00,
                                  0x11
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  0x00,
                                  0x12
                              }
                          })
                      }
                      Else
                      {
                          Return (Package (0x04)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKD,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x01,
                                  \_SB.PCI0.LPCB.LNKA,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x02,
                                  \_SB.PCI0.LPCB.LNKB,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x03,
                                  \_SB.PCI0.LPCB.LNKC,
                                  0x00
                              }
                          })
                      }
                  }
              }

              Device (USB1)
              {
                  Name (_ADR, 0x001D0000)  // _ADR: Address
                  OperationRegion (U1CS, PCI_Config, 0xC4, 0x04)
                  Field (U1CS, DWordAcc, NoLock, Preserve)
                  {
                      U1EN,   2
                  }

                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x03,
                      0x03
                  })
                  Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
                  {
                      If (Arg0)
                      {
                          U1EN = 0x03
                      }
                      Else
                      {
                          U1EN = 0x00
                      }
                  }

                  Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                  {
                      Return (0x02)
                  }

                  Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                  {
                      Return (0x02)
                  }
              }

              Device (USB2)
              {
                  Name (_ADR, 0x001D0001)  // _ADR: Address
                  OperationRegion (U2CS, PCI_Config, 0xC4, 0x04)
                  Field (U2CS, DWordAcc, NoLock, Preserve)
                  {
                      U2EN,   2
                  }

                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x04,
                      0x03
                  })
                  Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
                  {
                      If (Arg0)
                      {
                          U2EN = 0x03
                      }
                      Else
                      {
                          U2EN = 0x00
                      }
                  }

                  Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                  {
                      Return (0x02)
                  }

                  Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                  {
                      Return (0x02)
                  }
              }

              Device (USB3)
              {
                  Name (_ADR, 0x001D0002)  // _ADR: Address
                  OperationRegion (U3CS, PCI_Config, 0xC4, 0x04)
                  Field (U3CS, DWordAcc, NoLock, Preserve)
                  {
                      U3EN,   2
                  }

                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x0C,
                      0x03
                  })
                  Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
                  {
                      If (Arg0)
                      {
                          U3EN = 0x03
                      }
                      Else
                      {
                          U3EN = 0x00
                      }
                  }

                  Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                  {
                      Return (0x02)
                  }

                  Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                  {
                      Return (0x02)
                  }
              }

              Device (USB4)
              {
                  Name (_ADR, 0x001D0003)  // _ADR: Address
                  OperationRegion (U4CS, PCI_Config, 0xC4, 0x04)
                  Field (U4CS, DWordAcc, NoLock, Preserve)
                  {
                      U4EN,   2
                  }

                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x0E,
                      0x03
                  })
                  Method (_PSW, 1, NotSerialized)  // _PSW: Power State Wake
                  {
                      If (Arg0)
                      {
                          U4EN = 0x03
                      }
                      Else
                      {
                          U4EN = 0x00
                      }
                  }

                  Method (_S3D, 0, NotSerialized)  // _S3D: S3 Device State
                  {
                      Return (0x02)
                  }

                  Method (_S4D, 0, NotSerialized)  // _S4D: S4 Device State
                  {
                      Return (0x02)
                  }
              }

              Device (USB7)
              {
                  Name (_ADR, 0x001D0007)  // _ADR: Address
                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x0D,
                      0x03
                  })
              }

              Device (PCIB)
              {
                  Name (_ADR, 0x001E0000)  // _ADR: Address
                  Device (ELAN)
                  {
                      Name (_ADR, 0x00010000)  // _ADR: Address
                      Name (_PRW, Package (0x02)  // _PRW: Power 
 Resources for Wake
                      {
                          0x0B,
                          0x03
                      })
                  }

                  Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
                  {
                      If (GPIC)
                      {
                          Return (Package (0x08)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  0x00,
                                  0x14
                              },

                              Package (0x04)
                              {
                                  0x0001FFFF,
                                  0x00,
                                  0x00,
                                  0x15
                              },

                              Package (0x04)
                              {
                                  0x0002FFFF,
                                  0x00,
                                  0x00,
                                  0x16
                              },

                              Package (0x04)
                              {
                                  0x0002FFFF,
                                  0x01,
                                  0x00,
                                  0x17
                              },

                              Package (0x04)
                              {
                                  0x0003FFFF,
                                  0x00,
                                  0x00,
                                  0x17
                              },

                              Package (0x04)
                              {
                                  0x0003FFFF,
                                  0x01,
                                  0x00,
                                  0x16
                              },

                              Package (0x04)
                              {
                                  0x0004FFFF,
                                  0x00,
                                  0x00,
                                  0x10
                              },

                              Package (0x04)
                              {
                                  0x0004FFFF,
                                  0x01,
                                  0x00,
                                  0x11
                              }
                          })
                      }
                      Else
                      {
                          Return (Package (0x08)
                          {
                              Package (0x04)
                              {
                                  0xFFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKE,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0x0001FFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKF,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0x0002FFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKG,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0x0002FFFF,
                                  0x01,
                                  \_SB.PCI0.LPCB.LNKH,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0x0003FFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKH,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0x0003FFFF,
                                  0x01,
                                  \_SB.PCI0.LPCB.LNKG,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0x0004FFFF,
                                  0x00,
                                  \_SB.PCI0.LPCB.LNKA,
                                  0x00
                              },

                              Package (0x04)
                              {
                                  0x0004FFFF,
                                  0x01,
                                  \_SB.PCI0.LPCB.LNKB,
                                  0x00
                              }
                          })
                      }
                  }
              }

              Device (AUD0)
              {
                  Name (_ADR, 0x001E0002)  // _ADR: Address
              }

              Device (MODM)
              {
                  Name (_ADR, 0x001E0003)  // _ADR: Address
                  Name (_PRW, Package (0x02)  // _PRW: Power Resources 
 for Wake
                  {
                      0x05,
                      0x04
                  })
              }

              Device (LPCB)
              {
                  Name (_ADR, 0x001F0000)  // _ADR: Address
                  OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
                  Field (LPC0, AnyAcc, NoLock, Preserve)
                  {
                      Offset (0x20),
                      PARC,   8,
                      PBRC,   8,
                      PCRC,   8,
                      PDRC,   8,
                      Offset (0x28),
                      PERC,   8,
                      PFRC,   8,
                      PGRC,   8,
                      PHRC,   8,
                      Offset (0x40),
                      IOD0,   8,
                      IOD1,   8,
                      SIOE,   8,
                      Offset (0x48),
                      IOR2,   16
                  }

                  Device (DMAC)
                  {
                      Name (_HID, EisaId ("PNP0200") /* PC-class DMA 
 Controller */)  // _HID: Hardware ID
                      Name (_CRS, ResourceTemplate ()  // _CRS: Current 
 Resource Settings
                      {
                          IO (Decode16,
                              0x0000,             // Range Minimum
                              0x0000,             // Range Maximum
                              0x01,               // Alignment
                              0x20,               // Length
                              )
                          IO (Decode16,
                              0x0081,             // Range Minimum
                              0x0081,             // Range Maximum
                              0x01,               // Alignment
                              0x11,               // Length
                              )
                          IO (Decode16,
                              0x0093,             // Range Minimum
                              0x0093,             // Range Maximum
                              0x01,               // Alignment
                              0x0D,               // Length
                              )
                          IO (Decode16,
                              0x00C0,             // Range Minimum
                              0x00C0,             // Range Maximum
                              0x01,               // Alignment
                              0x20,               // Length
                              )
                          DMA (Compatibility, NotBusMaster, Transfer8_16, )
                              {4}
                      })
                  }

                  Device (FWHD)
                  {
                      Name (_HID, EisaId ("INT0800") /* Intel 82802 
 Firmware Hub Device */)  // _HID: Hardware ID
                      Name (_CRS, ResourceTemplate ()  // _CRS: Current 
 Resource Settings
                      {
                          Memory32Fixed (ReadOnly,
                              0xFF800000,         // Address Base
                              0x00800000,         // Address Length
                              )
                      })
                  }

                  Device (HPET)
                  {
                      Name (_HID, EisaId ("PNP0103") /* HPET System Timer 
 */)  // _HID: Hardware ID
                      Name (BUF0, ResourceTemplate ()
                      {
                          IRQNoFlags ()
                              {0}
                          IRQNoFlags ()
                              {8}
                          Memory32Fixed (ReadOnly,
                              0xFED00000,         // Address Base
                              0x00000400,         // Address Length
                              _Y0E)
                      })
                      Method (_STA, 0, NotSerialized)  // _STA: Status
                      {
                          If ((MYOS == 0x00))
                          {
                              If (HPAE)
                              {
                                  Return (0x0F)
                              }
                          }
                          ElseIf (HPAE)
                          {
                              Return (0x0B)
                          }

                          Return (0x00)
                      }

                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          If (HPAE)
                          {
                              CreateDWordField (BUF0, 
 \_SB.PCI0.LPCB.HPET._Y0E._BAS, HPT0)  // _BAS: Base Address
                              If ((HPAS == 0x01))
                              {
                                  HPT0 = 0xFED01000
                              }

                              If ((HPAS == 0x02))
                              {
                                  HPT0 = 0xFED02000
                              }

                              If ((HPAS == 0x03))
                              {
                                  HPT0 = 0xFED03000
                              }
                          }

                          Return (BUF0) /* \_SB_.PCI0.LPCB.HPET.BUF0 */
                      }
                  }

                  Device (IPIC)
                  {
                      Name (_HID, EisaId ("PNP0000") /* 8259-compatible 
 Programmable Interrupt Controller */)  // _HID: Hardware ID
                      Name (_CRS, ResourceTemplate ()  // _CRS: Current 
 Resource Settings
                      {
                          IO (Decode16,
                              0x0020,             // Range Minimum
                              0x0020,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0024,             // Range Minimum
                              0x0024,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0028,             // Range Minimum
                              0x0028,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x002C,             // Range Minimum
                              0x002C,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0030,             // Range Minimum
                              0x0030,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0034,             // Range Minimum
                              0x0034,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0038,             // Range Minimum
                              0x0038,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x003C,             // Range Minimum
                              0x003C,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x00A0,             // Range Minimum
                              0x00A0,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x00A4,             // Range Minimum
                              0x00A4,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x00A8,             // Range Minimum
                              0x00A8,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x00AC,             // Range Minimum
                              0x00AC,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x00B0,             // Range Minimum
                              0x00B0,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x00B4,             // Range Minimum
                              0x00B4,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x00B8,             // Range Minimum
                              0x00B8,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x00BC,             // Range Minimum
                              0x00BC,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x04D0,             // Range Minimum
                              0x04D0,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IRQNoFlags ()
                              {2}
                      })
                  }

                  Device (MATH)
                  {
                      Name (_HID, EisaId ("PNP0C04") /* x87-compatible 
 Floating Point Processing Unit */)  // _HID: Hardware ID
                      Name (_CRS, ResourceTemplate ()  // _CRS: Current 
 Resource Settings
                      {
                          IO (Decode16,
                              0x00F0,             // Range Minimum
                              0x00F0,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IRQNoFlags ()
                              {13}
                      })
                  }

                  Device (LDRC)
                  {
                      Name (_HID, EisaId ("PNP0C02") /* PNP Motherboard 
 Resources */)  // _HID: Hardware ID
                      Name (_UID, 0x02)  // _UID: Unique ID
                      Name (BUF0, ResourceTemplate ()
                      {
                          IO (Decode16,
                              0x002E,             // Range Minimum
                              0x002E,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x004E,             // Range Minimum
                              0x004E,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0061,             // Range Minimum
                              0x0061,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0063,             // Range Minimum
                              0x0063,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0065,             // Range Minimum
                              0x0065,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0067,             // Range Minimum
                              0x0067,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0070,             // Range Minimum
                              0x0070,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0080,             // Range Minimum
                              0x0080,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0092,             // Range Minimum
                              0x0092,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x00B2,             // Range Minimum
                              0x00B2,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0600,             // Range Minimum
                              0x0600,             // Range Maximum
                              0x01,               // Alignment
                              0x10,               // Length
                              )
                          IO (Decode16,
                              0x0680,             // Range Minimum
                              0x0680,             // Range Maximum
                              0x01,               // Alignment
                              0x80,               // Length
                              )
                          IO (Decode16,
                              0x0800,             // Range Minimum
                              0x0800,             // Range Maximum
                              0x01,               // Alignment
                              0x10,               // Length
                              )
                          IO (Decode16,
                              0x1000,             // Range Minimum
                              0x1000,             // Range Maximum
                              0x01,               // Alignment
                              0x80,               // Length
                              )
                          IO (Decode16,
                              0x1180,             // Range Minimum
                              0x1180,             // Range Maximum
                              0x01,               // Alignment
                              0x40,               // Length
                              )
                          IO (Decode16,
                              0x1640,             // Range Minimum
                              0x1640,             // Range Maximum
                              0x01,               // Alignment
                              0x10,               // Length
                              )
                          Memory32Fixed (ReadWrite,
                              0xE0000000,         // Address Base
                              0x10000000,         // Address Length
                              )
                          Memory32Fixed (ReadWrite,
                              0xF0008000,         // Address Base
                              0x00004000,         // Address Length
                              )
                          Memory32Fixed (ReadWrite,
                              0xFED14000,         // Address Base
                              0x00004000,         // Address Length
                              )
                          Memory32Fixed (ReadWrite,
                              0xFED18000,         // Address Base
                              0x00001000,         // Address Length
                              )
                          Memory32Fixed (ReadWrite,
                              0xFED19000,         // Address Base
                              0x00001000,         // Address Length
                              )
                      })
                      Name (BUF1, ResourceTemplate ()
                      {
                          IO (Decode16,
                              0x002E,             // Range Minimum
                              0x002E,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x004E,             // Range Minimum
                              0x004E,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0061,             // Range Minimum
                              0x0061,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0063,             // Range Minimum
                              0x0063,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0065,             // Range Minimum
                              0x0065,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0067,             // Range Minimum
                              0x0067,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0070,             // Range Minimum
                              0x0070,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0080,             // Range Minimum
                              0x0080,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0092,             // Range Minimum
                              0x0092,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x00B2,             // Range Minimum
                              0x00B2,             // Range Maximum
                              0x01,               // Alignment
                              0x02,               // Length
                              )
                          IO (Decode16,
                              0x0680,             // Range Minimum
                              0x0680,             // Range Maximum
                              0x01,               // Alignment
                              0x80,               // Length
                              )
                          IO (Decode16,
                              0x0800,             // Range Minimum
                              0x0800,             // Range Maximum
                              0x01,               // Alignment
                              0x10,               // Length
                              )
                          IO (Decode16,
                              0x1000,             // Range Minimum
                              0x1000,             // Range Maximum
                              0x01,               // Alignment
                              0x80,               // Length
                              )
                          IO (Decode16,
                              0x1180,             // Range Minimum
                              0x1180,             // Range Maximum
                              0x01,               // Alignment
                              0x40,               // Length
                              )
                          IO (Decode16,
                              0x1640,             // Range Minimum
                              0x1640,             // Range Maximum
                              0x01,               // Alignment
                              0x10,               // Length
                              )
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          If (0x01)
                          {
                              Return (BUF0) /* \_SB_.PCI0.LPCB.LDRC.BUF0 */
                          }

                          Return (BUF1) /* \_SB_.PCI0.LPCB.LDRC.BUF1 */
                      }
                  }

                  Device (RTC)
                  {
                      Name (_HID, EisaId ("PNP0B00") /* AT Real-Time 
 Clock */)  // _HID: Hardware ID
                      Name (BUF0, ResourceTemplate ()
                      {
                          IO (Decode16,
                              0x0070,             // Range Minimum
                              0x0070,             // Range Maximum
                              0x01,               // Alignment
                              0x08,               // Length
                              )
                      })
                      Name (BUF1, ResourceTemplate ()
                      {
                          IO (Decode16,
                              0x0070,             // Range Minimum
                              0x0070,             // Range Maximum
                              0x01,               // Alignment
                              0x08,               // Length
                              )
                          IRQNoFlags ()
                              {8}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          If (HPAE)
                          {
                              Return (BUF0) /* \_SB_.PCI0.LPCB.RTC_.BUF0 */
                          }

                          Return (BUF1) /* \_SB_.PCI0.LPCB.RTC_.BUF1 */
                      }
                  }

                  Device (TIMR)
                  {
                      Name (_HID, EisaId ("PNP0100") /* PC-class System 
 Timer */)  // _HID: Hardware ID
                      Name (BUF0, ResourceTemplate ()
                      {
                          IO (Decode16,
                              0x0040,             // Range Minimum
                              0x0040,             // Range Maximum
                              0x01,               // Alignment
                              0x04,               // Length
                              )
                          IO (Decode16,
                              0x0050,             // Range Minimum
                              0x0050,             // Range Maximum
                              0x10,               // Alignment
                              0x04,               // Length
                              )
                      })
                      Name (BUF1, ResourceTemplate ()
                      {
                          IO (Decode16,
                              0x0040,             // Range Minimum
                              0x0040,             // Range Maximum
                              0x01,               // Alignment
                              0x04,               // Length
                              )
                          IO (Decode16,
                              0x0050,             // Range Minimum
                              0x0050,             // Range Maximum
                              0x10,               // Alignment
                              0x04,               // Length
                              )
                          IRQNoFlags ()
                              {0}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          If (HPAE)
                          {
                              Return (BUF0) /* \_SB_.PCI0.LPCB.TIMR.BUF0 */
                          }

                          Return (BUF1) /* \_SB_.PCI0.LPCB.TIMR.BUF1 */
                      }
                  }

                  Device (LNKA)
                  {
                      Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt 
 Link Device */)  // _HID: Hardware ID
                      Name (_UID, 0x01)  // _UID: Unique ID
                      Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                      {
                          PARC = 0x80
                      }

                      Name (_PRS, ResourceTemplate ()  // _PRS: Possible 
 Resource Settings
                      {
                          IRQ (Level, ActiveLow, Shared, )
                              {1,3,4,5,6,7,10,12,14,15}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          Name (RTLA, ResourceTemplate ()
                          {
                              IRQ (Level, ActiveLow, Shared, _Y0F)
                                  {}
                          })
                          CreateWordField (RTLA, 
 \_SB.PCI0.LPCB.LNKA._CRS._Y0F._INT, IRQ0)  // _INT: Interrupts
                          IRQ0 = Zero
                          IRQ0 = (0x01 << (PARC & 0x0F))
                          Return (RTLA) /* \_SB_.PCI0.LPCB.LNKA._CRS.RTLA */
                      }

                      Method (_SRS, 1, Serialized)  // _SRS: Set Resource 
 Settings
                      {
                          CreateWordField (Arg0, 0x01, IRQ0)
                          FindSetRightBit (IRQ0, Local0)
                          Local0--
                          PARC = Local0
                      }

                      Method (_STA, 0, Serialized)  // _STA: Status
                      {
                          If ((PARC & 0x80))
                          {
                              Return (0x09)
                          }
                          Else
                          {
                              Return (0x0B)
                          }
                      }
                  }

                  Device (LNKB)
                  {
                      Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt 
 Link Device */)  // _HID: Hardware ID
                      Name (_UID, 0x02)  // _UID: Unique ID
                      Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                      {
                          PBRC = 0x80
                      }

                      Name (_PRS, ResourceTemplate ()  // _PRS: Possible 
 Resource Settings
                      {
                          IRQ (Level, ActiveLow, Shared, )
                              {1,3,4,5,6,7,11,12,14,15}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          Name (RTLB, ResourceTemplate ()
                          {
                              IRQ (Level, ActiveLow, Shared, _Y10)
                                  {}
                          })
                          CreateWordField (RTLB, 
 \_SB.PCI0.LPCB.LNKB._CRS._Y10._INT, IRQ0)  // _INT: Interrupts
                          IRQ0 = Zero
                          IRQ0 = (0x01 << (PBRC & 0x0F))
                          Return (RTLB) /* \_SB_.PCI0.LPCB.LNKB._CRS.RTLB */
                      }

                      Method (_SRS, 1, Serialized)  // _SRS: Set Resource 
 Settings
                      {
                          CreateWordField (Arg0, 0x01, IRQ0)
                          FindSetRightBit (IRQ0, Local0)
                          Local0--
                          PBRC = Local0
                      }

                      Method (_STA, 0, Serialized)  // _STA: Status
                      {
                          If ((PBRC & 0x80))
                          {
                              Return (0x09)
                          }
                          Else
                          {
                              Return (0x0B)
                          }
                      }
                  }

                  Device (LNKC)
                  {
                      Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt 
 Link Device */)  // _HID: Hardware ID
                      Name (_UID, 0x03)  // _UID: Unique ID
                      Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                      {
                          PCRC = 0x80
                      }

                      Name (_PRS, ResourceTemplate ()  // _PRS: Possible 
 Resource Settings
                      {
                          IRQ (Level, ActiveLow, Shared, )
                              {1,3,4,5,6,7,10,12,14,15}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          Name (RTLC, ResourceTemplate ()
                          {
                              IRQ (Level, ActiveLow, Shared, _Y11)
                                  {}
                          })
                          CreateWordField (RTLC, 
 \_SB.PCI0.LPCB.LNKC._CRS._Y11._INT, IRQ0)  // _INT: Interrupts
                          IRQ0 = Zero
                          IRQ0 = (0x01 << (PCRC & 0x0F))
                          Return (RTLC) /* \_SB_.PCI0.LPCB.LNKC._CRS.RTLC */
                      }

                      Method (_SRS, 1, Serialized)  // _SRS: Set Resource 
 Settings
                      {
                          CreateWordField (Arg0, 0x01, IRQ0)
                          FindSetRightBit (IRQ0, Local0)
                          Local0--
                          PCRC = Local0
                      }

                      Method (_STA, 0, Serialized)  // _STA: Status
                      {
                          If ((PCRC & 0x80))
                          {
                              Return (0x09)
                          }
                          Else
                          {
                              Return (0x0B)
                          }
                      }
                  }

                  Device (LNKD)
                  {
                      Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt 
 Link Device */)  // _HID: Hardware ID
                      Name (_UID, 0x04)  // _UID: Unique ID
                      Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                      {
                          PDRC = 0x80
                      }

                      Name (_PRS, ResourceTemplate ()  // _PRS: Possible 
 Resource Settings
                      {
                          IRQ (Level, ActiveLow, Shared, )
                              {1,3,4,5,6,7,11,12,14,15}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          Name (RTLD, ResourceTemplate ()
                          {
                              IRQ (Level, ActiveLow, Shared, _Y12)
                                  {}
                          })
                          CreateWordField (RTLD, 
 \_SB.PCI0.LPCB.LNKD._CRS._Y12._INT, IRQ0)  // _INT: Interrupts
                          IRQ0 = Zero
                          IRQ0 = (0x01 << (PDRC & 0x0F))
                          Return (RTLD) /* \_SB_.PCI0.LPCB.LNKD._CRS.RTLD */
                      }

                      Method (_SRS, 1, Serialized)  // _SRS: Set Resource 
 Settings
                      {
                          CreateWordField (Arg0, 0x01, IRQ0)
                          FindSetRightBit (IRQ0, Local0)
                          Local0--
                          PDRC = Local0
                      }

                      Method (_STA, 0, Serialized)  // _STA: Status
                      {
                          If ((PDRC & 0x80))
                          {
                              Return (0x09)
                          }
                          Else
                          {
                              Return (0x0B)
                          }
                      }
                  }

                  Device (LNKE)
                  {
                      Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt 
 Link Device */)  // _HID: Hardware ID
                      Name (_UID, 0x05)  // _UID: Unique ID
                      Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                      {
                          PERC = 0x80
                      }

                      Name (_PRS, ResourceTemplate ()  // _PRS: Possible 
 Resource Settings
                      {
                          IRQ (Level, ActiveLow, Shared, )
                              {1,3,4,5,6,7,10,12,14,15}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          Name (RTLE, ResourceTemplate ()
                          {
                              IRQ (Level, ActiveLow, Shared, _Y13)
                                  {}
                          })
                          CreateWordField (RTLE, 
 \_SB.PCI0.LPCB.LNKE._CRS._Y13._INT, IRQ0)  // _INT: Interrupts
                          IRQ0 = Zero
                          IRQ0 = (0x01 << (PERC & 0x0F))
                          Return (RTLE) /* \_SB_.PCI0.LPCB.LNKE._CRS.RTLE */
                      }

                      Method (_SRS, 1, Serialized)  // _SRS: Set Resource 
 Settings
                      {
                          CreateWordField (Arg0, 0x01, IRQ0)
                          FindSetRightBit (IRQ0, Local0)
                          Local0--
                          PERC = Local0
                      }

                      Method (_STA, 0, Serialized)  // _STA: Status
                      {
                          If ((PERC & 0x80))
                          {
                              Return (0x09)
                          }
                          Else
                          {
                              Return (0x0B)
                          }
                      }
                  }

                  Device (LNKF)
                  {
                      Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt 
 Link Device */)  // _HID: Hardware ID
                      Name (_UID, 0x06)  // _UID: Unique ID
                      Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                      {
                          PFRC = 0x80
                      }

                      Name (_PRS, ResourceTemplate ()  // _PRS: Possible 
 Resource Settings
                      {
                          IRQ (Level, ActiveLow, Shared, )
                              {1,3,4,5,6,7,11,12,14,15}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          Name (RTLF, ResourceTemplate ()
                          {
                              IRQ (Level, ActiveLow, Shared, _Y14)
                                  {}
                          })
                          CreateWordField (RTLF, 
 \_SB.PCI0.LPCB.LNKF._CRS._Y14._INT, IRQ0)  // _INT: Interrupts
                          IRQ0 = Zero
                          IRQ0 = (0x01 << (PFRC & 0x0F))
                          Return (RTLF) /* \_SB_.PCI0.LPCB.LNKF._CRS.RTLF */
                      }

                      Method (_SRS, 1, Serialized)  // _SRS: Set Resource 
 Settings
                      {
                          CreateWordField (Arg0, 0x01, IRQ0)
                          FindSetRightBit (IRQ0, Local0)
                          Local0--
                          PFRC = Local0
                      }

                      Method (_STA, 0, Serialized)  // _STA: Status
                      {
                          If ((PFRC & 0x80))
                          {
                              Return (0x09)
                          }
                          Else
                          {
                              Return (0x0B)
                          }
                      }
                  }

                  Device (LNKG)
                  {
                      Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt 
 Link Device */)  // _HID: Hardware ID
                      Name (_UID, 0x07)  // _UID: Unique ID
                      Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                      {
                          PGRC = 0x80
                      }

                      Name (_PRS, ResourceTemplate ()  // _PRS: Possible 
 Resource Settings
                      {
                          IRQ (Level, ActiveLow, Shared, )
                              {1,3,4,5,6,7,10,12,14,15}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          Name (RTLG, ResourceTemplate ()
                          {
                              IRQ (Level, ActiveLow, Shared, _Y15)
                                  {}
                          })
                          CreateWordField (RTLG, 
 \_SB.PCI0.LPCB.LNKG._CRS._Y15._INT, IRQ0)  // _INT: Interrupts
                          IRQ0 = Zero
                          IRQ0 = (0x01 << (PGRC & 0x0F))
                          Return (RTLG) /* \_SB_.PCI0.LPCB.LNKG._CRS.RTLG */
                      }

                      Method (_SRS, 1, Serialized)  // _SRS: Set Resource 
 Settings
                      {
                          CreateWordField (Arg0, 0x01, IRQ0)
                          FindSetRightBit (IRQ0, Local0)
                          Local0--
                          PGRC = Local0
                      }

                      Method (_STA, 0, Serialized)  // _STA: Status
                      {
                          If ((PGRC & 0x80))
                          {
                              Return (0x09)
                          }
                          Else
                          {
                              Return (0x0B)
                          }
                      }
                  }

                  Device (LNKH)
                  {
                      Name (_HID, EisaId ("PNP0C0F") /* PCI Interrupt 
 Link Device */)  // _HID: Hardware ID
                      Name (_UID, 0x08)  // _UID: Unique ID
                      Method (_DIS, 0, Serialized)  // _DIS: Disable Device
                      {
                          PHRC = 0x80
                      }

                      Name (_PRS, ResourceTemplate ()  // _PRS: Possible 
 Resource Settings
                      {
                          IRQ (Level, ActiveLow, Shared, )
                              {1,3,4,5,6,7,11,12,14,15}
                      })
                      Method (_CRS, 0, Serialized)  // _CRS: Current 
 Resource Settings
                      {
                          Name (RTLH, ResourceTemplate ()
                          {
                              IRQ (Level, ActiveLow, Shared, _Y16)
                                  {}
                          })
                          CreateWordField (RTLH, 
 \_SB.PCI0.LPCB.LNKH._CRS._Y16._INT, IRQ0)  // _INT: Interrupts
                          IRQ0 = Zero
                          IRQ0 = (0x01 << (PHRC & 0x0F))
                          Return (RTLH) /* \_SB_.PCI0.LPCB.LNKH._CRS.RTLH */
                      }

                      Method (_SRS, 1, Serialized)  // _SRS: Set Resource 
 Settings
                      {
                          CreateWordField (Arg0, 0x01, IRQ0)
                          FindSetRightBit (IRQ0, Local0)
                          Local0--
                          PHRC = Local0
                      }

                      Method (_STA, 0, Serialized)  // _STA: Status
                      {
                          If ((PHRC & 0x80))
                          {
                              Return (0x09)
                          }
                          Else
                          {
                              Return (0x0B)
                          }
                      }
                  }

                  Method (ECOK, 0, NotSerialized)
                  {
                      If ((\_SB.PCI0.LPCB.EC0.OKEC == 0x01))
                      {
                          Return (0x01)
                      }
                      Else
                      {
                          Return (0x00)
                      }
                  }

                  Device (EC0)
                  {
                      Name (_HID, EisaId ("PNP0C09") /* Embedded 
 Controller Device */)  // _HID: Hardware ID
                      Name (_GPE, 0x1D)  // _GPE: General Purpose Events
                      Name (OKEC, Zero)
                      Name (_CRS, ResourceTemplate ()  // _CRS: Current 
 Resource Settings
                      {
                          IO (Decode16,
                              0x0062,             // Range Minimum
                              0x0062,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0066,             // Range Minimum
                              0x0066,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                      })
                      Method (_REG, 2, NotSerialized)  // _REG: Region 
 Availability
                      {
                          If ((Arg0 == 0x03))
                          {
                              OKEC = Arg1
                          }
                      }

                      OperationRegion (ERAM, EmbeddedControl, 0x00, 0xFF)
                      Field (ERAM, ByteAcc, Lock, Preserve)
                      {
                          Offset (0x60),
                          SMPR,   8,
                          SMST,   8,
                          SMAD,   8,
                          SMCM,   8,
                          SMD0,   256,
                          BCNT,   8,
                          SMAA,   24,
                          Offset (0x90),
                          CHGM,   16,
                          CHGS,   16,
                          ENID,   8,
                          ENIB,   8,
                          ENDD,   8,
                          CHGV,   8,
                          CHGA,   16,
                          BAL0,   1,
                          BAL1,   1,
                          BAL2,   1,
                          BAL3,   1,
                          BBC0,   1,
                          BBC1,   1,
                          BBC2,   1,
                          BBC3,   1,
                          Offset (0x9C),
                          PHDD,   1,
                          IFDD,   1,
                          IODD,   1,
                          SHDD,   1,
                          S120,   1,
                          EFDD,   1,
                          CRTD,   1,
                          Offset (0x9D),
                          SBTN,   1,
                          VIDO,   1,
                          VOLD,   1,
                          VOLU,   1,
                          MUTE,   1,
                          CONT,   1,
                          BRGT,   1,
                          HBTN,   1,
                          S4ST,   1,
                          SKEY,   1,
                          BKEY,   1,
                          TOUP,   1,
                          FNBN,   1,
                          LIDF,   1,
                          DIGM,   1,
                          CDLK,   1,
                          Offset (0xA2),
                          BTNS,   8,
                          S1LD,   1,
                          S3LD,   1,
                          VGAQ,   1,
                          PCMQ,   1,
                          PCMR,   1,
                          ADPT,   1,
                          SLLS,   1,
                          SYS7,   1,
                          PWAK,   1,
                          MWAK,   1,
                          LWAK,   1,
                          Offset (0xA5),
                          Offset (0xAA),
                          TCNL,   8,
                          TMPI,   8,
                          TMSD,   8,
                          FASN,   4,
                          FASU,   4,
                          PCVL,   4,
                              ,   2,
                          SWTO,   1,
                          HWTO,   1,
                          MODE,   1,
                          FANS,   2,
                          INIT,   1,
                          FAN1,   1,
                          FAN2,   1,
                          FANT,   1,
                          TACK,   1,
                          CTMP,   8,
                          LIDE,   1,
                          PMEE,   1,
                          PWBE,   1,
                          RNGE,   1,
                          BTWE,   1,
                          DCKE,   1,
                          Offset (0xB2),
                          SK90,   8,
                          SK92,   8,
                          Offset (0xB8),
                          BTDT,   1,
                          BTPW,   1,
                          BTDS,   1,
                          BTPS,   1,
                          BTSW,   1,
                          BTWK,   1,
                          BTLD,   1,
                          Offset (0xB9),
                          BRTS,   8,
                          CNTS,   8,
                          WLAT,   1,
                          BTAT,   1,
                          WLEX,   1,
                          BTEX,   1,
                          KLSW,   1,
                          WLOK,   1,
                          Offset (0xBC),
                          PTID,   8,
                          CPUT,   8,
                          EPKT,   8,
                          Offset (0xC0),
                              ,   4,
                          BMF0,   3,
                          BTY0,   1,
                          BST0,   8,
                          BRC0,   16,
                          BSN0,   16,
                          BPV0,   16,
                          BDV0,   16,
                          BDC0,   16,
                          BFC0,   16,
                          GAU0,   8,
                          CYC0,   8,
                          BPC0,   16,
                          BAC0,   16,
                          BAT0,   8,
                          BTW0,   16,
                          BDN0,   8,
                          Offset (0xE0),
                              ,   4,
                          BMF1,   3,
                          BTY1,   1,
                          BST1,   8,
                          BRC1,   16,
                          BSN1,   16,
                          BPV1,   16,
                          BDV1,   16,
                          BDC1,   16,
                          BFC1,   16,
                          GAU1,   8,
                          CYC1,   8,
                          BPC1,   16,
                          BAC1,   16,
                          BAT1,   8,
                          BTW1,   16
                      }

                      Method (_Q15, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_16===="
                          Notify (\_SB.LID0, 0x80) // Status Change
                      }

                      Method (_Q16, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_16===="
                          Notify (\_SB.LID0, 0x80) // Status Change
                      }

                      Method (_Q19, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_19===="
                          \_SB.GSMI (0x0C)
                      }

                      Method (_Q1A, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_1A===="
                          \_SB.GSMI (0x0B)
                      }

                      Method (_Q1C, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_1C===="
                          \_SB.PCI0.GFX0.DSSW ()
                      }

                      Method (_Q1E, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "=====QUERY_1E====="
                          P80H = 0x1E
                          Sleep (0x07D0)
                          PCLK ()
                      }

                      Method (_Q22, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_22===="
                          Notify (\_SB.PCI0.LPCB.BAT1, 0x80) // Status Change
                      }

                      Method (_Q23, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_23===="
                          Notify (\_SB.PCI0.LPCB.BAT1, 0x80) // Status Change
                      }

                      Method (_Q24, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_24===="
                          Notify (\_SB.PCI0.LPCB.BAT1, 0x81) // 
 Information Change
                          Notify (\_SB.PCI0.LPCB.BAT1, 0x80) // Status Change
                      }

                      Method (_Q25, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_25===="
                          Notify (\_SB.PCI0.LPCB.BAT1, 0x81) // 
 Information Change
                          Notify (\_SB.PCI0.LPCB.BAT1, 0x80) // Status Change
                      }

                      Method (_Q37, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_37===="
                          Notify (\_SB.PCI0.LPCB.ACAD, 0x80) // Status Change
                          Notify (\_SB.PCI0.LPCB.BAT1, 0x80) // Status Change
                      }

                      Method (_Q38, 0, NotSerialized)  // _Qxx: EC Query, 
 xx=0x00-0xFF
                      {
                          Debug = "====QUERY_38===="
                          Notify (\_SB.PCI0.LPCB.ACAD, 0x80) // Status Change
                          Notify (\_SB.PCI0.LPCB.BAT1, 0x80) // Status Change
                      }

                      OperationRegion (CCLK, SystemIO, 0x1010, 0x04)
                      Field (CCLK, DWordAcc, NoLock, Preserve)
                      {
                              ,   1,
                          DUTY,   3,
                          THEN,   1,
                          Offset (0x01),
                              ,   9,
                          TSTS,   1
                      }

                      OperationRegion (ECRM, EmbeddedControl, 0x00, 0xFF)
                      Field (ECRM, ByteAcc, Lock, Preserve)
                      {
                          Offset (0x94),
                          ERIB,   16,
                          ERBD,   8,
                          Offset (0xAC),
                          SDTM,   8,
                          FSSN,   4,
                          FANU,   4,
                          PTVL,   3,
                              ,   4,
                          TTHR,   1,
                          Offset (0xBC),
                          PJID,   8,
                          Offset (0xBE),
                          Offset (0xF9),
                          RFRD,   16
                      }

                      Mutex (FAMX, 0x00)
                      Method (FANG, 1, NotSerialized)
                      {
                          Acquire (FAMX, 0xFFFF)
                          ERIB = Arg0
                          Local0 = ERBD /* \_SB_.PCI0.LPCB.EC0_.ERBD */
                          Release (FAMX)
                          Return (Local0)
                      }

                      Method (FANW, 2, NotSerialized)
                      {
                          Acquire (FAMX, 0xFFFF)
                          ERIB = Arg0
                          ERBD = Arg1
                          Release (FAMX)
                          Return (Arg1)
                      }

                      Method (TUVR, 1, NotSerialized)
                      {
                          Return (0x03)
                      }

                      Method (THRO, 1, NotSerialized)
                      {
                          If ((Arg0 == 0x00))
                          {
                              Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
                          }
                          ElseIf ((Arg0 == 0x01))
                          {
                              Return (DUTY) /* \_SB_.PCI0.LPCB.EC0_.DUTY */
                          }
                          ElseIf ((Arg0 == 0x02))
                          {
                              Return (TTHR) /* \_SB_.PCI0.LPCB.EC0_.TTHR */
                          }
                          Else
                          {
                              Return (0xFF)
                          }
                      }

                      Method (CLCK, 1, NotSerialized)
                      {
                          If ((Arg0 == 0x00))
                          {
                              THEN = 0x00
                          }
                          Else
                          {
                              DUTY = Arg0
                              THEN = 0x01
                          }

                          Return (THEN) /* \_SB_.PCI0.LPCB.EC0_.THEN */
                      }

                      Method (PCLK, 0, NotSerialized)
                      {
                          If ((PCVL == 0x00))
                          {
                              THEN = 0x00
                          }
                          Else
                          {
                              P80H = PCVL /* \_SB_.PCI0.LPCB.EC0_.PCVL */
                              Local0 = PCVL /* \_SB_.PCI0.LPCB.EC0_.PCVL */
                              Local0 = ~Local0
                              Local0 += 0x01
                              Local0 &= 0x07
                              DUTY = Local0
                              THEN = 0x01
                              If (\_SB.PCI0.LPCB.EC0.ECOK)
                              {
                                  If (\_SB.PCI0.LPCB.EC0.HWTO)
                                  {
                                      TACK = 0x01
                                  }
                              }
                          }
                      }
                  }

                  Device (ACAD)
                  {
                      Name (_HID, "ACPI0003" /* Power Source Device */)  
 // _HID: Hardware ID
                      Name (_PCL, Package (0x01)  // _PCL: Power Consumer 
 List
                      {
                          \_SB
                      })
                      Method (_PSR, 0, NotSerialized)  // _PSR: Power Source
                      {
                          If (ECOK ())
                          {
                              PWRS = \_SB.PCI0.LPCB.EC0.ADPT
                              Return (PWRS) /* \PWRS */
                          }
                          Else
                          {
                              PWRS = 0x01
                              Return (0x01)
                          }
                      }
                  }

                  Device (BAT1)
                  {
                      Name (_HID, EisaId ("PNP0C0A") /* Control Method 
 Battery */)  // _HID: Hardware ID
                      Name (_UID, 0x01)  // _UID: Unique ID
                      Name (_PCL, Package (0x01)  // _PCL: Power Consumer 
 List
                      {
                          \_SB
                      })
                      Name (PBIF, Package (0x0D)
                      {
                          0x01,
                          0x10CC,
                          0x10CC,
                          0x01,
                          0x39D0,
                          0x01AE,
                          0x81,
                          0x012D,
                          0x0F1E,
                          "SMARTBAT",
                          "SMBAT ",
                          "LiON",
                          "COMPAL "
                      })
                      Name (BSTP, Package (0x04)
                      {
                          0x01,
                          0xFFFFFFFF,
                          0xFFFFFFFF,
                          0x39D0
                      })
                      Method (_STA, 0, NotSerialized)  // _STA: Status
                      {
                          If (ECOK ())
                          {
                              Sleep (0x14)
                              If (\_SB.PCI0.LPCB.EC0.BAL0)
                              {
                                  Return (0x1F)
                              }
                              Else
                              {
                                  Return (0x0F)
                              }
                          }
                          Else
                          {
                              Sleep (0x14)
                              Return (0x1F)
                          }
                      }

                      Method (_BIF, 0, NotSerialized)  // _BIF: Battery 
 Information
                      {
                          If (ECOK ())
                          {
                              Sleep (0x14)
                              PBIF [0x01] = \_SB.PCI0.LPCB.EC0.BDC0
                              Sleep (0x14)
                              PBIF [0x02] = \_SB.PCI0.LPCB.EC0.BFC0
                              Sleep (0x14)
                              Local1 = \_SB.PCI0.LPCB.EC0.BMF0
                              Sleep (0x14)
                              If ((Local1 == 0x01))
                              {
                                  PBIF [0x09] = "BATCL50L "
                                  PBIF [0x0C] = "SANYO "
                              }
                              ElseIf ((Local1 == 0x02))
                              {
                                  PBIF [0x09] = "BATCL50L "
                                  PBIF [0x0C] = "SONY "
                              }
                              ElseIf ((Local1 == 0x04))
                              {
                                  PBIF [0x09] = "BATCL50L "
                                  PBIF [0x0C] = "PANASONIC "
                              }
                              Else
                              {
                                  PBIF [0x09] = "BATCL50L "
                                  PBIF [0x0C] = "COMPAL "
                              }
                          }

                          Return (PBIF) /* \_SB_.PCI0.LPCB.BAT1.PBIF */
                      }

                      Method (_BST, 0, NotSerialized)  // _BST: Battery 
 Status
                      {
                          If (ECOK ())
                          {
                              Sleep (0x14)
                              Local0 = \_SB.PCI0.LPCB.EC0.BST0
                              Local0 &= 0x07
                              Sleep (0x14)
                              Local1 = \_SB.PCI0.LPCB.EC0.BPC0
                              Sleep (0x14)
                              Local2 = \_SB.PCI0.LPCB.EC0.BRC0
                              Sleep (0x14)
                              Local3 = \_SB.PCI0.LPCB.EC0.BPV0
                              BSTP [0x00] = Local0
                              BSTP [0x01] = 0x00
                              BSTP [0x02] = Local2
                              BSTP [0x03] = Local3
                          }

                          Return (BSTP) /* \_SB_.PCI0.LPCB.BAT1.BSTP */
                      }
                  }

                  Device (PS2K)
                  {
                      Name (_HID, EisaId ("PNP0303") /* IBM Enhanced 
 Keyboard (101/102-key, PS/2 Mouse) */)  // _HID: Hardware ID
                      Name (_CRS, ResourceTemplate ()  // _CRS: Current 
 Resource Settings
                      {
                          IO (Decode16,
                              0x0060,             // Range Minimum
                              0x0060,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IO (Decode16,
                              0x0064,             // Range Minimum
                              0x0064,             // Range Maximum
                              0x01,               // Alignment
                              0x01,               // Length
                              )
                          IRQ (Edge, ActiveHigh, Exclusive, )
                              {1}
                      })
                  }

                  Device (PS2M)
                  {
                      Name (_HID, EisaId ("PNP0F13") /* PS/2 Mouse */)  
 // _HID: Hardware ID
                      Name (_CRS, ResourceTemplate ()  // _CRS: Current 
 Resource Settings
                      {
                          IRQ (Edge, ActiveHigh, Exclusive, )
                              {12}
                      })
                  }
              }

              Device (PATA)
              {
                  Name (_ADR, 0x001F0001)  // _ADR: Address
                  OperationRegion (PACS, PCI_Config, 0x40, 0xC0)
                  Field (PACS, DWordAcc, NoLock, Preserve)
                  {
                      PRIT,   16,
                      Offset (0x04),
                      PSIT,   4,
                      Offset (0x08),
                      SYNC,   4,
                      Offset (0x0A),
                      SDT0,   2,
                          ,   2,
                      SDT1,   2,
                      Offset (0x14),
                      ICR0,   4,
                      ICR1,   4,
                      ICR2,   4,
                      ICR3,   4,
                      ICR4,   4,
                      ICR5,   4
                  }

                  Device (PRID)
                  {
                      Name (_ADR, 0x00)  // _ADR: Address
                      Method (_GTM, 0, NotSerialized)  // _GTM: Get 
 Timing Mode
                      {
                          Name (PBUF, Buffer (0x14)
                          {
                              /* 0000 */  0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00,  // ........
                              /* 0008 */  0x00, 0x00, 0x00, 0x00, 0x00, 
 0x00, 0x00, 0x00,  // ........
                              /* 0010 */  0x00, 0x00, 0x00, 
 0x00                           // ....
                          })
                          CreateDWordField (PBUF, 0x00, PIO0)
                          CreateDWordField (PBUF, 0x04, DMA0)
                          CreateDWordField (PBUF, 0x08, PIO1)
                          CreateDWordField (PBUF, 0x0C, DMA1)
                          CreateDWordField (PBUF, 0x10, FLAG)
                          PIO0 = GETP (PRIT)
                          DMA0 = GDMA ((SYNC & 0x01), (ICR3 & 0x01), (
                              ICR0 & 0x01), SDT0, (ICR1 & 0x01))
                          If ((DMA0 == 0xFFFFFFFF))
                          {
                              DMA0 = PIO0 /* 
 \_SB_.PCI0.PATA.PRID._GTM.PIO0 */
                          }

                          If ((PRIT & 0x4000))
                          {
                              If (((PRIT & 0x90) == 0x80))
                              {
                                  PIO1 = 0x0384
                              }
                              Else
                              {
                                  PIO1 = GETT (PSIT)
                              }
                          }
                          Else
                          {
                              PIO1 = 0xFFFFFFFF
                          }

                          DMA1 = GDMA ((SYNC & 0x02), (ICR3 & 0x02), (
                              ICR0 & 0x02), SDT1, (ICR1 & 0x02))
                          If ((DMA1 == 0xFFFFFFFF))
                          {
                              DMA1 = PIO1 /* 
 \_SB_.PCI0.PATA.PRID._GTM.PIO1 */
                          }

                          FLAG = GETF ((SYNC & 0x01), (SYNC & 0x02), PRIT)
                          If (((PIO0 == 0xFFFFFFFF) & (DMA0 == 0xFFFFFFFF)))
                          {
                              PIO0 = 0x78
                              DMA0 = 0x14
                              FLAG = 0x03
                          }

                          Return (PBUF) /* \_SB_.PCI0.PATA.PRID._GTM.PBUF */
                      }

                      Method (_STM, 3, NotSerialized)  // _STM: Set 
 Timing Mode
                      {
                          CreateDWordField (Arg0, 0x00, PIO0)
                          CreateDWordField (Arg0, 0x04, DMA0)
                          CreateDWordField (Arg0, 0x08, PIO1)
                          CreateDWordField (Arg0, 0x0C, DMA1)
                          CreateDWordField (Arg0, 0x10, FLAG)
                          If ((SizeOf (Arg1) == 0x0200))
                          {
                              PRIT &= 0x40F0
                              SYNC &= 0x02
                              SDT0 = 0x00
                              ICR0 &= 0x02
                              ICR1 &= 0x02
                              ICR3 &= 0x02
                              ICR5 &= 0x02
                              CreateWordField (Arg1, 0x62, W490)
                              CreateWordField (Arg1, 0x6A, W530)
                              CreateWordField (Arg1, 0x7E, W630)
                              CreateWordField (Arg1, 0x80, W640)
                              CreateWordField (Arg1, 0xB0, W880)
                              CreateWordField (Arg1, 0xBA, W930)
                              PRIT |= 0x8004
                              If (((FLAG & 0x02) && (W490 & 0x0800)))
                              {
                                  PRIT |= 0x02
                              }

                              PRIT |= SETP (PIO0, W530, W640)
                              If ((FLAG & 0x01))
                              {
                                  SYNC |= 0x01
                                  SDT0 = SDMA (DMA0)
                                  If ((DMA0 < 0x1E))
                                  {
                                      ICR3 |= 0x01
                                  }

                                  If ((DMA0 < 0x3C))
                                  {
                                      ICR0 |= 0x01
                                  }

                                  If ((W930 & 0x2000))
                                  {
                                      ICR1 |= 0x01
                                  }
                              }
                          }

                          If ((SizeOf (Arg2) == 0x0200))
                          {
                              PRIT &= 0x3F0F
                              PSIT = 0x00
                              SYNC &= 0x01
                              SDT1 = 0x00
                              ICR0 &= 0x01
                              ICR1 &= 0x01
                              ICR3 &= 0x01
                              ICR5 &= 0x01
                              CreateWordField (Arg2, 0x62, W491)
                              CreateWordField (Arg2, 0x6A, W531)
                              CreateWordField (Arg2, 0x7E, W631)
                              CreateWordField (Arg2, 0x80, W641)
                              CreateWordField (Arg2, 0xB0, W881)
                              CreateWordField (Arg2, 0xBA, W931)
                              PRIT |= 0x8040
                              If (((FLAG & 0x08) && (W491 & 0x0800)))
                              {
                                  PRIT |= 0x20
                              }

                              If ((FLAG & 0x10))
                              {
                                  PRIT |= 0x4000
                                  If ((PIO1 > 0xF0))
                                  {
                                      PRIT |= 0x80
                                  }
                                  Else
                                  {
                                      PRIT |= 0x10
                                      PSIT = SETT (PIO1, W531, W641)
                                  }
                              }

                              If ((FLAG & 0x04))
                              {
                                  SYNC |= 0x02
                                  SDT1 = SDMA (DMA1)
                                  If ((DMA1 < 0x1E))
                                  {
                                      ICR3 |= 0x02
                                  }

                                  If ((DMA1 < 0x3C))
                                  {
                                      ICR0 |= 0x02
                                  }

                                  If ((W931 & 0x2000))
                                  {
                                      ICR1 |= 0x02
                                  }
                              }
                          }
                      }

                      Device (P_D0)
                      {
                          Name (_ADR, 0x00)  // _ADR: Address
                          Method (_RMV, 0, NotSerialized)  // _RMV: 
 Removal Status
                          {
                              Return ((SATD ^ 0x01))
                          }

                          Method (_GTF, 0, NotSerialized)  // _GTF: Get 
 Task File
                          {
                              Name (PIB0, Buffer (0x0E)
                              {
                                  /* 0000 */  0x03, 0x00, 0x00, 0x00, 
 0x00, 0xA0, 0xEF, 0x03,  // ........
                                  /* 0008 */  0x00, 0x00, 0x00, 0x00, 
 0xA0, 0xEF               // ......
                              })
                              CreateByteField (PIB0, 0x01, PMD0)
                              CreateByteField (PIB0, 0x08, DMD0)
                              If ((PRIT & 0x02))
                              {
                                  If (((PRIT & 0x09) == 0x08))
                                  {
                                      PMD0 = 0x08
                                  }
                                  Else
                                  {
                                      PMD0 = 0x0A
                                      Local0 = ((PRIT & 0x0300) >> 0x08)
                                      Local1 = ((PRIT & 0x3000) >> 0x0C)
                                      Local2 = (Local0 + Local1)
                                      If ((0x03 == Local2))
                                      {
                                          PMD0 = 0x0B
                                      }

                                      If ((0x05 == Local2))
                                      {
                                          PMD0 = 0x0C
                                      }
                                  }
                              }
                              Else
                              {
                                  PMD0 = 0x01
                              }

                              If ((SYNC & 0x01))
                              {
                                  DMD0 = (SDT0 | 0x40)
                                  If ((ICR1 & 0x01))
                                  {
                                      If ((ICR0 & 0x01))
                                      {
                                          DMD0 += 0x02
                                      }

                                      If ((ICR3 & 0x01))
                                      {
                                          DMD0 = 0x45
                                      }
                                  }
                              }
                              Else
                              {
                                  DMD0 = (((PMD0 & 0x07) - 0x02) | 0x20)
                              }

                              Return (PIB0) /* 
 \_SB_.PCI0.PATA.PRID.P_D0._GTF.PIB0 */
                          }
                      }

                      Device (P_D1)
                      {
                          Name (_ADR, 0x01)  // _ADR: Address
                          Method (_GTF, 0, NotSerialized)  // _GTF: Get 
 Task File
                          {
                              Name (PIB1, Buffer (0x0E)
                              {
                                  /* 0000 */  0x03, 0x00, 0x00, 0x00, 
 0x00, 0xB0, 0xEF, 0x03,  // ........
                                  /* 0008 */  0x00, 0x00, 0x00, 0x00, 
 0xB0, 0xEF               // ......
                              })
                              CreateByteField (PIB1, 0x01, PMD1)
                              CreateByteField (PIB1, 0x08, DMD1)
                              If ((PRIT & 0x20))
                              {
                                  If (((PRIT & 0x90) == 0x80))
                                  {
                                      PMD1 = 0x08
                                  }
                                  Else
                                  {
                                      Local0 = ((PSIT & 0x03) + ((PSIT & 
 0x0C) >> 0x02
                                          ))
                                      If ((0x05 == Local0))
                                      {
                                          PMD1 = 0x0C
                                      }
                                      ElseIf ((0x03 == Local0))
                                      {
                                          PMD1 = 0x0B
                                      }
                                      Else
                                      {
                                          PMD1 = 0x0A
                                      }
                                  }
                              }
                              Else
                              {
                                  PMD1 = 0x01
                              }

                              If ((SYNC & 0x02))
                              {
                                  DMD1 = (SDT1 | 0x40)
                                  If ((ICR1 & 0x02))
                                  {
                                      If ((ICR0 & 0x02))
                                      {
                                          DMD1 += 0x02
                                      }

                                      If ((ICR3 & 0x02))
                                      {
                                          DMD1 = 0x45
                                      }
                                  }
                              }
                              Else
                              {
                                  DMD1 = (((PMD1 & 0x07) - 0x02) | 0x20)
                              }

                              Return (PIB1) /* 
 \_SB_.PCI0.PATA.PRID.P_D1._GTF.PIB1 */
                          }
                      }
                  }
              }

              Device (SBUS)
              {
                  Name (_ADR, 0x001F0003)  // _ADR: Address
                  OperationRegion (SMBP, PCI_Config, 0x40, 0xC0)
                  Field (SMBP, DWordAcc, NoLock, Preserve)
                  {
                          ,   2,
                      I2CE,   1
                  }

                  OperationRegion (SMBI, SystemIO, 0x1400, 0x10)
                  Field (SMBI, ByteAcc, NoLock, Preserve)
                  {
                      HSTS,   8,
                      Offset (0x02),
                      HCON,   8,
                      HCOM,   8,
                      TXSA,   8,
                      DAT0,   8,
                      DAT1,   8,
                      HBDR,   8,
                      PECR,   8,
                      RXSA,   8,
                      SDAT,   16
                  }

                  Method (SSXB, 2, Serialized)
                  {
                      If (STRT ())
                      {
                          Return (0x00)
                      }

                      I2CE = 0x00
                      HSTS = 0xBF
                      TXSA = Arg0
                      HCOM = Arg1
                      HCON = 0x48
                      If (COMP ())
                      {
                          HSTS |= 0xFF
                          Return (0x01)
                      }

                      Return (0x00)
                  }

                  Method (SRXB, 1, Serialized)
                  {
                      If (STRT ())
                      {
                          Return (0xFFFF)
                      }

                      I2CE = 0x00
                      HSTS = 0xBF
                      TXSA = (Arg0 | 0x01)
                      HCON = 0x44
                      If (COMP ())
                      {
                          HSTS |= 0xFF
                          Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
                      }

                      Return (0xFFFF)
                  }

                  Method (SWRB, 3, Serialized)
                  {
                      If (STRT ())
                      {
                          Return (0x00)
                      }

                      I2CE = 0x00
                      HSTS = 0xBF
                      TXSA = Arg0
                      HCOM = Arg1
                      DAT0 = Arg2
                      HCON = 0x48
                      If (COMP ())
                      {
                          HSTS |= 0xFF
                          Return (0x01)
                      }

                      Return (0x00)
                  }

                  Method (SRDB, 2, Serialized)
                  {
                      If (STRT ())
                      {
                          Return (0xFFFF)
                      }

                      I2CE = 0x00
                      HSTS = 0xBF
                      TXSA = (Arg0 | 0x01)
                      HCOM = Arg1
                      HCON = 0x48
                      If (COMP ())
                      {
                          HSTS |= 0xFF
                          Return (DAT0) /* \_SB_.PCI0.SBUS.DAT0 */
                      }

                      Return (0xFFFF)
                  }

                  Method (SBLW, 4, Serialized)
                  {
                      If (STRT ())
                      {
                          Return (0x00)
                      }

                      I2CE = Arg3
                      HSTS = 0xBF
                      TXSA = Arg0
                      HCOM = Arg1
                      DAT0 = SizeOf (Arg2)
                      Local1 = 0x00
                      HBDR = DerefOf (Arg2 [0x00])
                      HCON = 0x54
                      While ((SizeOf (Arg2) > Local1))
                      {
                          Local0 = 0x0FA0
                          While ((!(HSTS & 0x80) && Local0))
                          {
                              Local0--
                              Stall (0x32)
                          }

                          If (!Local0)
                          {
                              KILL ()
                              Return (0x00)
                          }

                          HSTS = 0x80
                          Local1++
                          If ((SizeOf (Arg2) > Local1))
                          {
                              HBDR = DerefOf (Arg2 [Local1])
                          }
                      }

                      If (COMP ())
                      {
                          HSTS |= 0xFF
                          Return (0x01)
                      }

                      Return (0x00)
                  }

                  Method (SBLR, 3, Serialized)
                  {
                      Name (TBUF, Buffer (0x0100){})
                      If (STRT ())
                      {
                          Return (0x00)
                      }

                      I2CE = Arg2
                      HSTS = 0xBF
                      TXSA = (Arg0 | 0x01)
                      HCOM = Arg1
                      HCON = 0x54
                      Local0 = 0x0FA0
                      While ((!(HSTS & 0x80) && Local0))
                      {
                          Local0--
                          Stall (0x32)
                      }

                      If (!Local0)
                      {
                          KILL ()
                          Return (0x00)
                      }

                      TBUF [0x00] = DAT0 /* \_SB_.PCI0.SBUS.DAT0 */
                      HSTS = 0x80
                      Local1 = 0x01
                      While ((Local1 < DerefOf (TBUF [0x00])))
                      {
                          Local0 = 0x0FA0
                          While ((!(HSTS & 0x80) && Local0))
                          {
                              Local0--
                              Stall (0x32)
                          }

                          If (!Local0)
                          {
                              KILL ()
                              Return (0x00)
                          }

                          TBUF [Local1] = HBDR /* \_SB_.PCI0.SBUS.HBDR */
                          HSTS = 0x80
                          Local1++
                      }

                      If (COMP ())
                      {
                          HSTS |= 0xFF
                          Return (TBUF) /* \_SB_.PCI0.SBUS.SBLR.TBUF */
                      }

                      Return (0x00)
                  }

                  Method (STRT, 0, Serialized)
                  {
                      Local0 = 0xC8
                      While (Local0)
                      {
                          If ((HSTS & 0x40))
                          {
                              Local0--
                              Sleep (0x01)
                              If ((Local0 == 0x00))
                              {
                                  Return (0x01)
                              }
                          }
                          Else
                          {
                              Local0 = 0x00
                          }
                      }

                      Local0 = 0x0FA0
                      While (Local0)
                      {
                          If ((HSTS & 0x01))
                          {
                              Local0--
                              Stall (0x32)
                              If ((Local0 == 0x00))
                              {
                                  KILL ()
                              }
                          }
                          Else
                          {
                              Return (0x00)
                          }
                      }

                      Return (0x01)
                  }

                  Method (COMP, 0, Serialized)
                  {
                      Local0 = 0x0FA0
                      While (Local0)
                      {
                          If ((HSTS & 0x02))
                          {
                              Return (0x01)
                          }
                          Else
                          {
                              Local0--
                              Stall (0x32)
                              If ((Local0 == 0x00))
                              {
                                  KILL ()
                              }
                          }
                      }

                      Return (0x00)
                  }

                  Method (KILL, 0, Serialized)
                  {
                      HCON |= 0x02
                      HSTS |= 0xFF
                  }
              }
          }

          Method (GSMI, 1, NotSerialized)
          {
              APMD = Arg0
              APMC = 0xE3
              Stall (0xFF)
              Stall (0xFF)
              Stall (0xFF)
              Stall (0xFF)
              Stall (0xFF)
              Stall (0xFF)
          }
      }

      Scope (\_PR.CPU0)
      {
          Method (_PPC, 0, NotSerialized)  // _PPC: Performance Present 
 Capabilities
          {
              Return (0x00)
          }

          Method (_PCT, 0, NotSerialized)  // _PCT: Performance Control
          {
              If ((CFGD & 0x4000))
              {
                  Return (Package (0x02)
                  {
                      ResourceTemplate ()
                      {
                          Register (SystemIO,
                              0x08,               // Bit Width
                              0x00,               // Bit Offset
                              0x0000000000000800, // Address
                              ,)
                      },

                      ResourceTemplate ()
                      {
                          Register (SystemIO,
                              0x08,               // Bit Width
                              0x00,               // Bit Offset
                              0x0000000000000802, // Address
                              ,)
                      }
                  })
              }

              If (((CFGD & 0x02) && (PDC0 & 0x01)))
              {
                  Return (Package (0x02)
                  {
                      ResourceTemplate ()
                      {
                          Register (FFixedHW,
                              0x00,               // Bit Width
                              0x00,               // Bit Offset
                              0x0000000000000000, // Address
                              ,)
                      },

                      ResourceTemplate ()
                      {
                          Register (FFixedHW,
                              0x00,               // Bit Width
                              0x00,               // Bit Offset
                              0x0000000000000000, // Address
                              ,)
                      }
                  })
              }

              Return (Package (0x02)
              {
                  ResourceTemplate ()
                  {
                      Register (SystemIO,
                          0x10,               // Bit Width
                          0x00,               // Bit Offset
                          0x00000000000000B2, // Address
                          ,)
                  },

                  ResourceTemplate ()
                  {
                      Register (SystemIO,
                          0x08,               // Bit Width
                          0x00,               // Bit Offset
                          0x00000000000000B3, // Address
                          ,)
                  }
              })
          }

          Method (_PSS, 0, NotSerialized)  // _PSS: Performance Supported 
 States
          {
              If ((!(CFGD & 0x4000) && ((CFGD & 0x02) &&
                  (PDC0 & 0x01))))
              {
                  Return (NPSS) /* \_PR_.CPU0.NPSS */
              }

              Return (SPSS) /* \_PR_.CPU0.SPSS */
          }

          Name (SPSS, Package (0x05)
          {
              Package (0x06)
              {
                  0x0000074B,
                  0x00006978,
                  0x0000006E,
                  0x0000000A,
                  0x00000083,
                  0x00000000
              },

              Package (0x06)
              {
                  0x00000640,
                  0x000059D8,
                  0x0000006E,
                  0x0000000A,
                  0x00000183,
                  0x00000001
              },

              Package (0x06)
              {
                  0x00000535,
                  0x00004E20,
                  0x0000006E,
                  0x0000000A,
                  0x00000283,
                  0x00000002
              },

              Package (0x06)
              {
                  0x0000042B,
                  0x00004268,
                  0x0000006E,
                  0x0000000A,
                  0x00000383,
                  0x00000003
              },

              Package (0x06)
              {
                  0x00000320,
                  0x000032C8,
                  0x0000006E,
                  0x0000000A,
                  0x00000483,
                  0x00000004
              }
          })
          Name (NPSS, Package (0x05)
          {
              Package (0x06)
              {
                  0x0000074B,
                  0x00006978,
                  0x0000000A,
                  0x0000000A,
                  0x00000E29,
                  0x00000E29
              },

              Package (0x06)
              {
                  0x00000640,
                  0x000059D8,
                  0x0000000A,
                  0x0000000A,
                  0x00000C24,
                  0x00000C24
              },

              Package (0x06)
              {
                  0x00000535,
                  0x00004E20,
                  0x0000000A,
                  0x0000000A,
                  0x00000A1E,
                  0x00000A1E
              },

              Package (0x06)
              {
                  0x0000042B,
                  0x00004268,
                  0x0000000A,
                  0x0000000A,
                  0x00000818,
                  0x00000818
              },

              Package (0x06)
              {
                  0x00000320,
                  0x000032C8,
                  0x0000000A,
                  0x0000000A,
                  0x00000612,
                  0x00000612
              }
          })
      }

      Scope (\_PR.CPU0)
      {
          Method (_CST, 0, NotSerialized)  // _CST: C-States
          {
              If ((CFGD & 0x4000))
              {
                  Return (Package (0x02)
                  {
                      0x01,
                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (FFixedHW,
                                  0x01,               // Bit Width
                                  0x01,               // Bit Offset
                                  0x0000000000000809, // Address
                                  ,)
                          },

                          0x01,
                          0x01,
                          0x03E8
                      }
                  })
              }

              If ((CFGD & 0x80))
              {
                  Return (Package (0x05)
                  {
                      0x04,
                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (FFixedHW,
                                  0x00,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000000000, // Address
                                  ,)
                          },

                          0x01,
                          0x01,
                          0x03E8
                      },

                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (SystemIO,
                                  0x08,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000001014, // Address
                                  ,)
                          },

                          0x02,
                          0x01,
                          0x01F4
                      },

                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (SystemIO,
                                  0x08,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000001015, // Address
                                  ,)
                          },

                          0x03,
                          0x55,
                          0xFA
                      },

                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (SystemIO,
                                  0x08,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000001016, // Address
                                  ,)
                          },

                          0x03,
                          0xB9,
                          0x64
                      }
                  })
              }

              If ((CFGD & 0x40))
              {
                  Return (Package (0x04)
                  {
                      0x03,
                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (FFixedHW,
                                  0x00,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000000000, // Address
                                  ,)
                          },

                          0x01,
                          0x01,
                          0x03E8
                      },

                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (SystemIO,
                                  0x08,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000001014, // Address
                                  ,)
                          },

                          0x02,
                          0x01,
                          0x01F4
                      },

                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (SystemIO,
                                  0x08,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000001015, // Address
                                  ,)
                          },

                          0x03,
                          0x55,
                          0xFA
                      }
                  })
              }

              If ((CFGD & 0x20))
              {
                  Return (Package (0x03)
                  {
                      0x02,
                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (FFixedHW,
                                  0x00,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000000000, // Address
                                  ,)
                          },

                          0x01,
                          0x01,
                          0x03E8
                      },

                      Package (0x04)
                      {
                          ResourceTemplate ()
                          {
                              Register (SystemIO,
                                  0x08,               // Bit Width
                                  0x00,               // Bit Offset
                                  0x0000000000001014, // Address
                                  ,)
                          },

                          0x02,
                          0x01,
                          0x01F4
                      }
                  })
              }

              Return (Package (0x02)
              {
                  0x01,
                  Package (0x04)
                  {
                      ResourceTemplate ()
                      {
                          Register (FFixedHW,
                              0x00,               // Bit Width
                              0x00,               // Bit Offset
                              0x0000000000000000, // Address
                              ,)
                      },

                      0x01,
                      0x01,
                      0x03E8
                  }
              })
          }
      }
 }

 ramiro@debian-nuc8i7:~$




























































































































































From: Taylor R Campbell <riastradh@NetBSD.org>
To: Ramiro Aceves <ea1abz@gmail.com>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
	gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
	Compal DL-75 laptop
Date: Thu, 26 Dec 2024 14:33:20 +0000

 This is a multi-part message in MIME format.
 --=_uYve6LJUJbusqt1t17g4r8OQ3Se97Nkl
 Content-Transfer-Encoding: quoted-printable

 > Date: Thu, 26 Dec 2024 08:25:02 +0100
 > From: Ramiro Aceves <ea1abz@gmail.com>
 >=20
 > I compiled the kernel with the patched file using ./build.sh command=20
 > like you explained (changing to i386). This way compilation succeded=20
 > fine, it build toolchain first after a long time in this weird, slow but=
 =20
 > beloved i386 machine.

 FYI, the command I gave you runs a cross-build, so you can do it on
 whatever is your most-capable machine -- no need to do it on a small,
 elderly i386 system!

 Also, once you've done `build.sh ... tools' once, no need to do it
 again; you can just do the `build.sh ... kernel=3DGENERIC' stage to
 build a new kernel.

 >                       It seems that the "manual way" method of building=20
 > the kernel as The Guide describe does not work in this case. I required=20
 > toolchain to be built even when there is no change in architecture.

 If you're building from (say) 10.0 to 10.99.x, you may still have to
 build a new toolchian -- e.g., right now, 10.99.x is on gcc-12, while
 10.0 is on gcc-10, and there are often also relevant changes in
 /usr/share/mk to handle changes in compiler warnings like the
 -Werror=3Daddress-of-packed-member failure you saw.

 So the instructions at
 <https://www.netbsd.org/docs/guide/en/chap-kernel.html#chap-kernel-building=
 -manually>
 (34.4 Building the kernel manually) are really only for building small
 updates to a kernel of the same major version (10.99.x should be
 thought of as 11.0 - epsilon rather than as 10.something), unless
 you're doing a cross-build.

 > I booted with the new kernel and it enters again in ddb, rebooted from=20
 > that and dmesg was saved. I attach dmesg below:

 Thanks, looks like the ichlpcib(4) timecounter might be busted in the
 same way -- and I suspect it's the same hardware underneath anyway
 (not really sure why we have two access paths to it).

 Can you try the attached patch on top of the last one I sent?

 --=_uYve6LJUJbusqt1t17g4r8OQ3Se97Nkl
 Content-Type: text/plain; charset="ISO-8859-1"; name="pr58932-testnoacpipmtimer"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment; filename="pr58932-testnoacpipmtimer.patch"

 diff -r 7c40a48ab841 sys/dev/ic/acpipmtimer.c
 --- a/sys/dev/ic/acpipmtimer.c	Tue Dec 24 12:13:05 2024 +0000
 +++ b/sys/dev/ic/acpipmtimer.c	Thu Dec 26 14:29:42 2024 +0000
 @@ -31,6 +31,8 @@ acpipmtimer_attach(device_t dev,
  		   bus_space_tag_t t, bus_space_handle_t h, bus_size_t off,
  		   int flags)
  {
 +	return NULL;
 +
  	struct hwtc *tc;
 =20
  	tc =3D malloc(sizeof(struct hwtc), M_DEVBUF, M_WAITOK|M_ZERO);

 --=_uYve6LJUJbusqt1t17g4r8OQ3Se97Nkl--

From: Ramiro Aceves <ea1abz@gmail.com>
To: Taylor R Campbell <riastradh@NetBSD.org>
Cc: gnats-bugs@netbsd.org, install-manager@netbsd.org,
 gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
Subject: Re: install/58932: NetBSD-10.99.12-i386-install.img ACPI problems
 Compal DL-75 laptop
Date: Thu, 26 Dec 2024 16:53:49 +0100

 El 26/12/24 a las 15:33, Taylor R Campbell escribió:
 >> Date: Thu, 26 Dec 2024 08:25:02 +0100
 >> From: Ramiro Aceves <ea1abz@gmail.com>
 >>
 >> I compiled the kernel with the patched file using ./build.sh command
 >> like you explained (changing to i386). This way compilation succeded
 >> fine, it build toolchain first after a long time in this weird, slow but
 >> beloved i386 machine.
 > 
 > FYI, the command I gave you runs a cross-build, so you can do it on
 > whatever is your most-capable machine -- no need to do it on a small,
 > elderly i386 system!
 > 
 > Also, once you've done `build.sh ... tools' once, no need to do it
 > again; you can just do the `build.sh ... kernel=GENERIC' stage to
 > build a new kernel.
 > 
 >>                        It seems that the "manual way" method of building
 >> the kernel as The Guide describe does not work in this case. I required
 >> toolchain to be built even when there is no change in architecture.
 > 
 > If you're building from (say) 10.0 to 10.99.x, you may still have to
 > build a new toolchian -- e.g., right now, 10.99.x is on gcc-12, while
 > 10.0 is on gcc-10, and there are often also relevant changes in
 > /usr/share/mk to handle changes in compiler warnings like the
 > -Werror=address-of-packed-member failure you saw.
 > 
 > So the instructions at
 > <https://www.netbsd.org/docs/guide/en/chap-kernel.html#chap-kernel-building-manually>
 > (34.4 Building the kernel manually) are really only for building small
 > updates to a kernel of the same major version (10.99.x should be
 > thought of as 11.0 - epsilon rather than as 10.something), unless
 > you're doing a cross-build.
 > 
 >> I booted with the new kernel and it enters again in ddb, rebooted from
 >> that and dmesg was saved. I attach dmesg below:
 > 
 > Thanks, looks like the ichlpcib(4) timecounter might be busted in the
 > same way -- and I suspect it's the same hardware underneath anyway
 > (not really sure why we have two access paths to it).
 > 
 > Can you try the attached patch on top of the last one I sent?


 Hello Taylor,

 First thank you very much for the explanations about my newbie NetBSD 
 kernel building questions. I think it is clear to me now! Thanks indeed.

 I have just applied the second patch, forgot the "-u" and had to wait 50 
 minutes for full kernel compilation.  ;-) It enters again in DDB, please 
 see below.

 Regards.



 [  6065.777897] rebooting...
 [     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
 2003,
 [     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 
 2012, 2013,
 [     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 
 2022, 2023,
 [     1.000000]     2024
 [     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
 [     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
 [     1.000000]     The Regents of the University of California.  All 
 rights reserved.

 [     1.000000] NetBSD 10.99.12 (GENERIC) #2: Thu Dec 26 16:40:03 CET 2024
 [     1.000000] 
 ramiro@netbsd-compal.remigio:/usr/obj/sys/arch/i386/compile/GENERIC
 [     1.000000] total memory = 2039 MB
 [     1.000000] avail memory = 1977 MB
 [     1.000000] timecounter: Timecounters tick every 10.000 msec
 [     1.000000] Kernelized RAIDframe activated
 [     1.000000] timecounter: Timecounter "i8254" frequency 1193182 Hz 
 quality 100
 [     1.000004] mainbus0 (root)
 [     1.000004] ACPI: RSDP 0x00000000000E5010 000014 (v00 INSYDE)
 [     1.000004] ACPI: RSDT 0x000000007F7FB2BB 000034 (v01 INSYDE 
 RSDT_000 00000100 ABCD 00010200)
 [     1.000004] ACPI: FACP 0x000000007F7FFB00 000074 (v01 INSYDE 
 FACP_000 00000100 0000 00010200)
 [     1.000004] ACPI: DSDT 0x000000007F7FB920 0041DE (v01 COMPAL DL7x 
   00000001 INTL 02002036)
 [     1.000004] ACPI: FACS 0x000000007F7FFFC0 000040
 [     1.000004] ACPI: APIC 0x000000007F7FFB90 000068 (v01 STUPID 
 MAPIC_00 30307830 ABCD 00010200)
 [     1.000004] ACPI: SSDT 0x000000007F7FB4C7 000277 (v01 PmRef  Cpu0Ist 
   00003000 INTL 20030522)
 [     1.000004] ACPI: SSDT 0x000000007F7FB2EF 0001D8 (v01 PmRef  Cpu0Cst 
   00003001 INTL 20030522)
 [     1.000004] ACPI: 3 ACPI AML tables successfully acquired and loaded
 [     1.000004] ioapic0 at mainbus0 apid 1: pa 0xfec00000, version 0x20, 
 24 pins
 [     1.000004] cpu0 at mainbus0 apid 0
 [     1.000004] cpu0: Use lfence to serialize rdtsc
 [     1.000004] cpu0: Intel(R) Pentium(R) M processor 1.86GHz, id 0x6d8
 [     1.000004] cpu0: node 0, package 0, core 0, smt 0
 [     1.000004] acpi0 at mainbus0: Intel ACPICA 20240827
 [     1.000004] acpi0: X/RSDT: OemId <INSYDE,RSDT_000,00000100>, AslId 
 <ABCD,00010200>
 [     1.000004] acpi0: SCI interrupting at int 9
 [     1.000004] acpi0: fixed power button present
 [     1.000004] acpiec0 at acpi0 (EC0, PNP0C09): io 0x62,0x66
 [     1.000004] acpilid0 at acpi0 (LID0, PNP0C0D): ACPI Lid Switch
 [     1.000004] acpibut0 at acpi0 (PWRB, PNP0C0C): ACPI Power Button
 [     1.000004] acpibut1 at acpi0 (SLPB, PNP0C0E): ACPI Sleep Button
 [     1.000004] acpivga0 at acpi0 (GFX0): ACPI Display Adapter
 [     1.000004] acpiout0 at acpivga0 (LCD, 0x0400): ACPI Display Output 
 Device
 [     1.000004] acpiout1 at acpivga0 (CRT1, 0x0100): ACPI Display Output 
 Device
 [     1.000004] acpiout2 at acpivga0 (DTV1, 0x0200): ACPI Display Output 
 Device
 [     1.000004] acpivga0: connected output devices:
 [     1.000004] acpivga0:   0x0100 (acpiout1): Ext. Monitor, head 0, 
 bios detect
 [     1.000004] acpivga0:   0x0400 (acpiout0): Unknown Output Device, 
 head 0, bios detect
 [     1.000004] acpivga0:   0x0200 (acpiout2): TV, head 0, bios detect
 [     1.000004] FWHD (INT0800) at acpi0 not configured
 [     1.000004] MATH (PNP0C04) at acpi0 not configured
 [     1.000004] attimer1 at acpi0 (TIMR, PNP0100): io 
 0x40-0x43,0x50-0x53 irq 0
 [     1.000004] acpiacad0 at acpi0 (ACAD, ACPI0003): ACPI AC Adapter
 [     1.000004] acpibat0 at acpi0 (BAT1, PNP0C0A-1): ACPI Battery
 [     1.000004] pckbc1 at acpi0 (PS2K, PNP0303) (kbd port): io 0x60,0x64 
 irq 1
 [     1.000004] pckbc2 at acpi0 (PS2M, PNP0F13) (aux port): irq 12
 [     1.000004] apm0 at acpi0: Power Management spec V1.2
 [     1.000004] ACPI: Enabled 4 GPEs in block 00 to 1F
 [     1.000004] pckbd0 at pckbc1 (kbd slot)
 [     1.000004] pckbport_cmd: send error
 [     1.000004] pckbc1: using irq 1 for kbd slot
 [     1.000004] wskbd0 at pckbd0: console keyboard
 [     1.000004] autoconfiguration error: pckbc: aux echo error 1
 [     1.000004] pci0 at mainbus0 bus 0: configuration mode 1
 [     1.000004] pci0: i/o space, memory space enabled, rd/line, rd/mult, 
 wr/inv ok
 [     1.000004] pchb0 at pci0 dev 0 function 0: Intel 
 82915PM/GM/GMS,82910GML Host Bridge (rev. 0x04)
 [     1.000004] agp0 at pchb0: i915-family chipset
 [     1.000004] agp0: detected 7932k stolen memory
 [     1.000004] agp0: aperture at 0xa0000000, size 0x10000000
 [     1.000004] i915drmkms0 at pci0 dev 2 function 0: Intel 
 82915GM/GMS,82910GML Integrated Graphics Device (rev. 0x04)
 [     1.000004] Intel 82915GM/GMS IGD Companion (miscellaneous display, 
 revision 0x04) at pci0 dev 2 function 1 not configured
 [     1.000004] uhci0 at pci0 dev 29 function 0: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci0: interrupting at ioapic0 pin 23
 [     1.000004] usb0 at uhci0: USB revision 1.0
 [     1.000004] uhci1 at pci0 dev 29 function 1: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci1: interrupting at ioapic0 pin 19
 [     1.000004] usb1 at uhci1: USB revision 1.0
 [     1.000004] uhci2 at pci0 dev 29 function 2: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci2: interrupting at ioapic0 pin 18
 [     1.000004] usb2 at uhci2: USB revision 1.0
 [     1.000004] uhci3 at pci0 dev 29 function 3: Intel 82801FB/FR USB 
 UHCI Controller (rev. 0x04)
 [     1.000004] uhci3: interrupting at ioapic0 pin 16
 [     1.000004] usb3 at uhci3: USB revision 1.0
 [     1.000004] ehci0 at pci0 dev 29 function 7: Intel 82801FB/FR USB 
 EHCI Controller (rev. 0x04)
 [     1.000004] ehci0: 64-bit DMA - limited
 [     1.000004] ehci0: interrupting at ioapic0 pin 23
 [     1.000004] ehci0: EHCI version 0.0
 [     1.000004] ehci0: wrong number of companions (0 != 4)
 [     1.000004] ehci0: Using DMA subregion for control data structures
 [     1.000004] ehci0: autoconfiguration error: reset timeout
 [     1.000004] ehci0: autoconfiguration error: init failed, error=5
 [     1.000004] ppb0 at pci0 dev 30 function 0: Intel 82801BAM Hub-PCI 
 Bridge (rev. 0xd4)
 [     1.000004] pci1 at ppb0 bus 1
 [     1.000004] pci1: i/o space, memory space enabled
 [     1.000004] fwohci0 at pci1 dev 0 function 0: VIA Technologies 
 VT6306 IEEE 1394 Host Controller (rev. 0x80)
 [     1.000004] fwohci0: interrupting at ioapic0 pin 20
 [     1.000004] fwohci0: OHCI version 1.0 (ROM=1)
 [     1.000004] fwohci0: No. of Isochronous channels is 4.
 [     1.000004] fwohci0: EUI64 00:02:3f:59:88:40:01:0f
 [     1.000004] fwohci0: Phy 1394a available S400, 2 ports.
 [     1.000004] fwohci0: Link S400, max_rec 512 bytes.
 [     1.000004] fwohci0: max_rec 512 -> 2048
 [     1.000004] ieee1394if0 at fwohci0: IEEE1394 bus
 [     1.000004] fwip0 at ieee1394if0: IP over IEEE1394
 [     1.000004] fwohci0: Initiate bus reset
 [     1.000004] re0 at pci1 dev 1 function 0: RealTek 8169/8110 Gigabit 
 Ethernet (rev. 0x10)
 [     1.000004] re0: interrupting at ioapic0 pin 21
 [     1.000004] re0: RTL8169/8110SB (0x1000)
 [     1.000004] re0: Ethernet address 00:0f:b0:93:6f:e1
 [     1.000004] re0: using 256 tx descriptors
 [     1.000004] rgephy0 at re0 phy 7: RTL8211B 1000BASE-T media interface
 [     1.000004] rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 
 1000baseT, 1000baseT-FDX, auto
 [     1.000004] iwi0 at pci1 dev 2 function 0: Intel PRO/Wireless LAN 
 2200BG Mini-PCI Adapter (rev. 0x05)
 [     1.000004] iwi0: interrupting at ioapic0 pin 22
 [     1.000004] iwi0: 802.11 address 00:13:ce:6b:7d:01
 [     1.000004] cbb0 at pci1 dev 4 function 0: ENE Technology CB710 
 CardBus Controller (rev. 0x00)
 [     1.000004] ENE Technology product 0530 (flash memory) at pci1 dev 4 
 function 1 not configured
 [     1.000004] sdhc0 at pci1 dev 4 function 2: ENE Technology 
 CB712/714/810 PCI SD Card Reader Controller (rev. 0x00)
 [     1.000004] sdhc0: interrupting at ioapic0 pin 17
 [     1.000004] sdhc0: SDHC 1.0, rev 0, caps <01e021a1/00000000>, SDMA, 
 33000 kHz, HS 3.3V, 512 byte blocks
 [     1.000004] sdmmc0 at sdhc0 slot 0
 [     1.000004] cbb0: cacheline 0x8 lattimer 0x40
 [     1.000004] cbb0: bhlc 0x824008
 [     1.000004] cbb0: autoconfiguration error: secondary bus number 
 uninitialized; try PCI_BUS_FIXUP
 [     1.000004] cbb0: interrupting at ioapic0 pin 16
 [     1.000004] cardslot0 at cbb0
 [     1.000004] pcmcia0 at cardslot0
 [     1.000004] auich0 at pci0 dev 30 function 2: i82801FB (ICH6) AC-97 
 Audio
 [     1.000004] auich0: interrupting at ioapic0 pin 17
 [     1.000004] auich0: ac97: Avance Logic unknown (0x414c4752) codec; 
 headphone, 20 bit DAC, 18 bit ADC, no 3D stereo
 [     1.000004] auich0: ac97: ext id 0xa07<AC97_23,AMAP,SPDIF,DRA,VRA>
 [     1.000004] Intel 82801FB/FR AC'97 Modem Controller (modem 
 communications, revision 0x04) at pci0 dev 30 function 3 not configured
 [     1.000004] ichlpcib0 at pci0 dev 31 function 0: Intel 82801FBM 
 ICH6M LPC Interface Bridge (rev. 0x04)
 [     1.000004] tco0 at ichlpcib0: TCO (watchdog) timer configured.
 [     1.000004] tco0: Min/Max interval 1/367 seconds
 [     1.000004] piixide0 at pci0 dev 31 function 1: Intel 82801FB IDE 
 Controller (ICH6) (rev. 0x04)
 [     1.000004] piixide0: bus-master DMA support present
 [     1.000004] piixide0: primary channel configured to compatibility mode
 [     1.000004] piixide0: primary channel interrupting at ioapic0 pin 14
 [     1.000004] atabus0 at piixide0 channel 0
 [     1.000004] piixide0: secondary channel configured to compatibility mode
 [     1.000004] piixide0: secondary channel interrupting at ioapic0 pin 15
 [     1.000004] atabus1 at piixide0 channel 1
 [     1.000004] ichsmb0 at pci0 dev 31 function 3: Intel 82801FB/FR 
 SMBus Controller (rev. 0x04)
 [     1.000004] ichsmb0: interrupting at ioapic0 pin 19
 [     1.000004] iic0 at ichsmb0: I2C bus
 [     1.000004] isa0 at ichlpcib0
 [     1.000004] pcppi0 at isa0 port 0x61
 [     1.000004] midi0 at pcppi0: PC speaker
 [     1.000004] sysbeep0 at pcppi0
 [     1.000004] attimer1: attached to pcppi0
 [     1.000004] acpicpu0 at cpu0: ACPI CPU
 [     1.000004] acpicpu0: C1: HLT, lat   0 us, pow     0 mW
 [     1.000004] acpicpu0: C2: I/O, lat   1 us, pow     0 mW
 [     1.000004] acpicpu0: C3: I/O, lat  85 us, pow     0 mW
 [     1.000004] acpicpu0: P0: I/O, lat 110 us, pow 27000 mW, 1867 MHz
 [     1.000004] acpicpu0: P1: I/O, lat 110 us, pow 23000 mW, 1600 MHz
 [     1.000004] acpicpu0: P2: I/O, lat 110 us, pow 20000 mW, 1333 MHz
 [     1.000004] acpicpu0: P3: I/O, lat 110 us, pow 17000 mW, 1067 MHz
 [     1.000004] acpicpu0: P4: I/O, lat 110 us, pow 13000 mW,  800 MHz
 [     1.000004] acpicpu0: T0: I/O, lat   1 us, pow     0 mW, 100 %
 [     1.000004] acpicpu0: T1: I/O, lat   1 us, pow     0 mW,  88 %
 [     1.000004] acpicpu0: T2: I/O, lat   1 us, pow     0 mW,  76 %
 [     1.000004] acpicpu0: T3: I/O, lat   1 us, pow     0 mW,  64 %
 [     1.000004] acpicpu0: T4: I/O, lat   1 us, pow     0 mW,  52 %
 [     1.000004] acpicpu0: T5: I/O, lat   1 us, pow     0 mW,  40 %
 [     1.000004] acpicpu0: T6: I/O, lat   1 us, pow     0 mW,  28 %
 [     1.000004] acpicpu0: T7: I/O, lat   1 us, pow     0 mW,  16 %
 [     1.000004] fwohci0: BUS reset
 [     1.000004] fwohci0: node_id=0xc000ffc0, gen=1, CYCLEMASTER mode
 [     1.000004] ieee1394if0: 1 nodes, maxhop <= 0 cable IRM irm(0) (me)
 [     1.000004] ieee1394if0: bus manager 0
 [     1.000004] WARNING: system needs entropy for security; see entropy(7)
 [     1.000004] timecounter: Timecounter "clockinterrupt" frequency 100 
 Hz quality 0
 [     1.151611] panic: cpu0: time has not advanced in 1501 heartbeats
 [     1.151611] cpu0: Begin traceback...
 [     1.151611] 
 vpanic(c14353dc,db6b0f04,db6b0f4c,c0d71782,c14353dc,c1651764,5dd,dc8e6e64,0,c43fe4c0) 
 at netbsd:vpanic+0x176
 [     1.151611] 
 panic(c14353dc,c1651764,5dd,dc8e6e64,0,c43fe4c0,0,5dc,5dc,f) at 
 netbsd:panic+0x18
 [     1.151611] 
 heartbeat(dc8e6e64,0,5dd,0,2ee69,dc8e6ef8,dc8e6ebc,c0102fd4,dc8e6e64,dc8e6e64) 
 at netbsd:heartbeat+0x292
 [     1.151611] hardclock(dc8e6e64,dc8e6e64,0,0,0,0,0,0,0,0) at 
 netbsd:hardclock+0x79
 [     1.151611] --- switch to interrupt stack ---
 [     1.151611] Xresume_lapic_ltimer() at netbsd:Xresume_lapic_ltimer+0x24
 [     1.151611] --- interrupt ---
 [     1.151611] 
 x86_write_flags(c1653f60,c43fe4c0,0,e0f,c1653f60,9751ad54,c16893c0,0,dc8e6f60,dc8e6f60) 
 at netbsd:x86_write_flags+0x6
 [     1.151611] binuptime(dc8e6ef8,1,0,d1bde1d8,26ccce91,0,0,0,0,0) at 
 netbsd:binuptime+0x7d
 [     1.151611] 
 microtime(dc8e6f60,dc0c4200,4,1,dc8f1000,c43ee108,10,bb80,c0dc875a,0) at 
 netbsd:microtime+0x1a
 [     1.151611] 
 auich_finish_attach(c43e8400,10,c01020f3,c43fe4c0,c43fe4c0,c43fe4c0,c0db646b,0,c0102011,c43fe4c0) 
 at netbsd:auich_finish_attach+0x1fc
 [     1.151611] 
 config_interrupts_thread(c43fe4c0,1965000,1971000,0,c01005a8,0,0,0,0,0) 
 at netbsd:config_interrupts_thread+0x7f
 [     1.151611] cpu0: End traceback...
 [     1.151611] fatal breakpoint trap in supervisor mode
 [     1.151611] trap type 1 code 0 eip 0xc0128094 cs 0x8 eflags 0x202 
 cr2 0 ilevel 0x7 esp 0xdb6b0ee8
 [     1.151611] curlwp 0xc43fe4c0 pid 0 lid 103 lowest kstack 0xdc8e42c0
 rebooting...
 [     1.000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 
 2003,
 [     1.000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 
 2012, 2013,
 [     1.000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 
 2022, 2023,
 [     1.000000]     2024
 [     1.000000]     The NetBSD Foundation, Inc.  All rights reserved.
 [     1.000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
 [     1.000000]     The Regents of the University of California.  All 
 rights reserved.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.47 2022/09/11 19:34:41 kim Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2024 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.