Date: Mon, 16 May 2011 15:23:18 +0000 (UTC) From: Nathan Whitehorn <nwhitehorn@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r221989 - in projects/pseries: conf dev/ath dev/bge dev/glxiic dev/mk48txx dev/scc dev/uart fs/nfs fs/nfsclient geom/part i386/conf modules modules/glxiic nfs nfsclient powerpc/aim powe... Message-ID: <201105161523.p4GFNIDH087989@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: nwhitehorn Date: Mon May 16 15:23:17 2011 New Revision: 221989 URL: http://svn.freebsd.org/changeset/base/221989 Log: IFC @ 221988 Added: projects/pseries/dev/glxiic/ - copied from r221988, head/sys/dev/glxiic/ projects/pseries/modules/glxiic/ - copied from r221988, head/sys/modules/glxiic/ Modified: projects/pseries/conf/files.i386 projects/pseries/dev/ath/if_ath.c projects/pseries/dev/ath/if_ath_sysctl.c projects/pseries/dev/ath/if_athioctl.h projects/pseries/dev/bge/if_bge.c projects/pseries/dev/mk48txx/mk48txx.c projects/pseries/dev/mk48txx/mk48txxreg.h projects/pseries/dev/scc/scc_bfe_ebus.c projects/pseries/dev/uart/uart_cpu_sparc64.c projects/pseries/fs/nfs/nfs_commonkrpc.c projects/pseries/fs/nfs/nfs_commonport.c projects/pseries/fs/nfsclient/nfs_clkrpc.c projects/pseries/fs/nfsclient/nfs_clnfsiod.c projects/pseries/fs/nfsclient/nfs_clsubs.c projects/pseries/fs/nfsclient/nfs_clvfsops.c projects/pseries/fs/nfsclient/nfs_clvnops.c projects/pseries/geom/part/g_part.c projects/pseries/i386/conf/NOTES projects/pseries/modules/Makefile projects/pseries/nfs/nfs_common.c projects/pseries/nfsclient/nfs.h projects/pseries/nfsclient/nfs_krpc.c projects/pseries/nfsclient/nfs_nfsiod.c projects/pseries/nfsclient/nfs_subs.c projects/pseries/nfsclient/nfs_vfsops.c projects/pseries/nfsclient/nfs_vnops.c projects/pseries/powerpc/aim/mmu_oea64.c projects/pseries/powerpc/powerpc/platform.c projects/pseries/sparc64/sparc64/eeprom.c Directory Properties: projects/pseries/ (props changed) projects/pseries/amd64/include/xen/ (props changed) projects/pseries/boot/ (props changed) projects/pseries/boot/i386/efi/ (props changed) projects/pseries/boot/ia64/efi/ (props changed) projects/pseries/boot/ia64/ski/ (props changed) projects/pseries/boot/powerpc/boot1.chrp/ (props changed) projects/pseries/boot/powerpc/ofw/ (props changed) projects/pseries/cddl/contrib/opensolaris/ (props changed) projects/pseries/conf/ (props changed) projects/pseries/contrib/dev/acpica/ (props changed) projects/pseries/contrib/octeon-sdk/ (props changed) projects/pseries/contrib/pf/ (props changed) projects/pseries/contrib/x86emu/ (props changed) Modified: projects/pseries/conf/files.i386 ============================================================================== --- projects/pseries/conf/files.i386 Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/conf/files.i386 Mon May 16 15:23:17 2011 (r221989) @@ -171,6 +171,7 @@ dev/fdc/fdc_acpi.c optional fdc dev/fdc/fdc_isa.c optional fdc isa dev/fdc/fdc_pccard.c optional fdc pccard dev/fe/if_fe_isa.c optional fe isa +dev/glxiic/glxiic.c optional glxiic dev/glxsb/glxsb.c optional glxsb dev/glxsb/glxsb_hash.c optional glxsb dev/hptmv/entry.c optional hptmv Modified: projects/pseries/dev/ath/if_ath.c ============================================================================== --- projects/pseries/dev/ath/if_ath.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/dev/ath/if_ath.c Mon May 16 15:23:17 2011 (r221989) @@ -3966,9 +3966,21 @@ ath_tx_processq(struct ath_softc *sc, st sc->sc_stats.ast_tx_fifoerr++; if (ts->ts_status & HAL_TXERR_FILT) sc->sc_stats.ast_tx_filtered++; + if (ts->ts_status & HAL_TXERR_XTXOP) + sc->sc_stats.ast_tx_xtxop++; + if (ts->ts_status & HAL_TXERR_TIMER_EXPIRED) + sc->sc_stats.ast_tx_timerexpired++; + + /* XXX HAL_TX_DATA_UNDERRUN */ + /* XXX HAL_TX_DELIM_UNDERRUN */ + if (bf->bf_m->m_flags & M_FF) sc->sc_stats.ast_ff_txerr++; } + /* XXX when is this valid? */ + if (ts->ts_status & HAL_TX_DESC_CFG_ERR) + sc->sc_stats.ast_tx_desccfgerr++; + sr = ts->ts_shortretry; lr = ts->ts_longretry; sc->sc_stats.ast_tx_shortretry += sr; Modified: projects/pseries/dev/ath/if_ath_sysctl.c ============================================================================== --- projects/pseries/dev/ath/if_ath_sysctl.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/dev/ath/if_ath_sysctl.c Mon May 16 15:23:17 2011 (r221989) @@ -709,6 +709,12 @@ ath_sysctl_stats_attach(struct ath_softc &sc->sc_stats.ast_tx_timeout, 0, "TX Global Timeout"); SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_cst", CTLFLAG_RD, &sc->sc_stats.ast_tx_cst, 0, "TX Carrier Sense Timeout"); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_xtxop", CTLFLAG_RD, + &sc->sc_stats.ast_tx_xtxop, 0, "TX exceeded TXOP"); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_timerexpired", CTLFLAG_RD, + &sc->sc_stats.ast_tx_timerexpired, 0, "TX exceeded TX_TIMER register"); + SYSCTL_ADD_UINT(ctx, child, OID_AUTO, "ast_tx_desccfgerr", CTLFLAG_RD, + &sc->sc_stats.ast_tx_desccfgerr, 0, "TX Descriptor Cfg Error"); /* Attach the RX phy error array */ ath_sysctl_stats_attach_rxphyerr(sc, child); Modified: projects/pseries/dev/ath/if_athioctl.h ============================================================================== --- projects/pseries/dev/ath/if_athioctl.h Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/dev/ath/if_athioctl.h Mon May 16 15:23:17 2011 (r221989) @@ -121,17 +121,20 @@ struct ath_stats { u_int32_t ast_be_missed; /* missed beacons */ u_int32_t ast_ani_cal; /* ANI calibrations performed */ u_int32_t ast_rx_agg; /* number of aggregate frames RX'ed */ - u_int32_t ast_rx_halfgi; - u_int32_t ast_rx_2040; - u_int32_t ast_rx_pre_crc_err; - u_int32_t ast_rx_post_crc_err; - u_int32_t ast_rx_decrypt_busy_err; + u_int32_t ast_rx_halfgi; /* RX half-GI */ + u_int32_t ast_rx_2040; /* RX 40mhz frame */ + u_int32_t ast_rx_pre_crc_err; /* RX pre-delimiter CRC error */ + u_int32_t ast_rx_post_crc_err; /* RX post-delimiter CRC error */ + u_int32_t ast_rx_decrypt_busy_err; /* RX decrypt engine busy error */ u_int32_t ast_rx_hi_rx_chain; u_int32_t ast_tx_htprotect; /* HT tx frames with protection */ - u_int32_t ast_rx_hitqueueend; + u_int32_t ast_rx_hitqueueend; /* RX hit descr queue end */ u_int32_t ast_tx_timeout; /* Global TX timeout */ u_int32_t ast_tx_cst; /* Carrier sense timeout */ - u_int32_t ast_pad[16]; + u_int32_t ast_tx_xtxop; /* tx exceeded TXOP */ + u_int32_t ast_tx_timerexpired; /* tx exceeded TX_TIMER */ + u_int32_t ast_tx_desccfgerr; /* tx desc cfg error */ + u_int32_t ast_pad[13]; }; #define SIOCGATHSTATS _IOWR('i', 137, struct ifreq) Modified: projects/pseries/dev/bge/if_bge.c ============================================================================== --- projects/pseries/dev/bge/if_bge.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/dev/bge/if_bge.c Mon May 16 15:23:17 2011 (r221989) @@ -2836,7 +2836,7 @@ bge_attach(device_t dev) if (sc->bge_asicrev == BGE_ASICREV_BCM5719 && sc->bge_chipid == BGE_CHIPID_BCM5719_A0) { /* Jumbo frame on BCM5719 A0 does not work. */ - sc->bge_flags &= ~BGE_FLAG_JUMBO_FRAME; + sc->bge_flags &= ~BGE_FLAG_JUMBO; } break; case BGE_ASICREV_BCM5755: Modified: projects/pseries/dev/mk48txx/mk48txx.c ============================================================================== --- projects/pseries/dev/mk48txx/mk48txx.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/dev/mk48txx/mk48txx.c Mon May 16 15:23:17 2011 (r221989) @@ -33,7 +33,8 @@ __FBSDID("$FreeBSD$"); /* - * Mostek MK48T02, MK48T08, MK48T18, MK48T59 time-of-day chip subroutines + * Mostek MK48T02, MK48T08, MK48T18, MK48T37 and MK48T59 time-of-day chip + * subroutines */ #include <sys/param.h> @@ -67,6 +68,7 @@ static const struct { { "mk48t02", MK48T02_CLKSZ, MK48T02_CLKOFF, 0 }, { "mk48t08", MK48T08_CLKSZ, MK48T08_CLKOFF, 0 }, { "mk48t18", MK48T18_CLKSZ, MK48T18_CLKOFF, 0 }, + { "mk48t37", MK48T37_CLKSZ, MK48T37_CLKOFF, MK48TXX_EXT_REGISTERS }, { "mk48t59", MK48T59_CLKSZ, MK48T59_CLKOFF, MK48TXX_EXT_REGISTERS }, }; Modified: projects/pseries/dev/mk48txx/mk48txxreg.h ============================================================================== --- projects/pseries/dev/mk48txx/mk48txxreg.h Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/dev/mk48txx/mk48txxreg.h Mon May 16 15:23:17 2011 (r221989) @@ -152,5 +152,8 @@ #define MK48T18_CLKSZ 8192 #define MK48T18_CLKOFF 0x1ff0 +#define MK48T37_CLKSZ 32768 +#define MK48T37_CLKOFF 0x1ff0 + #define MK48T59_CLKSZ 8192 #define MK48T59_CLKOFF 0x1ff0 Modified: projects/pseries/dev/scc/scc_bfe_ebus.c ============================================================================== --- projects/pseries/dev/scc/scc_bfe_ebus.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/dev/scc/scc_bfe_ebus.c Mon May 16 15:23:17 2011 (r221989) @@ -56,7 +56,8 @@ scc_ebus_probe(device_t dev) cmpt = ofw_bus_get_compat(dev); if (cmpt == NULL) cmpt = ""; - if (!strcmp(nm, "se") || !strcmp(cmpt, "sab82532")) { + if (!strcmp(nm, "se") || !strcmp(nm, "FJSV,se") || + !strcmp(cmpt, "sab82532")) { device_set_desc(dev, "Siemens SAB 82532 dual channel SCC"); sc->sc_class = &scc_sab82532_class; return (scc_bfe_probe(dev, EBUS_REGSHFT, EBUS_RCLK, 0)); Modified: projects/pseries/dev/uart/uart_cpu_sparc64.c ============================================================================== --- projects/pseries/dev/uart/uart_cpu_sparc64.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/dev/uart/uart_cpu_sparc64.c Mon May 16 15:23:17 2011 (r221989) @@ -238,7 +238,8 @@ uart_cpu_getdev(int devtype, struct uart di->bas.regshft = 0; di->bas.rclk = 0; class = NULL; - if (!strcmp(buf, "se") || !strcmp(compat, "sab82532")) { + if (!strcmp(buf, "se") || !strcmp(buf, "FJSV,se") || + !strcmp(compat, "sab82532")) { class = &uart_sab82532_class; /* SAB82532 are only known to be used for TTYs. */ if ((di->bas.chan = uart_cpu_channel(dev)) == 0) Modified: projects/pseries/fs/nfs/nfs_commonkrpc.c ============================================================================== --- projects/pseries/fs/nfs/nfs_commonkrpc.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/fs/nfs/nfs_commonkrpc.c Mon May 16 15:23:17 2011 (r221989) @@ -78,17 +78,17 @@ static int nfs3_jukebox_delay = 10; static int nfs_skip_wcc_data_onerr = 1; static int nfs_keytab_enctype = ETYPE_DES_CBC_CRC; -SYSCTL_DECL(_vfs_newnfs); +SYSCTL_DECL(_vfs_nfs); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, bufpackets, CTLFLAG_RW, &nfs_bufpackets, 0, +SYSCTL_INT(_vfs_nfs, OID_AUTO, bufpackets, CTLFLAG_RW, &nfs_bufpackets, 0, "Buffer reservation size 2 < x < 64"); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, reconnects, CTLFLAG_RD, &nfs_reconnects, 0, +SYSCTL_INT(_vfs_nfs, OID_AUTO, reconnects, CTLFLAG_RD, &nfs_reconnects, 0, "Number of times the nfs client has had to reconnect"); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW, &nfs3_jukebox_delay, 0, +SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW, &nfs3_jukebox_delay, 0, "Number of seconds to delay a retry after receiving EJUKEBOX"); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_data_onerr, 0, +SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_data_onerr, 0, "Disable weak cache consistency checking when server returns an error"); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, keytab_enctype, CTLFLAG_RW, &nfs_keytab_enctype, 0, +SYSCTL_INT(_vfs_nfs, OID_AUTO, keytab_enctype, CTLFLAG_RW, &nfs_keytab_enctype, 0, "Encryption type for the keytab entry used by nfs"); static void nfs_down(struct nfsmount *, struct thread *, const char *, Modified: projects/pseries/fs/nfs/nfs_commonport.c ============================================================================== --- projects/pseries/fs/nfs/nfs_commonport.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/fs/nfs/nfs_commonport.c Mon May 16 15:23:17 2011 (r221989) @@ -69,14 +69,12 @@ void (*ncl_call_invalcaches)(struct vnod static int nfs_realign_test; static int nfs_realign_count; -SYSCTL_NODE(_vfs, OID_AUTO, newnfs, CTLFLAG_RW, 0, "New NFS filesystem"); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, realign_test, CTLFLAG_RW, &nfs_realign_test, +SYSCTL_NODE(_vfs, OID_AUTO, nfs, CTLFLAG_RW, 0, "New NFS filesystem"); +SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_test, CTLFLAG_RW, &nfs_realign_test, 0, "Number of realign tests done"); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, realign_count, CTLFLAG_RW, &nfs_realign_count, +SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_count, CTLFLAG_RW, &nfs_realign_count, 0, "Number of mbuf realignments done"); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs4acl_enable, CTLFLAG_RW, &nfsrv_useacl, - 0, "Enable NFSv4 ACLs"); -SYSCTL_STRING(_vfs_newnfs, OID_AUTO, callback_addr, CTLFLAG_RW, +SYSCTL_STRING(_vfs_nfs, OID_AUTO, callback_addr, CTLFLAG_RW, nfsv4_callbackaddr, sizeof(nfsv4_callbackaddr), "NFSv4 callback addr for server to use"); Modified: projects/pseries/fs/nfsclient/nfs_clkrpc.c ============================================================================== --- projects/pseries/fs/nfsclient/nfs_clkrpc.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/fs/nfsclient/nfs_clkrpc.c Mon May 16 15:23:17 2011 (r221989) @@ -46,8 +46,6 @@ __FBSDID("$FreeBSD$"); NFSDLOCKMUTEX; -SYSCTL_DECL(_vfs_newnfs); - SVCPOOL *nfscbd_pool; static int nfs_cbproc(struct nfsrv_descript *, u_int32_t); Modified: projects/pseries/fs/nfsclient/nfs_clnfsiod.c ============================================================================== --- projects/pseries/fs/nfsclient/nfs_clnfsiod.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/fs/nfsclient/nfs_clnfsiod.c Mon May 16 15:23:17 2011 (r221989) @@ -80,11 +80,11 @@ static void nfssvc_iod(void *); static int nfs_asyncdaemon[NFS_MAXASYNCDAEMON]; -SYSCTL_DECL(_vfs_newnfs); +SYSCTL_DECL(_vfs_nfs); /* Maximum number of seconds a nfsiod kthread will sleep before exiting */ static unsigned int nfs_iodmaxidle = 120; -SYSCTL_UINT(_vfs_newnfs, OID_AUTO, iodmaxidle, CTLFLAG_RW, &nfs_iodmaxidle, 0, +SYSCTL_UINT(_vfs_nfs, OID_AUTO, iodmaxidle, CTLFLAG_RW, &nfs_iodmaxidle, 0, "Max number of seconds an nfsiod kthread will sleep before exiting"); /* Maximum number of nfsiod kthreads */ @@ -123,7 +123,7 @@ out: mtx_unlock(&ncl_iod_mutex); return (0); } -SYSCTL_PROC(_vfs_newnfs, OID_AUTO, iodmin, CTLTYPE_UINT | CTLFLAG_RW, 0, +SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmin, CTLTYPE_UINT | CTLFLAG_RW, 0, sizeof (nfs_iodmin), sysctl_iodmin, "IU", "Min number of nfsiod kthreads to keep as spares"); @@ -159,7 +159,7 @@ out: mtx_unlock(&ncl_iod_mutex); return (0); } -SYSCTL_PROC(_vfs_newnfs, OID_AUTO, iodmax, CTLTYPE_UINT | CTLFLAG_RW, 0, +SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmax, CTLTYPE_UINT | CTLFLAG_RW, 0, sizeof (ncl_iodmax), sysctl_iodmax, "IU", "Max number of nfsiod kthreads"); @@ -214,7 +214,7 @@ nfsiod_setup(void *dummy) { int error; - TUNABLE_INT_FETCH("vfs.newnfs.iodmin", &nfs_iodmin); + TUNABLE_INT_FETCH("vfs.nfs.iodmin", &nfs_iodmin); nfscl_init(); mtx_lock(&ncl_iod_mutex); /* Silently limit the start number of nfsiod's */ @@ -231,7 +231,7 @@ nfsiod_setup(void *dummy) SYSINIT(newnfsiod, SI_SUB_KTHREAD_IDLE, SI_ORDER_ANY, nfsiod_setup, NULL); static int nfs_defect = 0; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0, +SYSCTL_INT(_vfs_nfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0, "Allow nfsiods to migrate serving different mounts"); /* Modified: projects/pseries/fs/nfsclient/nfs_clsubs.c ============================================================================== --- projects/pseries/fs/nfsclient/nfs_clsubs.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/fs/nfsclient/nfs_clsubs.c Mon May 16 15:23:17 2011 (r221989) @@ -174,9 +174,9 @@ ncl_printf(const char *fmt, ...) #ifdef NFS_ACDEBUG #include <sys/sysctl.h> -SYSCTL_DECL(_vfs_newnfs); +SYSCTL_DECL(_vfs_nfs); static int nfs_acdebug; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, acdebug, CTLFLAG_RW, &nfs_acdebug, 0, ""); +SYSCTL_INT(_vfs_nfs, OID_AUTO, acdebug, CTLFLAG_RW, &nfs_acdebug, 0, ""); #endif /* Modified: projects/pseries/fs/nfsclient/nfs_clvfsops.c ============================================================================== --- projects/pseries/fs/nfsclient/nfs_clvfsops.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/fs/nfsclient/nfs_clvfsops.c Mon May 16 15:23:17 2011 (r221989) @@ -83,18 +83,16 @@ extern struct nfsstats newnfsstats; MALLOC_DEFINE(M_NEWNFSREQ, "newnfsclient_req", "New NFS request header"); MALLOC_DEFINE(M_NEWNFSMNT, "newnfsmnt", "New NFS mount struct"); -SYSCTL_DECL(_vfs_newnfs); -SYSCTL_STRUCT(_vfs_newnfs, NFS_NFSSTATS, nfsstats, CTLFLAG_RW, - &newnfsstats, nfsstats, "S,nfsstats"); +SYSCTL_DECL(_vfs_nfs); static int nfs_ip_paranoia = 1; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs_ip_paranoia, CTLFLAG_RW, +SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_ip_paranoia, CTLFLAG_RW, &nfs_ip_paranoia, 0, ""); static int nfs_tprintf_initial_delay = NFS_TPRINTF_INITIAL_DELAY; -SYSCTL_INT(_vfs_newnfs, NFS_TPRINTF_INITIAL_DELAY, +SYSCTL_INT(_vfs_nfs, NFS_TPRINTF_INITIAL_DELAY, downdelayinitial, CTLFLAG_RW, &nfs_tprintf_initial_delay, 0, ""); /* how long between console messages "nfs server foo not responding" */ static int nfs_tprintf_delay = NFS_TPRINTF_DELAY; -SYSCTL_INT(_vfs_newnfs, NFS_TPRINTF_DELAY, +SYSCTL_INT(_vfs_nfs, NFS_TPRINTF_DELAY, downdelayinterval, CTLFLAG_RW, &nfs_tprintf_delay, 0, ""); static int nfs_mountroot(struct mount *); @@ -152,14 +150,14 @@ struct nfsv3_diskless nfsv3_diskless = { int nfs_diskless_valid = 0; #endif -SYSCTL_INT(_vfs_newnfs, OID_AUTO, diskless_valid, CTLFLAG_RD, +SYSCTL_INT(_vfs_nfs, OID_AUTO, diskless_valid, CTLFLAG_RD, &nfs_diskless_valid, 0, "Has the diskless struct been filled correctly"); -SYSCTL_STRING(_vfs_newnfs, OID_AUTO, diskless_rootpath, CTLFLAG_RD, +SYSCTL_STRING(_vfs_nfs, OID_AUTO, diskless_rootpath, CTLFLAG_RD, nfsv3_diskless.root_hostnam, 0, "Path to nfs root"); -SYSCTL_OPAQUE(_vfs_newnfs, OID_AUTO, diskless_rootaddr, CTLFLAG_RD, +SYSCTL_OPAQUE(_vfs_nfs, OID_AUTO, diskless_rootaddr, CTLFLAG_RD, &nfsv3_diskless.root_saddr, sizeof(nfsv3_diskless.root_saddr), "%Ssockaddr_in", "Diskless root nfs address"); Modified: projects/pseries/fs/nfsclient/nfs_clvnops.c ============================================================================== --- projects/pseries/fs/nfsclient/nfs_clvnops.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/fs/nfsclient/nfs_clvnops.c Mon May 16 15:23:17 2011 (r221989) @@ -199,27 +199,27 @@ static int nfs_renameit(struct vnode *sd */ #define DIRHDSIZ (sizeof (struct dirent) - (MAXNAMLEN + 1)) -SYSCTL_DECL(_vfs_newnfs); +SYSCTL_DECL(_vfs_nfs); static int nfsaccess_cache_timeout = NFS_MAXATTRTIMO; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW, +SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW, &nfsaccess_cache_timeout, 0, "NFS ACCESS cache timeout"); static int nfs_prime_access_cache = 0; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, prime_access_cache, CTLFLAG_RW, +SYSCTL_INT(_vfs_nfs, OID_AUTO, prime_access_cache, CTLFLAG_RW, &nfs_prime_access_cache, 0, "Prime NFS ACCESS cache when fetching attributes"); static int newnfs_commit_on_close = 0; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, commit_on_close, CTLFLAG_RW, +SYSCTL_INT(_vfs_nfs, OID_AUTO, commit_on_close, CTLFLAG_RW, &newnfs_commit_on_close, 0, "write+commit on close, else only write"); static int nfs_clean_pages_on_close = 1; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, clean_pages_on_close, CTLFLAG_RW, +SYSCTL_INT(_vfs_nfs, OID_AUTO, clean_pages_on_close, CTLFLAG_RW, &nfs_clean_pages_on_close, 0, "NFS clean dirty pages on close"); int newnfs_directio_enable = 0; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW, +SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW, &newnfs_directio_enable, 0, "Enable NFS directio"); /* @@ -234,14 +234,14 @@ SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs_di * meaningful. */ int newnfs_directio_allow_mmap = 1; -SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs_directio_allow_mmap, CTLFLAG_RW, +SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_allow_mmap, CTLFLAG_RW, &newnfs_directio_allow_mmap, 0, "Enable mmaped IO on file with O_DIRECT opens"); #if 0 -SYSCTL_INT(_vfs_newnfs, OID_AUTO, access_cache_hits, CTLFLAG_RD, +SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_hits, CTLFLAG_RD, &newnfsstats.accesscache_hits, 0, "NFS ACCESS cache hit count"); -SYSCTL_INT(_vfs_newnfs, OID_AUTO, access_cache_misses, CTLFLAG_RD, +SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_misses, CTLFLAG_RD, &newnfsstats.accesscache_misses, 0, "NFS ACCESS cache miss count"); #endif Modified: projects/pseries/geom/part/g_part.c ============================================================================== --- projects/pseries/geom/part/g_part.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/geom/part/g_part.c Mon May 16 15:23:17 2011 (r221989) @@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$"); #include <sys/mutex.h> #include <sys/queue.h> #include <sys/sbuf.h> +#include <sys/sysctl.h> #include <sys/systm.h> #include <sys/uuid.h> #include <geom/geom.h> @@ -104,6 +105,13 @@ struct g_part_alias_list { { "netbsd-swap", G_PART_ALIAS_NETBSD_SWAP }, }; +SYSCTL_DECL(_kern_geom); +SYSCTL_NODE(_kern_geom, OID_AUTO, part, CTLFLAG_RW, 0, "GEOM_PART stuff"); +static u_int check_integrity = 1; +TUNABLE_INT("kern.geom.part.check_integrity", &check_integrity); +SYSCTL_UINT(_kern_geom_part, OID_AUTO, check_integrity, CTLFLAG_RW, + &check_integrity, 1, "Enable integrity checking"); + /* * The GEOM partitioning class. */ @@ -237,6 +245,7 @@ g_part_check_integrity(struct g_part_tab struct g_part_entry *e1, *e2; struct g_provider *pp; + e1 = e2 = NULL; pp = cp->provider; if (table->gpt_first > table->gpt_last || table->gpt_last > pp->mediasize / pp->sectorsize - 1) @@ -267,9 +276,31 @@ g_part_check_integrity(struct g_part_tab } return (0); fail: - if (bootverbose) - printf("GEOM_PART: integrity check failed (%s, %s)\n", - pp->name, table->gpt_scheme->name); + printf("GEOM_PART: integrity check failed (%s, %s)\n", pp->name, + table->gpt_scheme->name); + if (bootverbose) { + if (e1 == NULL) + printf("GEOM_PART: invalid geom configuration:\n"); + else if (e2 == NULL) + printf("GEOM_PART: invalid partition entry:\n"); + else + printf("GEOM_PART: overlapped partition entries:\n"); + if (e1 != NULL) + printf("GEOM_PART: index: %d, start: %jd, end: %jd\n", + e1->gpe_index, + (intmax_t)e1->gpe_start, (intmax_t)e1->gpe_end); + if (e2 != NULL) + printf("GEOM_PART: index: %d, start: %jd, end: %jd\n", + e2->gpe_index, + (intmax_t)e2->gpe_start, (intmax_t)e2->gpe_end); + printf("GEOM_PART: first: %jd, last: %jd, sectors: %jd\n", + (intmax_t)table->gpt_first, (intmax_t)table->gpt_last, + (intmax_t)pp->mediasize / pp->sectorsize - 1); + } + if (check_integrity == 0) { + table->gpt_corrupt = 1; + return (0); + } return (EINVAL); } Modified: projects/pseries/i386/conf/NOTES ============================================================================== --- projects/pseries/i386/conf/NOTES Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/i386/conf/NOTES Mon May 16 15:23:17 2011 (r221989) @@ -731,6 +731,12 @@ options SAFE_DEBUG # enable debugging s options SAFE_RNDTEST # enable rndtest support # +# glxiic is an I2C driver for the AMD Geode LX CS5536 System Management Bus +# controller. Requires 'device iicbus'. +# +device glxiic # AMD Geode LX CS5536 System Management Bus + +# # glxsb is a driver for the Security Block in AMD Geode LX processors. # Requires 'device crypto'. # Modified: projects/pseries/modules/Makefile ============================================================================== --- projects/pseries/modules/Makefile Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/modules/Makefile Mon May 16 15:23:17 2011 (r221989) @@ -102,6 +102,7 @@ SUBDIR= ${_3dfx} \ fxp \ gem \ geom \ + ${_glxiic} \ ${_glxsb} \ hatm \ hifn \ @@ -419,6 +420,7 @@ _et= et _exca= exca _ext2fs= ext2fs _fe= fe +_glxiic= glxiic _glxsb= glxsb _i2c= i2c _ibcs2= ibcs2 Modified: projects/pseries/nfs/nfs_common.c ============================================================================== --- projects/pseries/nfs/nfs_common.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/nfs/nfs_common.c Mon May 16 15:23:17 2011 (r221989) @@ -361,7 +361,7 @@ nfsm_adv_xx(int s, struct mbuf **md, cad * * We would prefer to avoid this situation entirely. The situation does not * occur with NFS/UDP and is supposed to only occassionally occur with TCP. - * Use vfs.nfs.realign_count and realign_test to check this. + * Use vfs.nfs_common.realign_count and realign_test to check this. */ int nfs_realign(struct mbuf **pm, int how) Modified: projects/pseries/nfsclient/nfs.h ============================================================================== --- projects/pseries/nfsclient/nfs.h Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/nfsclient/nfs.h Mon May 16 15:23:17 2011 (r221989) @@ -107,7 +107,7 @@ #endif /* - * vfs.nfs sysctl(3) identifiers + * vfs.oldnfs sysctl(3) identifiers */ #define NFS_NFSSTATS 1 /* struct: struct nfsstats */ Modified: projects/pseries/nfsclient/nfs_krpc.c ============================================================================== --- projects/pseries/nfsclient/nfs_krpc.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/nfsclient/nfs_krpc.c Mon May 16 15:23:17 2011 (r221989) @@ -93,16 +93,16 @@ static int nfs3_jukebox_delay = 10; static int nfs_skip_wcc_data_onerr = 1; static int fake_wchan; -SYSCTL_DECL(_vfs_nfs); +SYSCTL_DECL(_vfs_oldnfs); -SYSCTL_INT(_vfs_nfs, OID_AUTO, bufpackets, CTLFLAG_RW, &nfs_bufpackets, 0, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, bufpackets, CTLFLAG_RW, &nfs_bufpackets, 0, "Buffer reservation size 2 < x < 64"); -SYSCTL_INT(_vfs_nfs, OID_AUTO, reconnects, CTLFLAG_RD, &nfs_reconnects, 0, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, reconnects, CTLFLAG_RD, &nfs_reconnects, 0, "Number of times the nfs client has had to reconnect"); -SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW, &nfs3_jukebox_delay, 0, "Number of seconds to delay a retry after receiving EJUKEBOX"); -SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_data_onerr, 0, "Disable weak cache consistency checking when server returns an error"); Modified: projects/pseries/nfsclient/nfs_nfsiod.c ============================================================================== --- projects/pseries/nfsclient/nfs_nfsiod.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/nfsclient/nfs_nfsiod.c Mon May 16 15:23:17 2011 (r221989) @@ -78,11 +78,11 @@ static void nfssvc_iod(void *); static int nfs_asyncdaemon[NFS_MAXASYNCDAEMON]; -SYSCTL_DECL(_vfs_nfs); +SYSCTL_DECL(_vfs_oldnfs); /* Maximum number of seconds a nfsiod kthread will sleep before exiting */ static unsigned int nfs_iodmaxidle = 120; -SYSCTL_UINT(_vfs_nfs, OID_AUTO, iodmaxidle, CTLFLAG_RW, &nfs_iodmaxidle, 0, +SYSCTL_UINT(_vfs_oldnfs, OID_AUTO, iodmaxidle, CTLFLAG_RW, &nfs_iodmaxidle, 0, "Max number of seconds an nfsiod kthread will sleep before exiting"); /* Maximum number of nfsiod kthreads */ @@ -121,7 +121,7 @@ out: mtx_unlock(&nfs_iod_mtx); return (0); } -SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmin, CTLTYPE_UINT | CTLFLAG_RW, 0, +SYSCTL_PROC(_vfs_oldnfs, OID_AUTO, iodmin, CTLTYPE_UINT | CTLFLAG_RW, 0, sizeof (nfs_iodmin), sysctl_iodmin, "IU", "Min number of nfsiod kthreads to keep as spares"); @@ -158,7 +158,7 @@ out: mtx_unlock(&nfs_iod_mtx); return (0); } -SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmax, CTLTYPE_UINT | CTLFLAG_RW, 0, +SYSCTL_PROC(_vfs_oldnfs, OID_AUTO, iodmax, CTLTYPE_UINT | CTLFLAG_RW, 0, sizeof (nfs_iodmax), sysctl_iodmax, "IU", "Max number of nfsiod kthreads"); @@ -213,7 +213,7 @@ nfsiod_setup(void *dummy) { int error; - TUNABLE_INT_FETCH("vfs.nfs.iodmin", &nfs_iodmin); + TUNABLE_INT_FETCH("vfs.oldnfs.iodmin", &nfs_iodmin); mtx_lock(&nfs_iod_mtx); /* Silently limit the start number of nfsiod's */ if (nfs_iodmin > NFS_MAXASYNCDAEMON) @@ -229,7 +229,7 @@ nfsiod_setup(void *dummy) SYSINIT(nfsiod, SI_SUB_KTHREAD_IDLE, SI_ORDER_ANY, nfsiod_setup, NULL); static int nfs_defect = 0; -SYSCTL_INT(_vfs_nfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0, "Allow nfsiods to migrate serving different mounts"); /* Modified: projects/pseries/nfsclient/nfs_subs.c ============================================================================== --- projects/pseries/nfsclient/nfs_subs.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/nfsclient/nfs_subs.c Mon May 16 15:23:17 2011 (r221989) @@ -653,9 +653,9 @@ out: #ifdef NFS_ACDEBUG #include <sys/sysctl.h> -SYSCTL_DECL(_vfs_nfs); +SYSCTL_DECL(_vfs_oldnfs); static int nfs_acdebug; -SYSCTL_INT(_vfs_nfs, OID_AUTO, acdebug, CTLFLAG_RW, &nfs_acdebug, 0, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, acdebug, CTLFLAG_RW, &nfs_acdebug, 0, "Toggle acdebug (attribute cache debug) flag"); #endif Modified: projects/pseries/nfsclient/nfs_vfsops.c ============================================================================== --- projects/pseries/nfsclient/nfs_vfsops.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/nfsclient/nfs_vfsops.c Mon May 16 15:23:17 2011 (r221989) @@ -90,25 +90,25 @@ uma_zone_t nfsmount_zone; struct nfsstats nfsstats; -SYSCTL_NODE(_vfs, OID_AUTO, nfs, CTLFLAG_RW, 0, "NFS filesystem"); -SYSCTL_STRUCT(_vfs_nfs, NFS_NFSSTATS, nfsstats, CTLFLAG_RW, +SYSCTL_NODE(_vfs, OID_AUTO, oldnfs, CTLFLAG_RW, 0, "Old NFS filesystem"); +SYSCTL_STRUCT(_vfs_oldnfs, NFS_NFSSTATS, nfsstats, CTLFLAG_RW, &nfsstats, nfsstats, "S,nfsstats"); static int nfs_ip_paranoia = 1; -SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_ip_paranoia, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfs_ip_paranoia, CTLFLAG_RW, &nfs_ip_paranoia, 0, "Disallow accepting replies from IPs which differ from those sent"); #ifdef NFS_DEBUG int nfs_debug; -SYSCTL_INT(_vfs_nfs, OID_AUTO, debug, CTLFLAG_RW, &nfs_debug, 0, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, debug, CTLFLAG_RW, &nfs_debug, 0, "Toggle debug flag"); #endif static int nfs_tprintf_initial_delay = NFS_TPRINTF_INITIAL_DELAY; -SYSCTL_INT(_vfs_nfs, NFS_TPRINTF_INITIAL_DELAY, +SYSCTL_INT(_vfs_oldnfs, NFS_TPRINTF_INITIAL_DELAY, downdelayinitial, CTLFLAG_RW, &nfs_tprintf_initial_delay, 0, "Delay before printing \"nfs server not responding\" messages"); /* how long between console messages "nfs server foo not responding" */ static int nfs_tprintf_delay = NFS_TPRINTF_DELAY; -SYSCTL_INT(_vfs_nfs, NFS_TPRINTF_DELAY, +SYSCTL_INT(_vfs_oldnfs, NFS_TPRINTF_DELAY, downdelayinterval, CTLFLAG_RW, &nfs_tprintf_delay, 0, "Delay between printing \"nfs server not responding\" messages"); @@ -176,14 +176,14 @@ struct nfsv3_diskless nfsv3_diskless = { int nfs_diskless_valid = 0; #endif -SYSCTL_INT(_vfs_nfs, OID_AUTO, diskless_valid, CTLFLAG_RD, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, diskless_valid, CTLFLAG_RD, &nfs_diskless_valid, 0, "Has the diskless struct been filled correctly"); -SYSCTL_STRING(_vfs_nfs, OID_AUTO, diskless_rootpath, CTLFLAG_RD, +SYSCTL_STRING(_vfs_oldnfs, OID_AUTO, diskless_rootpath, CTLFLAG_RD, nfsv3_diskless.root_hostnam, 0, "Path to nfs root"); -SYSCTL_OPAQUE(_vfs_nfs, OID_AUTO, diskless_rootaddr, CTLFLAG_RD, +SYSCTL_OPAQUE(_vfs_oldnfs, OID_AUTO, diskless_rootaddr, CTLFLAG_RD, &nfsv3_diskless.root_saddr, sizeof nfsv3_diskless.root_saddr, "%Ssockaddr_in", "Diskless root nfs address"); Modified: projects/pseries/nfsclient/nfs_vnops.c ============================================================================== --- projects/pseries/nfsclient/nfs_vnops.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/nfsclient/nfs_vnops.c Mon May 16 15:23:17 2011 (r221989) @@ -217,27 +217,27 @@ struct nfsmount *nfs_iodmount[NFS_MAXASY int nfs_numasync = 0; #define DIRHDSIZ (sizeof (struct dirent) - (MAXNAMLEN + 1)) -SYSCTL_DECL(_vfs_nfs); +SYSCTL_DECL(_vfs_oldnfs); static int nfsaccess_cache_timeout = NFS_MAXATTRTIMO; -SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW, &nfsaccess_cache_timeout, 0, "NFS ACCESS cache timeout"); static int nfs_prime_access_cache = 0; -SYSCTL_INT(_vfs_nfs, OID_AUTO, prime_access_cache, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, prime_access_cache, CTLFLAG_RW, &nfs_prime_access_cache, 0, "Prime NFS ACCESS cache when fetching attributes"); static int nfsv3_commit_on_close = 0; -SYSCTL_INT(_vfs_nfs, OID_AUTO, nfsv3_commit_on_close, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfsv3_commit_on_close, CTLFLAG_RW, &nfsv3_commit_on_close, 0, "write+commit on close, else only write"); static int nfs_clean_pages_on_close = 1; -SYSCTL_INT(_vfs_nfs, OID_AUTO, clean_pages_on_close, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, clean_pages_on_close, CTLFLAG_RW, &nfs_clean_pages_on_close, 0, "NFS clean dirty pages on close"); int nfs_directio_enable = 0; -SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW, &nfs_directio_enable, 0, "Enable NFS directio"); /* @@ -252,14 +252,14 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_direc * meaningful. */ int nfs_directio_allow_mmap = 1; -SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_allow_mmap, CTLFLAG_RW, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfs_directio_allow_mmap, CTLFLAG_RW, &nfs_directio_allow_mmap, 0, "Enable mmaped IO on file with O_DIRECT opens"); #if 0 -SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_hits, CTLFLAG_RD, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, access_cache_hits, CTLFLAG_RD, &nfsstats.accesscache_hits, 0, "NFS ACCESS cache hit count"); -SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_misses, CTLFLAG_RD, +SYSCTL_INT(_vfs_oldnfs, OID_AUTO, access_cache_misses, CTLFLAG_RD, &nfsstats.accesscache_misses, 0, "NFS ACCESS cache miss count"); #endif Modified: projects/pseries/powerpc/aim/mmu_oea64.c ============================================================================== --- projects/pseries/powerpc/aim/mmu_oea64.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/powerpc/aim/mmu_oea64.c Mon May 16 15:23:17 2011 (r221989) @@ -1141,8 +1141,6 @@ moea64_zero_page_area(mmu_t mmu, vm_page { vm_offset_t pa = VM_PAGE_TO_PHYS(m); - if (!moea64_initialized) - panic("moea64_zero_page: can't zero pa %#" PRIxPTR, pa); if (size + off > PAGE_SIZE) panic("moea64_zero_page: size + off > PAGE_SIZE"); @@ -1165,9 +1163,6 @@ moea64_zero_page(mmu_t mmu, vm_page_t m) vm_offset_t pa = VM_PAGE_TO_PHYS(m); vm_offset_t va, off; - if (!moea64_initialized) - panic("moea64_zero_page: can't zero pa %#zx", pa); - if (!hw_direct_map) { mtx_lock(&moea64_scratchpage_mtx); Modified: projects/pseries/powerpc/powerpc/platform.c ============================================================================== --- projects/pseries/powerpc/powerpc/platform.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/powerpc/powerpc/platform.c Mon May 16 15:23:17 2011 (r221989) @@ -93,7 +93,7 @@ mem_valid(vm_offset_t addr, int len) for (i = 0; i < npregions; i++) if ((addr >= pregions[i].mr_start) - && (addr + len < pregions[i].mr_start + pregions[i].mr_size)) + && (addr + len <= pregions[i].mr_start + pregions[i].mr_size)) return (0); return (EFAULT); Modified: projects/pseries/sparc64/sparc64/eeprom.c ============================================================================== --- projects/pseries/sparc64/sparc64/eeprom.c Mon May 16 15:20:54 2011 (r221988) +++ projects/pseries/sparc64/sparc64/eeprom.c Mon May 16 15:23:17 2011 (r221989) @@ -107,8 +107,11 @@ DRIVER_MODULE(eeprom, sbus, eeprom_drive static int eeprom_probe(device_t dev) { + const char *name; - if (strcmp("eeprom", ofw_bus_get_name(dev)) == 0) { + name = ofw_bus_get_name(dev); + if (strcmp(name, "eeprom") == 0 || + strcmp(name, "FJSV,eeprom") == 0) { device_set_desc(dev, "EEPROM/clock"); return (0); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105161523.p4GFNIDH087989>