Commit Graph

11013 Commits

Author SHA1 Message Date
pooka
dbc10b5a41 Add -d which can be used to register host-backed block devices in
the rump kernel.

It would be cool if this, and the other options, could be specified
in a config file (plist or other).
2010-12-14 16:40:05 +00:00
plunky
a8cbf485eb on reflection we can use uintmax_t here instead of trying to decode
the value manually, as only 17 bits are defined and the value is
unlikely to exceed UINTMAX_MAX (would only prevent decoding)
2010-12-14 15:18:20 +00:00
wiz
d5dca2a9ff Fix Xr and use Sx. 2010-12-14 09:39:53 +00:00
pooka
f2ee316255 Add netstat rump client. For now, it always sets -X, i.e. will
use only sysctl and no kvm (implementing /dev/mem for a rump kernel
would probably not be hard, but still a non-zero effort).

Note: since there is absolutely no network activity in a fresh rump
kernel, rump.netstat usually displays exactly nothing when invoked
without parameters.  Arguments like -r, -bi, -p icmp etc. produce
more stuff.
2010-12-13 21:15:30 +00:00
plunky
c7407d6266 add attributes from the Basic Printing Profile v1.2r00 2010-12-13 21:08:37 +00:00
pooka
759b07d20a there's a manpage now ... just not here 2010-12-13 19:39:37 +00:00
pooka
78f20aa8ef manpage 2010-12-13 19:36:34 +00:00
pooka
dde3f793dc Also support ld syntax in -l.
was: -l librumpvfs.so
now: -lrumpvfs
2010-12-13 14:26:22 +00:00
pooka
d3ab3ede2e Add -m which can be used to load modules (which is a completely
different code path than using dlopen() before rump_init(), since
the former uses the in-kernel linker and the latter links the object
in rtld).

So:
golem> ./rump_server -l librumpvfs.so -m /sys/modules/tmpfs/tmpfs.kmod unix:///tmp/commsuck
==>
golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat
NAME             CLASS      SOURCE     REFS  SIZE     REQUIRES
suser            secmodel   builtin    0     -        -
tmpfs            vfs        filesys    0     16713    -
wapbl            vfs        builtin    0     -        -

Source is filesys instead of builtin, as expected.

Notably, for -m you *must* use -l librumpvfs.so.  This is because
you need VFS in your kernel to be able to load modules from the
file system.  In a regular kernel "librumpvfs.so" is linked at
kernel build time and loaded by the bootloader.  Here we use dlopen()
for both effects (the other choices would have been to link
rump_server with -lrumpvfs, but that would limit the flexibility,
or link tmpfs.kmod directly into the binary, but that would limit
the flexibility even more).
2010-12-13 14:13:21 +00:00
pooka
ac0678fe1e Handle -l which dlopens libs. This is more applicable to rump_server
than rump_allserver.

So if I do:

golem> rump_server unix:///tmp/commsuck
==>
golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat
NAME             CLASS      SOURCE     REFS  SIZE     REQUIRES
suser            secmodel   builtin    0     -        -

and:

golem> rump_server -l librumpvfs.so unix:///tmp/commsuck
==>
golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat
NAME             CLASS      SOURCE     REFS  SIZE     REQUIRES
suser            secmodel   builtin    0     -        -
wapbl            vfs        builtin    0     -        -

golem> rump_server -l librumpvfs.so -l librumpfs_ffs.so unix:///tmp/commsuck
==>
golem> env RUMP_SERVER=unix:///tmp/commsuck rump.modstat
NAME             CLASS      SOURCE     REFS  SIZE     REQUIRES
ffs              vfs        builtin    0     -        -
suser            secmodel   builtin    0     -        -
wapbl            vfs        builtin    0     -        -

