Date: Sun, 25 Jun 2006 09:15:48 -0700 From: Nate Lawson <nate@root.org> To: robertsg@westnet.com.au Cc: freebsd-acpi@freebsd.org Subject: Re: acpi: bad write to port Message-ID: <449EB6B4.1010601@root.org> In-Reply-To: <200606232251.15593.robertsg@westnet.com.au> References: <200606232251.15593.robertsg@westnet.com.au>
next in thread | previous in thread | raw e-mail | index | archive | help
Geoff Roberts wrote: > I'm not sure if this is the correct list, please let me know if it > belongs on another list. > > Since upgrading from 6.0 to the latest RELENG_6 branch the following > message appears every 10 seconds (exactly): > > Jun 22 15:00:06 emmapc kernel: acpi: bad write to port 0x070 (8), val > 0x59 > Jun 22 15:00:06 emmapc kernel: acpi: bad read from port 0x071 (8) > > I am using a Gigabyte GA60MM7E Rev 2.0 motherboard. It also has a PCI > SATA controller using a Si 3112 chip, a RealTek network card and a > Netgear WG311 wireless card. > > I've included the output of dmesg and pciconf -lv > > Any idea as to what might be causing this? Please let me know if there > is some more information required. The IO access has always been going on, we just started catching it recently. Those are the CMOS/RTC ports and it's not appropriate for the BIOS to access them. This is from OsdHardware.c log: revision 1.18 date: 2006/03/29 06:41:56; author: njl; state: Exp; lines: +76 -0 Add a blacklist for bad IO ports that AML should never touch. It seems some systems were designed so that AML writes to various resources shared with OS drivers, including the RTC, PIC, PCI, etc. These writes could collide with writes by the OS and should never be performed. For now, we print a message if such an access occurs, but do not block it. To block the access, the tunable "debug.acpi.block_bad_io" can be set to 1. In the future, we will flip the switch and this will become the default. Information about this problem was found in Microsoft KB 283649. They block IO accesses if the BIOS indicates via _OSI that it is Windows 2001 or higher. They always block accesses to the PIC, cascaded PIC, and ELCRs, no matter how old the BIOS. To test if disabling these writes hurts your system, try booting with debug.acpi.block_bad_io=1 set at the loader prompt. If there's a problem, let me know what happened. This helps us gather info for when we flip the switch to disabling such writes by default. -- Nate
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?449EB6B4.1010601>