Commit Graph

2824 Commits

Author SHA1 Message Date
martin
0286e529f2 Adapt to e_default_mapaddr signature changes 2015-11-26 15:13:43 +00:00
pooka
35ce72762f Fix argument to empty()
Guess none of the fast-running tests exercised the
component being initialized ...
2015-11-17 01:07:34 +00:00
pooka
eda4460d2b Use IOCONF #define to determine component name.
Avoids having to manually retype info already in .ioconf.

Also, COMPONENT_SIMPLE -> RUMP_COMPONENT=simple.  That way, we can add
other attributes where necessary.  As "future directions", the "ioconf"
attribute for RUMP_COMPONENT can just be removed when a driver is
converted to modular and has a proper modcmd.
2015-11-16 23:27:07 +00:00
pooka
d97f016d89 Always descend into component directories for rumpdescribe. 2015-11-15 16:54:16 +00:00
pooka
33a1fe2a2d describe => rumpdescribe 2015-11-15 13:50:10 +00:00
pooka
4ff6638b3d Make it easier to create rump kernel components, part 1.
Reduce copypasteware for the component constructors.  If a constructor
calls only config_init_component(), handle it from a common source file
instead of copying the same(ish) file around to every component.
2015-11-11 21:52:45 +00:00
knakahara
6cf7ad94f7 if_gif supports rump now. 2015-11-04 23:57:05 +00:00
pooka
298b136976 Allow PCI implementers to specify arbitrary makefile constructs.
(interface subject to change)

from Robert Millan
2015-11-01 22:41:24 +00:00
pooka
730146b26a fix typo: fnctl -> fcntl
from Robert Millan <rmh@gnu.org> via rumpkernel-users
2015-11-01 12:34:28 +00:00
pooka
a75cbaa267 add virtio-scsi component 2015-11-01 09:03:28 +00:00
pooka
b2b6f2602e Add a COMMENT describing what each component roughly does.
"make describe" prints the comment.

Requested/inspired by Vincent Schwarzer on rumpkernel-users
2015-10-19 16:16:32 +00:00
christos
7931040a64 CID 1327233: Expicitly ignore return values of syscalls that don't fail. 2015-10-14 01:33:32 +00:00
pgoyette
d4c18fb9c6 Regen 2015-10-10 03:30:17 +00:00
ozaki-r
4f5bd10ca4 Add lockdebug_barrier
ok pooka@
2015-09-30 02:45:33 +00:00
ozaki-r
63e037b63a Remove redundant UNLOCKED and LOCKED
UNLOCKED and LOCKED are done inside mutex_exit and mutex_enter respectively
so we don't need to do them outside mutex_exit and mutex_enter.

Reviewed by pooka@
2015-09-30 01:31:56 +00:00
christos
e0fbcc46ac regen 2015-09-24 14:58:19 +00:00
pooka
d6c14239ed Use the more widely accepted version of alphabetical order. 2015-09-15 15:09:10 +00:00
pooka
f2aae5969b install <rump/rumperrno2host.h> 2015-09-15 14:57:34 +00:00
pooka
3c87ab877c regen 2015-09-15 14:55:55 +00:00
pooka
2972539674 Generate rump_errno2host(): translates rump kernel errnos to host errnos.
Essentially, it's a partial I-know-what-I'm-doing syscall compat.

Functionality requested by Robert Millan.
2015-09-15 14:55:12 +00:00
pooka
e62609a73b Fully build ugenhc only on archs where libusb is built. 2015-09-14 15:09:35 +00:00
pooka
8d6acaa88c Note in comment why this "d"ma implementation is not in libusb. 2015-09-14 15:08:50 +00:00
pooka
47ff0c720a regen 2015-09-10 16:21:48 +00:00
pooka
4e45dc4d2c Fix #define ERRNO EANOTHERRNO.
Was: #define RUMP_ERRNO EANOTHERRNO
Now: #define RUMP_ERRNO RUMP_EANOTHERRNO

