Commit Graph

322 Commits

Author SHA1 Message Date
pooka 1e79b062a3 descend into new subdirs 2010-01-11 02:20:06 +00:00
pooka 3816d47b2c Read mouse events from wsmouse and move a silly curses cursor around
the screen (quite poorly, i might add ;).
2010-01-11 02:18:45 +00:00
pooka 4737161def Add an example program which reads keypresses from the ukbd driver
(via wscons) and simply prints them on screen.
2010-01-11 02:16:51 +00:00
pooka 59962cc85e Stick a top-level subdir-makefile here for easy build-testing. 2010-01-09 16:19:17 +00:00
pooka 8b5875c7e6 Add a simple example of how to run the kernel umass/USB in userspace
and attach it back to the host kernel using pud(4).  The result is
pretty much indistinguisable from if kernel drivers were used.

It's possible to e.g. mount a file system backed by the userspace
block device driver:

golem> disklabel ./rumpsd0d
[...]
5 partitions:
#        size    offset     fstype [fsize bsize cpg/sgs]
 d:   1994752         0     unused      0     0        # (Cyl.      0 -   3895)
 e:   1994512       240      MSDOS                     # (Cyl.      0*-   3895)

golem> s mount_msdos ./rumpsd0a /mnt
mount_msdos: "./rumpsd0a" is a non-resolved or relative path.
mount_msdos: using "/usr/home/pooka/src/umserv/rumpsd0a" instead.
mount_msdos: /usr/home/pooka/src/umserv/rumpsd0a on /mnt: Device not configured

golem> s mount_msdos ./rumpsd0e /mnt
mount_msdos: "./rumpsd0e" is a non-resolved or relative path.
mount_msdos: using "/usr/home/pooka/src/umserv/rumpsd0e" instead.
golem> df -h /mnt
Filesystem                               Size       Used      Avail %Cap Mounted on
/usr/home/pooka/src/umserv/rumpsd0e      974M       5.2M       968M   0% /mnt

etcetc.
2009-12-22 18:36:02 +00:00
pooka ea5f9a0f11 Add a simple terminal program which uses a rump kernel for a ucom@usb
terminal and host terminal stdin/stdout for human interaction.
Tipsy just simply shovels bits between the two.  I can use my
JavaStation Krups (*) serial console with this ... without having
to worry abort those pesky usb drivers crashing my desktop kernel.

*) strictly speaking it's uwe's ;)
2009-12-20 19:50:29 +00:00
pooka eb2ef0c632 Use RUMP_ACTION to avoid having to specify the same information
in the Makefiles of all the consumers.
2009-12-19 15:03:34 +00:00
pooka bbf0fd9dc9 Add an example to show how to print with a rump ulpt driver. 2009-12-15 16:01:50 +00:00
pooka a3b4e31630 Use puffs_kernerr_abort as the error handler. 2009-12-05 20:54:40 +00:00
haad 568f60a3ff Include public interface describing user-kernel interface from include/dev/dm. 2009-12-05 11:44:56 +00:00
haad 902928d6cd Fix some small bugs pointed out byt pooka@. Remove not needed -D defines and
do not include private kernel header files. Instead copy part of it to test
program.
2009-12-05 10:38:27 +00:00
haad 1a5d77acb9 Add small testing program which uses RUMP libdm to test device-mapper
functionality in userspace.
2009-12-04 22:18:30 +00:00
pooka 60c8f07a95 Remove no longer supported suspend code. 2009-12-04 13:43:28 +00:00
pooka c2492298bf * use rump_boot_sethowto()
* fail in a nicer way if interface device is not probed
2009-11-03 18:24:21 +00:00
pooka 8eb3e364e3 fix warnings, update interface to use rump_pub 2009-10-20 02:05:45 +00:00
pooka af40e60966 WARNS 2009-10-14 23:51:52 +00:00
pooka 8a435a0401 WARNS + make compile 2009-10-14 23:51:22 +00:00
pooka f75f5aae15 Try ffs is msdosfs mount fails -- I happened to have one USB stick
where the file system is ffs.
2009-10-13 18:41:06 +00:00
pooka 78869832a2 Add an example program which shows how to do "ifconfig rum0 up".
What makes this special is that the USB driver stack, the rum
driver, network subroutines and net80211 are running in userspace
in a rump kernel instead of in the host kernel.
2009-10-05 13:07:28 +00:00
pooka 27fd3f6531 Add an example program which shows how to mount and read files from
an msdos file system which is located on a usb stick.  What makes
this special is that the USB driver stack (and the file system
driver, of course) is run in rump instead of in the host kernel.
2009-10-05 13:05:31 +00:00
pooka d6331b9a6e * fix error print
* adjust resulting image minsize
2009-09-08 21:51:33 +00:00
pooka 676351e4c4 Add a simple proof-of-concept program which shows how to use the
kernel cgd driver in an application which encrypts and decrypts
files.  The cgd driver is running completely in userspace and
requires no special access privileges.

