From nobody Thu Jun 11 16:58:37 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 4gbpkk0KTtz6hsp2 for ; Thu, 11 Jun 2026 16:58:38 +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 4gbpkj5Zyvz41YR for ; Thu, 11 Jun 2026 16:58:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1781197117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cbU6Hts2mIjlbQZ5MMxw0V+3jt+6yPU1NCMu1gprFxs=; b=G23HhnKBqGQkLaVeZ3yaMU5TQLq3tDbvLR57iD7PMx36yWHGI3Sbu1FxM0IKsvJCS1DiSI 4ebO5+34cYmZlSpw5pt10OyrwO1RA6VK1VRK3Dhe7/60Oo7HoYWRIeCxZhtGS+Qifb7fMU 5LqUaIMBzqO8xTpEeYJCpHAuN1/SsAySCLvx70uWVeFKXJSHI6IQh6uldG54NSRJzw0MDn 0SnCMuWEjdR4j7R1f1i9j4kNKxnj5xvoRo39yZQ/HL3XiqCxrfGnh0Jvkvo3QV9W568B16 omBWTdRgYjrt6mM9WIVl3wvLZgLqftRjxzp5ElqPrTrPZfU68byv5JG6TzpJzg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1781197117; a=rsa-sha256; cv=none; b=liawNGiwW7hnRNe7V8pd/syrk79S5GAIQMWWBRHVx6sW8QhdQN33c7qpjRxG5Yrq/87ZpW nDih1rroo9O1IULsq+8h7wbBDuQ27r209+yWyaUkfgr76mDIa/NNN4vDXdKVRez2k2/S1y axCVq750KKdowyX2vE8oxPu3s6isQpkon/E/w4Gd+n9rPHI6LBGJqESGFOG+LAXxBrzsrS HvX1DNr8HKnuOKfoPB2z2BfDcansTbfrrsPy8eNQKK2TEqPfYXXHRBAHDyswJsMpY/vhpW /RN5jbJaaSHHhAlZ5M9Dcc4DM02QycMFDrJpLyxUtWgwS01qcMu1TrYVD/EMzA== 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=1781197117; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=cbU6Hts2mIjlbQZ5MMxw0V+3jt+6yPU1NCMu1gprFxs=; b=pcBM1RbqkkDrZC+tu34Uvj+T6jdRzmRHDOcz0wgVW0mCosx0FugqjzMdGneXdJo9IMEV3K 8upOOrIzekaZZN5ZiDI9NXy9S9/Zj272/7Y6QfNwrxCMEam9iEca836jbWCXayn5lejlye XCyBdsEhXBxrHmymWp/TNKRM5UuYfaEllRbNcoa+RwR+NufJrvn126vTHUPyxMDuXJfQJk /poPOdyzkVsduLxu1zQNa8MhFGU5fPKTmVJeaHptUUCdQ/G0T9jPztvEs4RNggGODixbzV qa7iuQ6ANvByDXOpBxWQC7CcGBrSF4GvAGvXB/rgoNIDv9RrJzj8SFWM7OuRfA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4gbpkj4J3Vz105l for ; Thu, 11 Jun 2026 16:58:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3a1a0 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 11 Jun 2026 16:58:37 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org Cc: Brian Scott From: Mitchell Horne Subject: git: 670024d832db - stable/15 - g_part,mkimg: Add additional GPT partition types 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: mhorne X-Git-Repository: src X-Git-Refname: refs/heads/stable/15 X-Git-Reftype: branch X-Git-Commit: 670024d832dbfa81e413b7bd9abb311247bf2c4d Auto-Submitted: auto-generated Date: Thu, 11 Jun 2026 16:58:37 +0000 Message-Id: <6a2ae93d.3a1a0.12b4e86@gitrepo.freebsd.org> The branch stable/15 has been updated by mhorne: URL: https://cgit.FreeBSD.org/src/commit/?id=670024d832dbfa81e413b7bd9abb311247bf2c4d commit 670024d832dbfa81e413b7bd9abb311247bf2c4d Author: Brian Scott AuthorDate: 2026-05-11 16:24:46 +0000 Commit: Mitchell Horne CommitDate: 2026-06-11 16:37:24 +0000 g_part,mkimg: Add additional GPT partition types Add the hifive-fsbl, hifive-bbl, and xbootldr aliases to mkimg(1). Add the xbootldr alias to geom(4), and thus gpart(8). The "hifive" partition types are defined and used by various RISC-V SBCs for locating firmware. "xbootldr", or the Extended Boot Loader Partition is defined here: https://uapi-group.org/specifications/specs/boot_loader_specification/ Reviewed by: emaste, markj, mhorne MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D56784 (cherry picked from commit dab8138e13dea539a387c458979403980a137bf2) --- sys/geom/part/g_part.c | 1 + sys/geom/part/g_part.h | 2 ++ sys/geom/part/g_part_gpt.c | 2 ++ sys/sys/disk/gpt.h | 2 ++ usr.bin/mkimg/gpt.c | 6 ++++++ usr.bin/mkimg/scheme.c | 3 +++ usr.bin/mkimg/scheme.h | 3 +++ 7 files changed, 19 insertions(+) diff --git a/sys/geom/part/g_part.c b/sys/geom/part/g_part.c index 88e44b335b29..bc86443504b3 100644 --- a/sys/geom/part/g_part.c +++ b/sys/geom/part/g_part.c @@ -135,6 +135,7 @@ struct g_part_alias_list { { "vmware-vmfs", G_PART_ALIAS_VMFS }, { "vmware-vmkdiag", G_PART_ALIAS_VMKDIAG }, { "vmware-vsanhdr", G_PART_ALIAS_VMVSANHDR }, + { "xbootldr", G_PART_ALIAS_XBOOTLDR }, }; SYSCTL_DECL(_kern_geom); diff --git a/sys/geom/part/g_part.h b/sys/geom/part/g_part.h index 575d97623e9b..1355cfec66a0 100644 --- a/sys/geom/part/g_part.h +++ b/sys/geom/part/g_part.h @@ -108,6 +108,8 @@ enum g_part_alias { G_PART_ALIAS_VMKDIAG, /* A VMware vmkDiagnostic partition entry */ G_PART_ALIAS_VMRESERVED, /* A VMware reserved partition entry */ G_PART_ALIAS_VMVSANHDR, /* A VMware vSAN header partition entry */ + G_PART_ALIAS_XBOOTLDR, /* A Systemd/Linux extended boot partition + Also used by visionfive2 as part of the boot sequence */ /* Keep the following last */ G_PART_ALIAS_COUNT }; diff --git a/sys/geom/part/g_part_gpt.c b/sys/geom/part/g_part_gpt.c index 4733631c4b20..eeca5fbfae17 100644 --- a/sys/geom/part/g_part_gpt.c +++ b/sys/geom/part/g_part_gpt.c @@ -230,6 +230,7 @@ static struct uuid gpt_uuid_vmfs = GPT_ENT_TYPE_VMFS; static struct uuid gpt_uuid_vmkdiag = GPT_ENT_TYPE_VMKDIAG; static struct uuid gpt_uuid_vmreserved = GPT_ENT_TYPE_VMRESERVED; static struct uuid gpt_uuid_vmvsanhdr = GPT_ENT_TYPE_VMVSANHDR; +static struct uuid gpt_uuid_xbootldr = GPT_ENT_TYPE_XBOOTLDR; static struct g_part_uuid_alias { struct uuid *uuid; @@ -302,6 +303,7 @@ static struct g_part_uuid_alias { { &gpt_uuid_vmkdiag, G_PART_ALIAS_VMKDIAG, 0 }, { &gpt_uuid_vmreserved, G_PART_ALIAS_VMRESERVED, 0 }, { &gpt_uuid_vmvsanhdr, G_PART_ALIAS_VMVSANHDR, 0 }, + { &gpt_uuid_xbootldr, G_PART_ALIAS_XBOOTLDR, 0 }, { NULL, 0, 0 } }; diff --git a/sys/sys/disk/gpt.h b/sys/sys/disk/gpt.h index 426ae835c0c1..65b00f5de733 100644 --- a/sys/sys/disk/gpt.h +++ b/sys/sys/disk/gpt.h @@ -261,6 +261,8 @@ CTASSERT(sizeof(struct gpt_ent) == 128); #define GPT_ENT_TYPE_U_BOOT_ENV \ {0x3de21764,0x95bd,0x54bd,0xa5,0xc3,{0x4a,0xbe,0x78,0x6f,0x38,0xa8}} +#define GPT_ENT_TYPE_XBOOTLDR \ + {0xbc13c2ff,0x59e6,0x4262,0xa3,0x52,{0xb2,0x75,0xfd,0x6f,0x71,0x72}} /* * Boot partition used by GRUB 2. diff --git a/usr.bin/mkimg/gpt.c b/usr.bin/mkimg/gpt.c index ce817ea10ed2..4471cfa1d4b4 100644 --- a/usr.bin/mkimg/gpt.c +++ b/usr.bin/mkimg/gpt.c @@ -52,6 +52,9 @@ static mkimg_uuid_t gpt_uuid_freebsd_zfs = GPT_ENT_TYPE_FREEBSD_ZFS; static mkimg_uuid_t gpt_uuid_mbr = GPT_ENT_TYPE_MBR; static mkimg_uuid_t gpt_uuid_ms_basic_data = GPT_ENT_TYPE_MS_BASIC_DATA; static mkimg_uuid_t gpt_uuid_prep_boot = GPT_ENT_TYPE_PREP_BOOT; +static mkimg_uuid_t gpt_uuid_hifive_bbl = GPT_ENT_TYPE_HIFIVE_BBL; +static mkimg_uuid_t gpt_uuid_xbootldr = GPT_ENT_TYPE_XBOOTLDR; +static mkimg_uuid_t gpt_uuid_hifive_fsbl = GPT_ENT_TYPE_HIFIVE_FSBL; static struct mkimg_alias gpt_aliases[] = { { ALIAS_EFI, ALIAS_PTR2TYPE(&gpt_uuid_efi) }, @@ -65,6 +68,9 @@ static struct mkimg_alias gpt_aliases[] = { { ALIAS_MBR, ALIAS_PTR2TYPE(&gpt_uuid_mbr) }, { ALIAS_NTFS, ALIAS_PTR2TYPE(&gpt_uuid_ms_basic_data) }, { ALIAS_PPCBOOT, ALIAS_PTR2TYPE(&gpt_uuid_prep_boot) }, + { ALIAS_HIFIVE_BBL, ALIAS_PTR2TYPE(&gpt_uuid_hifive_bbl) }, + { ALIAS_XBOOTLDR, ALIAS_PTR2TYPE(&gpt_uuid_xbootldr) }, + { ALIAS_HIFIVE_FSBL, ALIAS_PTR2TYPE(&gpt_uuid_hifive_fsbl) }, { ALIAS_NONE, 0 } /* Keep last! */ }; diff --git a/usr.bin/mkimg/scheme.c b/usr.bin/mkimg/scheme.c index 80ff456a709f..b64cfe8bd007 100644 --- a/usr.bin/mkimg/scheme.c +++ b/usr.bin/mkimg/scheme.c @@ -58,6 +58,9 @@ static struct { { "mbr", ALIAS_MBR }, { "ntfs", ALIAS_NTFS }, { "prepboot", ALIAS_PPCBOOT }, + { "hifive-bbl", ALIAS_HIFIVE_BBL }, + { "xbootldr", ALIAS_XBOOTLDR }, + { "hifive-fsbl", ALIAS_HIFIVE_FSBL }, { NULL, ALIAS_NONE } /* Keep last! */ }; diff --git a/usr.bin/mkimg/scheme.h b/usr.bin/mkimg/scheme.h index 1c234b86d66c..7a5e09036ee3 100644 --- a/usr.bin/mkimg/scheme.h +++ b/usr.bin/mkimg/scheme.h @@ -47,6 +47,9 @@ enum alias { ALIAS_MBR, ALIAS_NTFS, ALIAS_PPCBOOT, + ALIAS_HIFIVE_BBL, + ALIAS_XBOOTLDR, + ALIAS_HIFIVE_FSBL, /* end */ ALIAS_COUNT /* Keep last! */ };