From owner-svn-src-head@freebsd.org Sat Aug 22 14:39:15 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 39D183BD897; Sat, 22 Aug 2020 14:39:15 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BYgxv0hDgz4jsG; Sat, 22 Aug 2020 14:39:15 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EFF7517F46; Sat, 22 Aug 2020 14:39:14 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id 07MEdEfM000250; Sat, 22 Aug 2020 14:39:14 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id 07MEdEqJ000249; Sat, 22 Aug 2020 14:39:14 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <202008221439.07MEdEqJ000249@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Sat, 22 Aug 2020 14:39:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r364484 - head/sys/arm64/acpica X-SVN-Group: head X-SVN-Commit-Author: emaste X-SVN-Commit-Paths: head/sys/arm64/acpica X-SVN-Commit-Revision: 364484 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 22 Aug 2020 14:39:15 -0000 Author: emaste Date: Sat Aug 22 14:39:14 2020 New Revision: 364484 URL: https://svnweb.freebsd.org/changeset/base/364484 Log: acpi_iort: fix mapping end calculation According to the ARM Design Document "IO Remapping Table Platform" (DEN 0049D), the "Number of IDs" field of the ID mapping format means "The number of IDs in the range minus one". Submitted by: Greg V Reviewed by: andrew Differential Revision: https://reviews.freebsd.org/D25179 Modified: head/sys/arm64/acpica/acpi_iort.c Modified: head/sys/arm64/acpica/acpi_iort.c ============================================================================== --- head/sys/arm64/acpica/acpi_iort.c Sat Aug 22 14:24:17 2020 (r364483) +++ head/sys/arm64/acpica/acpi_iort.c Sat Aug 22 14:39:14 2020 (r364484) @@ -234,7 +234,11 @@ iort_copy_data(struct iort_node *node, ACPI_IORT_NODE node->entries.mappings = mapping; for (i = 0; i < node->nentries; i++, mapping++, map_entry++) { mapping->base = map_entry->InputBase; - mapping->end = map_entry->InputBase + map_entry->IdCount - 1; + /* + * IdCount means "The number of IDs in the range minus one" (ARM DEN 0049D). + * We use <= for comparison against this field, so don't add one here. + */ + mapping->end = map_entry->InputBase + map_entry->IdCount; mapping->outbase = map_entry->OutputBase; mapping->out_node_offset = map_entry->OutputReference; mapping->flags = map_entry->Flags;