Commit Graph

855 Commits

Author SHA1 Message Date
chs
6d40f9ff57 add a new "fo_mmap" fileops method to allow use of arbitrary uvm_objects for
mappings of file objects.  move vnode-specific details of mmap()ing a vnode
from uvm_mmap() to the new vnode-specific vn_mmap().  add new uvm_mmap_dev()
and uvm_mmap_anon() convenience functions for mapping character devices
and anonymous memory, and replace all other calls to uvm_mmap() with those.
use the new fileop in drm2 so that libdrm can use mmap() to map things
like on other platforms (instead of the ioctl that we have used so far).
2014-12-14 23:48:58 +00:00
matt
f6453319ae Add atomic_c11_compare_exchange_cas_{8,16,32}.c 2014-11-20 07:07:13 +00:00
joerg
67ec38504d Provide prototypes to fix build with clang. 2014-11-04 19:56:44 +00:00
dennis
f8446d6fc9 Add missing C11 atomic support functions to repair prior
build breakage.  matt@ made me do this.
2014-10-16 18:52:17 +00:00
martin
be3005a074 Provide C++ 2011 <atomic> support functions for hppa and arm. 2014-10-14 07:25:05 +00:00
martin
f0a1164b36 Provide <atomic> C++ 2011 support functions for mips and sh3. 2014-10-13 13:00:55 +00:00
martin
963bb46806 Move the and_{16,8}_nv sources into the right (libc only) block. 2014-10-13 12:49:59 +00:00
martin
6e3879b0c6 Add C++ 2011 <atomic> support functions. 2014-10-13 08:59:41 +00:00
martin
3f671a8ede Provide __sync_and_and_fetch_2 and __sync_and_and_fetch_1 for pre-ARMv6,
they are needed for the C++ 2011 <atomic> stuff.
2014-10-13 07:31:12 +00:00
martin
241614a4c5 Hook __atomic_compare_exchange_N into vax libc. 2014-10-12 17:53:33 +00:00
martin
2a3f84309a Provide __atomic_compare_exchange_N (as needed for the C11 2011 <atomic>
ops) via the corresponding CAS.
2014-10-12 17:51:47 +00:00
khorben
00b617c08a Look for the character to locate before checking for the NUL character
As documented in PR port-i386/49208, this fixes strchr(s, '\0'), as used by
the FAT first-stage bootloader on x86 (bootxx_msdos).
strchr(s, '\0') is otherwise equivalent to strlen(string), which would
probably look nicer in the original file, dosfs.c from libsa.

Confirmed working in qemu and on real hardware.
ok joerg@