For example:

golem> dmesg > dmesg.txt

# write encrypted dmesg.txt to encrypted.img
golem> ./img2cgd write encrypted.img dmesg.txt
/cryptfile's passphrase:

# read encrypted.img and output decrypted contents to decrypted.txt
golem> ./img2cgd read encrypted.img decypted.txt
/cryptfile's passphrase:
golem> diff dmesg.txt decypted.txt

# but when entering a different password:
golem> ./img2cgd read encrypted.img decypted.txt
/cryptfile's passphrase:
golem> diff dmesg.txt decypted.txt
Binary files dmesg.txt and decypted.txt differ

Currently the utility writes the data length in a proprietary
format, but I'll convert it to use a real disklabel RSN.  Then it
can be used to create cgd-encrypted disk images.

This program can later be used as a base for a utility to create
cgd-encrypted images of a standard NetBSD build.  Idea for such a
tool and hence the inspiration for this simple example program from
Roland Dowdeswell.
2009-09-08 21:48:25 +00:00
agc fafe105c5c Clean up after moving the iSCSI initiator to src/usr.sbin/iscsi/initiator 2009-06-19 07:27:38 +00:00
ginsbach c8da0e5fef Add the getdate(3) function and getdate_err value, conforming to IEEE
Std 1003.1 (``POSIX.1'') and the Open Group Base Specifications X/Open
System Interfaces extension (``XSI'').
2009-05-14 02:37:35 +00:00
jmmv 0cdcf7cea6 Remove ATF 0.5 from dist/atf and all of the reachover Makefiles used to
build it.  0.6 is going to be imported in external/bsd/atf, with all the
necessary Makefiles in that same hierarchy.
2009-01-19 07:08:14 +00:00
pooka 31a36acc43 puffs_setfhsize() in init 2008-11-26 14:03:48 +00:00
jmcneill 8c98a757f3 Add example pppd configuration for bluetooth DUN with Telus Mobility. 2008-10-29 12:47:08 +00:00
christos 56ed44c4a5 Add an example script to connect to Cingular's 3G service. 2008-10-25 17:43:24 +00:00
christos fc978808f9 fix more A0 2008-09-12 14:40:46 +00:00
pooka 5ed3fcda15 Add -p for presenting the directory listing in the original case. 2008-08-12 15:14:00 +00:00
wiz 3914d9bd61 Add RCS Id. Sort options. Fix xref.
XXX: virtdir(3) does not exist, but I do not know to which page the link
should point instead.
2008-05-25 19:42:22 +00:00
dholland b20bda484e MKMAN should not be set in source makefiles. Use NOMAN. 2008-03-09 22:47:11 +00:00
elad cd05a6ee9b Introduce a new kauth action, KAUTH_NETWORK_NFS, and two requests,
KAUTH_REQ_NETWORK_NFS_EXPORT and KAUTH_REQ_NETWORK_NFS_SVC, and use them
to replace two KAUTH_GENERIC_ISSUSER calls in the NFS code.

