Commit Graph

280558 Commits

Author SHA1 Message Date
thorpej 27064dd14d Remove the RAWHIDE kernel; there is not need to keep it around. 2020-09-05 00:58:59 +00:00
rillig 919ee589c7 make(1): rename local functions for parsing conditions
The word "get" implies a cheap operation without side effects.  Parsing
instead has lots of side effects, even if it's only that the parsing
position is updated.
2020-09-04 21:08:44 +00:00
rillig 3e8f8a1a29 make(1): migrate get_mpt_arg to Var_ParsePP
This part is covered well by the unit tests.  When I forgot to decrement
the linePtr, several of them failed reliably.
2020-09-04 20:51:01 +00:00
rillig 09567ebca5 make(1): migrate Var_Parse in CondGetArg to Var_ParsePP 2020-09-04 20:32:34 +00:00
rillig 26222804bc make(1): add more explanation for undefined variable expressions 2020-09-04 20:28:15 +00:00
rillig a1d05e1e9e make(1): re-enable the archive test
The test had failed in the releng build because it assumed it were run
with .CURDIR == .PARSEDIR.  This assumption is true when the tests are
run directly from usr.bin/make, but not when they are run from
tests/usr.bin/make.
2020-09-04 19:03:38 +00:00
rillig 9cc1256284 make(1): use a stack instead of a list for the nested include path
By using a Stack instead of a Lst, the available API is reduced to the
very few functions that are really needed for a stack.  This prevents
accidental misuse (such as confusing Lst_Append with Lst_Prepend) and
clearly communicates what the expected behavior is.

A stack also needs fewer calls to bmake_malloc than an equally-sized
list, and the memory is contiguous.  For the nested include path, all
this doesn't matter, but the type is so generic that it may be used in
other places as well.
2020-09-04 17:59:36 +00:00
rillig 612b32e506 make(1): unexport For_Iterate
By convention, exported functions have an underscore, and static
functions don't.
2020-09-04 17:35:00 +00:00
maxv 8d45928525 nvmm-x86: improve the CPUID emulation
- Mask DTES64, DS_CPL, CID, SDBG, xTPR, PN.
 - B10, B20 and IA64 do not exist, so just remove them.
2020-09-04 17:09:03 +00:00
maxv 8769d1f4bf nvmm: more __read_mostly 2020-09-04 17:08:01 +00:00
maxv aea9e528d6 nvmm-x86-vmx: improve the handling of CR0
- Flush the guest TLB when certain CR0 bits change.
 - If the guest updates a static bit in CR0, then reflect the change in
   VMCS_CR0_SHADOW, for the guest to get the illusion that the change was
   applied. The "real" CR0 static bits remain unchanged.
 - In vmx_vcpu_{g,s}et_state(), take VMCS_CR0_SHADOW into account.
 - Slightly modify the CR4 handling code, just for more symmetry with CR0.
2020-09-04 17:07:33 +00:00
maxv 70cdbf1a90 nvmm-x86-svm: check the SVM revision
Only revision 1 exists, but check it, for future-proofness.
2020-09-04 17:06:23 +00:00
rillig 60c2e21286 make(1): add test for the special variable MAKEFILE 2020-09-04 17:05:39 +00:00
maxv 4a8f937fe5 Add a few more CPUID flags. 2020-09-04 17:05:09 +00:00
rillig d4bba47099 make(1): fix expected file for archive test
This test is currently disabled, therefore it didn't fail immediately.
2020-09-04 17:03:17 +00:00
thorpej 59bd389dae Put the MI cpu_data at the beginning of cpu_info so that it is
cache line aligned.
2020-09-04 15:50:09 +00:00
rillig acf074f0de clean up file lists
- remove trailing whitespace
- remove empty line
- remove typo "htm\tl", that line is repeated
2020-09-04 13:39:50 +00:00
rillig 8bcc5e16ef add missing RCS Id line to lists/xserver/md.evbmips 2020-09-04 12:08:59 +00:00
rillig 8f99095c48 sort file lists with error checking, use lowercase variable name 2020-09-04 12:02:20 +00:00
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