Commit Graph

280321 Commits

Author SHA1 Message Date
thorpej
f4c65a306a Shuffle fields in cpu_info for better cache behavior.
XXX More changes to come after curlwp is overhauled.
2020-09-04 01:57:29 +00:00
thorpej
68cc89a0e2 Decorate some symbols with the appropriate things for better cache
behavior.  Assert that cpu_infos are cache line aligned.
2020-09-04 01:56:29 +00:00
thorpej
9524b67c8d Allow ths file to be included by a _KMEMUSER. 2020-09-04 00:36:07 +00:00
thorpej
5f3d40cbf2 Define COHERENCY_UNIT and CACHE_LINE_SIZE as 64, which is the primary cache
line size on EV6 / EV7.  This is also the default MI fallback definition,
but now we're not relying on that value.
2020-09-03 22:56:11 +00:00
rillig
a2fc9de97d make(1): add test for expansion of indirect variables in dependencies 2020-09-03 19:50:14 +00:00
bouyer
33be3b5b89 If we hit an unknown header type (likely to be a corrupt record), and
the user choose to not abort, skip to the next header instead of trying
to use it.
This allowed me to recover files from a corrupt dump, instead of
getting a segfault.
2020-09-03 19:31:34 +00:00
rillig
ed3d9167a3 make: extend test for unresolved variables in dependencies
This is to ensure that the upcoming refactoring of Var_Parse in
SuffExpandChildren does not break anything.
2020-09-03 19:10:56 +00:00
jakllsch
c6e7ad1d3e Treat aarch64 and aarch64eb identically with regard to ld.so.conf 2020-09-03 18:59:33 +00:00
jakllsch
892fcf91ad Only expect ACPI and UEFI-related files on little endian aarch64 2020-09-03 18:58:48 +00:00
rillig
4a7f0cb429 make(1): migrate ApplyModifier_Defined to Var_ParsePP 2020-09-03 18:53:46 +00:00
rillig
c183963589 make(1): add tests for the :D and :U modifiers
This prepares a refactoring for ApplyModifier_Defined.
2020-09-03 18:52:36 +00:00
jakllsch
dbd5c7f03a Treat aarch64eb the same as aarch64, enabling aarch64eb build 2020-09-03 18:30:05 +00:00
rillig
0cc07a3c94 make(1): migrate Var_Parse API to parsing position
The ApplyModifier functions already use this pattern.  For simplicity
and consistency Var_Parse should do the same.  This saves a parameter to
be passed.

The migration takes place step by step, just like for the Lst functions
a few days ago.
2020-09-03 18:19:15 +00:00
rillig
ecb4f44224 make(1): document use of magic values in CondDoEmpty 2020-09-03 17:16:01 +00:00
rillig
4dd5292c3e make(1): add test for the empty function in conditionals 2020-09-03 17:13:42 +00:00
jakllsch
d0f28ec00a Remove unused assembly source files 2020-09-03 16:45:49 +00:00
rillig
e3cda9a21a make(1): update documentation for Cond_EvalExpression and Cond_Eval 2020-09-03 16:14:58 +00:00
rillig
da17666427 make(1): make parameter of Cond_Eval and Cond_EvalExpression const 2020-09-03 16:02:02 +00:00
thorpej
c93f173033 Garbage-collect the SWITCH_CONTEXT macro, since it now expands to
just "call_pal PAL_OSF1_swpctx".
2020-09-03 15:38:17 +00:00
thorpej
8c51ba45e8 Garbage-collect fpcurlwp -- it has been obsolete since FPU tracking
was converted over to PCU.
2020-09-03 14:27:47 +00:00
thorpej
c1a69249ed The conversion of FPU tracking to PCU rendered the fpcurlwp variable
unmaintained, which broke FP status info in the COMPAT_LINUX sigcontext.
Use the new API, which will at least be closer to correct.
2020-09-03 14:26:31 +00:00
nia
01b235c952 base64.1: note that -w 0 disables wrapping 2020-09-03 09:41:21 +00:00
kardel
d566b44310 remove unneeded newline in quotes variable string - keeps ntpq happy 2020-09-03 07:26:41 +00:00
simonb
bfdeab9f36 Make DDB "machine reset" call emulate pushing the HALT button.
Useful if DDB gets confused and "reboot" doesn't work.
2020-09-03 07:05:30 +00:00
simonb
ea57ca8e88 The TC device addresses are defined in KSEG1, but this confuses
bus_space(9) which expects bus addresses and not kernel virtual
addresses.  Pull the addresses back to bus addresses with
MIPS_KSEG1_TO_PHYS().

XXX: Fix this properly one day (without storing KSEG1 addrs in
the TC device configuration).

Fixes problem with TURBOchannel pmaxes panicing during
autoconfiguartion.
2020-09-03 06:42:29 +00:00
thorpej
7794783b37 Garabage-collect curpcb / cpu_info::ci_curpcb. 2020-09-03 04:20:54 +00:00
thorpej
41e9b45267 The only remaining consumer of curpcb was the PROM mapping code, for if
PROM console routines are being used (only on KN8AE).  We have access to
the sam information via curlwp, so use that, and eliminate the need to set
cpu_info::ci_curpcb when context switching, which saves an extra all into
PALcode.
2020-09-03 04:18:30 +00:00
thorpej
139cbc3f89 Clean up all of the _PMAP_MAY_USE_PROM_CONSOLE crapola, centralizing the
logic in prom.c, and rename it _PROM_MAY_USE_PROM_CONSOLE in a few places
it's still needed.
2020-09-03 02:09:09 +00:00
thorpej
3112101988 - Remove redundant memory barriers. For the ones that remain,
use the membar_ops(3) names to make it clear how they pair up (even
  though most of them expand to the MB instruction anyway).
