From owner-dev-commits-src-main@freebsd.org Sat May 1 08:25:22 2021 Return-Path: Delivered-To: dev-commits-src-main@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 4D6E762B9C2; Sat, 1 May 2021 08:25:22 +0000 (UTC) (envelope-from git@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 "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4FXMkB1ghKz3kDr; Sat, 1 May 2021 08:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 2AA8F1493F; Sat, 1 May 2021 08:25:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1418PMGI069807; Sat, 1 May 2021 08:25:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1418PM7L069806; Sat, 1 May 2021 08:25:22 GMT (envelope-from git) Date: Sat, 1 May 2021 08:25:22 GMT Message-Id: <202105010825.1418PM7L069806@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Andrew Turner Subject: git: c78ad207baed - main - Switch the EFI virtual address to a uint64_t MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: andrew X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: c78ad207baed95dc3148632ab882d445acc39034 Auto-Submitted: auto-generated X-BeenThere: dev-commits-src-main@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Commit messages for the main branch of the src repository List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 01 May 2021 08:25:22 -0000 The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=c78ad207baed95dc3148632ab882d445acc39034 commit c78ad207baed95dc3148632ab882d445acc39034 Author: Andrew Turner AuthorDate: 2021-04-14 08:22:06 +0000 Commit: Andrew Turner CommitDate: 2021-05-01 06:01:20 +0000 Switch the EFI virtual address to a uint64_t It is defined as a uint64_t in the UEFI spec. As it's not used as a pointer by the kernel follow this and define it as the same in the kernel. Reviewed by: kib, manu, imp Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D29759 --- sys/amd64/amd64/efirt_machdep.c | 2 +- sys/amd64/amd64/machdep.c | 2 +- sys/arm/arm/machdep_boot.c | 2 +- sys/arm64/arm64/efirt_machdep.c | 2 +- sys/arm64/arm64/machdep.c | 2 +- sys/dev/efidev/efirt.c | 4 ++-- sys/sys/efi.h | 2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/amd64/amd64/efirt_machdep.c b/sys/amd64/amd64/efirt_machdep.c index 1c53caaef601..3c8392bee86f 100644 --- a/sys/amd64/amd64/efirt_machdep.c +++ b/sys/amd64/amd64/efirt_machdep.c @@ -204,7 +204,7 @@ efi_create_1t1_map(struct efi_md *map, int ndesc, int descsz) descsz)) { if ((p->md_attr & EFI_MD_ATTR_RT) == 0) continue; - if (p->md_virt != NULL && (uint64_t)p->md_virt != p->md_phys) { + if (p->md_virt != 0 && p->md_virt != p->md_phys) { if (bootverbose) printf("EFI Runtime entry %d is mapped\n", i); goto fail; diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 0951f3f71a0a..497975f0ee30 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1107,7 +1107,7 @@ add_efi_map_entries(struct efi_map_header *efihdr, vm_paddr_t *physmap, type = types[p->md_type]; else type = ""; - printf("%23s %012lx %12p %08lx ", type, p->md_phys, + printf("%23s %012lx %012lx %08lx ", type, p->md_phys, p->md_virt, p->md_pages); if (p->md_attr & EFI_MD_ATTR_UC) printf("UC "); diff --git a/sys/arm/arm/machdep_boot.c b/sys/arm/arm/machdep_boot.c index b13cf2ef23ea..332e9beb091e 100644 --- a/sys/arm/arm/machdep_boot.c +++ b/sys/arm/arm/machdep_boot.c @@ -442,7 +442,7 @@ arm_add_efi_map_entries(struct efi_map_header *efihdr, struct mem_region *mr, type = types[p->md_type]; else type = ""; - printf("%23s %012llx %12p %08llx ", type, p->md_phys, + printf("%23s %012llx %012llx %08llx ", type, p->md_phys, p->md_virt, p->md_pages); if (p->md_attr & EFI_MD_ATTR_UC) printf("UC "); diff --git a/sys/arm64/arm64/efirt_machdep.c b/sys/arm64/arm64/efirt_machdep.c index cd4e5d7bae00..a48fda6d02b8 100644 --- a/sys/arm64/arm64/efirt_machdep.c +++ b/sys/arm64/arm64/efirt_machdep.c @@ -184,7 +184,7 @@ efi_create_1t1_map(struct efi_md *map, int ndesc, int descsz) descsz)) { if ((p->md_attr & EFI_MD_ATTR_RT) == 0) continue; - if (p->md_virt != NULL && (uint64_t)p->md_virt != p->md_phys) { + if (p->md_virt != 0 && p->md_virt != p->md_phys) { if (bootverbose) printf("EFI Runtime entry %d is mapped\n", i); goto fail; diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index c2e0eae188f2..71aa45b47d59 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -1046,7 +1046,7 @@ print_efi_map_entry(struct efi_md *p) type = types[p->md_type]; else type = ""; - printf("%23s %012lx %12p %08lx ", type, p->md_phys, + printf("%23s %012lx %012lx %08lx ", type, p->md_phys, p->md_virt, p->md_pages); if (p->md_attr & EFI_MD_ATTR_UC) printf("UC "); diff --git a/sys/dev/efidev/efirt.c b/sys/dev/efidev/efirt.c index f28b9981919c..aa7e9afdb69d 100644 --- a/sys/dev/efidev/efirt.c +++ b/sys/dev/efidev/efirt.c @@ -126,8 +126,8 @@ efi_is_in_map(struct efi_md *map, int ndesc, int descsz, vm_offset_t addr) if ((p->md_attr & EFI_MD_ATTR_RT) == 0) continue; - if (addr >= (uintptr_t)p->md_virt && - addr < (uintptr_t)p->md_virt + p->md_pages * PAGE_SIZE) + if (addr >= p->md_virt && + addr < p->md_virt + p->md_pages * PAGE_SIZE) return (true); } diff --git a/sys/sys/efi.h b/sys/sys/efi.h index 0c0b52afc81d..7f9408d19b39 100644 --- a/sys/sys/efi.h +++ b/sys/sys/efi.h @@ -74,7 +74,7 @@ struct efi_md { #define EFI_MD_TYPE_PERSISTENT 14 /* Persistent memory. */ uint32_t __pad; uint64_t md_phys; - void *md_virt; + uint64_t md_virt; uint64_t md_pages; uint64_t md_attr; #define EFI_MD_ATTR_UC 0x0000000000000001UL