Hi,

I've been trying to use OpenBSD on an older (2009) Toshiba laptop but I am
running into some difficulty with ACPI. What appears to be happening is that
as soon as the \_PIC method is invoked inside acpimadt the machine usually
just reboots (with the May 31st snapshot it now no longer reboots, but never
proceeds past the acpimadt line in the dmesg).

To run OpenBSD on this machine it is necessary to disable acpimadt but this
means that the machine effectively runs under a single core. Another option is
to disable the invokation of \_PIC in acpimadt, and this seems to allow
OpenBSD to pickup the two CPU cores, but this doesn't really seem safe.  To
make matters even worse, the BIOS on the machine seems to have 2 different
DSDT ACPI tables. The good table has a creator id of MSFT and is almost twice
as large as the bad table (which has a creator id of INTL). The machine starts
with the good DSDT table, but at some point the BIOS will swap out the good
table with the bad table. The actual DSDT memory is modified in SMI.

If I debug the kernel, I can see that OpenBSD is starting with the good table
but by the time I get into user space, acpidump dumps the bad DSDT table.
Under Windows 7, the DSDT memory never seems to get modified and the BIOS is
at least happy enough to not swap out the DSDT table during SMI.

At this point, I'm hoping that someone more familiar with OpenBSD's ACPI
implementation and AML can see something obvious in the DSDT table.

I have some older dmesgs, acpidump output, and Windows 7 DSDT table on my
website: http://devinsmith.net/toshiba/

Here is a dmesg from March with the \_PIC method disabled. I did try with
the May 31st snapshot, but the machine locks with acpimadt as the last line
printed.

OpenBSD 5.5-current (GENERIC.MP) #0: Sun Mar  9 22:40:26 PDT 2014
    r...@toshiba.devinsmith.net:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 2931376128 (2795MB)
