From owner-p4-projects@FreeBSD.ORG Wed Mar 3 22:34:50 2004 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id CD0FF16A4D0; Wed, 3 Mar 2004 22:34:49 -0800 (PST) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8F3A416A4CE for ; Wed, 3 Mar 2004 22:34:49 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 74EEA43D3F for ; Wed, 3 Mar 2004 22:34:49 -0800 (PST) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.10/8.12.10) with ESMTP id i246YnGe020075 for ; Wed, 3 Mar 2004 22:34:49 -0800 (PST) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.10/8.12.10/Submit) id i246YnDU020072 for perforce@freebsd.org; Wed, 3 Mar 2004 22:34:49 -0800 (PST) (envelope-from peter@freebsd.org) Date: Wed, 3 Mar 2004 22:34:49 -0800 (PST) Message-Id: <200403040634.i246YnDU020072@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 48115 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Mar 2004 06:34:50 -0000 http://perforce.freebsd.org/chv.cgi?CH=48115 Change 48115 by peter@peter_daintree on 2004/03/03 22:34:36 IFC @48108 Affected files ... .. //depot/projects/hammer/sys/contrib/dev/acpica/acfreebsd.h#8 integrate .. //depot/projects/hammer/sys/dev/acpica/acpi_ec.c#15 integrate Differences ... ==== //depot/projects/hammer/sys/contrib/dev/acpica/acfreebsd.h#8 (text+ko) ==== @@ -119,10 +119,17 @@ /* * Some systems' ASL may have problems because they look for names - * of Microsoft operating systems. To override this, set hw.acpi.os_name - * to the appropriate string. + * of Microsoft operating systems. We default to "Microsoft Windows NT" + * (aka NT5 or Windows 2000) because it is most similar to our + * implementation and also most prevalent. + * + * To override this, set hw.acpi.os_name to the appropriate string. */ +#ifndef ACPICA_PEDANTIC +#define ACPI_OS_NAME "Microsoft Windows NT" +#else #define ACPI_OS_NAME "FreeBSD" +#endif /* FreeBSD uses GCC */ ==== //depot/projects/hammer/sys/dev/acpica/acpi_ec.c#15 (text+ko) ==== @@ -25,7 +25,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.43 2004/03/03 18:34:42 njl Exp $ + * $FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.44 2004/03/04 05:58:50 njl Exp $ */ /****************************************************************************** * @@ -137,7 +137,7 @@ *****************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.43 2004/03/03 18:34:42 njl Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_ec.c,v 1.44 2004/03/04 05:58:50 njl Exp $"); #include "opt_acpi.h" #include @@ -713,28 +713,33 @@ ACPI_INTEGER *Value, void *Context, void *RegionContext) { struct acpi_ec_softc *sc = (struct acpi_ec_softc *)Context; - ACPI_STATUS Status = AE_OK; + ACPI_STATUS Status; UINT8 EcAddr, EcData; int i; ACPI_FUNCTION_TRACE_U32((char *)(uintptr_t)__func__, (UINT32)Address); - if (Address > 0xFF || width % 8 != 0 || Value == NULL || Context == NULL) + if (width % 8 != 0 || Value == NULL || Context == NULL) return_ACPI_STATUS (AE_BAD_PARAMETER); + if (Address + (width / 8) - 1 > 0xFF) + return_ACPI_STATUS (AE_BAD_ADDRESS); - /* - * Perform the transaction. - */ + if (Function == ACPI_READ) + *Value = 0; EcAddr = Address; - for (i = 0; i < width; i += 8) { + Status = AE_ERROR; + + /* Perform the transaction(s), based on width. */ + for (i = 0; i < width; i += 8, EcAddr++) { Status = EcLock(sc); if (ACPI_FAILURE(Status)) - return (Status); + break; switch (Function) { case ACPI_READ: - EcData = 0; Status = EcRead(sc, EcAddr, &EcData); + if (ACPI_SUCCESS(Status)) + *Value |= ((ACPI_INTEGER)EcData) << i; break; case ACPI_WRITE: EcData = (UINT8)((*Value) >> i); @@ -746,15 +751,11 @@ Status = AE_BAD_PARAMETER; break; } - EcUnlock(sc); if (ACPI_FAILURE(Status)) - return (Status); + break; + } - *Value |= (ACPI_INTEGER)EcData << i; - if (++EcAddr == 0) - return_ACPI_STATUS (AE_BAD_PARAMETER); - } return_ACPI_STATUS (Status); }