Also replace two more with KAUTH_SYSTEM_MKNOD, where appropriate.

Documetnation and examples updated. More to come.
2008-02-28 17:07:49 +00:00
elad 67470a76a1 Factor out the guts of get/setparam so it can be used from the compat code.
Make the FreeBSD and Linux compat code convert the parameters to their
native representation and call the native routines.

Remove KAUTH_PROCESS_SCHEDULER_GET/SET.

Update documentation and examples.

XXX: For now, only the Linux compat code does the priority conversion
XXX: right.

Linux priority conversion code from yamt@, thanks!

Okay yamt@.
2008-02-28 16:09:18 +00:00
elad e99760e7e4 Fold KAUTH_REQ_PROCESS_SCHEDULER_* to KAUTH_PROCESS_SCHEDULER_*. In other
words, don't pass an action and a request, and just use a single action to
indicate what is the operation in question.

This is the first step in fixing PR/37986, which calls for policy/priority
checking in the secmodel code. Right now we're lacking room for another
parameter required to make a decision, and this change makes room for such.
2008-02-16 16:39:34 +00:00
agc fca43256ed make sure we have an __UNCONST definition available, for portability reasons. 2008-02-10 11:02:05 +00:00
agc 5a37868bfa Define the version of the FUSE ABI we're working with specifically.
Don't hand all the argv options to fuse_main() - it's only interested
in the ones we haven't parsed ourselves.

These changes make the initiator compile and perform discovery successfully
on FreeBSD 6.3. Full login doesn't work yet due to a KSE related bug.
2008-02-07 07:33:37 +00:00
agc 5ca5718e92 Set a definitive FUSE ABI before including fuse.h, to avoid situations
where different operating ssystems default to different levels.
2008-02-07 07:21:15 +00:00
elad e43f626d03 Add, document, and use KAUTH_REQ_PROCESS_KTRACE_PERSISTENT. 2008-02-02 21:04:40 +00:00
elad cd23f36378 Replace a KAUTH_GENERIC_ISSUSER in the cpuctl code with a proper kauth
request.

Reviewed by ad@, tested by me.
2008-02-01 20:01:06 +00:00
elad fb37bad459 Use proper kauth(9) actions/requests for native scheduler stuff and the
recently introduced processor-sets.

Discussed with and okay rmind@, yamt@, and christos@.
2008-01-30 17:54:55 +00:00
elad c27d5f30b6 Tons of process scope changes.
- Add a KAUTH_PROCESS_SCHEDULER action, to handle scheduler related
    requests, and add specific requests for set/get scheduler policy and
    set/get scheduler parameters.

  - Add a KAUTH_PROCESS_KEVENT_FILTER action, to handle kevent(2) related
    requests.

  - Add a KAUTH_DEVICE_TTY_STI action to handle requests to TIOCSTI.

  - Add requests for the KAUTH_PROCESS_CANSEE action, indicating what
    process information is being looked at (entry itself, args, env,
    open files).

  - Add requests for the KAUTH_PROCESS_RLIMIT action indicating set/get.

  - Add requests for the KAUTH_PROCESS_CORENAME action indicating set/get.

  - Make bsd44 secmodel code handle the newly added rqeuests appropriately.

All of the above make it possible to issue finer-grained kauth(9) calls in
many places, removing some KAUTH_GENERIC_ISSUSER requests.

  - Remove the "CAN" from KAUTH_PROCESS_CAN{KTRACE,PROCFS,PTRACE,SIGNAL}.

Discussed with christos@ and yamt@.
2008-01-23 15:04:38 +00:00
elad 964f16c2b9 Make fork use kauth.
Been running in my tree for over a month at least.

Reviewed and okay yamt@, and special thanks to him as well as rittera@
for making this possible through fixing NDIS to not call fork1() with
l1 != curlwp.
2008-01-07 23:51:06 +00:00
ad 2ecdf58c2c Remove systrace. Ok core@. 2007-12-31 15:31:24 +00:00
pooka 4d243cfc9d use generic getattr 2007-12-19 14:01:30 +00:00
agc 755a2e55e0 Move to a resizable dynamic array for the targets that the initiator
can find.

