From nobody Wed Nov 30 23:31:59 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NMwTW5KG2z4jMPq; Wed, 30 Nov 2022 23:31:59 +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 4NMwTW4skrz4NkQ; Wed, 30 Nov 2022 23:31:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1669851119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NK65aiSt/JjGDDnsNiGm5ZurNXPYFzJc2A7GtcYyPiU=; b=AFijD89JhmqveQzk40M7uCym8Jo73DdYKnxBLW7OuY5ETlvxFy0qMVK8UKE08+Vn39Y7rC Ja2HN/Irg+gXBQFSAy7z0NSjD7o4fgPmOaKV0Xp6HXPcTQ9JUwU2FOJOa60ImXRWSl1U0/ VYC5SIjcBLAygcoTqyJHM9G8gVNKECJgemvE8stCASl+E1IduQmXcBa8IeUPFxlARGmwUK sRsqqYt3uh2s2DZRtApCpVtMy/RsJxN+yqKyGQevfaNAy2yssWvG500zeyVIC3ZdQwjFtC 2wWAq+Y269oDLBB2yYuF5H3VskgepV93bs1j7cXQ+ZxxBswEQiPwF1ZOsn9qcA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1669851119; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=NK65aiSt/JjGDDnsNiGm5ZurNXPYFzJc2A7GtcYyPiU=; b=AaSeTe9/GunOgCRBF7sNj80iPUQxCBIyieSt5jgmykb/gLmUntl43NmobJh5IJfmtZjQfM Mx96FRwtgqJkvZJYEnH8JkiaJs8Xi4KP8gV1OcFnUOg7mROWNutq1BEZjgVrp8hajucyQe oOYRqT2/lK0BlbDWFTlxvH7BamLu7CncAqk00rdWT8REoj3MKfWo3MrY/12E4Z2IZ0XocK f/g1PtEhxwUjgfaj8Yb3AoxzmU85UFbUbNfzzKmUJQn+R55N+9HC1zMwh8z+uh9/7nbeIC yvTgHuvYOv6fQq1x4VXLWpUAvn+dNByaLHIjYIWjQe2wj0GtqPxwQFNCkNMBng== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1669851119; a=rsa-sha256; cv=none; b=lRDlLblTz4EZXqZbFOOSJXJVilwE9x56soxr7PJ5KMMvvOM/Ft5W9ZrZujYNEPMTmK8/KS THBq9yHg8NV3sGtmvyLeSD87SaWV+Ry9F8hYTkA2eW/bVZ4t6ccwLd4qoEr2WavX/c6WNo dC2YjgGRiAny5wcFcXotZsXUgcwRysT8ebCyyEg0taZqqJGstuvzLFXPWFdcfZtheHFJGG 6Av6Er28NO87qjJpkBwKLhcYNUBmB7owzl/gv65UQeV65f0l8NeZsn3n0yLOJywPEyc3Fk gQna+F+l6tSSH2pmUvvLZSxR+1cF1TsjbT7I2swyGaJTRmTj+e/v1L+OH1laCw== 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 4NMwTW3xGHzFnR; Wed, 30 Nov 2022 23:31:59 +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 2AUNVx2L012683; Wed, 30 Nov 2022 23:31:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 2AUNVxGr012682; Wed, 30 Nov 2022 23:31:59 GMT (envelope-from git) Date: Wed, 30 Nov 2022 23:31:59 GMT Message-Id: <202211302331.2AUNVxGr012682@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: 6849950da7d7 - main - arm64/machdep: Add parameter to the EFI table walking code List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6849950da7d770fa6531b915922799c20e960d42 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=6849950da7d770fa6531b915922799c20e960d42 commit 6849950da7d770fa6531b915922799c20e960d42 Author: Warner Losh AuthorDate: 2022-11-30 23:28:01 +0000 Commit: Warner Losh CommitDate: 2022-11-30 23:31:14 +0000 arm64/machdep: Add parameter to the EFI table walking code It would be nice to be able to pass an arbitrary pointer to the callback code. Add one, and pass NULL in all the places that we do that today. As noted by andrew@, we should likely refactor this into MI code and use it here and amd64, but for the future. Sponsored by: Netflix Reviewed by: rpokala Differential Revision: https://reviews.freebsd.org/D37439 --- sys/arm64/arm64/machdep.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/sys/arm64/arm64/machdep.c b/sys/arm64/arm64/machdep.c index c48f2ff037c9..33635f732cac 100644 --- a/sys/arm64/arm64/machdep.c +++ b/sys/arm64/arm64/machdep.c @@ -421,10 +421,10 @@ arm64_get_writable_addr(vm_offset_t addr, vm_offset_t *out) return (false); } -typedef void (*efi_map_entry_cb)(struct efi_md *); +typedef void (*efi_map_entry_cb)(struct efi_md *, void *argp); static void -foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb) +foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb, void *argp) { struct efi_md *map, *p; size_t efisz; @@ -443,12 +443,12 @@ foreach_efi_map_entry(struct efi_map_header *efihdr, efi_map_entry_cb cb) for (i = 0, p = map; i < ndesc; i++, p = efi_next_descriptor(p, efihdr->descriptor_size)) { - cb(p); + cb(p, argp); } } static void -exclude_efi_map_entry(struct efi_md *p) +exclude_efi_map_entry(struct efi_md *p, void *argp __unused) { switch (p->md_type) { @@ -471,11 +471,11 @@ static void exclude_efi_map_entries(struct efi_map_header *efihdr) { - foreach_efi_map_entry(efihdr, exclude_efi_map_entry); + foreach_efi_map_entry(efihdr, exclude_efi_map_entry, NULL); } static void -add_efi_map_entry(struct efi_md *p) +add_efi_map_entry(struct efi_md *p, void *argp __unused) { switch (p->md_type) { @@ -513,12 +513,11 @@ add_efi_map_entry(struct efi_md *p) static void add_efi_map_entries(struct efi_map_header *efihdr) { - - foreach_efi_map_entry(efihdr, add_efi_map_entry); + foreach_efi_map_entry(efihdr, add_efi_map_entry, NULL); } static void -print_efi_map_entry(struct efi_md *p) +print_efi_map_entry(struct efi_md *p, void *argp __unused) { const char *type; static const char *types[] = { @@ -578,7 +577,7 @@ print_efi_map_entries(struct efi_map_header *efihdr) printf("%23s %12s %12s %8s %4s\n", "Type", "Physical", "Virtual", "#Pages", "Attr"); - foreach_efi_map_entry(efihdr, print_efi_map_entry); + foreach_efi_map_entry(efihdr, print_efi_map_entry, NULL); } #ifdef FDT