Commit Graph

2460 Commits

Author SHA1 Message Date
njoly
c2f72e5f92 Regen for utimes(2). 2014-05-29 10:42:23 +00:00
njoly
6ef574d8cc Ajust for compat linux utimes(2) change. 2014-05-29 10:41:48 +00:00
justin
129ca10eeb Add missing __diagused in rump code 2014-05-28 20:57:22 +00:00
pooka
77684a56d8 mvphy is not configured, so don't try to build it 2014-05-26 19:55:53 +00:00
pooka
bc09db942d Call biodone() in the bdev_strategy() error via a pointer. Decouples
subr_devsw from VFS -- not that I/O buffers are _VFS_ entities -- and
eliminates the last weak alias from librump, which means things now
fully work on glibc (w/o LD_DYNAMIC_WEAK) and musl.

The whole code path is suspect anyway, since nothing prevents the device
from escaping after the lookup, suggesting that the whole error path
should be handled by the caller, but oh well.
2014-05-25 16:31:51 +00:00
pooka
984f14ab1c Permissions work better if you specify them in octal ...
Also, do an explicit chmod of /tmp to account for cmask getting in the way.
2014-05-23 10:56:36 +00:00
pooka
7b9bf19905 create /tmp at bootstrap, default TMPDIR used by some programs (e.g. ed) 2014-05-22 12:31:28 +00:00
rmind
4ae03c1815 - Split off PRU_ATTACH and PRU_DETACH logic into separate functions.
- Replace malloc with kmem and eliminate M_PCB while here.
- Sprinkle more asserts.
2014-05-19 02:51:24 +00:00
rmind
37af0cc75d Fix RUMP build. 2014-05-18 17:57:44 +00:00
rmind
9cf83d0317 Fix RUMP build. 2014-05-18 14:03:26 +00:00
dholland
7de8c6f8a6 Move lfs_getpages and lfs_putpages to their own file. 2014-05-16 09:34:03 +00:00
pooka
75b2fca271 comment meets reality 2014-05-09 06:12:48 +00:00
hannken
42c8d67c49 Add a global vnode cache:
- vcache_get() retrieves a referenced and initialised vnode / fs node pair.
- vcache_remove() removes a vnode / fs node pair from the cache.

On cache miss vcache_get() calls new vfs operation vfs_loadvnode() to
initialise a vnode / fs node pair.  This call is guaranteed exclusive,
no other thread will try to load this vnode / fs node pair.

Convert ufs/ext2fs, ufs/ffs and ufs/mfs to use this interface.

Remove now unused ufs/ufs_ihash

Discussed on tech-kern.

Welcome to 6.99.41
2014-05-08 08:21:53 +00:00
njoly
fa686015bc Regen for pread/pwrite signature. 2014-05-04 10:31:10 +00:00
njoly
470da95e01 Adjust pread/pwrite signature to match reality. 2014-05-04 10:30:39 +00:00
pooka
30ef45d967 regen 2014-04-27 16:30:09 +00:00
pooka
ab08c00801 unsprinkle const to fix clang build. mmm, travis ci 2014-04-27 16:28:21 +00:00
pooka
0cafe662ce weak alias removal implication: rumpuser_dl_globalsym() can now sleep
with the fishes.
2014-04-27 15:18:59 +00:00
pooka
9251b8c304 Eliminate weak symbols from rump kernel syscall handlers, part 7:
Build component constructors which establish syscalls at boottime.
2014-04-27 15:15:13 +00:00
pooka
97a5db624d Eliminate weak symbols from rump kernel syscall handlers, part 6:
Generate component constructors which establish non-modular syscalls.
2014-04-27 15:13:57 +00:00
pooka
4d8864ed4f Eliminate weak symbols from rump kernel syscall handlers, part 5:
regen syscalls to eliminate weak aliases and link-time initialization
2014-04-27 15:11:22 +00:00
pooka
f7f79bc05e Eliminate weak symbols from rump kernel syscall handlers, part 4:
Do not query system call handlers by using the rumpuser_dl_globalsym()
hypercall -- it will not work in environments which are not in control
of their own symbols (e.g. rumpuser-xen).  Instead, provide
rump_syscall_boot_establish(), which component constructors can use
to establish their non-modular syscalls.
2014-04-27 15:08:52 +00:00
pooka
28fecddfbc Eliminate weak symbols from rump kernel syscall handlers, part 3:
Add a tool to autogenerate callbacks from components to establish system
call handlers for non-modular syscalls.
2014-04-27 15:05:30 +00:00
pooka
c09af715b5 don't invade the __toolchain namespace 2014-04-26 11:23:56 +00:00
pooka
cd5f3c7d0b Move a few stubs to where they really belong; allows us to create
them as strong instead of weak symbols.
2014-04-26 11:23:03 +00:00
pooka
99ad67a71c kill weak aliases which are no longer necessary 2014-04-26 11:17:55 +00:00
pooka
2cd42818a5 cpu_reboot() is more of an emul.c thing than a rump.c thing 2014-04-25 19:56:01 +00:00
pooka
21061bdf88 gardenize: function calls over #ifdefs 2014-04-25 18:31:35 +00:00
pooka
d6ce63669d gardenize rump.c: move data structure helper routines to accessors.c 2014-04-25 18:25:38 +00:00
pooka
10b8dd3fa2 gardenizing rump.c: move rump_lockdebug to locks.c 2014-04-25 18:13:59 +00:00
pooka
65637d8587 regen 2014-04-25 17:50:28 +00:00
pooka
645fbfa079 create multi-inclusion protectors; some compilers don't like duplicate typedefs 2014-04-25 17:50:01 +00:00
pooka
7028473ae3 Init function pointers to nullop() so that callers don't need a dance 2014-04-25 13:20:45 +00:00
pooka
4391c9d4fc g/c no longer necessary weak alias 2014-04-25 13:13:26 +00:00
pooka
a49c814657 regen for etfs move from rumpvfs to rumpkern 2014-04-25 13:11:47 +00:00
pooka
796b9a7a4e Move the etfs linkage from rumpvfs to rumpkern, and replace the
weak alias show with an honest pointer indirection.

