Include firmload. Although it may be used by devices, it's pure

vfs in nature, and therefore it belongs here (can't load a firmware
from a file system without file system support, right?).  Rename
rump_cwdi to cwdi0, since firmload depends on that name (naughty
firmload).
This commit is contained in:
pooka 2009-10-04 13:29:36 +00:00
parent a346a8ca77
commit 8ec501e110
2 changed files with 16 additions and 11 deletions

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile.rumpvfs,v 1.13 2009/09/06 20:42:25 pooka Exp $
# $NetBSD: Makefile.rumpvfs,v 1.14 2009/10/04 13:29:36 pooka Exp $
#
.include "${RUMPTOP}/Makefile.rump"
@ -9,7 +9,8 @@ LIB= rumpvfs
${RUMPTOP}/../kern \
${RUMPTOP}/../miscfs/genfs ${RUMPTOP}/../miscfs/syncfs \
${RUMPTOP}/../miscfs/specfs ${RUMPTOP}/../miscfs/deadfs \
${RUMPTOP}/../compat/common ${RUMPTOP}/../uvm
${RUMPTOP}/../compat/common ${RUMPTOP}/../uvm \
${RUMPTOP}/../dev
#
# Source modules, first the ones specifically implemented for librump.
@ -42,6 +43,10 @@ SRCS+= genfs_io.c genfs_vfsops.c genfs_vnops.c spec_vnops.c
SRCS+= subr_bufq.c bufq_disksort.c bufq_fcfs.c bufq_priocscan.c \
bufq_readprio.c
# dev
# firmload is technically part of rumpdev, but it's pure vfs in nature.
SRCS+= firmload.c
# compat syscalls
SRCS+= vfs_syscalls_50.c compat.c

View File

@ -1,4 +1,4 @@
/* $NetBSD: rump_vfs.c,v 1.25 2009/10/02 18:50:15 elad Exp $ */
/* $NetBSD: rump_vfs.c,v 1.26 2009/10/04 13:29:36 pooka Exp $ */
/*
* Copyright (c) 2008 Antti Kantee. All Rights Reserved.
@ -29,7 +29,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: rump_vfs.c,v 1.25 2009/10/02 18:50:15 elad Exp $");
__KERNEL_RCSID(0, "$NetBSD: rump_vfs.c,v 1.26 2009/10/04 13:29:36 pooka Exp $");
#include <sys/param.h>
#include <sys/buf.h>
@ -54,7 +54,7 @@ __KERNEL_RCSID(0, "$NetBSD: rump_vfs.c,v 1.25 2009/10/02 18:50:15 elad Exp $");
#include "rump_private.h"
#include "rump_vfs_private.h"
static struct cwdinfo rump_cwdi;
struct cwdinfo cwdi0;
static void rump_rcvp_lwpset(struct vnode *, struct vnode *, struct lwp *);
@ -103,10 +103,10 @@ rump_vfs_init(void)
rump_proc_vfs_release = pvfs_rele;
/* bootstrap cwdi */
rw_init(&rump_cwdi.cwdi_lock);
rump_cwdi.cwdi_cdir = rootvnode;
vref(rump_cwdi.cwdi_cdir);
proc0.p_cwdi = &rump_cwdi;
rw_init(&cwdi0.cwdi_lock);
cwdi0.cwdi_cdir = rootvnode;
vref(cwdi0.cwdi_cdir);
proc0.p_cwdi = &cwdi0;
proc0.p_cwdi = cwdinit();
if (rump_threads) {
@ -175,9 +175,9 @@ rump_mnt_destroy(struct mount *mp)
{
/* See rcvp XXX above */
rump_cwdi.cwdi_rdir = NULL;
cwdi0.cwdi_rdir = NULL;
vref(rootvnode);
rump_cwdi.cwdi_cdir = rootvnode;
cwdi0.cwdi_cdir = rootvnode;
mount_finispecific(mp);
kmem_free(mp, sizeof(*mp));