avail mem = 2844696576 (2712MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xe90a0 (49 entries)
bios0: vendor Insyde Corp. version "1.10" date 12/17/2009
bios0: TOSHIBA Satellite L505D
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP HPET APIC MCFG BOOT SLIC SSDT
acpi0: wakeup devices LID_(S4) PB2_(S5) PB3_(S4) PB5_(S4) PB7_(S5)
PB9_(S5) PB10(S5) AZAL(S3) USB0(S3) USB1(S3) USB4(S3) USB5(S3)
acpitimer0 at acpi0: 3579545 Hz, 32 bits
acpihpet0 at acpi0: 14318180 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: AMD Athlon(tm) II Dual-Core M300, 1995.21 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,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,3DNOWP,OSVW,IBS,SKINIT,ITSC
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: AMD erratum 721 detected and fixed
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 199MHz
cpu0: mwait min=64, max=64, C-substates=0.0.0.0.0, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: AMD Athlon(tm) II Dual-Core M300, 1994.95 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,LAHF,CMPLEG,SVM,EAPICSP,AMCR8,ABM,SSE4A,3DNOWP,OSVW,IBS,SKINIT,ITSC
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
cpu1: AMD erratum 721 detected and fixed
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 4 pa 0xfec00000, version 21, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 4
acpimcfg0 at acpi0 addr 0xf7000000, bus 0-15
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (AGP_)
acpiprt2 at acpi0: bus -1 (PB2_)
acpiprt3 at acpi0: bus -1 (PB3_)
acpiprt4 at acpi0: bus 2 (PB4_)
acpiprt5 at acpi0: bus 3 (PB5_)
acpiprt6 at acpi0: bus 4 (PB6_)
acpiprt7 at acpi0: bus -1 (PB7_)
acpiprt8 at acpi0: bus -1 (PB9_)
acpiprt9 at acpi0: bus -1 (PB10)
acpiprt10 at acpi0: bus 10 (P2P_)
acpicpu0 at acpi0: PSS
acpicpu1 at acpi0: PSS
acpipwrres0 at acpi0: PFA1, resource for FAN1
acpitz0 at acpi0: critical temperature is 105 degC
acpibtn0 at acpi0: PWRB
acpibtn1 at acpi0: LID_
acpibat0 at acpi0: BAT0 model "PA353" serial 06AA type Li-ion
acpiac0 at acpi0: AC unit online
acpivideo0 at acpi0: VGA_
acpivout0 at acpivideo0: LCD_
acpivideo1 at acpi0: VGA_
cpu0: 1995 MHz: speeds: 2000 1400 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "AMD RS880 Host" rev 0x00
ppb0 at pci0 dev 1 function 0 "AMD RS780 PCIE" rev 0x00
pci1 at ppb0 bus 1
radeondrm0 at pci1 dev 5 function 0 "ATI Mobility Radeon HD 4100" rev
0x00
drm0 at radeondrm0
radeondrm0: apic 4 int 10
ppb1 at pci0 dev 4 function 0 "AMD RS780 PCIE" rev 0x00: msi
pci2 at ppb1 bus 2
"Realtek 8187SE" rev 0x22 at pci2 dev 0 function 0 not configured
ppb2 at pci0 dev 5 function 0 "AMD RS780 PCIE" rev 0x00: msi
pci3 at ppb2 bus 3
re0 at pci3 dev 0 function 0 "Realtek 8101E" rev 0x02: RTL8102EL
(0x2480), msi, address 00:26:6c:30:ca:e9
rlphy0 at re0 phy 7: RTL8201L 10/100 PHY, rev. 1
ppb3 at pci0 dev 6 function 0 "AMD RS780 PCIE" rev 0x00: msi
pci4 at ppb3 bus 4
ahci0 at pci0 dev 17 function 0 "ATI SBx00 SATA" rev 0x00: apic 4 int
11, AHCI 1.1
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 1 lun 0: <ATA, TOSHIBA MK3263GS, FG02> SCSI3
0/direct fixed naa.5000039202183daf
sd0: 305245MB, 512 bytes/sector, 625142448 sectors
cd0 at scsibus0 targ 2 lun 0: <HL-DT-ST, DVDRAM GT20F, ET10> ATAPI
5/cdrom removable
ohci0 at pci0 dev 18 function 0 "ATI SB700 USB" rev 0x00: apic 4 int 7,
version 1.0, legacy support
ohci1 at pci0 dev 18 function 1 "ATI SB700 USB" rev 0x00: apic 4 int 7,
version 1.0, legacy support
ehci0 at pci0 dev 18 function 2 "ATI SB700 USB2" rev 0x00: apic 4 int 5
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 10,
version 1.0, legacy support
ohci3 at pci0 dev 19 function 1 "ATI SB700 USB" rev 0x00: apic 4 int 10,
version 1.0, legacy support
ehci1 at pci0 dev 19 function 2 "ATI SB700 USB2" rev 0x00: apic 4 int 4
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
spdmem0 at iic0 addr 0x50: 1GB DDR2 SDRAM non-parity PC2-6400CL5 SO-DIMM
spdmem1 at iic0 addr 0x52: 2GB DDR2 SDRAM non-parity PC2-6400CL5 SO-DIMM
azalia0 at pci0 dev 20 function 2 "ATI SBx00 HD Audio" rev 0x00: apic 4
int 7
azalia0: codecs: Realtek ALC272
audio0 at azalia0
pcib0 at pci0 dev 20 function 3 "ATI SB700 ISA" rev 0x00
ppb4 at pci0 dev 20 function 4 "ATI SB600 PCI" rev 0x00
pci5 at ppb4 bus 10
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
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pms0: Synaptics touchpad, firmware 7.2
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
urtwn0 at uhub0 port 2 "EDIMAX EW-7811Un" rev 2.00/2.00 addr 2
urtwn0: MAC/BB RTL8188CUS, RF 6052 1T1R, address 80:1f:02:d3:c5:08
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on sd0a (c09eb271305f515d.a) swap on sd0b dump on sd0b
drm: initializing kernel modesetting (RS880 0x1002:0x9713
0x1179:0xFF1F).
radeondrm0: VRAM: 256M 0x00000000C0000000 - 0x00000000CFFFFFFF (256M
used)
radeondrm0: GTT: 512M 0x00000000A0000000 - 0x00000000BFFFFFFF
drm: PCIE GART of 512M enabled (table at 0x00000000C0040000).
radeondrm0: 1366x768
wsdisplay0 at radeondrm0 mux 1: console (std, vt100 emulation), using
wskbd0
wsdisplay0: screen 1-5 added (std, vt100 emulation)

Reply via email to