From e653d891db6ed14827eab8f33833428598aee4f4 Mon Sep 17 00:00:00 2001 From: kn Date: Thu, 9 Nov 2023 14:26:34 +0000 Subject: [PATCH] Finish clean up of old 6.7 softraid migration code All combos of no/CRYPTO softraid, old/new ofwboot, old/new kernel do boot. OK stsp --- sys/arch/sparc64/include/boot_flag.h | 3 +-- sys/arch/sparc64/sparc64/autoconf.c | 11 +++-------- sys/arch/sparc64/stand/ofwboot/elf64_exec.c | 4 ++-- sys/arch/sparc64/stand/ofwboot/vers.c | 2 +- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/sys/arch/sparc64/include/boot_flag.h b/sys/arch/sparc64/include/boot_flag.h index e4c3fa4acd8..36236dced0f 100644 --- a/sys/arch/sparc64/include/boot_flag.h +++ b/sys/arch/sparc64/include/boot_flag.h @@ -1,4 +1,4 @@ -/* $OpenBSD: boot_flag.h,v 1.7 2020/05/25 15:31:59 kettenis Exp $ */ +/* $OpenBSD: boot_flag.h,v 1.8 2023/11/09 14:26:34 kn Exp $ */ /* $NetBSD: boot_flag.h,v 1.3 2001/07/01 02:56:21 gmcgarry Exp $ */ /*- @@ -45,7 +45,6 @@ struct openbsd_bootdata { } __packed; #define BOOTDATA_VERSION 1 -#define BOOTDATA_LEN_SOFTRAID 64 #define BOOTDATA_LEN_BOOTHOWTO 68 #endif /* _MACHINE_BOOT_FLAG_H_ */ diff --git a/sys/arch/sparc64/sparc64/autoconf.c b/sys/arch/sparc64/sparc64/autoconf.c index f8b29803285..1bd9978679e 100644 --- a/sys/arch/sparc64/sparc64/autoconf.c +++ b/sys/arch/sparc64/sparc64/autoconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: autoconf.c,v 1.144 2023/04/29 12:10:08 miod Exp $ */ +/* $OpenBSD: autoconf.c,v 1.145 2023/11/09 14:26:34 kn Exp $ */ /* $NetBSD: autoconf.c,v 1.51 2001/07/24 19:32:11 eeh Exp $ */ /* @@ -431,13 +431,8 @@ bootstrap(int nctx) ncpus = get_ncpus(); pmap_bootstrap(KERNBASE, (u_long)&end, nctx, ncpus); - /* - * This length check deliberately checks BOOTDATA_LEN_SOFTRAID - * instead of BOOTDATA_LEN_BOOTHOWTO. See the ofwboot code - * for an explanation. - */ if (obd.version == BOOTDATA_VERSION && - obd.len >= BOOTDATA_LEN_SOFTRAID) + obd.len >= BOOTDATA_LEN_BOOTHOWTO) boothowto = obd.boothowto; #ifdef SUN4V @@ -696,7 +691,7 @@ cpu_configure(void) #endif if (obd.version == BOOTDATA_VERSION && - obd.len >= BOOTDATA_LEN_SOFTRAID) { + obd.len >= BOOTDATA_LEN_BOOTHOWTO) { #if NSOFTRAID > 0 memcpy(sr_bootuuid.sui_id, obd.sr_uuid, sizeof(sr_bootuuid.sui_id)); diff --git a/sys/arch/sparc64/stand/ofwboot/elf64_exec.c b/sys/arch/sparc64/stand/ofwboot/elf64_exec.c index eba60994465..e214d698d22 100644 --- a/sys/arch/sparc64/stand/ofwboot/elf64_exec.c +++ b/sys/arch/sparc64/stand/ofwboot/elf64_exec.c @@ -1,4 +1,4 @@ -/* $OpenBSD: elf64_exec.c,v 1.17 2023/10/06 09:34:19 kn Exp $ */ +/* $OpenBSD: elf64_exec.c,v 1.18 2023/11/09 14:26:34 kn Exp $ */ /* $NetBSD: elfXX_exec.c,v 1.2 2001/08/15 20:08:15 eeh Exp $ */ /* @@ -103,7 +103,7 @@ elf64_exec(int fd, Elf_Ehdr *elf, u_int64_t *entryp, void **ssymp, void **esymp) if (phdr.p_type == PT_OPENBSD_BOOTDATA) { memset((void *) (long)phdr.p_paddr, 0, phdr.p_filesz); - if (phdr.p_filesz < BOOTDATA_LEN_SOFTRAID) + if (phdr.p_filesz < BOOTDATA_LEN_BOOTHOWTO) continue; obd = (struct openbsd_bootdata *)(long)phdr.p_paddr; diff --git a/sys/arch/sparc64/stand/ofwboot/vers.c b/sys/arch/sparc64/stand/ofwboot/vers.c index fa4762b2541..078165bf5c8 100644 --- a/sys/arch/sparc64/stand/ofwboot/vers.c +++ b/sys/arch/sparc64/stand/ofwboot/vers.c @@ -1 +1 @@ -const char version[] = "1.26"; +const char version[] = "1.27"; -- 2.20.1