If the initiator discovers too many targets for it to handle
(currently more than 16), then truncate to the maximum with a loud
warning message, rather than aborting.

In practice, this means that multiple targets can now be used with the
NetBSD iSCSI initiator.

% ls -laR /mnt/inspiron1300.wherever.co.uk/
total 192
drwxr-xr-x  2 agc   agc    512 Dec 11 08:53 .
drwxr-xr-x  2 root  wheel    0 Jan  1  1970 ..
drwxr-xr-x  2 agc   agc    512 Dec 11 08:53 target0
drwxr-xr-x  2 agc   agc    512 Dec 11 08:53 target1

/mnt/inspiron1300.wherever.co.uk/target0:
total 576
drwxr-xr-x  2 agc  agc        512 Dec 11 08:53 .
drwxr-xr-x  2 agc  agc        512 Dec 11 08:53 ..
lrw-r--r--  1 agc  agc         44 Dec 11 08:53 hostname -> inspiron1300.wherever.co.uk
lrw-r--r--  1 agc  agc          9 Dec 11 08:53 ip -> 10.4.0.42
lrw-r--r--  1 agc  agc         16 Dec 11 08:53 product -> NetBSD iSCSI
-rw-r--r--  1 agc  agc  104857600 Dec 11 08:53 storage
lrw-r--r--  1 agc  agc         43 Dec 11 08:53 targetname -> iqn.1994-04.org.netbsd.iscsi-target:target0
lrw-r--r--  1 agc  agc          8 Dec 11 08:53 vendor -> NetBSD
lrw-r--r--  1 agc  agc          4 Dec 11 08:53 version -> 0

/mnt/inspiron1300.wherever.co.uk/target1:
total 576
drwxr-xr-x  2 agc  agc       512 Dec 11 08:53 .
drwxr-xr-x  2 agc  agc       512 Dec 11 08:53 ..
lrw-r--r--  1 agc  agc        44 Dec 11 08:53 hostname -> inspiron1300.wherever.co.uk
lrw-r--r--  1 agc  agc         0 Dec 11 08:53 ip ->
lrw-r--r--  1 agc  agc        16 Dec 11 08:53 product -> NetBSD iSCSI
-rw-r--r--  1 agc  agc  52428800 Dec 11 08:53 storage
lrw-r--r--  1 agc  agc        43 Dec 11 08:53 targetname -> iqn.1994-04.org.netbsd.iscsi-target:target1
lrw-r--r--  1 agc  agc         8 Dec 11 08:53 vendor -> NetBSD
lrw-r--r--  1 agc  agc         4 Dec 11 08:53 version -> 0
%
2007-12-11 09:07:36 +00:00
oster 0fa5922403 Add a '-D' option to allow "Discovery" of the targets provided by a host.
Initial support for multiple targets from the same host.

Base 'MaxTargets' on a #define, rather than hard-coding.

Reviewed by: agc
2007-12-04 16:22:38 +00:00
wiz 0d78c993a2 Use more markup. Fix xrefs. Use standard headers. 2007-12-02 19:31:46 +00:00
pooka 21913eabe5 Rototill.
Ok, ok, a few more words about it: stop holding puffs_cc as a holy
value and passing it around to almost every possible place (popquiz:
which kernel variable does this remind you of?).  Instead, pass
the natural choice, puffs_usermount, and fetch puffs_cc via
puffs_cc_getcc() only in routines which actually need it.  This
not only simplifies code, but (thanks to the introduction of
puffs_cc_getcc()) enables constructs which weren't previously sanely
possible, say layering as a curious example.

There's still a little to do on this front, but this was the major
fs interface blast.
2007-11-30 19:02:28 +00:00
pooka efe797dc32 * version the registration interface
* destroy all created locks
2007-11-28 16:59:02 +00:00