andvar
7991f5a7b8
Fix all remaining typos, mainly in comments but also in few definitions and log messages, reported by me in PR kern/54889.
...
Also fixed some additional typos in comments, found on review of same files or typos.
2021-07-24 21:31:31 +00:00
skrll
6a2d1b5533
#include <sys/param.h>
2021-07-22 13:54:38 +00:00
skrll
5e911a385d
s/ifdef _ARM_ARCH_6/if defined(_ARM_ARCH_6)/ for consistency. NFCI.
2021-07-10 06:53:40 +00:00
skrll
52728926ba
One more s/pte/ptr/
2021-07-06 08:31:41 +00:00
skrll
6788795c38
typo in comment s/pte/ptr/
2021-07-05 08:50:31 +00:00
skrll
68a49f39f0
Fix the logic operation for atomic_nand_{8,16,32,64}
...
From the gcc docs the operations are as follows
{ tmp = *ptr; *ptr = ~(tmp & value); return tmp; } // nand
{ tmp = ~(*ptr & value); *ptr = tmp; return *ptr; } // nand
yes, this is really rather strange.
2021-07-04 06:55:47 +00:00
skrll
d1034f1a89
Whitespace
2021-06-29 06:28:07 +00:00
skrll
ce1248f15e
Whitespace
2021-06-28 09:00:45 +00:00
rillig
60e7bdf08f
memmem: remove unreachable return statement
2021-05-16 09:43:39 +00:00
skrll
387fd596e3
Provide all the LSE operation fuctions. The use of LSE instructions is
...
currently disabled.
2021-04-27 09:14:24 +00:00
skrll
a864f2cc52
Improve the membar_ops barriers - no need to use dsb and wait for
...
completion. Also, we only to act on the inner shareability domain.
2021-04-27 05:40:29 +00:00
skrll
85e6432cbe
Add the appropriate memory barrier before the lock is cleared in
...
__sync_lock_release_{1,2,4,8}. That is, all reads and write for in inner
shareability domain before the lock clear store.
2021-04-26 21:40:21 +00:00
christos
742eb06965
use ${MACHINE_MIPS64}
2021-04-25 22:45:16 +00:00
skrll
10d97f11ed
Trailing whitespace
2021-04-24 20:34:34 +00:00
skrll
8bba7313d2
Fix __sync_lock_release_4 to actually zeroise the whole 4bytes/32bits.
2021-04-24 20:29:04 +00:00
skrll
fd9a2ad443
Do previous differently as the API is different.
2021-04-21 16:23:47 +00:00
skrll
b5c783f5b6
Provide some more operations that are part of compiler lse.S. This is
...
incomplete, but at least covers all the atomic_swap ops and allows the
aa64 kernel to link with gcc 10.
2021-04-21 07:31:37 +00:00
simonb
9eee6d14e7
Add CVS ID line.
2021-04-19 01:12:10 +00:00
mrg
2d63425964
avoid redefinition warning for __OPTIMIZE_SIZE__.
2021-04-17 21:43:47 +00:00
simonb
c47d88974b
Use __register_t instead of uregister_t - this is available to all ports
...
and both userland and kernel.
2021-04-17 08:06:58 +00:00
simonb
e857cfe928
Cast the fill value to unsigned char so that the "fill" value used for
...
full-word fills isn't garbage.
2021-04-17 06:02:35 +00:00
simonb
4e9c90673d
Disable the larger/faster code path. While the optimised code path was
...
indeed quicker, it nonetheless failed to actually fill all the requested
memory with the specified value much of the time if a non-aligned start
address was used.
2021-04-17 05:57:11 +00:00
dholland
53166c520a
arm bswap32: fix fatal typo in thumb code (PR 55854)
2020-12-11 09:02:33 +00:00
dholland
3818c9a287
arm bswap32: Improve the comments showing the byte flow.
...
It's confusing to use 1-4 for bytes 1-4 and then 0 for literal zero,
so use a-d for bytes 1-4.
2020-12-09 02:46:57 +00:00
skrll
e3ee4da69b
Use the correct barriers - all of membar_{sync,producer,consumer} have
...
less scope than before.
LGTM from riastradh
2020-10-13 21:22:12 +00:00
skrll
cfd51b63e1
Remove memory barriers from the atomic ops macros in the same way as was
...
done for the other atomic ops earlier.
2020-10-13 21:17:35 +00:00
skrll
058bd28709
Define _ARM_ARCH_8 when __ARM_ARCH_8A (no trailing double underscore) as
...
it is defined by gcc.
__ARM_ARCH_8A__ (with trailing double underscore) seems to be a typo (or
maybe historical)
2020-10-11 16:22:02 +00:00
skrll
7cbf2902dd
Comment nit
2020-10-07 07:31:47 +00:00
jakllsch
aeb04dceb1
Re-do previous aarch64eb strlen fix more simply and correctly.
2020-09-09 14:49:27 +00:00
mrg
ebde11d941
make some prototypes match the builtin properly. GCC 9 complains
...
with the old version, GCC 8 is happy with this version.
tested on sparc.
2020-09-07 00:52:19 +00:00
jakllsch
ea3caf96e6
Fix a broken corner case of strlen()/strnlen() on aarch64eb
...
Previously a string such as "\x1\x1\x1\x1\x1\x1\x1" would count as
0 instead of 7 on BE.
2020-09-05 20:24:43 +00:00
jakllsch
d0f28ec00a
Remove unused assembly source files
2020-09-03 16:45:49 +00:00
jakllsch
835e43960b
Fix typo/pasteo in aarch64 clzdi2() END()
2020-09-02 15:43:06 +00:00
skrll
e16659bb50
Part I of ad@'s performance improvements for aarch64
...
- Remove memory barriers from the atomic ops. I don't understand why those
are there. Is it some architectural thing, or for a CPU bug, or just
over-caution maybe? They're not needed for correctness.
- Have unlikely conditional branches go forwards to help the static branch
predictor.
2020-08-12 12:59:57 +00:00
skrll
76b3785162
More SYNC centralisation
2020-08-10 14:37:38 +00:00
skrll
bf8d907e75
Centralise SYNC/BDSYNC in asm.h and introduce a new LLCSCSYNC and use it
...
before any ll/sc sequences.
Define LLSCSYNC as syncw; syncw for cnMIPS - issue two as early cnMIPS
has errat{um,a} that means the first can fail.
2020-08-06 10:00:20 +00:00
skrll
6d4375e1ca
Trailing whitespace
2020-08-01 09:26:49 +00:00
christos
d3ce6b6028
Fix lint
2020-06-20 00:16:50 +00:00
christos
3df41e0b22
remove error(1) comments
2020-06-15 00:46:00 +00:00
christos
ad3c244aa9
add/fix linted comments
2020-06-14 21:31:01 +00:00
christos
e0cecd8234
Fix incorrect type (found by lint), and add linted comments for the
...
long long -> long (uintmax_t on LP64)
2020-06-14 21:28:58 +00:00
thorpej
6620d0c742
Change previous to only apply when building with clang.
2020-06-12 00:02:26 +00:00
joerg
3c4ddcbfa9
Unbreak clang builds by removing questionable linker warning sections
...
trggered all over the place.
2020-06-11 22:25:44 +00:00
thorpej
f2709a687f
Fix a paste-o that caused prop_data_create_copy() to be intolerant
...
of creating empty data objects. Fixes t_ifconfig::ifconfig_description
unit test.
2020-06-08 21:31:56 +00:00
thorpej
bde2909f86
Update for proplib(3) API changes.
2020-06-06 22:28:07 +00:00
thorpej
b1bbd8163d
Correct a deprecation warning.
2020-06-06 22:23:31 +00:00
thorpej
a792b8435e
Improvements to the problib(3) API:
...
==> Provide a much more complete set of setters and getters for different
value types in the prop_array_util(3) and prop_dictionary_util(3)
functions.
==> Overhaul the prop_data(3), prop_number(3), and prop_string(3) APIs
to be easier to use and less awkwardly named, Deprecate the old
awkward names, and produce link-time warnings when they are referenced.
==> Deprecate mutable prop_data(3) and prop_string(3) objects. The old
APIs that support them still exist, but will now produce link-time
warnings when used.
==> When the new prop_string(3) API is used, strings are internally
de-duplicated as a memory footprint optimization.
==> Provide a rich set of bounds-checked gettter functions in and a
corresponding set of convenience setters in the prop_number(3) API.
==> Add a new prop_bool_value(3) function that is equivalent to
prop_bool_true(3), but aligned with the new "value" routines in
prop_data(3), prop_string(3), and prop_number(3).
2020-06-06 21:25:59 +00:00
rin
9769066979
Fix typo in comment.
2020-05-31 12:37:07 +00:00
rin
3a564f248f
Add m68k assembler version of __muldi3().
...
This is intended for 68060:
- GCC does not emit __muldi3() for 68020-40, that have 32 * 32 --> 64 mulul
- mulsl (and moveml), used in this code, are not implemented for 68010
In comparison with that from compiler_rt, this version saves:
- 12% of processing time
- 12 bytes of stack
- 50 bytes of code size
Also, slightly faster, memory saving, and smaller than libgcc version.
By examining with evcnt(9), __muldi3() is invoked more than 1000 times per
sec by kernel, which should justify to introduce assembler version of this
function.
2020-05-31 11:43:37 +00:00
riastradh
00fb1a3a30
Merge updates from upstream to reduce stack usage of SHA3_Selftest.
2020-05-30 18:40:28 +00:00