Message ID | alpine.LFD.2.00.0904071754230.4799@localhost.localdomain (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
On Tue, Apr 7, 2009 at 18:56, Len Brown <lenb@kernel.org> wrote: > From: Len Brown <len.brown@intel.com> > > Sony laptops apparently write 4-bytes (rather than 1 byte) > to debug port 0x80, which spews error messages: > > Denied AML access to port 0x00000080/4 (DMA1 0x0081-0x0083) [20090320] > > http://bugzilla.kernel.org/show_bug.cgi?id=13036 > > Signed-off-by: Len Brown <len.brown@intel.com> > --- > > Rodrigo, > Please verify that this makes the warnings go away. > Ok! There is no more warnings!
On Tue, Apr 07, 2009 at 05:56:09PM -0400, Len Brown wrote: > From: Len Brown <len.brown@intel.com> > > Sony laptops apparently write 4-bytes (rather than 1 byte) > to debug port 0x80, which spews error messages: > > Denied AML access to port 0x00000080/4 (DMA1 0x0081-0x0083) [20090320] > > http://bugzilla.kernel.org/show_bug.cgi?id=13036 > > Signed-off-by: Len Brown <len.brown@intel.com> Acked-by: Mattia Dongili <malattia@linux.it> > --- > > Rodrigo, > Please verify that this makes the warnings go away. > > thanks, > -Len > > drivers/acpi/acpica/hwvalid.c | 1 - > 1 files changed, 0 insertions(+), 1 deletions(-) > > diff --git a/drivers/acpi/acpica/hwvalid.c b/drivers/acpi/acpica/hwvalid.c > index bd3c937..7737afb 100644 > --- a/drivers/acpi/acpica/hwvalid.c > +++ b/drivers/acpi/acpica/hwvalid.c > @@ -90,7 +90,6 @@ static const struct acpi_port_info acpi_protected_ports[] = { > {"PIT2", 0x0048, 0x004B, ACPI_OSI_WIN_XP}, > {"RTC", 0x0070, 0x0071, ACPI_OSI_WIN_XP}, > {"CMOS", 0x0074, 0x0076, ACPI_OSI_WIN_XP}, > - {"DMA1", 0x0081, 0x0083, ACPI_OSI_WIN_XP}, > {"DMA1L", 0x0087, 0x0087, ACPI_OSI_WIN_XP}, > {"DMA2", 0x0089, 0x008B, ACPI_OSI_WIN_XP}, > {"DMA2L", 0x008F, 0x008F, ACPI_OSI_WIN_XP}, > -- > 1.6.2.2.446.gfbdc >
On Tue, Apr 07, 2009 at 05:56:09PM -0400, Len Brown wrote: > From: Len Brown <len.brown@intel.com> > > Sony laptops apparently write 4-bytes (rather than 1 byte) > to debug port 0x80, which spews error messages: So admittedly I should just check the spec here instead, but: what does a 4 byte write to an io port mean? It seems a bit odd that Sonys could be scribbling over DMA1 without causing any problems. Is Windows turning this into a single byte write to the defined io port instead?
A 4-byte write to an I/O port means four one-byte writes to four consecutive I/O ports (although, this can be done in one machine instruction.) From our testing, Windows indeed is only allowing the single-byte write to the (legal) port 0x80. The rest of the request is simply ignored. In general, any part of an I/O request that overlaps the protected ports is ignored. No error is returned. We are updating ACPICA to match this behavior. Bob >-----Original Message----- >From: linux-acpi-owner@vger.kernel.org [mailto:linux-acpi- >owner@vger.kernel.org] On Behalf Of Matthew Garrett >Sent: Wednesday, April 08, 2009 11:24 PM >To: Len Brown >Cc: Rodrigo Luiz; malattia@linux.it; linux-acpi@vger.kernel.org >Subject: Re: [PATCH] ACPICA: delete check for AML access to port 0x81-83 > >On Tue, Apr 07, 2009 at 05:56:09PM -0400, Len Brown wrote: >> From: Len Brown <len.brown@intel.com> >> >> Sony laptops apparently write 4-bytes (rather than 1 byte) >> to debug port 0x80, which spews error messages: > >So admittedly I should just check the spec here instead, but: what does >a 4 byte write to an io port mean? It seems a bit odd that Sonys could >be scribbling over DMA1 without causing any problems. Is Windows turning >this into a single byte write to the defined io port instead? > >-- >Matthew Garrett | mjg59@srcf.ucam.org >-- >To unsubscribe from this list: send the line "unsubscribe linux-acpi" in >the body of a message to majordomo@vger.kernel.org >More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/acpi/acpica/hwvalid.c b/drivers/acpi/acpica/hwvalid.c index bd3c937..7737afb 100644 --- a/drivers/acpi/acpica/hwvalid.c +++ b/drivers/acpi/acpica/hwvalid.c @@ -90,7 +90,6 @@ static const struct acpi_port_info acpi_protected_ports[] = { {"PIT2", 0x0048, 0x004B, ACPI_OSI_WIN_XP}, {"RTC", 0x0070, 0x0071, ACPI_OSI_WIN_XP}, {"CMOS", 0x0074, 0x0076, ACPI_OSI_WIN_XP}, - {"DMA1", 0x0081, 0x0083, ACPI_OSI_WIN_XP}, {"DMA1L", 0x0087, 0x0087, ACPI_OSI_WIN_XP}, {"DMA2", 0x0089, 0x008B, ACPI_OSI_WIN_XP}, {"DMA2L", 0x008F, 0x008F, ACPI_OSI_WIN_XP},