Subject: Where/how is rootvp set in kernel initialisation?
To: None <tech-kern@netbsd.org>
From: None <nigel@ind.tansu.com.au>
List: tech-kern
Date: 09/19/2000 11:42:03
Background: I am the maintainer of the Booter program for the Mac68k
port, and I am trying to build a MacOS program which uses
the actual kernel code for doing FFS volume manipulation
(instead of the hacked old UFS code it uses now).
archive, and a hacked together main. When my main does the
guts of vfs_mountroot(), it accesses non-existant memory when
ffs_mountroot() calls ffs_mountfs() with rootvp.
(basically, vinvalbuf() does a VSYNC, but because
rootvp is not set to anything but NULL, v_op is invalid)
I have searched through the kernel source, and these are the
only three places that seem to set rootvp:
coda_vfsops.c : coda_mount()
vfs_getcwd.c : sys___getcwd()
kernfs_vfsops.c : kernfs_unmount()
Assuming that I haven't stuffed up in my searching,
which of these is called (indirectly) from init_main(), and why ?
--
| Nigel Pearson, nigel@ind.tansu.com.au | "Reality is that which, |
| Telstra NW-D, Sydney, Australia. | when you stop believing |
| Office: 9206 3468 Fax: 9212 6329 | in it, doesn't go away." |
| Mobile: 0408 664435 Home: 9792 6998 | Philip K. Dick - 'Valis.' |