Commit Graph

16660 Commits

Author SHA1 Message Date
matt 1729cd5b7e For O32, don't save $gp on the stack, save $s0 instead and just keep $gp
in $s0.
2013-06-30 08:00:34 +00:00
matt 138bf8b9ef When opening a ttys files, try path.<machine> first. This helps
machine archs which have multiple ttys files (arm, mips, powerpc, m68k, sh3)
2013-06-30 07:50:54 +00:00
yamt 006f500d6a add "maxthread" tunable to login.conf to adjust RLIMIT_NTHR.
PR/47626
ok'ed by christos
2013-06-29 04:52:55 +00:00
matt 350cb9bc6c Switch arm, earm, powerpc to use crtbegin.c
Use -fpie for crtbegin.
2013-06-27 21:24:39 +00:00
matt 2943b5ff66 Add -fPIC to compile of crtbeginS.o 2013-06-27 03:37:21 +00:00
matt cd85a4cc3f Use t1 instead of v1 2013-06-26 08:38:34 +00:00
matt 47068b9c70 Deal with O32 callling sequences. 2013-06-25 16:51:14 +00:00
matt 83cc2631c1 Initialize $gp 2013-06-25 16:47:47 +00:00
matt a4bddaaec2 Reorder to avoid !exists
Add a crtbegin.h dependency
2013-06-25 07:18:02 +00:00
matt 86ffe64b94 Use .long not .word
Use _ENTRY
[with these changes, the crtstuff passes its ATF tests.]
2013-06-25 00:30:07 +00:00
matt 611f5afec5 Use (target1) for .init/fini array entries 2013-06-24 20:56:18 +00:00
joerg 5f5c1f0096 Fix header guard, courtesy of clang. 2013-06-24 17:28:35 +00:00
matt e9cee35b87 Make sure dwarf_eh_object is 8 words long. 2013-06-24 14:53:42 +00:00
matt 08257f91d2 Like the rest, make __DTOR_LIST__ start with a -1
Make sure dwarf_eh_object is 8 words long.
2013-06-24 14:49:55 +00:00
matt 21ba1833d3 Make dwarf_eh_object is 8 words long 2013-06-24 14:49:13 +00:00
joerg 5b92de54be Add some more clues on what is needed to add a new platform. 2013-06-24 14:27:35 +00:00
wiz ec0c2a14eb Fix xref. 2013-06-24 07:56:49 +00:00
riastradh 82db4b9858 Replace consttime_bcmp/explicit_bzero by consttime_memequal/explicit_memset.
consttime_memequal is the same as the old consttime_bcmp.
explicit_memset is to memset as explicit_bzero was to bcmp.