Well, you get the picture...
2010-12-13 13:32:25 +00:00
pooka
53fb74fd7e Add rump_server which is just like rump_allserver with the exception
that it links in only -lrump instead of everything.  The startup
time difference (especially when attaching a debugger) is noticeable.
2010-12-13 13:29:15 +00:00
dholland
75724edb45 typo in comment 2010-12-13 05:01:56 +00:00
dholland
a0bf60f562 Tables used by parser logic should be const. 2010-12-13 03:36:39 +00:00
dholland
0b6f5dd2c0 Remove stray extern definition that's already in jobs.h. 2010-12-13 03:35:13 +00:00
dholland
460acf6f5e Cosmetic: declare types before variables, group variables by role,
update some comments, format comments properly, etc. No functional
change intended.
2010-12-13 03:32:25 +00:00
dholland
e8acbf7847 Add const necessary for clean non-native build. 2010-12-13 01:48:50 +00:00
pooka
4e63731664 lint hint to previous 2010-12-12 18:33:44 +00:00
pooka
ae8a3e28c6 Reboot when killed (does cleanup). 2010-12-12 18:32:47 +00:00
pooka
c5a6f78a61 note -h caveat 2010-12-12 17:15:16 +00:00
pooka
6b9a77d4e0 use appropriate macro 2010-12-12 12:49:37 +00:00
pooka
78e5870eec utility to halt a rump kernel 2010-12-12 12:48:30 +00:00
pooka
126e32a17e Detach by default or -s to stay-on-top. 2010-12-11 10:44:55 +00:00
sjg
e2f0bc58ba fix style 2010-12-10 00:37:23 +00:00
sjg
d196fd3962 Need to export LC_ALL=C too 2010-12-10 00:36:33 +00:00
sjg
2550dc933f meta_oodate(): we should track 'latestdir' on a per process basis.
Also, only consider target out of date if a not-found file is outside
'CWD'.  Ignore anything in "/tmp/" or tmpdir.
2010-12-09 22:30:16 +00:00
enami
84d4bc7040 Fix SYNOPSIS; pkill accepts -l options since 3 years ago. `pattern' is
mandatory for all commands and `priority' is mandatory for prenice.
2010-12-07 09:00:23 +00:00
wiz
73349a6f21 Be explicit which options are available for prenice. Bump date. 2010-12-07 08:55:52 +00:00
mrg
f2e8961868 add -l support to prenice, as noted by enami. 2010-12-07 07:39:15 +00:00
mrg
1153d206d6 install prenice(1) and man page links. 2010-12-06 21:16:53 +00:00
pooka
13358eb8c2 Insert word "mbuf" to description of -m (so you can search for it).
No functional change.
2010-12-06 09:28:38 +00:00
wiz
c0795be10b Bump date for prenice, add serial comma, and fix an xref. 2010-12-06 08:34:28 +00:00
mrg
79ffd9c9bc add a "prenice <priority> <names>" command.
use it like "prenice -4 mplayer".
2010-12-06 04:00:11 +00:00
pooka
ef4d7c2c36 rumpcrypto now comes as part of RUMPKERNLDADD 2010-12-05 20:12:55 +00:00
pooka
843bb51b69 dumdidumdum, fix name in previous 2010-12-05 17:45:08 +00:00
pooka
6eb225bba1 Add a rump server which comes with all the drivers currently
available.  In terms of modules it maps to:

golem> rump.modstat
NAME             CLASS      SOURCE     REFS  SIZE     REQUIRES
bpf              driver     builtin    0     -        -
cd9660           vfs        builtin    0     -        -
cgd              driver     builtin    0     -        -
dm               driver     builtin    0     -        -
efs              vfs        builtin    0     -        -
ext2fs           vfs        builtin    0     -        ffs
fdesc            vfs        builtin    0     -        -
ffs              vfs        builtin    3     -        -
fss              driver     builtin    0     -        -
hfs              vfs        builtin    0     -        -
kernfs           vfs        builtin    0     -        -
ksem             misc       builtin    0     -        -
layerfs          misc       builtin    2     -        -
lfs              vfs        builtin    0     -        ffs
mfs              vfs        builtin    0     -        ffs
msdos            vfs        builtin    0     -        -
nfs              vfs        builtin    1     -        -
nfsserver        misc       builtin    0     -        nfs
nilfs            vfs        builtin    0     -        -
ntfs             vfs        builtin    0     -        -
null             vfs        builtin    0     -        layerfs
pad              driver     builtin    0     -        -
ptyfs            vfs        builtin    0     -        -
puffs            vfs        builtin    0     -        putter
putter           driver     builtin    1     -        -
scsiverbose      misc       builtin    0     -        -
smbfs            vfs        builtin    0     -        -
suser            secmodel   builtin    0     -        -
swsensor         driver     builtin    0     -        -
sysvbfs          vfs        builtin    0     -        -
tmpfs            vfs        builtin    0     -        -
udf              vfs        builtin    0     -        -
umap             vfs        builtin    0     -        layerfs
union            vfs        builtin    0     -        -
usbverbose       misc       builtin    0     -        -
wapbl            vfs        builtin    0     -        -


In terms of interfaces:
golem> rump.ifconfig -C
shmif virt lo carp


and dmesg:
NetBSD 5.99.41 (RUMP-ROAST) #0: Tue Nov 30 15:35:05 CET 2010
        pooka@pain-rustique.localhost:/usr/allsrc/src/sys/rump/librump/rumpkern