2020-09-03 02:05:03 +00:00
thorpej
45ff3d1f21 - alpha_ipi_process(): Continue processing IPIs until the ipimask
reads 0.  Issue a memory barrier between the atomic swap and performing
  the work.
- alpha_send_ipi(): Issue a memory barrier before setting the ipimask
  to ensure all memory accesses prior to signalling the IPI have
  completed.  Also issue a memory barrier getween setting the ipimask
  and calling PALcode to write the IPIR.
2020-09-03 02:03:14 +00:00
riastradh
be78b0a273 atomic_load/store_* appeared in NetBSD 9, not 10.
Pullup preceded release of 9.0.
2020-09-03 00:23:57 +00:00
riastradh
ddc76b9234 Update membar_ops(3) man page with examples and relation to C11.
Add exhortation to always always always document how membars come in
pairs for synchronization between two CPUs when you use them.
2020-09-03 00:00:06 +00:00
rillig
e010af6e23 make(1): document the value restrictions for Boolean variables
The previous lenient rule came from the sprite.h header that was not
specific to make.  To avoid confusion, only the expected values should
be stored in a Boolean variable.  To help find obvious violations and
inconsistencies, there are different possibilities for the Boolean type,
during development.

In C there is no way to actually enforce this restriction at runtime.
It would be possible in C++, but the code is not ready to be compiled
with a C++ compiler.
2020-09-02 23:42:58 +00:00
uwe
913086d6b0 More clarifications from Dan Plassche. 2020-09-02 23:38:11 +00:00
rillig
c62bab2173 make(1): improve grouping of the Lst functions
Lst_IsEmpty does not belong in the "create and destroy" group, but in
"query information without modifying anything".

The functions named LstNode_* all belong together.  They do not provide
much abstraction, but still they restrict the API and hide a few struct
fields that are only used internally by Lst_Open/Lst_Close and
Lst_ForEach.

Use consistent wording in the documentation of the functions (list,
node, datum).
2020-09-02 23:33:13 +00:00
rillig
cd07afa0d7 make(1): fix wrong comments in test for the .for loop
These comments were my original assumptions, which I wrote before
running the test and before looking at the implementation.
2020-09-02 22:58:59 +00:00
riastradh
63ba4b950e Spell out acronyms in title for clarity. 2020-09-02 19:04:05 +00:00
riastradh
dd2199c16d Nix trailing whitespace. 2020-09-02 18:09:04 +00:00
riastradh
4037d9e4d9 Nix trailing whitespace. 2020-09-02 17:40:23 +00:00
bouyer
120e63a0d2 pmap_enter_gnt():
An empty PTP has a wire_count of 1, so KASSERT > 1 if we're sure we have
at last one entry.
2020-09-02 17:37:57 +00:00
bouyer
aca0d0a17f pmap_enter_gnt(): call pmap_free_ptp() if needed. We can have a 0 wire count
if we had an old mapping and grant map hypercall failed, and this was the
only page in this ptp.
while there remove ptp != NULL checks for gnt operations: we always have
a ptp here.
2020-09-02 17:07:45 +00:00
jakllsch
453b641308 Treat aarch64eb the same as aarch64 2020-09-02 16:22:45 +00:00
jakllsch
835e43960b Fix typo/pasteo in aarch64 clzdi2() END() 2020-09-02 15:43:06 +00:00
jakllsch
80196aad5b Teach bsd.endian.mk about aarch64eb 2020-09-02 15:17:19 +00:00
jakllsch
5aa118c344 Teach native gmp about aarch64eb 2020-09-02 15:15:30 +00:00
kardel
eff3797159 Fix fast path for uni directional transfers
pure ACK case:

drag snd_wl2 along so only newer
ACKs can update the window size.
also avoids the state where snd_wl2
is eventually larger than th_ack and thus
blocking the window update mechanism and
the connection gets stuck for a loooong
time in the zero sized send window state.

see PR/kern 55567

ok thorpej@, also found in FreeBSD
2020-09-02 15:08:46 +00:00
jakllsch
9f4a03f995 Teach config.gcc about NetBSD aarch64eb 2020-09-02 14:13:20 +00:00
kim
54053e79bb Reflect that this is current by using ".99" in the Os version
This helps distinguising NetBSD-current pages from NetBSD-9.0 pages better
on man.netbsd.org, which is still using nroff. (Using mandoc needs more
tweaking to avoid all page footers reflecting the uname release of the
web server.)
2020-09-02 09:28:25 +00:00
msaitoh
a69e39c83b Id -> NetBSD in comment. No functional change. 2020-09-02 08:26:05 +00:00
rillig
be8672544c make(1): fix documentation of Var_Subst
The "var" parameter does not exist anymore.
2020-09-02 06:25:48 +00:00