Module Name: src Committed By: tsutsui Date: Sun Dec 11 07:39:30 UTC 2022
Modified Files: src/sys/arch/hp300/stand/common: conf.c conf.h devopen.c samachdep.h Log Message: Make hp300 bootloaders UFS2 ready. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/arch/hp300/stand/common/conf.c cvs rdiff -u -r1.2 -r1.3 src/sys/arch/hp300/stand/common/conf.h cvs rdiff -u -r1.12 -r1.13 src/sys/arch/hp300/stand/common/devopen.c cvs rdiff -u -r1.21 -r1.22 src/sys/arch/hp300/stand/common/samachdep.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/hp300/stand/common/conf.c diff -u src/sys/arch/hp300/stand/common/conf.c:1.13 src/sys/arch/hp300/stand/common/conf.c:1.14 --- src/sys/arch/hp300/stand/common/conf.c:1.13 Sun Dec 11 06:27:35 2022 +++ src/sys/arch/hp300/stand/common/conf.c Sun Dec 11 07:39:30 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: conf.c,v 1.13 2022/12/11 06:27:35 tsutsui Exp $ */ +/* $NetBSD: conf.c,v 1.14 2022/12/11 07:39:30 tsutsui Exp $ */ /* * Copyright (c) 1982, 1986, 1990, 1993 @@ -137,9 +137,14 @@ int npunit = __arraycount(punitsw); /* * Filesystem configuration */ -struct fs_ops file_system_rawfs[] = { FS_OPS(rawfs) }; -struct fs_ops file_system_ufs[] = { FS_OPS(ufs) }; -struct fs_ops file_system_nfs[] = { FS_OPS(nfs) }; +struct fs_ops file_system_rawfs[1] = { FS_OPS(rawfs) }; +struct fs_ops file_system_ufs[NFSYS_UFS] = { + FS_OPS(ffsv1), +#ifdef SUPPORT_UFS2 + FS_OPS(ffsv2), +#endif +}; +struct fs_ops file_system_nfs[1] = { FS_OPS(nfs) }; -struct fs_ops file_system[1]; -int nfsys = 1; /* we always know which one we want */ +struct fs_ops file_system[NFSYS_UFS]; +int nfsys = 1; /* default value; should be overrieded */ Index: src/sys/arch/hp300/stand/common/conf.h diff -u src/sys/arch/hp300/stand/common/conf.h:1.2 src/sys/arch/hp300/stand/common/conf.h:1.3 --- src/sys/arch/hp300/stand/common/conf.h:1.2 Sun Dec 11 12:17:19 2005 +++ src/sys/arch/hp300/stand/common/conf.h Sun Dec 11 07:39:30 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: conf.h,v 1.2 2005/12/11 12:17:19 christos Exp $ */ +/* $NetBSD: conf.h,v 1.3 2022/12/11 07:39:30 tsutsui Exp $ */ /* * Copyright (c) 1982, 1990, 1993 @@ -52,7 +52,25 @@ int sdstrategy(void *, int, daddr_t, siz int sdopen(struct open_file *, ...); int sdclose(struct open_file *); #endif +#ifdef SUPPORT_UFS2 +#define NFSYS_UFS 2 +#else +#define NFSYS_UFS 1 +#endif #ifdef SUPPORT_ETHERNET extern struct netif_driver le_driver; #endif + +/* + * Switch we use to set punit in devopen. + */ +struct punitsw { + int (*p_punit)(int, int, int *); +}; +extern struct punitsw punitsw[]; +extern int npunit; + +extern struct fs_ops file_system_rawfs[1]; +extern struct fs_ops file_system_ufs[NFSYS_UFS]; +extern struct fs_ops file_system_nfs[1]; Index: src/sys/arch/hp300/stand/common/devopen.c diff -u src/sys/arch/hp300/stand/common/devopen.c:1.12 src/sys/arch/hp300/stand/common/devopen.c:1.13 --- src/sys/arch/hp300/stand/common/devopen.c:1.12 Thu Mar 8 03:12:01 2018 +++ src/sys/arch/hp300/stand/common/devopen.c Sun Dec 11 07:39:30 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: devopen.c,v 1.12 2018/03/08 03:12:01 mrg Exp $ */ +/* $NetBSD: devopen.c,v 1.13 2022/12/11 07:39:30 tsutsui Exp $ */ /*- * Copyright (c) 1996, 1997 The NetBSD Foundation, Inc. @@ -63,6 +63,7 @@ #include <lib/libkern/libkern.h> #include <lib/libsa/stand.h> +#include <hp300/stand/common/conf.h> #include <hp300/stand/common/samachdep.h> u_int opendev; @@ -96,18 +97,21 @@ devlookup(const char *d, int len) switch (i) { case 0: /* ct */ memcpy(file_system, file_system_rawfs, - sizeof(struct fs_ops)); + sizeof(file_system_rawfs)); + nfsys = 1; break; case 2: /* rd */ case 4: /* sd */ memcpy(file_system, file_system_ufs, - sizeof(struct fs_ops)); + sizeof(file_system_ufs)); + nfsys = NFSYS_UFS; break; case 6: /* le */ memcpy(file_system, file_system_nfs, - sizeof(struct fs_ops)); + sizeof(file_system_nfs)); + nfsys = 1; break; default: @@ -250,16 +254,22 @@ devopen(struct open_file *f, const char */ switch (dev) { case 0: /* ct */ - memcpy(file_system, file_system_rawfs, sizeof(struct fs_ops)); + memcpy(file_system, file_system_rawfs, + sizeof(file_system_rawfs)); + nfsys = 1; break; case 2: /* rd */ case 4: /* sd */ - memcpy(file_system, file_system_ufs, sizeof(struct fs_ops)); + memcpy(file_system, file_system_ufs, + sizeof(file_system_ufs)); + nfsys = NFSYS_UFS; break; case 6: /* le */ - memcpy(file_system, file_system_nfs, sizeof(struct fs_ops)); + memcpy(file_system, file_system_nfs, + sizeof(file_system_nfs)); + nfsys = 1; break; default: Index: src/sys/arch/hp300/stand/common/samachdep.h diff -u src/sys/arch/hp300/stand/common/samachdep.h:1.21 src/sys/arch/hp300/stand/common/samachdep.h:1.22 --- src/sys/arch/hp300/stand/common/samachdep.h:1.21 Sun Dec 11 06:20:07 2022 +++ src/sys/arch/hp300/stand/common/samachdep.h Sun Dec 11 07:39:30 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: samachdep.h,v 1.21 2022/12/11 06:20:07 tsutsui Exp $ */ +/* $NetBSD: samachdep.h,v 1.22 2022/12/11 07:39:30 tsutsui Exp $ */ /* * Copyright (c) 1982, 1990, 1993 @@ -105,6 +105,9 @@ void _transfer(char *, int, int, int, ch /* tget.c */ int tgets(char *, size_t); +/* vers.c (generated by sys/conf/newvers_stand.sh) */ +extern char bootprog_name[], bootprog_rev[], bootprog_kernrev[]; + #define DELAY(n) \ do { \ @@ -118,18 +121,3 @@ do { \ struct grfinfo { int grf_foo; }; - -/* - * Switch we use to set punit in devopen. - */ -struct punitsw { - int (*p_punit)(int, int, int *); -}; -extern struct punitsw punitsw[]; -extern int npunit; - -extern struct fs_ops file_system_rawfs[]; -extern struct fs_ops file_system_ufs[]; -extern struct fs_ops file_system_nfs[]; - -extern char bootprog_name[], bootprog_rev[], bootprog_kernrev[];