Commit Graph

14516 Commits

Author SHA1 Message Date
christos
13fe5bd280 Fix SSP build.
XXX: This is gross.
2011-01-25 19:13:26 +00:00
christos
c5d359be42 make pthread__sp unsigned long. 2011-01-25 19:12:04 +00:00
pooka
8c818e7121 fix compilation on -current 2011-01-25 17:37:00 +00:00
pooka
8d51265b11 Use rump_sp consistently in chapter 7
nothing gets past the wizd, nothing.
2011-01-25 14:05:42 +00:00
pooka
46e9c4686a enable WARNS=4 2011-01-25 12:56:57 +00:00
pooka
493a9cc0b3 manual page for rumphijack 2011-01-25 12:56:25 +00:00
pooka
f4ef6bac83 the usual fun for WARNS=4
signed,
  unsigned
2011-01-25 12:53:45 +00:00
pooka
14186479f2 dramatic whitespace fix 2011-01-25 12:21:36 +00:00
pooka
9d0409a087 Rewrite to declare most dual-kernel calls with macros. This helps
with adding new calls and makes all existing fd-accepting hijacked
calls dual-kernel.  It would be better to autogenerate the code
from syscalls.master, but this is easier for now.
2011-01-25 12:18:33 +00:00
matt
787e823fd1 Move IDs into .ident
Use END(x)
Remove a.out support
Make CERROR hidden
2011-01-25 02:38:15 +00:00
njoly
7ef8fa728e Redo Vt macro fixes (from r1.35) which were lost. 2011-01-24 19:37:35 +00:00
pooka
19a57922d0 Add reconnect code to librumpclient. In case the connection to
the kernel server is lost, the client will now automatically attempt
to reconnect.

Among other things, this makes it possible to "reboot" and restart
the TCP/IP stack from under firefox without any perceivable less
of service.  If pages were loading at the time the TCP/IP server
was killed, there may be some broken links, but nothing a ctrl-r
cannot fix.
2011-01-24 17:47:51 +00:00
joerg
86b3b196ed Correctly define inta using a helper macro for the # 2011-01-23 14:08:53 +00:00
matt
6ab334853b Teach libkvm how kernel virtual memory is laided on 64-bit MIPS kernels. 2011-01-23 06:28:52 +00:00
matt
5ae5f9ae2e Instead of testing for all mips variants, just use MACHINE_CPU. 2011-01-23 06:27:32 +00:00
matt
b09982f7da Use uintptr_t instead of u_long.
When fetching argc use off the stack, use *(long *) instead of *(int *)
because on mips64 BE system, that int deference will only fetch 0.
2011-01-23 06:25:57 +00:00
christos
5b63bdc2ba remove stray printf. 2011-01-22 16:24:44 +00:00
pooka
112941441d happiness is a quiet lint 2011-01-22 14:22:10 +00:00
pooka
3b79c0eb90 shush lint 2011-01-22 14:18:55 +00:00
pooka
1d9f8678bd In case sys_reboot() was called by a remote client, put the response
in the socket before we shut down.  This way the response to the
syscall travels to the caller and they know things worked correctly
instead of having to just assume.
2011-01-22 13:41:22 +00:00
christos
f98fcbb075 add may alias attribute to the double union because gcc-4.5.x produces
incorrect code on ARMv7a. From Nikunj Badjatya and Amol Pise.
2011-01-21 23:36:49 +00:00
christos
e6d36a6ae6 prevent resource DoS from brace expansion (from Maksymilian Arciemowicz) 2011-01-21 23:30:31 +00:00
pooka
7d6e6b815c Forgot to commit this a few days ago: need to make sure we get the
right kqueue/kevent now that rumphijack hijacks them.
2011-01-21 10:43:33 +00:00
matt
0da37b7b85 Remove CPUFLAGS?= since it's no longer needed. 2011-01-20 18:41:39 +00:00
pooka
3cc5cc6884 include pid of rump server in hostname 2011-01-20 15:00:12 +00:00
christos
b493b4d721 provide a _sys_getcwd() entry like all the rest of the system calls to be
used by SSP.
2011-01-20 02:57:00 +00:00
bouyer
07247bb748 - Implement prop_{array,dictionary}_copyout(), based on
prop_{array,dictionary}_copyout_ioctl().
- Implement prop_{array,dictionary}_recv_syscall(), which
  takes as parameter the pref we got from kernel and internalize it,
  and unmaps the buffer prop_{array,dictionary}_copyout() mapped for us.
