On Thu, 17 Mar 2011 23:31:02 +0000 Jordan Hargrave wrote: > It looks like there is a bug in the AML on that particular system (the code is > being called in from the atk0110 driver). > bios0: vendor American Megatrends Inc. version "2105" date 07/23/2010 > bios0: ASUSTeK Computer INC. M4A785TD-V EVO > > Eventually the AML code tries to execute the following: > Store (SMBU, Local5) > While (Not (LEqual (And (Local5, 0x02), Zero))) > { > Sleep (0x64) > Store (SMBU, Local5) > } > > It should be: > While (LNot (LEqual (And (Local5, 0x02), Zero))) > > > The first code, the while loop is always true since they are using a bitwise > Not not a Logical Not. > > So the issue is with that specific system/BIOS/AML.
Thanks for debugging the issue. Is there a way to see human-readable dump of aml code? I am wondering if it is safe for me to change Not opcode to equal LNot? At least, that way the system seems to boot with acpi enabled. Some other better work-around is also welcome. dmesg and my acpi/aml modifications below: OpenBSD 4.9 (GENERIC.MP) #8: Fri Mar 18 06:52:57 EET 2011 tkoskine@toga.local:/usr/src/sys/arch/amd64/compile/GENERIC.MP real mem = 3487105024 (3325MB) avail mem = 3380256768 (3223MB) mainbus0 at root bios0 at mainbus0: SMBIOS rev. 2.5 @ 0x9f400 (68 entries) bios0: vendor American Megatrends Inc. version "2105" date 07/23/2010 bios0: ASUSTeK Computer INC. M4A785TD-V EVO acpi0 at bios0: rev 2 acpi0: sleep states S0 S1 S3 S4 S5 acpi0: tables DSDT FACP APIC MCFG OEMB SRAT HPET SSDT acpi0: wakeup devices PCE2(S4) PCE3(S4) PCE4(S4) PCE5(S4) PCE6(S4) PCE7(S4) PCE9(S4) PCEA(S4) PCEB(S4) PCEC(S4) SBAZ(S4) PS2M(S4) PS2K(S4) UAR1(S4) P0PC(S4) UHC1(S4) UHC2(S4) UHC3(S4) USB4(S4) UHC5(S4) UHC6(S4) UHC7(S4) acpitimer0 at acpi0: 3579545 Hz, 32 bits acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat cpu0 at mainbus0: apid 0 (boot processor) cpu0: AMD Phenom(tm) II X4 965 Processor, 3415.69 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu0: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative cpu0: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative cpu0: apic clock running at 200MHz cpu1 at mainbus0: apid 1 (application processor) cpu1: AMD Phenom(tm) II X4 965 Processor, 3415.23 MHz cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu1: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu1: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative cpu1: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative cpu2 at mainbus0: apid 2 (application processor) cpu2: AMD Phenom(tm) II X4 965 Processor, 3415.23 MHz cpu2: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu2: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu2: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative cpu2: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative cpu3 at mainbus0: apid 3 (application processor) cpu3: AMD Phenom(tm) II X4 965 Processor, 3415.23 MHz cpu3: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,HTT,SSE3,MWAIT,CX16,POPCNT,NXE,MMXX,FFXSR,LONG,3DNOW2,3DNOW cpu3: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 16-way L2 cache cpu3: ITLB 32 4KB entries fully associative, 16 4MB entries fully associative cpu3: DTLB 48 4KB entries fully associative, 48 4MB entries fully associative ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 pins acpimcfg0 at acpi0 addr 0xe0000000, bus 0-255 acpihpet0 at acpi0: 14318180 Hz acpiprt0 at acpi0: bus 0 (PCI0) acpiprt1 at acpi0: bus -1 (P0P1) acpiprt2 at acpi0: bus 1 (PCE2) acpiprt3 at acpi0: bus -1 (PCE3) acpiprt4 at acpi0: bus 2 (PCE4) acpiprt5 at acpi0: bus -1 (PCE5) acpiprt6 at acpi0: bus -1 (PCE6) acpiprt7 at acpi0: bus -1 (PCE7) acpiprt8 at acpi0: bus -1 (PCE9) acpiprt9 at acpi0: bus 3 (PCEA) acpiprt10 at acpi0: bus 4 (P0PC) acpicpu0 at acpi0: PSS acpicpu1 at acpi0: PSS acpicpu2 at acpi0: PSS acpicpu3 at acpi0: PSS aibs0 at acpi0: RTMP RVLT RFAN GGRP GITM SITM acpibtn0 at acpi0: PWRB pci0 at mainbus0 bus 0 pchb0 at pci0 dev 0 function 0 "AMD RS780 Host" rev 0x00 ppb0 at pci0 dev 2 function 0 "AMD RS780 PCIE" rev 0x00: apic 4 int 18 (irq 10) pci1 at ppb0 bus 1 vga1 at pci1 dev 0 function 0 "ATI Radeon HD 4890" rev 0x00 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) radeondrm0 at vga1: apic 4 int 18 (irq 10) drm0 at radeondrm0 azalia0 at pci1 dev 0 function 1 "ATI Radeon HD 48xx HD Audio" rev 0x00: apic 4 int 19 (irq 10) azalia0: no supported codecs azalia0: initialization failure, detaching ppb1 at pci0 dev 4 function 0 "AMD RS780 PCIE" rev 0x00: apic 4 int 16 (irq 11) pci2 at ppb1 bus 2 puc0 at pci2 dev 0 function 0 "Oxford OX16PCIE952" rev 0x00: ports: 2 com com2 at puc0 port 0 apic 4 int 16 (irq 11): st16650, 32 byte fifo com2: probed fifo depth: 16 bytes com3 at puc0 port 1 apic 4 int 16 (irq 11): st16650, 32 byte fifo com3: probed fifo depth: 16 bytes ppb2 at pci0 dev 10 function 0 "AMD RS780 PCIE" rev 0x00: apic 4 int 18 (irq 10) pci3 at ppb2 bus 3 re0 at pci3 dev 0 function 0 "Realtek 8168" rev 0x03: RTL8168D/8111D (0x2800), apic 4 int 18 (irq 10), address e0:cb:4e:ba:49:d2 rgephy0 at re0 phy 7: RTL8169S/8110S PHY, rev. 2 ahci0 at pci0 dev 17 function 0 "ATI SBx00 SATA" rev 0x00: apic 4 int 22 (irq 10), AHCI 1.1 scsibus0 at ahci0: 32 targets sd0 at scsibus0 targ 0 lun 0: <ATA, Kingston SSDNow, B090> SCSI3 0/direct fixed sd0: 61057MB, 512 bytes/sec, 125045424 sec total sd1 at scsibus0 targ 1 lun 0: <ATA, WDC WD1500HLFS-0, 04.0> SCSI3 0/direct fixed sd1: 143089MB, 512 bytes/sec, 293046768 sec total sd2 at scsibus0 targ 2 lun 0: <ATA, WDC WD1500HLFS-0, 04.0> SCSI3 0/direct fixed sd2: 143089MB, 512 bytes/sec, 293046768 sec total ohci0 at pci0 dev 18 function 0 "ATI SB700 USB" rev 0x00: apic 4 int 16 (irq 11), version 1.0, legacy support ohci1 at pci0 dev 18 function 1 "ATI SB700 USB" rev 0x00: apic 4 int 16 (irq 11), version 1.0, legacy support ehci0 at pci0 dev 18 function 2 "ATI SB700 USB2" rev 0x00: apic 4 int 17 (irq 11) usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "ATI EHCI root hub" rev 2.00/1.00 addr 1 ohci2 at pci0 dev 19 function 0 "ATI SB700 USB" rev 0x00: apic 4 int 18 (irq 10), version 1.0, legacy support ohci3 at pci0 dev 19 function 1 "ATI SB700 USB" rev 0x00: apic 4 int 18 (irq 10), version 1.0, legacy support ehci1 at pci0 dev 19 function 2 "ATI SB700 USB2" rev 0x00: apic 4 int 19 (irq 10) usb1 at ehci1: USB revision 2.0 uhub1 at usb1 "ATI EHCI root hub" rev 2.00/1.00 addr 1 piixpm0 at pci0 dev 20 function 0 "ATI SBx00 SMBus" rev 0x3c: SMI iic0 at piixpm0 iic0: addr 0x20 01=19 02=24 03=2e 04=00 05=00 06=00 07=00 08=00 09=00 0a=10 0b=10 0c=10 0d=10 0e=28 0f=8c 10=3d 11=00 12=00 13=00 14=0a 15=0a 16=38 17=a4 18=e0 1a=ae 1b=a4 1c=b3 1d=00 1e=0c 1f=01 20=01 21=01 22=01 23=bb 3e=03 b2=09 b3=27 b5=09 words 00=ff19 01=1924 02=242e 03=2e00 04=0000 05=0000 06=0000 07=0000 spdmem0 at iic0 addr 0x52: 2GB DDR3 SDRAM PC3-10600 spdmem1 at iic0 addr 0x53: 2GB DDR3 SDRAM PC3-10600 pciide0 at pci0 dev 20 function 1 "ATI SB700 IDE" rev 0x00: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility atapiscsi0 at pciide0 channel 1 drive 0 scsibus1 at atapiscsi0: 2 targets cd0 at scsibus1 targ 0 lun 0: <HL-DT-ST, DVDRAM GH22LS50, TL02> ATAPI 5/cdrom removable wd0 at pciide0 channel 1 drive 1: <ST3500418AS> wd0: 16-sector PIO, LBA48, 476940MB, 976773168 sectors cd0(pciide0:1:0): using PIO mode 4, DMA mode 2, Ultra-DMA mode 5 wd0(pciide0:1:1): using PIO mode 4, DMA mode 2, Ultra-DMA mode 6 azalia1 at pci0 dev 20 function 2 "ATI SBx00 HD Audio" rev 0x00: apic 4 int 16 (irq 11) azalia1: codecs: VIA/0x0397 audio0 at azalia1 pcib0 at pci0 dev 20 function 3 "ATI SB700 ISA" rev 0x00 ppb3 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x00 pci4 at ppb3 bus 4 em0 at pci4 dev 7 function 0 "Intel PRO/1000GT (82541GI)" rev 0x05: apic 4 int 22 (irq 10), address 00:1b:21:54:4b:8d "VIA VT6306 FireWire" rev 0xc0 at pci4 dev 8 function 0 not configured ohci4 at pci0 dev 20 function 5 "ATI SB700 USB" rev 0x00: apic 4 int 18 (irq 10), version 1.0, legacy support pchb1 at pci0 dev 24 function 0 "AMD AMD64 10h HyperTransport" rev 0x00 pchb2 at pci0 dev 24 function 1 "AMD AMD64 10h Address Map" rev 0x00 pchb3 at pci0 dev 24 function 2 "AMD AMD64 10h DRAM Cfg" rev 0x00 km0 at pci0 dev 24 function 3 "AMD AMD64 10h Misc Cfg" rev 0x00 pchb4 at pci0 dev 24 function 4 "AMD AMD64 10h Link Cfg" rev 0x00 usb2 at ohci0: USB revision 1.0 uhub2 at usb2 "ATI OHCI root hub" rev 1.00/1.00 addr 1 usb3 at ohci1: USB revision 1.0 uhub3 at usb3 "ATI OHCI root hub" rev 1.00/1.00 addr 1 usb4 at ohci2: USB revision 1.0 uhub4 at usb4 "ATI OHCI root hub" rev 1.00/1.00 addr 1 usb5 at ohci3: USB revision 1.0 uhub5 at usb5 "ATI OHCI root hub" rev 1.00/1.00 addr 1 isa0 at pcib0 isadma0 at isa0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pcppi0 at isa0 port 0x61 spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 it0 at isa0 port 0x2e/2: IT8712F rev 8, EC port 0x290 usb6 at ohci4: USB revision 1.0 uhub6 at usb6 "ATI OHCI root hub" rev 1.00/1.00 addr 1 mtrr: Pentium Pro MTRR support rum0 at uhub0 port 1 "Ralink Technology RT2573" rev 2.00/0.01 addr 2 rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, address 00:0e:2e:c4:a9:de ulpt0 at uhub2 port 2 configuration 1 interface 0 "Brother HL-1450 series" rev 1.00/1.00 addr 2 ulpt0: using bi-directional mode uhidev0 at uhub3 port 2 configuration 1 interface 0 "Logitech USB Optical Mouse" rev 2.00/43.01 addr 2 uhidev0: iclass 3/1 ums0 at uhidev0: 3 buttons, Z dir wsmouse0 at ums0 mux 0 uhidev1 at uhub3 port 3 configuration 1 interface 0 "BTC USB Multimedia Keyboard" rev 1.10/1.00 addr 3 uhidev1: iclass 3/1 ukbd0 at uhidev1: 8 modifier keys, 6 key codes wskbd1 at ukbd0 mux 1 wskbd1: connecting to wsdisplay0 uhidev2 at uhub3 port 3 configuration 1 interface 1 "BTC USB Multimedia Keyboard" rev 1.10/1.00 addr 3 uhidev2: iclass 3/0, 3 report ids uhid0 at uhidev2 reportid 1: input=1, output=0, feature=0 uhid1 at uhidev2 reportid 2: input=3, output=0, feature=0 uhid2 at uhidev2 reportid 3: input=3, output=0, feature=8 vscsi0 at root scsibus2 at vscsi0: 256 targets softraid0 at root scsibus3 at softraid0: 1 targets sd3 at scsibus3 targ 0 lun 0: <OPENBSD, SR RAID 0, 004> SCSI2 0/direct fixed sd3: 286172MB, 512 bytes/sec, 586082048 sec total root on sd0a swap on sd0b dump on sd0b Index: dsdt.c =================================================================== RCS file: /cvs/src/sys/dev/acpi/dsdt.c,v retrieving revision 1.181 diff -u -p -r1.181 dsdt.c --- dsdt.c 2 Jan 2011 04:56:57 -0000 1.181 +++ dsdt.c 18 Mar 2011 05:12:14 -0000 @@ -1145,7 +1145,8 @@ aml_evalexpr(int64_t lhs, int64_t rhs, i res = (lhs ^ rhs); break; case AMLOP_NOT: - res = ~(lhs); + /* res = ~(lhs); */ + res = (!lhs); break; /* Conversion/misc */ -- Tero Koskinen <tero.koski...@iki.fi>