From owner-p4-projects@FreeBSD.ORG Sun Apr 27 15:45:28 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 7B4C637B404; Sun, 27 Apr 2003 15:45:27 -0700 (PDT) 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 276CC37B401 for ; Sun, 27 Apr 2003 15:45:27 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id BE5AE43F93 for ; Sun, 27 Apr 2003 15:45:26 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h3RMjQ0U070050 for ; Sun, 27 Apr 2003 15:45:26 -0700 (PDT) (envelope-from marcel@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h3RMjQSr070043 for perforce@freebsd.org; Sun, 27 Apr 2003 15:45:26 -0700 (PDT) Date: Sun, 27 Apr 2003 15:45:26 -0700 (PDT) Message-Id: <200304272245.h3RMjQSr070043@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to marcel@freebsd.org using -f From: Marcel Moolenaar To: Perforce Change Reviews Subject: PERFORCE change 29900 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: Sun, 27 Apr 2003 22:45:28 -0000 http://perforce.freebsd.org/chv.cgi?CH=29900 Change 29900 by marcel@marcel_pluto2 on 2003/04/27 15:45:23 IFia64 Affected files ... .. //depot/projects/ia64_epc/sys/dev/acpica/acpi_timer.c#2 integrate Differences ... ==== //depot/projects/ia64_epc/sys/dev/acpica/acpi_timer.c#2 (text+ko) ==== @@ -129,14 +129,14 @@ } if (max - min > 2) n = 0; - else if (min < 0) + else if (min < 0 || max == 0) n = 0; else n = 1; if (bootverbose) printf("ACPI timer looks %s min = %d, max = %d, width = %d\n", n ? "GOOD" : "BAD ", - min, max, max - min + 1); + min, max, max - min); return (n); } @@ -149,7 +149,8 @@ { device_t dev; char desc[40]; - int rid, i, j; + u_long rlen, rstart; + int i, j, rid, rtype; ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__); @@ -164,10 +165,17 @@ return_VOID; } acpi_timer_dev = dev; + rid = 0; - bus_set_resource(dev, SYS_RES_IOPORT, rid, AcpiGbl_FADT->V1_PmTmrBlk, sizeof(u_int32_t)); - if ((acpi_timer_reg = bus_alloc_resource(dev, SYS_RES_IOPORT, &rid, 0, ~0, 1, RF_ACTIVE)) == NULL) { - device_printf(dev, "couldn't allocate I/O resource (port 0x%x)\n", AcpiGbl_FADT->V1_PmTmrBlk); + rlen = 3 + AcpiGbl_FADT->TmrValExt; /* 24 or 32 bit timers. */ + rtype = (AcpiGbl_FADT->XPmTmrBlk.AddressSpaceId) + ? SYS_RES_IOPORT : SYS_RES_MEMORY; + rstart = AcpiGbl_FADT->XPmTmrBlk.Address; + bus_set_resource(dev, rtype, rid, rstart, 4); + acpi_timer_reg = bus_alloc_resource(dev, rtype, &rid, 0, ~0, 1, RF_ACTIVE); + if (acpi_timer_reg == NULL) { + device_printf(dev, "couldn't allocate I/O resource (%s 0x%lx)\n", + (rtype == SYS_RES_IOPORT) ? "port" : "mem", rstart); return_VOID; } if (testenv("debug.acpi.timer_test")) @@ -186,7 +194,7 @@ } tc_init(&acpi_timer_timecounter); - sprintf(desc, "%d-bit timer at 3.579545MHz", AcpiGbl_FADT->TmrValExt ? 32 : 24); + sprintf(desc, "%d-bit timer at 3.579545MHz", (int)(rlen << 3)); device_set_desc_copy(dev, desc); return_VOID;