Date: Wed, 9 Dec 2009 13:32:49 +0300 From: Andrew Pantyukhin <infofarmer@freebsd.org> To: John Baldwin <jhb@freebsd.org> Cc: freebsd-acpi@freebsd.org Subject: Re: libi386/biosacpi.c - bad RSDP checksum search Message-ID: <20091209103248.GP98273@pollux.cenkes.org> In-Reply-To: <20091208134913.GL98273@pollux.cenkes.org> References: <20091208060339.GK98273@pollux.cenkes.org> <200912080749.55710.jhb@freebsd.org> <20091208134913.GL98273@pollux.cenkes.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--B4IIlcmfBL/1gGOG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Dec 08, 2009 at 04:49:13PM +0300, Andrew Pantyukhin wrote: > Oops. I obviously made a wrong assumption. I'll try to confirm. Yep, the good RSDP is found later. So I think either a "bad checksum" should be followed by a "good checksum" or it should only be printed if no good RSDP has been found. Attached are a couple of alternative tiny patches. Otherwise, a FAQ entry should be added to keep the mere mortals like me from wondering about the error message. FWIW, it comes up on many (most?) IBM System x machines. --B4IIlcmfBL/1gGOG Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="biosacpi.c.diff1" Index: biosacpi.c =================================================================== --- biosacpi.c (revision 200054) +++ biosacpi.c (working copy) @@ -129,6 +129,7 @@ printf("acpi: bad RSDP checksum (%d)\n", sum); continue; } + printf("acpi: good RSDP checksum (%d)\n", sum); return(rsdp); } } --B4IIlcmfBL/1gGOG Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="biosacpi.c.diff2" Index: biosacpi.c =================================================================== --- biosacpi.c (revision 200054) +++ biosacpi.c (working copy) @@ -125,12 +125,12 @@ sum = 0; for (idx = 0; idx < RSDP_CHECKSUM_LENGTH; idx++) sum += *(cp + idx); - if (sum != 0) { - printf("acpi: bad RSDP checksum (%d)\n", sum); + if (sum != 0) continue; - } return(rsdp); } } + if (sum != 0) + printf("acpi: no RSDP with good checksum found\n"); return(NULL); } --B4IIlcmfBL/1gGOG--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20091209103248.GP98273>