- add a prop_{array,dictionary}_send_syscall() for symetry, which is
  an alias to prop_{array,dictionary}_externalize_to_pref()

Discussed on tech-kern@ and tech-userlevel@
2011-01-19 20:34:23 +00:00
pooka
11b5103ee7 Do the standard dance for sendto/recvfrom since nspluginwrapper
wants to use them.  XXX: need to fold the dance sequence into a
common routine.
2011-01-19 11:27:01 +00:00
matt
8ef507a844 Fix some bugs introduced when switching to new GOT/PLT format. 2011-01-19 02:47:01 +00:00
pooka
dda8526653 fix lp64 snafu (hopefully)
from pgoyette
2011-01-18 23:43:21 +00:00
pooka
d36a58c27d hook librumphijack to the build 2011-01-18 20:09:37 +00:00
pooka
35dfb75868 comment out DBG and NOGCCERROR, use proper LIBDPLIBS form 2011-01-18 19:53:23 +00:00
pooka
f6eee6f557 * attempt to match libc non-compat names (XXX: needs work)
* make shutdown() a dual-stack call
* flip the default to use host for PF_UNIX, since that's generally
  the desired case (because of X)
2011-01-18 19:41:02 +00:00
matt
2f86908fcf Use PRINTOBJDIR to get the object directory of libc and use that with -I. 2011-01-18 16:41:51 +00:00
pooka
2c78c39d6a pollts:
Since fds[] does not go to both kernels, set revents to 0 when
splitting the vector.  Now any stale revents passed by the caller
do not get counted as results for the kernel which did not "win"
the poll.

This fixes a situation where a firefox transfer would occasionally
stall.  Now firefox works full speed with a rump networking stack.
2011-01-18 16:00:04 +00:00
pooka
81ca4f22d1 use -D_REENTRANT (should currently have no effect, but better safe
than sorry if someone adds uses of stdio macros)
2011-01-18 15:00:22 +00:00
pooka
613ebae808 Don't count sparse elements in the poll vector for host fds. 2011-01-18 14:51:14 +00:00
pooka
ac1dfbf509 Fix conversion: there are 1000*1000 nanoseconds in a millisecond, not 1000. 2011-01-18 14:45:30 +00:00
pooka
07d03119a0 Fix dup2 mask so that dup2'ing a rump kernel fd to 1 does not cause
stderr to be treated as a rump kernel fd as well.  Makes e.g.
bozohttpd work better with stderr logging.

Also, add aborty stubs for kqueue.
(implementing kqueue is even trickier than implementing select/poll
since we need to keep state for two kqueue fd's)
2011-01-18 11:04:10 +00:00
matt
57d93d8715 Cleanup the o32 compat build test. 2011-01-18 08:12:05 +00:00
matt
dfe29b1db4 Change to deal with callframe changes 2011-01-18 01:23:24 +00:00
matt
bd081d44b9 Make the MIPS N32/N64 ABIs properly support 128-bit long doubles. With this
change, we should be fully conformant with the N32 and N64 ABIs.
Add {fpclassify,infinity,isnan,ininf,signbit}l_ieee754.c back to lib/libc/gen.
Note that infinityl_ieee754.c will work with either 64-bit, 80-bit, or
128-bit long doubles.
2011-01-17 23:53:03 +00:00
matt
7d92b19968 Make __cerror hidden. 2011-01-17 23:34:44 +00:00
matt
e4100763e4 cleanup format of #ifdef 2011-01-17 23:32:31 +00:00
agc
f9dd05cc12 Hook libisns into the build, and modify the set lists accordingly.
Note the addition of iSNS protocol support in doc/CHANGES

With thanks to Wasabi Systems for contributing the code.
2011-01-17 20:39:03 +00:00
pooka
d8244e0b17 Use host_close() instead of close() where we know it to be the
right interface.
2011-01-17 16:30:09 +00:00
pooka
6054dbc060 Adapt to rump syscall changes. The correct rump compat syscall is
now automatically picked based on the ABI of the target the library
is compiled for.

(the host libc symbolname to override still needs a little attention
based on the system version)
2011-01-17 16:27:54 +00:00
matt
50078c4d66 Add long double functions for eq,ne,gt,le,ge,lt,neg ops. 2011-01-17 10:08:35 +00:00
matt
cbf89944a0 Add -D_REENTRANT 2011-01-17 09:43:56 +00:00
matt
51db1c5cf3 Kill _NOREGNAMES. Everything should be using %rX now. If it doesn't it
soon will.
2011-01-17 08:23:53 +00:00