CVS commit: src/sys/arch/mmeye/mmeye
Module Name:src Committed By: andvar Date: Fri Sep 29 05:25:15 UTC 2023 Modified Files: src/sys/arch/mmeye/mmeye: locore.S Log Message: reorder includes alphabetically. remove sh4 specific includes, since mmeye version doesn't have sh4 code. missed in previous commit, despite mentioning that in commit message. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/arch/mmeye/mmeye/locore.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mmeye/mmeye/locore.S diff -u src/sys/arch/mmeye/mmeye/locore.S:1.14 src/sys/arch/mmeye/mmeye/locore.S:1.15 --- src/sys/arch/mmeye/mmeye/locore.S:1.14 Thu Sep 28 21:45:43 2023 +++ src/sys/arch/mmeye/mmeye/locore.S Fri Sep 29 05:25:15 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.14 2023/09/28 21:45:43 andvar Exp $ */ +/* $NetBSD: locore.S,v 1.15 2023/09/29 05:25:15 andvar Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -81,13 +81,11 @@ #endif #include -#include +#include #include #include #include -#include -#include -#include +#include #define INIT_STACK \ ((IOM_RAM_BEGIN + IOM_RAM_SIZE - 0x1000) | 0x8000)
CVS commit: src/sys/arch/mmeye/mmeye
Module Name:src Committed By: andvar Date: Fri Sep 29 05:25:15 UTC 2023 Modified Files: src/sys/arch/mmeye/mmeye: locore.S Log Message: reorder includes alphabetically. remove sh4 specific includes, since mmeye version doesn't have sh4 code. missed in previous commit, despite mentioning that in commit message. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/arch/mmeye/mmeye/locore.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/mii
Module Name:src Committed By: msaitoh Date: Fri Sep 29 03:39:00 UTC 2023 Modified Files: src/sys/dev/mii: miidevs.h miidevs_data.h Log Message: Regen. To generate a diff of this commit: cvs rdiff -u -r1.166 -r1.167 src/sys/dev/mii/miidevs.h cvs rdiff -u -r1.155 -r1.156 src/sys/dev/mii/miidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/mii/miidevs.h diff -u src/sys/dev/mii/miidevs.h:1.166 src/sys/dev/mii/miidevs.h:1.167 --- src/sys/dev/mii/miidevs.h:1.166 Tue Jun 29 21:04:02 2021 +++ src/sys/dev/mii/miidevs.h Fri Sep 29 03:39:00 2023 @@ -1,10 +1,10 @@ -/* $NetBSD: miidevs.h,v 1.166 2021/06/29 21:04:02 pgoyette Exp $ */ +/* $NetBSD: miidevs.h,v 1.167 2023/09/29 03:39:00 msaitoh Exp $ */ /* * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * * generated from: - * NetBSD: miidevs,v 1.168 2020/06/23 14:35:36 msaitoh Exp + * NetBSD: miidevs,v 1.169 2023/09/29 03:38:36 msaitoh Exp */ /*- @@ -99,6 +99,8 @@ #define MII_OUI_TI 0x080028 /* Texas Instruments */ #define MII_OUI_BROADCOM4 0x18c086 /* Broadcom Corporation */ #define MII_OUI_RENESAS 0x749050 /* Renesas */ +#define MII_OUI_INTEL2 0x984fee /* Intel */ +#define MII_OUI_MAXLINEAR 0xac9a96 /* MaxLinear */ /* Unregistered or wrong OUI */ #define MII_OUI_yyREALTEK 0x04 /* Realtek */ @@ -123,6 +125,7 @@ #define MII_OUI_xxPMCSIERRA2 0x009057 /* PMC-Sierra */ #define MII_OUI_xxCICADA 0x00c08f /* Cicada Semiconductor */ #define MII_OUI_xxRDC 0x00d02d /* RDC Semiconductor */ +#define MII_OUI_xxMAXLINEAR 0x0c32ab /* MaxLinear */ #define MII_OUI_xxNATSEMI 0x1000e8 /* National Semiconductor */ #define MII_OUI_xxLEVEL1 0x782000 /* Level 1 */ #define MII_OUI_xxXAQTI 0xace000 /* XaQti Corp. */ @@ -405,6 +408,9 @@ #define MII_STR_xxMARVELL_I82563 "i82563 10/100/1000 media interface" #define MII_MODEL_ATTANSIC_I82578 0x0004 /* Intel 82578 10/100/1000 media interface */ #define MII_STR_ATTANSIC_I82578 "Intel 82578 10/100/1000 media interface" +/* Acquired by MaxLinear */ +#define MII_MODEL_INTEL2_GPY211 0x /* MaxLinear GPY21[125] 2.5G PHY */ +#define MII_STR_INTEL2_GPY211 "MaxLinear GPY21[125] 2.5G PHY" /* JMicron PHYs */ Index: src/sys/dev/mii/miidevs_data.h diff -u src/sys/dev/mii/miidevs_data.h:1.155 src/sys/dev/mii/miidevs_data.h:1.156 --- src/sys/dev/mii/miidevs_data.h:1.155 Tue Jun 29 21:04:02 2021 +++ src/sys/dev/mii/miidevs_data.h Fri Sep 29 03:39:00 2023 @@ -1,10 +1,10 @@ -/* $NetBSD: miidevs_data.h,v 1.155 2021/06/29 21:04:02 pgoyette Exp $ */ +/* $NetBSD: miidevs_data.h,v 1.156 2023/09/29 03:39:00 msaitoh Exp $ */ /* * THIS FILE IS AUTOMATICALLY GENERATED. DO NOT EDIT. * * generated from: - * NetBSD: miidevs,v 1.168 2020/06/23 14:35:36 msaitoh Exp + * NetBSD: miidevs,v 1.169 2023/09/29 03:38:36 msaitoh Exp */ /*- @@ -81,28 +81,31 @@ static const uint32_t mii_vendors[] = { MII_OUI_TI, 393, 399, 0, MII_OUI_BROADCOM4, 109, 118, 0, MII_OUI_RENESAS, 411, 0, - MII_OUI_yyREALTEK, 419, 0, + MII_OUI_INTEL2, 305, 0, + MII_OUI_MAXLINEAR, 419, 0, + MII_OUI_yyREALTEK, 429, 0, MII_OUI_yyAMD, 1, 10, 16, 0, - MII_OUI_xxVIA, 427, 66, 0, + MII_OUI_xxVIA, 437, 66, 0, MII_OUI_xxMYSON, 315, 43, 0, MII_OUI_xxTSC, 311, 186, 0, - MII_OUI_xxASIX, 431, 186, 0, + MII_OUI_xxASIX, 441, 186, 0, MII_OUI_xxDAVICOM, 260, 186, 0, MII_OUI_xxAMLOGIC, 252, 0, MII_OUI_xxQUALSEMI, 244, 186, 0, - MII_OUI_xxREALTEK, 419, 0, + MII_OUI_xxREALTEK, 429, 0, MII_OUI_xxBROADCOM, 109, 118, 0, MII_OUI_xxPMCSIERRA, 338, 0, - MII_OUI_xxICPLUS, 436, 439, 378, 0, + MII_OUI_xxICPLUS, 446, 449, 378, 0, MII_OUI_xxMARVELL, 236, 186, 0, MII_OUI_xxINTEL, 305, 0, MII_OUI_xxBROADCOM_ALT1, 109, 118, 0, MII_OUI_yyINTEL, 305, 0, - MII_OUI_yyASIX, 431, 186, 0, - MII_OUI_xxVITESSE, 444, 186, 0, + MII_OUI_yyASIX, 441, 186, 0, + MII_OUI_xxVITESSE, 454, 186, 0, MII_OUI_xxPMCSIERRA2, 338, 0, - MII_OUI_xxCICADA, 452, 186, 0, - MII_OUI_xxRDC, 459, 186, 0, + MII_OUI_xxCICADA, 462, 186, 0, + MII_OUI_xxRDC, 469, 186, 0, + MII_OUI_xxMAXLINEAR, 419, 0, MII_OUI_xxNATSEMI, 384, 186, 0, MII_OUI_xxLEVEL1, 228, 234, 0, MII_OUI_xxXAQTI, 372, 378, 0, @@ -110,461 +113,463 @@ static const uint32_t mii_vendors[] = { static const uint32_t mii_products[] = { MII_OUI_AGERE, MII_MODEL_AGERE_ET1011, - 463, 470, 487, 0, + 473, 480, 497, 0, MII_OUI_AGERE, MII_MODEL_AGERE_ET1011C, - 491, 470, 487, 0, + 501, 480, 497, 0, MII_OUI_xxASIX, MII_MODEL_xxASIX_AX88X9X, - 499, 507, 487, 0, + 509, 517, 497, 0, MII_OUI_yyASIX, MII_MODEL_yyASIX_AX88772, - 516, 507, 487, 0, + 526, 517, 497, 0, MII_OUI_yyASIX, MII_MODEL_yyASIX_AX88772A, - 524, 507, 487, 0, + 534, 517, 497, 0,
CVS commit: src/sys/dev/mii
Module Name:src Committed By: msaitoh Date: Fri Sep 29 03:39:00 UTC 2023 Modified Files: src/sys/dev/mii: miidevs.h miidevs_data.h Log Message: Regen. To generate a diff of this commit: cvs rdiff -u -r1.166 -r1.167 src/sys/dev/mii/miidevs.h cvs rdiff -u -r1.155 -r1.156 src/sys/dev/mii/miidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/mii
Module Name:src Committed By: msaitoh Date: Fri Sep 29 03:38:36 UTC 2023 Modified Files: src/sys/dev/mii: miidevs Log Message: Add MaxLinear GPY21[125] 2.5G PHY. To generate a diff of this commit: cvs rdiff -u -r1.168 -r1.169 src/sys/dev/mii/miidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/mii/miidevs diff -u src/sys/dev/mii/miidevs:1.168 src/sys/dev/mii/miidevs:1.169 --- src/sys/dev/mii/miidevs:1.168 Tue Jun 23 14:35:36 2020 +++ src/sys/dev/mii/miidevs Fri Sep 29 03:38:36 2023 @@ -1,4 +1,4 @@ -$NetBSD: miidevs,v 1.168 2020/06/23 14:35:36 msaitoh Exp $ +$NetBSD: miidevs,v 1.169 2023/09/29 03:38:36 msaitoh Exp $ /*- * Copyright (c) 1998, 1999 The NetBSD Foundation, Inc. @@ -92,6 +92,8 @@ oui NATSEMI 0x080017 National Semicond oui TI0x080028 Texas Instruments oui BROADCOM4 0x18c086 Broadcom Corporation oui RENESAS 0x749050 Renesas +oui INTEL2 0x984fee Intel +oui MAXLINEAR 0xac9a96 MaxLinear /* Unregistered or wrong OUI */ oui yyREALTEK 0x04 Realtek @@ -116,6 +118,7 @@ oui xxVITESSE 0x008083 Vitesse Semicon oui xxPMCSIERRA2 0x009057 PMC-Sierra oui xxCICADA 0x00c08f Cicada Semiconductor oui xxRDC 0x00d02d RDC Semiconductor +oui xxMAXLINEAR 0x0c32ab MaxLinear oui xxNATSEMI 0x1000e8 National Semiconductor oui xxLEVEL1 0x782000 Level 1 oui xxXAQTI 0xace000 XaQti Corp. @@ -276,6 +279,8 @@ model INTEL I350 0x003b I350 10/100/100 model xxMARVELL I210 0x I210 10/100/1000 media interface model xxMARVELL I82563 0x000a i82563 10/100/1000 media interface model ATTANSIC I82578 0x0004 Intel 82578 10/100/1000 media interface +/* Acquired by MaxLinear */ +model INTEL2 GPY211 0x MaxLinear GPY21[125] 2.5G PHY /* JMicron PHYs */
CVS commit: src/sys/dev/mii
Module Name:src Committed By: msaitoh Date: Fri Sep 29 03:38:36 UTC 2023 Modified Files: src/sys/dev/mii: miidevs Log Message: Add MaxLinear GPY21[125] 2.5G PHY. To generate a diff of this commit: cvs rdiff -u -r1.168 -r1.169 src/sys/dev/mii/miidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/mmeye/mmeye
Module Name:src Committed By: andvar Date: Thu Sep 28 21:45:43 UTC 2023 Modified Files: src/sys/arch/mmeye/mmeye: locore.S Log Message: apply few commits from uwe in evbsh3/locore.S to mmeye counterpart: 1) Wrap _ROM_START in #ifdef ROMIMAGE to match its use. 2) Use symbolic constants for SR init values. 3) Don't write SR twice. reduces diff between two mainly to SH4 specific code and few other lines. NFCI (confirmed with uwe by email) Additionally: rearrange includes alphabetically and remove sh3/mmu_sh4.h, since SH4 specific code is missing. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/mmeye/mmeye/locore.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/mmeye/mmeye
Module Name:src Committed By: andvar Date: Thu Sep 28 21:45:43 UTC 2023 Modified Files: src/sys/arch/mmeye/mmeye: locore.S Log Message: apply few commits from uwe in evbsh3/locore.S to mmeye counterpart: 1) Wrap _ROM_START in #ifdef ROMIMAGE to match its use. 2) Use symbolic constants for SR init values. 3) Don't write SR twice. reduces diff between two mainly to SH4 specific code and few other lines. NFCI (confirmed with uwe by email) Additionally: rearrange includes alphabetically and remove sh3/mmu_sh4.h, since SH4 specific code is missing. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/mmeye/mmeye/locore.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/mmeye/mmeye/locore.S diff -u src/sys/arch/mmeye/mmeye/locore.S:1.13 src/sys/arch/mmeye/mmeye/locore.S:1.14 --- src/sys/arch/mmeye/mmeye/locore.S:1.13 Sun Sep 24 20:17:26 2023 +++ src/sys/arch/mmeye/mmeye/locore.S Thu Sep 28 21:45:43 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: locore.S,v 1.13 2023/09/24 20:17:26 andvar Exp $ */ +/* $NetBSD: locore.S,v 1.14 2023/09/28 21:45:43 andvar Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -81,12 +81,13 @@ #endif #include -#include +#include #include -#include -#include +#include #include #include +#include +#include #define INIT_STACK \ ((IOM_RAM_BEGIN + IOM_RAM_SIZE - 0x1000) | 0x8000) @@ -99,20 +100,19 @@ ALTENTRY(kernel_text) /* Set SP to initial position */ mov.l XLtmpstk, r15 - __INTR_MASK(r0, r1) - - /* Set Register Bank to Bank 0 */ + /* Set Status Register */ mov.l SR_init, r0 ldc r0, sr + /* MMU off */ xor r0, r0 MOV (MMUCR, r2) - mov.l r0, @r2 /* MMU OFF */ + mov.l r0, @r2 bra start1 nop .align 2 -SR_init: .long 0x50F0 +SR_init: .long PSL_MD | PSL_BL | PSL_IMASK REG_SYMBOL(MMUCR) start1: @@ -190,7 +190,9 @@ ___etext: .long _etext ___end: .long _end XLtmpstk: .long INIT_STACK _KERNBASE: .long 0x8c00 +#ifdef ROMIMAGE _ROM_START: .long IOM_ROM_BEGIN +#endif XLinitSH3: .long _C_LABEL(initSH3) XLmain: .long _C_LABEL(main)
CVS commit: src/sys
Module Name:src Committed By: manu Date: Thu Sep 28 15:50:24 UTC 2023 Modified Files: src/sys/dev/raidframe: rf_netbsdkintf.c src/sys/rump/librump/rumpkern: emul.c Log Message: Fix root search in RAID 1 sets We use the wedge information given by bootstrap, where the kernel was found. This requires src/sys/arch/i386/stand/i386/lib/biosdisk.c 1.59 to work in all cases. To generate a diff of this commit: cvs rdiff -u -r1.415 -r1.416 src/sys/dev/raidframe/rf_netbsdkintf.c cvs rdiff -u -r1.199 -r1.200 src/sys/rump/librump/rumpkern/emul.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/raidframe/rf_netbsdkintf.c diff -u src/sys/dev/raidframe/rf_netbsdkintf.c:1.415 src/sys/dev/raidframe/rf_netbsdkintf.c:1.416 --- src/sys/dev/raidframe/rf_netbsdkintf.c:1.415 Mon Sep 25 21:59:38 2023 +++ src/sys/dev/raidframe/rf_netbsdkintf.c Thu Sep 28 15:50:23 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: rf_netbsdkintf.c,v 1.415 2023/09/25 21:59:38 oster Exp $ */ +/* $NetBSD: rf_netbsdkintf.c,v 1.416 2023/09/28 15:50:23 manu Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2008-2011 The NetBSD Foundation, Inc. @@ -101,7 +101,7 @@ ***/ #include -__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.415 2023/09/25 21:59:38 oster Exp $"); +__KERNEL_RCSID(0, "$NetBSD: rf_netbsdkintf.c,v 1.416 2023/09/28 15:50:23 manu Exp $"); #ifdef _KERNEL_OPT #include "opt_raid_autoconfig.h" @@ -157,6 +157,8 @@ int rf_kdebug_level = 0; #define db1_printf(a) { } #endif/* DEBUG */ +#define DEVICE_XNAME(dev) dev ? device_xname(dev) : "null" + #if (RF_INCLUDE_PARITY_DECLUSTERING_DS > 0) static rf_declare_mutex2(rf_sparet_wait_mutex); static rf_declare_cond2(rf_sparet_wait_cv); @@ -522,6 +524,134 @@ rf_rescan(void) return 0; } +/* + * Example setup: + * dk1 at wd0: "raid@wd0", 171965 blocks at 32802, type: raidframe + * dk3 at wd1: "raid@wd1", 171965 blocks at 32802, type: raidframz + * raid1: Components: /dev/dk1 /dev/dk3 + * dk4 at raid1: "empty@raid1", 8192 blocks at 34, type: msdos + * dk5 at raid1: "root@raid1", 163517 blocks at 8226, type: ffs + * + * If booted from wd0, booted_device will be + * disk wd0, startblk = 41092, nblks = 163517 + * + * That is, dk5 with startblk computed from the beginning of wd0 + * instead of beginning of raid1: + * 32802 + 64 (RF_PROTECTED_SECTORS) + 8226 = 41092 + * + * In order to find the boot wedge, we must iterate on each component, + * find its offset from disk beginning, abd look for the boot wedge with + * startblck adjusted. + */ +static device_t +rf_find_bootwedge(struct raid_softc *rsc) +{ + RF_Raid_t *r = >sc_r; + const char *bootname; + size_t len; + device_t rdev = NULL; + + if (booted_device == NULL) + goto out; + + bootname = device_xname(booted_device); + len = strlen(bootname); + + aprint_debug("%s: booted_device %s, startblk = %"PRId64", " + "nblks = %"PRId64"\n", __func__, + bootname, booted_startblk, booted_nblks); + + for (int col = 0; col < r->numCol; col++) { + const char *devname = r->Disks[col].devname; + const char *parent; + struct disk *dk; + u_int nwedges; + struct dkwedge_info *dkwi; + struct dkwedge_list dkwl; + size_t dkwi_len; + int i; + + devname += sizeof("/dev/") - 1; + if (strncmp(devname, "dk", 2) != 0) + continue; + + parent = dkwedge_get_parent_name(r->Disks[col].dev); + if (parent == NULL) { + aprint_debug("%s: cannot find parent for " + "component /dev/%s", __func__, devname); + continue; + } + + if (strncmp(parent, bootname, len) != 0) + continue; + + aprint_debug("%s: looking up wedge %s in device %s\n", + __func__, devname, parent); + + dk = disk_find(parent); + nwedges = dk->dk_nwedges; + dkwi_len = sizeof(*dkwi) * nwedges; + dkwi = RF_Malloc(dkwi_len); + + dkwl.dkwl_buf = dkwi; + dkwl.dkwl_bufsize = dkwi_len; + dkwl.dkwl_nwedges = 0; + dkwl.dkwl_ncopied = 0; + + if (dkwedge_list(dk, , curlwp) == 0) { + daddr_t startblk; + + for (i = 0; i < dkwl.dkwl_ncopied; i++) { +if (strcmp(dkwi[i].dkw_devname, devname) == 0) + break; + } + + KASSERT(i < dkwl.dkwl_ncopied); + + aprint_debug("%s: wedge %s, " + "startblk = %"PRId64", " + "nblks = %"PRId64"\n", + __func__, + dkwi[i].dkw_devname, + dkwi[i].dkw_offset, + dkwi[i].dkw_size); + + startblk = booted_startblk + - dkwi[i].dkw_offset + - RF_PROTECTED_SECTORS; + + aprint_debug("%s: looking for wedge in %s, " + "startblk = %"PRId64", " + "nblks = %"PRId64"\n", + __func__, + DEVICE_XNAME(rsc->sc_dksc.sc_dev), + startblk, booted_nblks); + + rdev = dkwedge_find_partition(rsc->sc_dksc.sc_dev, + startblk, + booted_nblks); + if (rdev) { +aprint_debug("%s: root candidate wedge %s " + "shifted from %s\n",
CVS commit: src/sys
Module Name:src Committed By: manu Date: Thu Sep 28 15:50:24 UTC 2023 Modified Files: src/sys/dev/raidframe: rf_netbsdkintf.c src/sys/rump/librump/rumpkern: emul.c Log Message: Fix root search in RAID 1 sets We use the wedge information given by bootstrap, where the kernel was found. This requires src/sys/arch/i386/stand/i386/lib/biosdisk.c 1.59 to work in all cases. To generate a diff of this commit: cvs rdiff -u -r1.415 -r1.416 src/sys/dev/raidframe/rf_netbsdkintf.c cvs rdiff -u -r1.199 -r1.200 src/sys/rump/librump/rumpkern/emul.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/i386/stand/lib
Module Name:src Committed By: manu Date: Thu Sep 28 15:46:55 UTC 2023 Modified Files: src/sys/arch/i386/stand/lib: biosdisk.c Log Message: Align the behavior of different boot methods in RAIDframe We enforce the documented and paritally implemented behavior when looking for the kernel in RAID 1 sets without a partition name given. We search for: - A GPT partition with bootme attribute set - A FFS or LFS patititon - The first partition To generate a diff of this commit: cvs rdiff -u -r1.58 -r1.59 src/sys/arch/i386/stand/lib/biosdisk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/i386/stand/lib/biosdisk.c diff -u src/sys/arch/i386/stand/lib/biosdisk.c:1.58 src/sys/arch/i386/stand/lib/biosdisk.c:1.59 --- src/sys/arch/i386/stand/lib/biosdisk.c:1.58 Tue May 3 10:09:40 2022 +++ src/sys/arch/i386/stand/lib/biosdisk.c Thu Sep 28 15:46:55 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: biosdisk.c,v 1.58 2022/05/03 10:09:40 jmcneill Exp $ */ +/* $NetBSD: biosdisk.c,v 1.59 2023/09/28 15:46:55 manu Exp $ */ /* * Copyright (c) 1996, 1998 @@ -105,6 +105,7 @@ struct biosdisk { struct biosdisk_ll ll; daddr_t boff; + daddr_t size; charbuf[BIOSDISK_BUFSIZE]; #if !defined(NO_DISKLABEL) || !defined(NO_GPT) struct biosdisk_partition part[BIOSDISKNPART]; @@ -666,6 +667,7 @@ read_label(struct biosdisk *d, daddr_t o dflt_lbl.d_npartitions = 8; d->boff = 0; + d->size = 0; if (d->ll.type != BIOSDISK_TYPE_HD) /* No label on floppy and CD */ @@ -1208,7 +1210,7 @@ add_biosdisk_bootinfo(void) #endif #ifndef NO_GPT -static daddr_t +static void raidframe_part_offset(struct biosdisk *d, int part) { struct biosdisk raidframe; @@ -1221,8 +1223,10 @@ raidframe_part_offset(struct biosdisk *d rf_offset = d->part[part].offset + RF_PROTECTED_SECTORS; rf_size = d->part[part].size; - if (read_gpt(, rf_offset, rf_size) != 0) - return RF_PROTECTED_SECTORS; + if (read_gpt(, rf_offset, rf_size) != 0) { + d->boff += RF_PROTECTED_SECTORS; + return; + } candidate = 0; for (i = 0; i < BIOSDISKNPART; i++) { @@ -1231,12 +1235,20 @@ raidframe_part_offset(struct biosdisk *d if (raidframe.part[i].fstype == FS_UNUSED) continue; #ifndef NO_GPT - if (raidframe.part[i].attr & GPT_ENT_ATTR_BOOTME) + if (raidframe.part[i].attr & GPT_ENT_ATTR_BOOTME) { candidate = i; + break; + } #endif + if (raidframe.part[i].fstype == FS_BSDFFS || + raidframe.part[i].fstype == FS_BSDLFS) { + if (candidate == 0) +candidate = i; + } } - return RF_PROTECTED_SECTORS + raidframe.part[candidate].offset; + d->boff += RF_PROTECTED_SECTORS + raidframe.part[candidate].offset; + d->size = raidframe.part[candidate].size; } #endif @@ -1285,17 +1297,18 @@ biosdisk_open(struct open_file *f, ...) } d->boff = d->part[partition].offset; + d->size = d->part[partition].size; if (d->part[partition].fstype == FS_RAID) #ifndef NO_GPT - d->boff += raidframe_part_offset(d, partition); + raidframe_part_offset(d, partition); #else d->boff += RF_PROTECTED_SECTORS; #endif #ifdef _STANDALONE - bi_wedge.startblk = d->part[partition].offset; - bi_wedge.nblks = d->part[partition].size; + bi_wedge.startblk = d->boff; + bi_wedge.nblks = d->size; #endif nolabel: @@ -1389,6 +1402,8 @@ next_disk: #ifndef NO_RAIDFRAME for (i = 0; i < raidframe_count; i++) { + int first_bootme = -1; + int first_ffs = -1; int candidate = -1; if ((d = alloc_biosdisk(raidframe[i].biosdev)) == NULL) { @@ -1402,12 +1417,20 @@ next_disk: goto next_raidframe; for (part = 0; part < BIOSDISKNPART; part++) { - bool bootme = d->part[part].attr & GPT_ENT_ATTR_BOOTME; if (d->part[part].size == 0) continue; if (d->part[part].fstype == FS_UNUSED) continue; + if (first_bootme == -1 && + d->part[part].attr & GPT_ENT_ATTR_BOOTME) +first_bootme = part; + + if (first_ffs == -1 && + (d->part[part].fstype == FS_BSDFFS || + d->part[part].fstype == FS_BSDLFS)) +first_ffs = part; + if (d->part[part].part_name != NULL && strcmp(d->part[part].part_name, name) == 0) { *biosdev = raidframe[i].biosdev; @@ -1418,11 +1441,13 @@ next_disk: ret = 0; goto out; } - if (strcmp(raidframe[i].parent_name, name) == 0) { -if (candidate == -1 || bootme) - candidate = part; -continue; - } + } + + if (strcmp(raidframe[i].parent_name, name) == 0) { + if (first_bootme != -1) +candidate = first_bootme; + else if (first_ffs != -1) +candidate = first_ffs; } if (candidate != -1) { @@ -1514,6 +1539,10 @@ next_disk: } for (i = 0; i < raidframe_count; i++) { + int first_bootme = -1; + int first_ffs = -1; + int candidate = -1; + if (raidframe[i].last_unit != target_unit) continue; @@ -1532,6 +1561,15 @@ next_disk: continue; if (d->part[part].fstype ==
CVS commit: src/sys/arch/i386/stand/lib
Module Name:src Committed By: manu Date: Thu Sep 28 15:46:55 UTC 2023 Modified Files: src/sys/arch/i386/stand/lib: biosdisk.c Log Message: Align the behavior of different boot methods in RAIDframe We enforce the documented and paritally implemented behavior when looking for the kernel in RAID 1 sets without a partition name given. We search for: - A GPT partition with bootme attribute set - A FFS or LFS patititon - The first partition To generate a diff of this commit: cvs rdiff -u -r1.58 -r1.59 src/sys/arch/i386/stand/lib/biosdisk.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/tests/lib/libc/locale
Module Name:src Committed By: christos Date: Thu Sep 28 13:31:11 UTC 2023 Modified Files: src/tests/lib/libc/locale: t_strfmon.c Log Message: Add testing for pad resetting (Jose Luis Duran) To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/tests/lib/libc/locale/t_strfmon.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/tests/lib/libc/locale/t_strfmon.c diff -u src/tests/lib/libc/locale/t_strfmon.c:1.3 src/tests/lib/libc/locale/t_strfmon.c:1.4 --- src/tests/lib/libc/locale/t_strfmon.c:1.3 Mon Aug 2 13:41:07 2021 +++ src/tests/lib/libc/locale/t_strfmon.c Thu Sep 28 09:31:11 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: t_strfmon.c,v 1.3 2021/08/02 17:41:07 andvar Exp $ */ +/* $NetBSD: t_strfmon.c,v 1.4 2023/09/28 13:31:11 christos Exp $ */ /*- * Copyright (c) 2017 The NetBSD Foundation, Inc. @@ -30,21 +30,21 @@ */ #include -__RCSID("$NetBSD: t_strfmon.c,v 1.3 2021/08/02 17:41:07 andvar Exp $"); +__RCSID("$NetBSD: t_strfmon.c,v 1.4 2023/09/28 13:31:11 christos Exp $"); #include #include #include -ATF_TC(strfmon); +ATF_TC(strfmon_locale); -ATF_TC_HEAD(strfmon, tc) +ATF_TC_HEAD(strfmon_locale, tc) { atf_tc_set_md_var(tc, "descr", "Checks strfmon_l under different locales"); } -ATF_TC_BODY(strfmon, tc) +ATF_TC_BODY(strfmon_locale, tc) { const struct { const char *locale; @@ -67,10 +67,27 @@ ATF_TC_BODY(strfmon, tc) } } +ATF_TC(strfmon_pad); + +ATF_TC_HEAD(strfmon_pad, tc) +{ + atf_tc_set_md_var(tc, "descr", "Checks strfmon padding"); +} + +ATF_TC_BODY(strfmon_pad, tc) +{ +char string[1024]; + +ATF_REQUIRE(setlocale(LC_MONETARY, "en_US.UTF-8") != NULL); +strfmon(string, sizeof(string), "[%8n] [%8n]", 123.45, 123.45); +ATF_REQUIRE_STREQ(string, "[ $123.45] [ $123.45]"); +} + ATF_TP_ADD_TCS(tp) { - ATF_TP_ADD_TC(tp, strfmon); + ATF_TP_ADD_TC(tp, strfmon_locale); + ATF_TP_ADD_TC(tp, strfmon_pad); return atf_no_error(); }
CVS commit: src/tests/lib/libc/locale
Module Name:src Committed By: christos Date: Thu Sep 28 13:31:11 UTC 2023 Modified Files: src/tests/lib/libc/locale: t_strfmon.c Log Message: Add testing for pad resetting (Jose Luis Duran) To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/tests/lib/libc/locale/t_strfmon.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/libc/stdlib
Module Name:src Committed By: martin Date: Thu Sep 28 10:03:41 UTC 2023 Modified Files: src/lib/libc/stdlib: strfmon.c Log Message: Fix padding for formats with mutliple padded values. PR lib/57633, fix from FreeBSD. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/lib/libc/stdlib/strfmon.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/lib/libc/stdlib
Module Name:src Committed By: martin Date: Thu Sep 28 10:03:41 UTC 2023 Modified Files: src/lib/libc/stdlib: strfmon.c Log Message: Fix padding for formats with mutliple padded values. PR lib/57633, fix from FreeBSD. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/lib/libc/stdlib/strfmon.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libc/stdlib/strfmon.c diff -u src/lib/libc/stdlib/strfmon.c:1.18 src/lib/libc/stdlib/strfmon.c:1.19 --- src/lib/libc/stdlib/strfmon.c:1.18 Thu Aug 18 11:05:02 2022 +++ src/lib/libc/stdlib/strfmon.c Thu Sep 28 10:03:41 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: strfmon.c,v 1.18 2022/08/18 11:05:02 christos Exp $ */ +/* $NetBSD: strfmon.c,v 1.19 2023/09/28 10:03:41 martin Exp $ */ /*- * Copyright (c) 2001 Alexey Zelkin @@ -32,7 +32,7 @@ #if 0 __FBSDID("$FreeBSD: src/lib/libc/stdlib/strfmon.c,v 1.14 2003/03/20 08:18:55 ache Exp $"); #else -__RCSID("$NetBSD: strfmon.c,v 1.18 2022/08/18 11:05:02 christos Exp $"); +__RCSID("$NetBSD: strfmon.c,v 1.19 2023/09/28 10:03:41 martin Exp $"); #endif #endif /* LIBC_SCCS and not lint */ @@ -141,7 +141,6 @@ vstrfmon_l(char * __restrict s, size_t m fmt = format; asciivalue = NULL; currency_symbol = NULL; - pad_size = 0; while (*fmt) { /* pass nonformating characters AS IS */ @@ -161,6 +160,7 @@ vstrfmon_l(char * __restrict s, size_t m /* set up initial values */ flags = (NEED_GROUPING|LOCALE_POSN); pad_char = ' '; /* padding character is "space" */ + pad_size = 0; /* no padding initially */ left_prec = -1; /* no left precision specified */ right_prec = -1; /* no right precision specified */ width = -1; /* no width specified */
CVS commit: src/sys/arch/m68k/include
Module Name:src Committed By: skrll Date: Thu Sep 28 06:34:22 UTC 2023 Modified Files: src/sys/arch/m68k/include: pmap_coldfire.h Log Message: whitespace nit To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/m68k/include/pmap_coldfire.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/m68k/include/pmap_coldfire.h diff -u src/sys/arch/m68k/include/pmap_coldfire.h:1.5 src/sys/arch/m68k/include/pmap_coldfire.h:1.6 --- src/sys/arch/m68k/include/pmap_coldfire.h:1.5 Thu Sep 28 06:23:43 2023 +++ src/sys/arch/m68k/include/pmap_coldfire.h Thu Sep 28 06:34:22 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_coldfire.h,v 1.5 2023/09/28 06:23:43 skrll Exp $ */ +/* $NetBSD: pmap_coldfire.h,v 1.6 2023/09/28 06:34:22 skrll Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. @@ -65,7 +65,7 @@ #define KERNEL_PID 0 -#define PMAP_TLB_MAX 1 +#define PMAP_TLB_MAX 1 #define PMAP_TLB_NUM_PIDS 256 #define PMAP_INVALID_SEGTAB_ADDRESS ((pmap_segtab_t *)0xfeeddead)
CVS commit: src/sys/arch/m68k/include
Module Name:src Committed By: skrll Date: Thu Sep 28 06:34:22 UTC 2023 Modified Files: src/sys/arch/m68k/include: pmap_coldfire.h Log Message: whitespace nit To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/arch/m68k/include/pmap_coldfire.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/powerpc/include/booke
Module Name:src Committed By: skrll Date: Thu Sep 28 06:24:37 UTC 2023 Modified Files: src/sys/arch/powerpc/include/booke: pmap.h Log Message: #define -> #define for consistency To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/powerpc/include/booke/pmap.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/powerpc/include/booke/pmap.h diff -u src/sys/arch/powerpc/include/booke/pmap.h:1.24 src/sys/arch/powerpc/include/booke/pmap.h:1.25 --- src/sys/arch/powerpc/include/booke/pmap.h:1.24 Sun Dec 20 16:38:25 2020 +++ src/sys/arch/powerpc/include/booke/pmap.h Thu Sep 28 06:24:37 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.24 2020/12/20 16:38:25 skrll Exp $ */ +/* $NetBSD: pmap.h,v 1.25 2023/09/28 06:24:37 skrll Exp $ */ /*- * Copyright (c) 2010, 2011 The NetBSD Foundation, Inc. * All rights reserved. @@ -66,8 +66,8 @@ #define NBSEG (NBPG*NPTEPG) #define SEGSHIFT (PGSHIFT + PGSHIFT - 2) -#define SEGOFSET ((1 << SEGSHIFT) - 1) -#define PMAP_SEGTABSIZE (1 << (32 - SEGSHIFT)) +#define SEGOFSET ((1 << SEGSHIFT) - 1) +#define PMAP_SEGTABSIZE (1 << (32 - SEGSHIFT)) #define NPTEPG (NBPG >> 2) #define KERNEL_PID 0
CVS commit: src/sys/arch/powerpc/include/booke
Module Name:src Committed By: skrll Date: Thu Sep 28 06:24:37 UTC 2023 Modified Files: src/sys/arch/powerpc/include/booke: pmap.h Log Message: #define -> #define for consistency To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/powerpc/include/booke/pmap.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/m68k/include
Module Name:src Committed By: skrll Date: Thu Sep 28 06:23:43 UTC 2023 Modified Files: src/sys/arch/m68k/include: pmap_coldfire.h Log Message: #define -> #define for consistency To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/m68k/include/pmap_coldfire.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/m68k/include/pmap_coldfire.h diff -u src/sys/arch/m68k/include/pmap_coldfire.h:1.4 src/sys/arch/m68k/include/pmap_coldfire.h:1.5 --- src/sys/arch/m68k/include/pmap_coldfire.h:1.4 Sun Dec 20 16:38:25 2020 +++ src/sys/arch/m68k/include/pmap_coldfire.h Thu Sep 28 06:23:43 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap_coldfire.h,v 1.4 2020/12/20 16:38:25 skrll Exp $ */ +/* $NetBSD: pmap_coldfire.h,v 1.5 2023/09/28 06:23:43 skrll Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. * All rights reserved. @@ -59,13 +59,13 @@ #define NBSEG (NBPG*NPTEPG) #define SEGSHIFT (PGSHIFT + PGSHIFT - 2) -#define SEGOFSET ((1 << SEGSHIFT) - 1) -#define PMAP_SEGTABSIZE (1 << (32 - SEGSHIFT)) +#define SEGOFSET ((1 << SEGSHIFT) - 1) +#define PMAP_SEGTABSIZE (1 << (32 - SEGSHIFT)) #define NPTEPG (NBPG >> 2) #define KERNEL_PID 0 -#define PMAP_TLB_MAX 1 +#define PMAP_TLB_MAX 1 #define PMAP_TLB_NUM_PIDS 256 #define PMAP_INVALID_SEGTAB_ADDRESS ((pmap_segtab_t *)0xfeeddead)
CVS commit: src/sys/arch/m68k/include
Module Name:src Committed By: skrll Date: Thu Sep 28 06:23:43 UTC 2023 Modified Files: src/sys/arch/m68k/include: pmap_coldfire.h Log Message: #define -> #define for consistency To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/m68k/include/pmap_coldfire.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: skrll Date: Thu Sep 28 06:19:19 UTC 2023 Modified Files: src/sys/arch/powerpc/include/ibm4xx: pmap.h src/sys/arch/powerpc/include/oea: pmap.h Log Message: Trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/powerpc/include/ibm4xx/pmap.h cvs rdiff -u -r1.37 -r1.38 src/sys/arch/powerpc/include/oea/pmap.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/powerpc/include/ibm4xx/pmap.h diff -u src/sys/arch/powerpc/include/ibm4xx/pmap.h:1.21 src/sys/arch/powerpc/include/ibm4xx/pmap.h:1.22 --- src/sys/arch/powerpc/include/ibm4xx/pmap.h:1.21 Sat Mar 14 14:05:43 2020 +++ src/sys/arch/powerpc/include/ibm4xx/pmap.h Thu Sep 28 06:19:19 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.21 2020/03/14 14:05:43 ad Exp $ */ +/* $NetBSD: pmap.h,v 1.22 2023/09/28 06:19:19 skrll Exp $ */ /* * Copyright 2001 Wasabi Systems, Inc. @@ -69,7 +69,7 @@ #ifndef _IBM4XX_PMAP_H_ #define _IBM4XX_PMAP_H_ -#ifdef _LOCORE +#ifdef _LOCORE #error use assym.h instead #endif @@ -132,7 +132,7 @@ #define STIDX(v) ((v) >> (PGSHIFT + 12)) -/* +/* * Extra flags to pass to pmap_enter() -- make sure they don't conflict * w/PMAP_CANFAIL or PMAP_WIRED */ Index: src/sys/arch/powerpc/include/oea/pmap.h diff -u src/sys/arch/powerpc/include/oea/pmap.h:1.37 src/sys/arch/powerpc/include/oea/pmap.h:1.38 --- src/sys/arch/powerpc/include/oea/pmap.h:1.37 Sat May 7 07:10:46 2022 +++ src/sys/arch/powerpc/include/oea/pmap.h Thu Sep 28 06:19:19 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: pmap.h,v 1.37 2022/05/07 07:10:46 rin Exp $ */ +/* $NetBSD: pmap.h,v 1.38 2023/09/28 06:19:19 skrll Exp $ */ /*- * Copyright (C) 1995, 1996 Wolfgang Solfrank. @@ -34,7 +34,7 @@ #ifndef _POWERPC_OEA_PMAP_H_ #define _POWERPC_OEA_PMAP_H_ -#ifdef _LOCORE +#ifdef _LOCORE #error use assym.h instead #endif
CVS commit: src/sys/arch/powerpc/include
Module Name:src Committed By: skrll Date: Thu Sep 28 06:19:19 UTC 2023 Modified Files: src/sys/arch/powerpc/include/ibm4xx: pmap.h src/sys/arch/powerpc/include/oea: pmap.h Log Message: Trailing whitespace. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/powerpc/include/ibm4xx/pmap.h cvs rdiff -u -r1.37 -r1.38 src/sys/arch/powerpc/include/oea/pmap.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.