No client-visible change. (apart from this version working e.g.
on musl w/ dlopen)
2014-04-25 13:10:42 +00:00
pooka
ddc2c52a0c Automatogically create a function pointer type for each interface. 2014-04-25 13:07:31 +00:00
pooka
d0e2f6013a Remove old HAVE_SUN_LD compat handling, it was there long enough. 2014-04-25 11:49:16 +00:00
pooka
0159a35e80 obsolete the installed <rump/scsitest.h> header and make it private
to tests/dev/scsipi
2014-04-25 00:24:39 +00:00
pooka
8fa17e4756 scsitest is a SCSI target emulator used by one test, and has little
reason to get installed.  Make the component private to the test using
it and obsolete the installed one.

IOW, rename sys/rump/dev/lib/libscsitest -> tests/dev/scsipi/libscsitest
2014-04-24 21:46:44 +00:00
pooka
e1b9adcc58 Make sleepq_wake() type void. The return value hasn't been used in
almost 6 years.  Even if it were, returning an arbitrary lwp is a bit
of a wonky interface and can really work only when expected == 1.
2014-04-24 12:04:28 +00:00
pooka
80733d752e in sleepq_wake(), honor the "expected" parameter 2014-04-24 11:56:11 +00:00
pooka
d6454414fd Add a RUMP_USE_CTOR compile-time switch. If defined, use
__attribute__((constructor)) to determine which rump kernel components
and kernel modules are linked into the rump kernel.  If not defined
(default), use the regular approach with link sets.

This option is aimed to fix problems with toolchains where using link
sets is not possible because the linker does not generate the requisite
__start/__stop symbols for the link set sections (e.g. GNU gold, OS X, ...).
2014-04-23 23:25:45 +00:00
pooka
afbb108620 domains are attached by module(-like) constructors, so no need to
play link_set games with them.
2014-04-23 17:05:18 +00:00
pooka
ee62fa6483 Include LIST_ENTRY() in "struct rump_component".
Main benefit: rump_component_load() can now be called from an
early-running constructor since the routine doesn't need to allocate
memory.
2014-04-23 16:17:55 +00:00
pooka
ad5b64f98f Reparent children of a dying lwproc. Fixes wpa_supplicant -B (and
most likely a bunch of other things).
2014-04-16 22:34:02 +00:00
pooka
db08ffef5a update to new pci_intr_string() 2014-04-15 13:47:06 +00:00
pooka
e9c74271a7 add multi-inclusion protection 2014-04-15 13:41:46 +00:00
pooka
9426d42dd4 build hypercalls if RUMP_PCI_USER is defined 2014-04-14 23:53:42 +00:00
pooka
d1e65a1e3d fix typo 2014-04-14 22:56:53 +00:00