total memory = unlimited (host limit)
timecounter: Timecounters tick every 10.000 msec
timecounter: Timecounter "rumpclk" frequency 100 Hz quality 0
cpu0 at thinair0: rump virtual cpu
cpu1 at thinair0: rump virtual cpu
root file system type: rumpfs
mainbus0 (root)
ugenhc0 at mainbus0
usb0 at ugenhc0: USB revision 2.0
uhub0 at usb0: vendor 0x7275 product 0x6d70, class 9/0, rev 0.00/0.00, addr 1
uhub0: 1 port with 1 removable, self powered
ugenhc1 at mainbus0
usb1 at ugenhc1: USB revision 2.0
uhub1 at usb1: vendor 0x7275 product 0x6d70, class 9/0, rev 0.00/0.00, addr 1
uhub1: 1 port with 1 removable, self powered
ugenhc2 at mainbus0
usb2 at ugenhc2: USB revision 2.0
uhub2 at usb2: vendor 0x7275 product 0x6d70, class 9/0, rev 0.00/0.00, addr 1
uhub2: 1 port with 1 removable, self powered
ugenhc3 at mainbus0
usb3 at ugenhc3: USB revision 2.0
uhub3 at usb3: vendor 0x7275 product 0x6d70, class 9/0, rev 0.00/0.00, addr 1
uhub3: 1 port with 1 removable, self powered
scsitest0 at mainbus0
scsibus0 at scsitest0: 2 targets, 1 lun per target
cd0 at scsibus0 target 1 lun 0: <RUMPHOBO, It's a LIE, 0.00> cdrom removable
Chicony Electronics Chicony Electronics, class 0/0, rev 2.00/1.00, addr 2, uhub0 port 1 not configured
AuthenTec AuthenTec, class 255/255, rev 1.10/6.21, addr 2, uhub1 port 1 not configured
swwdog0: software watchdog initialized
Kernelized RAIDframe activated
pad0: outputs: 44100Hz, 16-bit, stereo
audio0 at pad0: half duplex, playback, capture


There a bunch of other stuff which doesn't show up as any of the
above, plus of course the usb drivers which are probed only if I
have the appropriate hardware plugged into my workstation.
2010-12-05 17:37:32 +00:00
christos
24e17e276b From Aleksey Cheusov: Fix unexpected behavior with:
all: test1 test2
test1:
	@echo ${foo::=foo-text}
test2:
	@echo $(foo::=foo-text)
Saying:
nbmake: Unclosed substitution for foo (} missing)
for test 2
2010-12-02 16:46:22 +00:00
christos
8d8e09f9aa add commented out a possible addition that provides $^ like gmake, but
I am not sure if we should add it, since we already have $> for it.
2010-12-02 16:36:55 +00:00
dholland
3e1a0ddeec Ahem. "Battle" of Wounded Knee? How about "massacre"?
XXX: this file needs a *lot* of attention.
2010-12-02 08:36:02 +00:00
mrg
347cb101f4 properly detect that we aren't od(1) and act as hexdump. fixes hexdump,
which also broke startx (second time this week!)

from mlelstv.
2010-11-28 10:45:32 +00:00
wiz
40472df47e Make SYNOPSIS match usage. 2010-11-28 01:33:37 +00:00
christos
e45d815960 revert and fix the usage to be consistent with other programs. 2010-11-27 20:46:38 +00:00
christos
890fb8eb91 add -H and -e 2010-11-27 19:46:25 +00:00
christos
f18b98792f fix typo (thanks simon) 2010-11-27 16:00:09 +00:00
sjg
1b59e5d011 When a source file moves, make will ignore the stale dependency,
but if the file in question is one that needs to be compiled (.c or .cc),
it still hands the bogus name to the compiler.

If Dir_MTime() cannot find such a file (gn->iParents is not empty),
see if the basename can be found via .PATH, and if so set gn->path to
the found file.   This prevents the stale path being given to the
compiler.

In meta_oodate(), if a referenced file no longer exists, consider the
target out-of-date.

Also, if meta_oodate() decides a target is out-of-date, and it
it uses .OODATE in its commands, we need .OODATE recomputed.
Undo our call to Make_DoAllVar() so that the call from Make_OODate()
will do the right thing.
2010-11-27 05:02:35 +00:00
dholland
bb9db00d5a PR 44156: od -? prints usage for "hexdump" rather than "od" 2010-11-27 00:42:58 +00:00
christos
f8063a37d7 check for NULL before de-referencing. 2010-11-26 15:14:29 +00:00
christos
d670c5cfeb Instead of keeping around the mtime of the youngest child, keep a pointer
to it, so that we can print it when we do the out of date determination.
2010-11-25 21:31:08 +00:00
dholland
436ec2bec5 Improve previous with comments. 2010-11-25 04:33:30 +00:00
dholland
09bec75330 Don't printf time_t with %d; fixes PR 44128 from yamt. With this change it
successfully prints mtimes after 2038.
2010-11-24 22:57:53 +00:00
christos
f6fb458da3 PR/44148: Henning Petersen: catstrg() does not set the resulting string length. 2010-11-24 17:51:11 +00:00