XXX pull-up to netbsd-6 and netbsd-7
2014-09-22 20:31:56 +00:00
matt
6cf6fe02a9 New files for Userland support of UCB RISC-V (both 32-bit and 64-bit) 2014-09-19 17:36:24 +00:00
matt
6569f93208 Eliminate use of C++ keywords and don't nest struct definitions. 2014-09-05 05:19:24 +00:00
matt
27620987b8 New files for OR1K support 2014-09-03 19:34:25 +00:00
matt
8f455a577d Add __sync_val_compare_and_swap_{1,2} aliases for _atomic_cas_{8,16} 2014-09-03 19:30:47 +00:00
matt
903c030159 Remove enclosing parens on return. 2014-08-22 17:19:48 +00:00
riastradh
b4d2027a4b Fix failure case in rb_tree_find_node_leq/geq.
Return NULL, not `NULL - offset'.

XXX pullup to netbsd-5, netbsd-6, netbsd-7
2014-08-22 17:17:02 +00:00
matt
11614bb2b2 MKCOMPAT fixes for when compat MACHINE_CPU != normal MACHINE_CPU 2014-08-10 23:25:49 +00:00
matt
beb9c6d1b5 Preliminary files for AARCH64 (64-bit ARM) support.
Enough for a distribution build.
2014-08-10 05:47:35 +00:00
joerg
677b0f4807 Fix decoding of near CALL when address-size prefix (67h) is present.
From Wolf Ramovsky via FreeBSD.
2014-08-04 21:41:44 +00:00
joerg
5dfafbb265 Fix decoding of LEA when address-size prefix (67h) is present.
From Wolf Ramovsky via FreeBSD, loosly based on Xorg changeset f57bc0e
by Christian Zander.
2014-08-04 21:40:11 +00:00
joerg
2501b6362f Fix decoding of MOVSX. From Wolf Ramovsky via FreeBSD. 2014-08-04 19:19:02 +00:00
ryo
d82036afdc fix lack of '>' pointed out in PR/48517 2014-08-02 11:19:01 +00:00
lneto
4ab4902eb2 lua: updated from 5.1 to 5.3 work3
* lua(1):
  - changed lua_Integer to intmax_t
  - updated distrib/sets/lists and etc/mtree
  - updated bsd.lua.mk
  - fixed bozohttpd (lua-bozo.c)
  - compatibilized bindings: gpio, sqlite
* lua(4):
  - removed floating-point and libc dependencies using '#ifndef _KERNEL'
  - fixed division by zero and exponentiation
  - libkern: added isalnum(), iscntrl(), isgraph(), isprint() and ispunct()
  - acpica: removed isprint() from acnetbsd.h
  - libc: moved strcspn.c, strpbrk.c and strspn.c to common
  - removed stub headers
  - compatibilized bindings: luapmf, luasystm
* reorganized luaconf.h
* updated doc/CHANGES and doc/RESPONSIBLE
2014-07-19 18:38:33 +00:00
joerg
aa565dfb01 Add unused memory model argument to make GCC happy. 2014-07-06 01:19:45 +00:00
joerg
3ba4836216 Provide a basic implementation of __atomic_load_* and __atomic_store_*,
used by GCC and LLVM as backing for C11/C++11 atomics, if the hardware
is not known to have corresponding features. Include it on ARM as LLVM
and libc++ hit it when compiled for ARMv4.
2014-07-05 20:44:46 +00:00
joerg
bd7dee058c Add aliases for the C11/C++11 spelling of the CAS primitives. 2014-06-28 20:18:55 +00:00
drochner
1970d452ef add a public domain notice 2014-06-24 16:39:39 +00:00
joerg
504e8e687f Add aliases for the builtins used to implement C11/C++11 atomics. 2014-06-23 21:53:45 +00:00
christos
f16aa4743c update for the new function signatures of initstate/srandom 2014-06-12 20:59:46 +00:00
shm
a3f6a15448 PR/48517 do not add extra '>' to string-converted value when nothing matches 2014-06-06 07:08:37 +00:00
uebayasi
19ef5b5b0b Put missing END() markers to set ELF symbol size. 2014-05-23 03:17:31 +00:00
pooka
b1a03c8e0b fix build for _KERNEL 2014-05-22 16:47:31 +00:00
uebayasi
502c621104 Put missing END() markers to set ELF symbol size. 2014-05-22 15:21:13 +00:00
joerg
353aedd819 Make EHABI optional. 2014-05-06 16:02:10 +00:00
christos
57561cf1db The kernel uses 64 bit atomic ops. 2014-04-22 19:27:17 +00:00
joerg
e3dae42754 Undef possible macro versions of memcpy and friends for kernel builds
too. libkern sometimes defines them to the builtins.
2014-04-16 20:39:55 +00:00
joerg
a33c368664 Using bcopy/memcpy with NULL arguments is valid as long as the size is
also 0.
2014-04-14 18:18:58 +00:00
skrll
39ac7250f3 Ensure SBZ register is zero 2014-03-28 21:32:41 +00:00
christos
a6e338b0d6 kill sprintf 2014-03-26 18:12:46 +00:00
jakllsch
2c56941e16 For all i386 string assembly functions that don't overlap use END() so
that symbol size information is available.
2014-03-22 19:38:46 +00:00
jakllsch
6ac3c1f4d7 For all x86_64 string assembly functions that don't overlap (i.e. every
one except memset and bzero) use END() so that symbol size information
is available.
2014-03-22 19:16:34 +00:00
riastradh
6cb10275d0 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
riastradh
0766111859 Fix subword atomic_cas.
- Don't loop forever on failure.
- Don't shift away the result and return zero on success.

Evidently we lack automatic tests for these!
2014-03-09 16:19:14 +00:00
martin
b6407fab71 Fix return value (typo, noticed by Nick Hudson) 2014-03-07 08:42:58 +00:00
matt
3b018d607e Use the sources in ../../arch/powerpc instead 2014-03-07 07:20:56 +00:00
matt
c9642ed49c Now the sources in ../../arch/powerpc 2014-03-07 07:20:24 +00:00
matt
6dd4b41fd3 Reduce duplication.
Use beqlr to quicken returns
2014-03-07 07:17:54 +00:00
matt
e70564d7d6 apcs-gnu only passes one register on the stack.
ldrd always loads little endian (low address, low register).
2014-03-05 17:20:48 +00:00