Commit Graph

280339 Commits

Author SHA1 Message Date
rillig
565e2f5897 re-indent and sort distrib/sets/lists/tests/mi
This way, the fields 2 and 3 don't jump horizontally as often as before,
which makes the appearance of the whole file as calm and organized as it
should be.
2020-09-04 11:43:50 +00:00
mrg
a57c303872 include machine/vmparam.h vs mips/vmparam.h to make sure we get
platform-specific defines first.

fixes build issue for playstation2.
2020-09-04 08:17:53 +00:00
rillig
e8702174c8 make(1): add test for :hash returning ffffffff
In the previous brute force search, it seemed there was no string with
that hash code.  That was probably an oversight or a little programming
mistake.  Anyway, it's possible to get that hash value, so keep the
example.
2020-09-04 06:54:07 +00:00
skrll
78e5423f52 Fix build of INSTALL kernel which doesn't have DDB 2020-09-04 06:12:16 +00:00
rillig
cd269e3b78 make(1): extend tests for the :hash variable modifier
The previous test vectors didn't contain any hash with a leading zero.
This could have been a simple programming mistake by using %8x instead
of the intended %08x.  Using snprintf wouldn't have been possible anyway
since the hex digits are printed in little-endian order, but without
reversing the bits of each digit.  Kind of unusual, but doesn't affect
the distribution of the hashes.
2020-09-04 05:23:25 +00:00
thorpej
f8870e8295 Save a few instructions every time we manipulate pcb::pcb_onfault. 2020-09-04 04:09:52 +00:00
thorpej
a82352701e Use SysValue to store curlwp rather than curcpu. curlwp is acceessed
much more frequently, and this makes curlwp preemption-safe.
2020-09-04 03:53:12 +00:00
thorpej
65c9e4ee5f Include <sys/lwp.h> 2020-09-04 03:41:49 +00:00
thorpej
fd31bbf714 Fix a typo. 2020-09-04 03:36:44 +00:00
thorpej
bc1ecb4578 Missed one in last change. 2020-09-04 02:59:44 +00:00
thorpej
22b67e22b2 Garbage-collect GET_CPUINFO; it's no longer used. 2020-09-04 02:58:18 +00:00
thorpej
8c5e0feccc - Make the GET_CURLWP actually return curlwp, not &curlwp.
- exception_return(): Use GET_CURLWP directly, rather than a dance
  acount GET_CPUINFO.
- Introduce SET_CURLWP(), to set the curlwp value.
- Garbage-collect GET_FPCURLWP.
2020-09-04 02:54:56 +00:00
jakllsch
e98c6d562d Native GCC (old) for aarch64eb 2020-09-04 02:30:44 +00:00
jakllsch
8ee653d33c Native GCC (new) for aarch64eb 2020-09-04 02:29:54 +00:00
jakllsch
998e6be0d9 Build driver-aarch64.c for both endians of aarch64 2020-09-04 02:26:57 +00:00
jakllsch
6bc7d0c5ed Regen native-binutils for aarch64eb 2020-09-04 02:24:57 +00:00
jakllsch
4d2cde8f49 Link evbarm/aarch64eb kernels in big endian mode 2020-09-04 02:21:49 +00:00
jakllsch
8cc62363aa Only build bootaa64.efi on LE aarch64 for now, to match set lists 2020-09-04 02:15:52 +00:00
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