Passes amd64 release and i386/ALL, but I'm sure I missed some spots,
so please let me know.
2013-06-24 04:21:19 +00:00
riastradh d1790daeea Add consttime_bcmp(3) and explicit_bzero(3) to makefile and set lists. 2013-06-24 01:12:08 +00:00
riastradh 75f5a58349 Add man pages and xrefs for consttime_bcmp and explicit_bzero.
ok wiz
2013-06-23 16:44:06 +00:00
wiz ac1c6f9496 Put code example on its own line, using Dl.
Ok christos
2013-06-23 08:38:41 +00:00
matt 874f26f67e Add EABI (aeabi) support 2013-06-23 06:19:55 +00:00
dholland 0980ff6f74 add missing word 2013-06-23 01:44:22 +00:00
matt 2ad451b6ca Add a common crtbegin.c file and use a machine dependent crtbegin.h to
fill in .init/.fini.
Add mips support for USE_COMPILERCRTSTUFF=no (compiled only)
2013-06-22 02:37:09 +00:00
matt 6a4f94a035 Allow crtbegin to be a C file. 2013-06-22 02:21:58 +00:00
matt be5ef6fb34 USE_COMPILERCRTSTUFF=no support for vax. 2013-06-21 15:54:08 +00:00
wiz 1125395d6b Punctuation nit.
(Shouldn't the whole line be .Dl or .Bl -literal instead?)
2013-06-21 08:18:24 +00:00
christos fd65ca0108 use login_getpwclass() everywhere for consistency. 2013-06-20 20:54:52 +00:00
christos d93337995d document login_getpwclass(3) 2013-06-20 20:42:30 +00:00
christos 5101b66eab Add missing .go and fix lint rule. 2013-06-20 19:49:47 +00:00
msaitoh 7af86a8aeb Fix compile error. 2013-06-20 17:53:01 +00:00
matt 57df06aa6b modsi3/umodsi3 is not needed for earm since __aeabi_*divmod takes care of it. 2013-06-20 07:18:40 +00:00
yamt 32786d7c5c fix timezone bugs in rev.1.11 and rev.1.13. PR/47916. 2013-06-12 01:46:07 +00:00
yamt fbfa30e437 add rcsid 2013-06-12 01:31:24 +00:00
kardel 01ae5b4204 Bring description in sync with errors-section and implementation reality.
(changing super-user only flags is not silently ignored)
2013-06-08 06:05:03 +00:00
christos 59aa3006a2 Add a debugging format that prints all the fields with names. 2013-06-07 17:23:26 +00:00
roy 1535311f47 Whitespace 2013-06-07 13:16:18 +00:00
pooka 69c4f929cd FreeBSD does the Solaris-like map->l_addr boogie.
from Ben Gras
2013-06-04 15:17:28 +00:00
pooka 394c73a3c4 minor terminology and generality fixes
"no functional change"
2013-05-31 16:25:24 +00:00
riastradh 5cb75bff7e Fix amd64 feraiseexcept so that it actually traps.
The call to fwait got lost somewhere along the line; the i387 code
has it.

XXX pullup to 6
2013-05-29 02:27:39 +00:00
riastradh 0eddede86f Fix sense of fegetexcept on x86.
Somehow I overlooked this when I fixed feenableexcept and
fedisableexcept last summer.

XXX pullup to 6
2013-05-29 00:53:19 +00:00
christos 8265b8412c mark __libc_thr_exit_stub dead here too 2013-05-28 17:29:41 +00:00
joerg 85a67e61f7 Add mbsnrtowcs and wcsnrtombs. Approved by core. 2013-05-28 16:57:56 +00:00
christos 45fd2d25ac expose rl_catch_signals and explain what we are doing. 2013-05-28 00:10:34 +00:00
christos 3cf221a53b Test early for EOF to avoid infinite loop in the wide char case. From
Linas Vepstas: linasvepstas at gmail dot com
2013-05-27 23:55:55 +00:00
martin 56f02cd141 Fix POLYD/Mariah fallout and include the scalbn sources (which do not
use polyd).
Fix global names and weak aliases.
2013-05-24 12:45:40 +00:00
wiz 15848daca9 More markup. Merge two error entries for the same error. 2013-05-24 09:35:11 +00:00
enami d47f3c1bfa Update ERRORS section:
- Remove some system calls from the list of functions which may set errno
  during the execution of realpath(3) since they are no longer used
  to implement it.
- Document some errno set by the realpath(3) itself.
2013-05-24 03:20:18 +00:00
mlelstv bec369833b Correctly alias the ldexp* functions to the scalbn equivalents
that take an int argument.
2013-05-20 20:27:43 +00:00
joerg 65098ec1a4 Fix ldexp aliases. 2013-05-20 19:40:09 +00:00
mlelstv d896c3b677 Use correct alias for scalbn(). Tested by martin@. 2013-05-20 15:13:36 +00:00
christos eb9ea33272 don't cast malloc 2013-05-19 21:45:00 +00:00
martin 6883e0df33 Try to fix bogus underflow test (obvious copy & pasto) - someone please
review to make sure I got it right.
This fixes PR 47834.
2013-05-19 20:50:02 +00:00
christos d3a4e77c47 from kre: Don't fail if we are seeking on a pipe, clear the append bit
since we always append.
2013-05-19 17:07:04 +00:00
joerg e0ac190e1e Provide explicit LC_C_LOCALE accessor and drop the various NULL checks.
Provide LC_GLOBAL_LOCALE in a way that works with all locale functions.
Merge constant data used by the initial global locale and the C locale.
Drop function call layer for _current_locale() and directly return the
locale reference, not a pointer to it. Use protected access for global
variables, so that libc references can avoid the GOT overhead.
2013-05-17 12:55:56 +00:00
wiz 890db9708a More markup, less typos. 2013-05-15 22:09:32 +00:00
pooka 03395b4cf5 also, bsd.own.mk to pick up mk.conf 2013-05-15 20:47:20 +00:00
pooka 5666bf4b73 Make it possible for external parties to specify additional dplibs.
This is useful for example on platforms which require -ldl.
2013-05-15 20:27:00 +00:00
pooka 907ce8379e Improve documentation on the locking order of cv_wait mtx/cpu. 2013-05-15 17:53:09 +00:00
pooka 3306a659de Add a generalized rumpuser_syncfd() call which allows the caller
to request a sync or a barrier for fd.
2013-05-15 15:57:01 +00:00
pooka 601de6b09f Pass off_t over the hypercall interface as int64_t to avoid potential
problems in setups where off_t doesn't want to be 64bit.

I'm already excitedly waiting for 128bit off_t and _LARGE_LARGE_FILES
2013-05-15 14:58:24 +00:00
pooka 15dc8bf975 Pass enums over the hypercall interface as ints to avoid some
pathological scenarios from arising in setups where enums might be
of a different size in the rump kernel and hypervisor.
2013-05-15 14:52:49 +00:00
pooka d0d5069c1a Add RUMPUSER_LWP_CLEAR instead of overloading RUMPUSER_LWP_SET.
This simplifies some alternative hypervisor implementations.
2013-05-15 14:07:26 +00:00
christos 748fc2c7c9 CVE 1020946: Fix res leak. 2013-05-13 17:54:55 +00:00
christos 961429e30c CVE 1020938: Fix memory leak 2013-05-13 13:59:39 +00:00
wiz 9da71ac3fd conforms -> conform, since it's the verb for three nouns and thus plural. 2013-05-12 10:44:23 +00:00
rodent f53b79ea5c s/conform/conforms/1 2013-05-11 19:20:30 +00:00
christos 53c7ca1dc2 s/inherited/inherit/ 2013-05-10 21:06:14 +00:00
wiz ce13c0c0df New sentence, new line. Fix minus. Avoid <>.
Remove trailing whitespace.
2013-05-08 18:18:32 +00:00
christos 814d1846cc Clarify which functions are only in libresolv. 2013-05-08 18:06:46 +00:00
christos f50e99db7e welcome to 2013c! 2013-05-08 15:49:43 +00:00
christos 1eb9e03aa2 - add __clnt_sigfillset() that does not blindly block all signals but excludes
the tty generated ones (int, quit, tstp), plus term and hup. This makes
  command line clients behave on connect(2) where before they would need
  to be killed from a different tty. Much easier than making the file
  descriptor non-blocking for the duration of connect and then using
  pselect/pollts to detect when actual connection or timeout occured using
  a different sigmask.
- factor out some of the error paths.
2013-05-07 21:08:44 +00:00
pooka af9586a1db need the rw_downgrade/tryupgrade methods too 2013-05-07 16:40:31 +00:00
pooka c0e1ad2997 update to recent interface changes 2013-05-07 15:37:05 +00:00
pooka 059f8df6f9 include stdint.h before rumpuser.h (on some platforms it doesn't get
there automagically)
2013-05-07 15:18:35 +00:00
wiz 9ce1a24bd5 End sentence with a dot. 2013-05-06 13:29:12 +00:00
jdc b29886d4e9 Extend does_ctrl_o() to compare exit attribute and ext ACS sequences. 2013-05-05 14:24:05 +00:00
jdc cab30aac1c Also merge in background attributes. 2013-05-05 14:23:16 +00:00
jdc 80b874e08a Add extra debugging when copying window contents. 2013-05-05 14:22:07 +00:00
pooka 302678cea5 Initialize rw->downgrade when allocating a rwlock.
should/might/etc fix recent test hangs reported by martin & pgoyette
2013-05-05 12:27:38 +00:00
skrll 3defc39379 Whitespace 2013-05-05 10:26:57 +00:00
wiz 70daec796f Grammar. 2013-05-04 19:17:38 +00:00
christos b5fd8f5747 _ss improvements 2013-05-04 18:35:53 +00:00
christos e72cf68c19 move prototypes to stdio.h 2013-05-04 18:31:47 +00:00
wiz 3a2c836a74 New sentence, new line. 2013-05-03 21:13:34 +00:00
wiz 1747869c0f Fix some punctuation nits and bump date for previous. 2013-05-03 20:27:16 +00:00
wiz c602ca6ae7 Use more markup, add a serial comma, fix a typo. 2013-05-03 20:24:26 +00:00
wiz 2753405618 Use more markup. 2013-05-03 20:21:24 +00:00
christos dfecb5b774 document AI_SRV 2013-05-03 19:34:54 +00:00
christos c641632a69 PR/32373, PR/25827: Add SRV lookup in getaddrinfo(3)
Per DNS-SD (RFC 2782), but only enabled if AI_SRV is set.
2013-05-03 19:31:13 +00:00
christos 0a312e0850 KNF, whitespace police -- no code changes 2013-05-03 19:24:52 +00:00
pooka cfbb87e05b Support proper rw_downgrade() semantics. 2013-05-03 00:23:49 +00:00
pooka 92e27cb3c3 reorder for better locality. no functional change. 2013-05-02 22:07:57 +00:00
pooka f448fededb update for previous change 2013-05-02 21:47:12 +00:00
pooka 5606f9bf46 Ok, maybe using int64 for nanoseconds in the (sec,nsec) tuple was
a bit too future-proof.  I think long is enough there (let's just
hope nobody redefines "nano").  Also, make seconds signed just in
case someone wants their clock to be in 1901.
2013-05-02 21:45:28 +00:00
pooka f950fd3d52 Push rwlock upgrade and downgrade into the hypervisor where there's
at least a chance to implement them with minimal fuss.
2013-05-02 21:35:19 +00:00
pooka 9a6702d07c Retry enabling spin mutexes. We should be able to avoid poking the
scheduler by just making wakeup from cv_wait() honor the same locking
order as when a spin mutex is acquired though mutex_enter().
*fingers crossed*
2013-05-02 20:33:54 +00:00
pooka 939c69c331 Inform the rump kernel hypervisor of valid thread contexts so
that the implementation can allocate and release storage for them
in an optimal fashion, if necessary.
2013-05-02 19:14:59 +00:00
pooka 5fe33bdc4b Clear rwlock's "writer" field when releasing the lock. Otherwise it might
have been possible for "readers" to reach visibility before "writer"
when another CPU took the lock, thus leading the previous owner to
incorrectly think that it still owned the lock in rw_write_held().

Also, remove duplicate clause from assert().
2013-05-02 16:49:08 +00:00
pooka 75af291e99 add HISTORY 2013-05-02 15:32:19 +00:00
pooka 47795d39b6 expand the intended usage of rumpuser_open() 2013-05-02 12:27:08 +00:00
pooka 0835f1cded update and bump date 2013-05-02 11:32:44 +00:00
matt b1fc4bee02 Add getbyteorder() call. 2013-05-02 07:17:09 +00:00
pooka a4068b6249 avoid Wunused on !NetBSD 2013-05-01 17:17:54 +00:00
matt 8f0edf9e8a Fix feclearexcept return value (should be 0). 2013-05-01 04:04:54 +00:00
matt 745c75b88e Use MKSOFTFLOAT = no for including arm hardfloat files.
When arm and MKSOFTFLOAT = yes, make explicit dependency to .c files
so .S won't be used.
2013-05-01 04:04:31 +00:00
joerg 56cae1058e Provide scalbln weak alias. Fix argument order for STRONG_ALIAS.
Expect WEAK_ALIAS and STRONG_ALIAS to exist.
2013-04-30 21:55:31 +00:00
pooka f1e974670d +reference
XXX: this manpage is hideously out-of-date
2013-04-30 21:21:24 +00:00
pooka aed84d6b35 document the hypercall interface 2013-04-30 21:18:40 +00:00
skrll 361e2d0ba7 include assym.h 2013-04-30 19:42:56 +00:00
pooka 152588e3a9 Flip parameter order in the clock hypercalls to make them consistent
with everything else wrt in/out parameters.
2013-04-30 16:03:44 +00:00
skrll 3e638bdccb Don't hardcode offset in assembler. This ensures the return value in the
context is the correct value (0) on earm*
2013-04-30 15:59:34 +00:00
pooka 6601e4ea9f put optional modules on a separate SRCS line 2013-04-30 15:48:29 +00:00
pooka 2e5a2855bd make this build/work again 2013-04-30 13:37:03 +00:00
pooka c46eb786b4 In kthread_create(), pass the priority and cpu index down to the
rump kernel hypervisor (though the current implementation doesn't take
advantage of them).
2013-04-30 13:29:28 +00:00
pooka be085dcd72 Translate error codes between the hypervisor and rump kernel. 2013-04-30 12:39:20 +00:00
skrll 094d684a50 Don't hardcode offset in assembler. This ensures the return value in the
context is the correct value (0) on earm*
2013-04-30 12:24:31 +00:00
pooka 8f668dabd5 Some systems don't provide preadv/pwritev (hi Solaris!), so implement
that with lseek + readv/writev instead (and avoid rewinding the
pointer with soon-to-be documentation).
2013-04-30 11:26:26 +00:00
matt 194fd46747 Make this compile for earmhf 2013-04-30 01:45:13 +00:00
matt 9163f0b126 Include softfloat-for-gcc.h for __ARM_EABI__ to get aeabi aliases. 2013-04-30 01:44:07 +00:00
matt 780a5525be ARM EABI needs left shift logical too. 2013-04-30 01:43:01 +00:00
matt 7d2c6b2414 Match against LIBC_MACHINE_ARCH for MKCOMPAT 2013-04-30 01:42:03 +00:00
matt 56616ffc4c earm -> earm* 2013-04-30 01:41:01 +00:00
joerg 81d0329e8d Make that to process PATH_LOCALE the first time _find_category is
called. Use this to implement newlocale and provide duplocale/freelocale
as well. Based on patches by Takehiko Nozaki with simplications and fix
for the init order by myself.
2013-04-30 00:45:04 +00:00
pooka 32a34307fa Make hypercall calling conventions consistent: iff a hypercall can fail,
it returns an int containing the error value.
2013-04-30 00:03:52 +00:00
pooka 0dc3609e1c Reduce hypercalls related to reading to essentially an amalgamation
of readv and preadv.  ditto for writing.  Hypercalls are so seldomly
used that it doesn't justify 3x the calls for syntactic sugar.
2013-04-29 20:08:48 +00:00
pooka 86c3d1928f Make rumpuser_dl_bootstrap() optional for platforms which don't
provide dynamic linking.
2013-04-29 18:00:19 +00:00
pooka 810cff61f8 Replace the various "get info from hypervisor" interfaces with one
unified rumpuser_getparam(), and make it return a plist.  The
contents can come e.g. from the env or a config file.  Make
identifiers starting with an underscore denote system identifiers
which must be implemented by hypervisor. (yea, j/k about the plist bit)
2013-04-29 17:31:05 +00:00
pooka 25df76591e The fsync hypercall is now used only with close, so get rid of it.
rumpuser_bio() should do the necessary syncing.
2013-04-29 15:40:38 +00:00
pooka 9dda4d8626 Give private hypercalls the ability to meddle with kthread contexts too. 2013-04-29 15:20:05 +00:00
pooka a15e077982 Create a kernel thread context for the bio upcalls. 2013-04-29 14:54:03 +00:00
pooka 5af3856aee Make the rump kernel upcalls which were previous available only to
the sysproxy module available for the entire hypervisor.
2013-04-29 14:51:39 +00:00
pooka f134f09680 set default bio mode to threaded 2013-04-29 13:57:46 +00:00
pooka 17b3a6d03d unschedule around blocking i/o 2013-04-29 13:53:46 +00:00
pooka 831d6eeb05 RUMPUSER_OPEN_DIRECT is no longer necessary 2013-04-29 13:21:03 +00:00
pooka 696d8241ab changes to bio hypercalls, part 3/n:
retire the filemmap/memsync hypercalls, they're no longer used
2013-04-29 13:19:11 +00:00
pooka 262a3aaf9f Rework how the bio hypercalls work, part 1/n:
Reduce the set of hypercalls to one: "do block i/o".  This not only
eliminates a lot of pseudo-duplicate code, it also gives the
hypervisor a lot more freedom on how to optimize the i/o.
2013-04-29 12:56:03 +00:00
skrll dd1eb4e21c Simplify. earm is dealt with elsewhere. 2013-04-29 07:21:59 +00:00
matt bc08020c0d Add a C99 <fenv.h> implementation for arm. 2013-04-28 21:06:34 +00:00
joerg c13cb064fe Drop s_scalbnl.c (and s_scalbln.S as side effect) and provide scalbnl in
s_scalbln.c.
2013-04-28 14:46:14 +00:00
pooka 5e41922b25 don't need event.h here anymore 2013-04-28 13:39:13 +00:00
pooka 49bb662cc0 Change rumpuser_cv_timedwait() from absolute time to relative time.
It's then the hypervisor's problem to translate it accordingly.
Now we no longer have to worry about the kernel having to know the
hypervisor's time and vice versa.
2013-04-28 13:37:51 +00:00
pooka a53a2a5357 Improve the time-related hypercalls so that's it's possible to
sleep until an absolute time on the host's monotonic clock (should
something like that be supported).
2013-04-28 13:17:24 +00:00
pooka ad45a6e694 make the file monitoring hypercalls private to shmif 2013-04-28 10:43:45 +00:00
pooka b985b935c6 The ioctl hypercall is used only by the usb host controller driver,
so make it exclusive to that component.  I'm happy to see it gone.
2013-04-28 09:58:11 +00:00
matt 0b573b56b6 Make all earm variants use earm. 2013-04-28 06:09:52 +00:00
joerg 2fa1d2471b Introduce MKLIBSTDCXX, defaulting to yes. 2013-04-28 04:05:37 +00:00
joerg ecb06a3b09 Add build glue for libc++. 2013-04-27 23:02:17 +00:00
joerg 560a52b9a0 Retire ldexp sources. scalbn has the aliases. 2013-04-27 22:58:15 +00:00
joerg eb3cdf8761 Provide stubs for pthread_detach/pthread_join. 2013-04-27 20:36:47 +00:00