pointed out by Sebastian Wicki on irc
2015-09-10 16:21:32 +00:00
pooka
fb48b34be8 regen 2015-09-10 16:16:35 +00:00
pooka
366a14d44d Ignore multiline IOC macros by default. 2015-09-10 16:14:22 +00:00
pooka
72c697bfc0 Remove solved item. 2015-09-08 12:14:20 +00:00
ozaki-r
068f46fe61 Define NETHER in rumpkernel
This fixes failures of ATF tests running on rump_server.
2015-09-01 03:26:09 +00:00
ozaki-r
879526da38 Hook up lltable/llentry with the kernel (and rumpkernel)
It is built and initialized on bootup, but there is no user for now.

Most codes in in.c are imported from FreeBSD as well as lltable/llentry.
2015-08-31 08:02:44 +00:00
ozaki-r
730ee823a5 Allow rumpkernel to use rw_obj_* 2015-08-31 07:38:48 +00:00
christos
d97cdf2252 Add NOLINT 2015-08-30 08:33:29 +00:00
pooka
f922511816 initialize ncpuonline 2015-08-25 14:53:25 +00:00
pooka
ff90585e5f remove mksysctls(), now provided by init_sysctl_base 2015-08-25 14:52:59 +00:00
pooka
f6f0cd6151 add ncpuonline 2015-08-25 14:47:39 +00:00
pooka
8bb469d326 add cpu_getmodel() 2015-08-25 14:47:26 +00:00
pooka
b368b72cdf some final -Ifoo/opt removal 2015-08-25 00:08:56 +00:00
pooka
e65b78bf49 opt files were nop't 2015-08-24 23:21:50 +00:00
pooka
022c2de05c These "wip" components have been in progress for >5 years. There hasn't
been much progress.  Let's just kill them, they're not even build-tested.
2015-08-24 23:21:16 +00:00
pooka
30abe7e479 don't -I imaginary opt directories 2015-08-24 23:19:33 +00:00
pooka
ef50701008 purge rump/net of component-specific opt directories 2015-08-24 23:04:42 +00:00
pooka
db2a65b8d4 continue consolidating non-modular option files 2015-08-24 23:01:58 +00:00
pooka
6eb3ae7daa Remove individual opt_foo.h files, continue consolidating to opt_rumpkernel.h 2015-08-24 22:52:15 +00:00
pooka
143bba9536 remove librump/rumpnet/opt, consolidate in rump/include/opt 2015-08-24 22:31:33 +00:00
pooka
d0b433d7a7 Remove a bunch of opt files.
It's a cute idea to have component-specific opt files, but also a
completely stupid one since there's no way of knowing how options
transcend component boundaries, and therefore if a set of options is
conflicting or not.  So, just continue concentrating all of opt_foo.h in
opt_rumpkernel.h in accordance with the monolithic opt model.
2015-08-24 22:25:50 +00:00
pooka
916d66f2ac Remove unnecessary DPSRCS+=
-imacros automatically results in a dependency.
2015-08-24 18:17:04 +00:00
pooka
b00f3c3b11 regen 2015-08-24 16:07:10 +00:00
pooka
8dc07d6aab Use BUILDRUMP_IMACROS if specified. 2015-08-24 09:45:44 +00:00
pooka
8affc54712 kill now-unnecessary empty opt files (_KERNEL_OPT'ed probably eons ago) 2015-08-21 12:45:10 +00:00
pooka
5837845c12 Move constant cpp macros from Makefile.rump into opt_rumpkernel.h
(makes cc invocation lines a bit shorter)
2015-08-21 12:39:07 +00:00
christos
8ae7da9704 Remove KERN.ioconf, ksyms does not really need it. 2015-08-21 06:56:12 +00:00
christos
88b7aebae8 XXX: there must be a better way to do this. 2015-08-20 14:27:15 +00:00
christos
838b8310be add ioconf files for pseudo device attach prototypes 2015-08-20 12:20:09 +00:00
christos
2244edcb62 generate ioconf.h for pseudo-device attach prototype 2015-08-20 12:04:30 +00:00
christos
1a4eecf195 use ioconf.h for pseudo-device attach prototypes 2015-08-20 11:59:16 +00:00
christos
50213afafb put back bsd.init.mk 2015-08-20 11:58:26 +00:00
christos
f2fa9ab00d use ioconf files for pseudo-device attach prototypes 2015-08-20 11:51:12 +00:00
pooka
015ffe5bef Don't use KASSERT() to test for external return values, use panic()
from Robert Millan <rmh@freebsd.org>
2015-08-16 11:06:54 +00:00
pooka
2cecb63011 Fix handle typos/pastos in bus_space_barrier() calls 2015-08-11 22:28:34 +00:00
pooka
5ede295be8 Since the rump kernel does not know when the container it's running in
actually halts, print "halted" in the hypercall.
2015-07-24 14:11:11 +00:00
hannken
126bb89545 rump_vfs_mount_print: use vfs_vnode_iterator to print attached vnodes. 2015-07-22 08:36:05 +00:00
justin
d17e40e2f5 Add uname to rump sources 2015-07-07 12:40:13 +00:00
justin
034bfbdba3 Move hw.machine and hw.machine_arch sysctls to base so rump can use them
This allows uname(3) and uname(1) to work on rump kernels.
2015-07-07 12:38:02 +00:00
pooka
dda5ec9669 add brconfig to userland utils 2015-06-29 08:40:52 +00:00
hannken
46401132fa VOP_INACTIVE() is a rump operation, not a specfs operation. 2015-06-23 10:41:32 +00:00
pooka
a3cfad0d94 regen 2015-06-18 15:19:50 +00:00
pooka
b64d94ca7f note RUMP_{,LOCK}DEBUG default values 2015-06-17 11:48:06 +00:00
pooka
adb470c84b Remove unreal allocators, unconditionally use subr_{kmem,pool}.
Will, with other work, allow to tighten the memory allocation hypercall
specification to page-granularity allocations in the future.
2015-06-17 11:46:33 +00:00
pooka
36505d0ef2 Add a "userfeature" definition for iospace. I/O space is supported if
that flag is given and calling the init routine succeeds (and we're on
x86, which we probably need to be on anyway for this PCI component to
currently be supported).

Also, some adjustments to make things between flags consistent, namely
deprecate the Makefile variable RUMP_PCI_IOSPACE and don't require
userfeature.h to map 1:1 to the interfaces.

Includes contributions from Robert Millan.
2015-06-15 15:38:52 +00:00
pooka
fb308390f9 add mixerctl to userland utils 2015-06-15 11:20:18 +00:00
pooka
4e8e1eb1eb fix snafu to enable umass component also for amd64 2015-06-13 23:33:20 +00:00
dholland
d94a1d6201 Punctuate properly. 2015-06-12 17:50:01 +00:00
pooka
4e4d7694bd create /dev/{audio,sound,mixer,audioctl} -> foo0 symlinks
from Robert Millan <rmh@freebsd.org> via rumpkernel-users
2015-06-08 12:18:04 +00:00
pooka
844804c7f8 Allow device components to create symlinks in /dev
e.g. /dev/audio -> audio0

from Robert Millan <rmh@freebsd.org> via rumpkernel-users
2015-06-08 12:16:47 +00:00
pooka
65a710860e Add a "default" alias for RUMP_NBCOMPAT, in case "default" and "all"
stop being the same thing in the future.
2015-06-03 14:40:11 +00:00
pooka
9322d6a704 add rump kernel component for the auich driver
contributed by Robert Millan <rmh@freebsd.org> via private email
2015-06-03 14:06:19 +00:00
pooka
439ccf317e implement bus_dmamem_free()
from Robert Millan <rmh@freebsd.org> via rumpkernel-users
2015-06-03 13:55:42 +00:00
pooka
64f1a6830b Demand that rumpcomp_userfeatures_pci.h is available for providing
information about the hypercall interface implementation.
2015-06-03 13:43:23 +00:00
pooka
57bf183be4 Rework how the external hypercalls are specified, more in the direction of
something general.  I'm not sure if it's entirely general yet (since PCI
is the only place to use it), but at least a step in the right direction.
2015-06-03 13:41:56 +00:00
pooka
7a8f766478 Add "all" and "none" as acceptable RUMP_NBCOMPAT value aliases to
undefined and empty, respectively.
2015-06-03 10:49:14 +00:00
pooka
f70d97a184 Annual update of deleting one entry. At this rate the TODO will be
empty in 2038!
2015-06-03 10:23:08 +00:00
pooka
7c06b62e62 In case pagedaemon can't release any more memory, use kpause() instead
of cv_timedwait() on the pagedaemon condvar -- it's no use constantly
waking the pagedaemon up for new memory allocation attempts, as will
happen e.g. if new network connections are constantly pouring in.
2015-06-02 14:07:48 +00:00
hannken
d8868b1ee7 Change lfs from hash table to vcache.
- Change lfs_valloc() to return an inode number and version instead of
  a vnode and move lfs_ialloc() and lfs_vcreate() to new lfs_init_vnode().

- Add lfs_valloc_fixed() to allocate a known inode, used by kernel
  roll forward.

- Remove lfs_*ref(), these functions cannot coexist with vcache and
  their commented behaviour is far away from their implementation.

- Add the cleaner lwp and blockinfo to struct ulfsmount so lfs_loadvnode()
  may use hints from the cleaner.

- Remove vnode locks from ulfs_lookup() like we did with ufs_lookup().
2015-05-31 15:48:02 +00:00
pooka
1c07d29649 Add a rump kernel component for the tap device.
from Wei Liu <wei.liu2@citrix.com> via private email
2015-05-29 12:32:23 +00:00
pooka
8109843429 implement DIOCGMEDIASIZE, from Martin Lucina 2015-05-26 16:48:05 +00:00
pooka
0ba8e59f87 Implement fo_poll so that rump_sys_poll(stdout) works
more or less as expected.

from Martin Lucina <martin@lucina.net> via rumpkernel-users
2015-05-26 15:29:39 +00:00
ozaki-r
b71bd7bda7 Remove leftover IPX-related stuffs
No objection on tech-kern and tech-net.
2015-05-25 08:29:01 +00:00
pooka
521e7b5ba9 Add a rump kernel components for USB PCI host controllers. 2015-05-20 12:21:38 +00:00
pooka
1e2e59a64c Rename usb_at_ugenhc.c to the more generic usb_at_hc.c now that
host controllers beyond ugenhc are attached.
2015-05-20 11:53:08 +00:00
pooka
65e29fe174 also attach usb@{e,o,u}hci 2015-05-20 11:51:32 +00:00
pooka
44fa683b9a build dev_verbose.c 2015-05-20 11:22:54 +00:00
pooka
e63dc818ef call loginit() later, a lot later 2015-05-20 11:02:54 +00:00
pooka
a757287dfa Rewrite rules so that makesyscalls.sh will not be executed multiple
times in a parallel make.

Hopefully fixes sporadic build failures reported by Justin
2015-05-18 17:49:16 +00:00
pooka
412bc0ef8d Add pciide_machdep_compat_intr_establish().
Used by ... would you believe pciide?
2015-05-17 13:51:31 +00:00
pooka
4bf92fe14f Implement bus_space_read/write_multi() and bus_space_subregion().
Used by (at least) wdc.
2015-05-17 13:45:37 +00:00
pooka
c67798ece2 Autogenerate /dev/ldNx nodes based on which units attached instead of
hardcoding some arbitrary value for N.
2015-05-16 15:03:12 +00:00
pooka
61248571de Satisfy yet another non-modular driver still requiring a manual init call. 2015-05-16 13:59:00 +00:00
pgoyette
50b0fae6fd Regenerate 2015-05-13 02:13:08 +00:00
christos
524046d70c PR/975220: Check return of kthread_create 2015-05-10 14:05:22 +00:00
christos
65bd814e25 CID 274829: Check error from fd_getfile to avoid NULL deref immediately
after.
2015-05-10 14:00:42 +00:00
pgoyette
5608b80ca0 Regen for changes related to separation of compat_sysv syscalls into a
separate module.
2015-05-10 08:13:41 +00:00