From nobody Mon Jun 1 16:36:46 2026 X-Original-To: dev-commits-src-all@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 4gTfk66M6Jz6gJql for ; Mon, 01 Jun 2026 16:36:46 +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 "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4gTfk65Gdjz3wS8 for ; Mon, 01 Jun 2026 16:36:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331806; 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=Tpl4oOJScNb1WXGrkXXhpa94tFXRP/VisXKsMTwqhZo=; b=VFWiI3B1PfqF3liGGLIJYj5ZcPCdgqtScE2QpumYHbVsariuE7YlClnoY74s5qrK/R/Jfs Z0n9T3UTwmqIP1t2AqL6ifitwL4SQyvm1veUnYMmCzqY04P7M1Q15qloWDUc2d5RHF3zHL ChwrGrBmqcc0OKP+BnPln8ia6cdCeUPrpTgtWufteKNVvSSjeW6MDNUVQMWzs9KP9bgA8k fCIbcLe6mw6JS6F3DqkfSs9cVg472NO81v3yv/oReOq35LPVZ5uWnLmsyrgK9CetItmIj7 n8JzW1GdR07Ik6uWOV75VDCQgf1tUNX+n/t24AsSl9hsHSh0ljxGvxmGlKq7zg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1780331806; a=rsa-sha256; cv=none; b=DZ+Ciop8gvv5RHWb3W74mhSHCVRljtk0rn5e89s0gHiux3sBao3qV9wcGVbPoduALKyfu6 KA+NMmcVRI/NOH/Nrl9Mf3j6k/E8fmfY54s9tsqbzthWUmSPjhuWkOv8OAA7aqI+yrnaFV YHDvpgknTus6BpUZx8+6MZpCmTpC/oWGVLmIh3hyMLYxW5ikVWL1Av09l8wA/qRi/xMo52 QTnP8rl0j+S+h8p3tm0dVBLN26tFkw21Xuecrd98fCQ7BXcEhtbxM7jIoR1yk1OIlihxpK krxAoq1W+8J9jnS2inuX6h9pyrps8n6fFrox45813pYubQey/5H0L6vVrbnYDA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1780331806; 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=Tpl4oOJScNb1WXGrkXXhpa94tFXRP/VisXKsMTwqhZo=; b=lMinB9XCw07vkl77pN7jcnTdtmobPhWwDHoeUtuvy4xZWN9nE7llFaR/XC1W9gGMaQ580E RHZzNZfTjc+xJ3W7e+IdRgAJoIzrtWdHZoc9K62Ak95mRtvsxwDx1ORf5xjKDfUbyQgfxz l9yyPJLO5pttDj9SbYbdxXXNIJcDxrn7Bf8ZMIwv9oUPdwFts2hQGWwjpO9xHotSPNtXxZ EvX7pFvv49/tQKk2z1t1ZVsDZcjS3g6HHWCFim+3kcxV4g8Gkkq8Qi/dBpthZrm03HTCDA xtg2DBq7myGTRE9mPxZrAE/Uz055NqAxnE56OuODPj0Mn4QZvnp8s7EsMTh02Q== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gTfk64KgqzmkS for ; Mon, 01 Jun 2026 16:36:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 44912 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 01 Jun 2026 16:36:46 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 16f21c5af350 - main - amd64: there is no reason to copy ucode around in ucode_load_bsp() List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 16f21c5af35002b8361ffb2e83ff3c92cd899a3a Auto-Submitted: auto-generated Date: Mon, 01 Jun 2026 16:36:46 +0000 Message-Id: <6a1db51e.44912.1c15fcaa@gitrepo.freebsd.org> The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=16f21c5af35002b8361ffb2e83ff3c92cd899a3a commit 16f21c5af35002b8361ffb2e83ff3c92cd899a3a Author: Konstantin Belousov AuthorDate: 2026-05-30 15:57:46 +0000 Commit: Konstantin Belousov CommitDate: 2026-06-01 16:35:33 +0000 amd64: there is no reason to copy ucode around in ucode_load_bsp() PR: 294630 Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differrential revision: https://reviews.freebsd.org/D57368 --- sys/x86/x86/ucode.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/sys/x86/x86/ucode.c b/sys/x86/x86/ucode.c index 3d7008eb30f2..439b0b83e650 100644 --- a/sys/x86/x86/ucode.c +++ b/sys/x86/x86/ucode.c @@ -377,18 +377,20 @@ ucode_load_ap(int cpu) (void)ucode_loader->load(ucode_data, UNSAFE, NULL, NULL); } -static void * -map_ucode(uintptr_t free, size_t len) +static const void * +map_ucode(const void *match, uintptr_t free, size_t len) { #ifdef __i386__ uintptr_t va; for (va = free; va < free + len; va += PAGE_SIZE) pmap_kenter(va, (vm_paddr_t)va); + memcpy_early(free, match, len); + return ((const void *)free); #else (void)len; + return (match); #endif - return ((void *)free); } static void @@ -421,7 +423,7 @@ ucode_load_bsp(uintptr_t free) char vendor[13]; } cpuid; const uint8_t *fileaddr, *match; - uint8_t *addr; + const uint8_t *addr; char *type; uint64_t nrev, orev; caddr_t file; @@ -456,14 +458,10 @@ ucode_load_bsp(uintptr_t free) len = preload_fetch_size(file); match = ucode_loader->match(fileaddr, &len); if (match != NULL) { - addr = map_ucode(free, len); - /* We can't use memcpy() before ifunc resolution. */ - memcpy_early(addr, match, len); - match = addr; - - error = ucode_loader->load(match, EARLY, &nrev, &orev); + addr = map_ucode(match, free, len); + error = ucode_loader->load(addr, EARLY, &nrev, &orev); if (error == 0) { - ucode_data = early_ucode_data = match; + ucode_data = early_ucode_data = addr; ucode_nrev = nrev; ucode_orev = orev; return (len);