| Age | Commit message (Collapse) | Author |
|
now that console output uses locks it needs more of the kernel to function, so
for now use direct OF calls for earliest debug output
|
|
elsewhere
|
|
|
|
FE_INVALID. Taken from FreeBSD:
https://cgit.freebsd.org/src/commit/lib/msun/powerpc/fenv.h?id=e7bd4f846f0c9185aebfd3d116bb78ab137280fa
> [POWERPC] msun: fix incorrect flag in fesetexceptflag
> Fix incorrect mask being used when FE_INVALID bit is wanted by user.
> The problem was noticed thanks to msun fenv tests.
>
> Reviewed by: jhibbits, luporl
> Sponsored by: Eldorado Research Institute (eldorado.org.br)
> Differential Revision: https://reviews.freebsd.org/D27201
No regression for full ATF on both real and emulated FPU.
XXX
Import some tests from FreeBSD's lib/msun/tests.
|
|
__HAVE_FAST_SOFTINTS is broken for powerpc.
Disable it temporarily also for booke.
|
|
As clang cannot correctly assemble m[ft]pid:
- for asm sources, use m[ft]spr from/to SPR_PID
- for C sources, use M[FT]PID macros (see include/ibm4xx/spr.h)
This is ugly...
No binary changes for GCC-compiled kernels.
|
|
They are not defined by architecture, and used only for FPU emulation.
|
|
|
|
as machdep.no_unaligned sysctl(7) variable.
This will be used for ld.so.conf in order to provide strictly-
aligned versions of libc routines.
|
|
unaligned memory access, and emulation should be provided to userland.
|
|
Mainly intended for 403, which cannot handle unaligned memory access
at all (not only ones across page boundaries like 601).
For more details, see comments in fix_unaligned.c.
|
|
No one uses these yet.
|
|
|
|
|
|
|
|
|
|
<powerpc/ibm4xx/spr.h>, together with other 4xx-specific SPRs.
Thanks uwe@ for pointing out.
|
|
* For oea (with real PV tracking support):
Define __HAVE_PMAP_PV_TRACK. Otherwise, pmap_pv_init() is not called by
uvm_init().
* For booke and ibm4xx (without PV tracking support):
For MODULAR kernel and modules, define __HAVE_PMAP_PV_TRACK together with
PMAP_PV_TRACK_ONLY_STUBS, so that modules can be shared with oea.
Note that PMAP_PV_TRACK_ONLY_STUBS can be used even for oea,
as a compile-time option to strip real PV tracking support.
|
|
<powerpc/spr.h> and use it.
Idea from uwe@, thanks!
(and sorry for delayed response!)
|
|
|
|
Otherwise the compiler may reorder these around loads and stores,
which mostly defeats the purpose. `asm volatile' just ensures the
instruction isn't _deleted_; it may still move around.
|
|
Needed for drm.
|
|
early serial console work, so keep the OF based "failsafe" console
but note that we would like to switch over.
Once zs attaches, use the new device mapping and do a belated init
of the zs console globals, and then switch over to real zs based
serial console.
|
|
It is, and always has been, the caller's responsibility to ensure the
lock is initialized before it can be used -- otherwise the memory
could hold garbage; it is nonsensical to even attempt locking
operations on it before initialization.
So there's no need to issue explicit barriers here. The barrier
seems to have been introduced in sys/arch/alpha/alpha/lock_machdep.c
rev. 1.1 (since moved to inline asm in alpha/include/lock.h) and then
copied & pasted into several other architectures.
|
|
now clang runs again
|
|
|
|
|
|
COPTS=-O0,
sprinkle `__always_inline' to make _mcount() be generated as a single function.
|
|
|
|
|
|
|
|
|
|
|
|
to _LIBC and _KERNEL.
|
|
- sparc and sparc64 were not using version 0 sigcontext when there were
no arguments in the signal version. This was probably a bug.
- vax is using +1 the version numbers of the other archs.
- Only hppa was defining __LIBC12_SOURCE__ so it was getting a working
sigcontext before. all the other ports that supported sigcontext had
the compat code disabled.
[pointed out by thorpej, thanks!]
If we want to remove sigcontext support from userland at least now there
is less work to do so.
|
|
|
|
adjust labels so that dcbt is executed before stwcx. insn.
|
|
Fix few more typos along the way, mainly in copy-pasted comments.
|
|
to get profiling data for each CPU.
In the current implementation, locks are acquired at the entrance of the mcount
internal function, so the higher the number of cores, the more lock conflict
occurs, making profiling performance in a MULTIPROCESSOR environment unusable
and slow. Profiling buffers has been changed to be reserved for each CPU,
improving profiling performance in MP by several to several dozen times.
- Eliminated cpu_simple_lock in mcount internal function, using per-CPU buffers.
- Add ci_gmon member to struct cpu_info of each MP arch.
- Add kern.profiling.percpu node in sysctl tree.
- Add new -c <cpuid> option to kgmon(8) to specify the cpuid, like openbsd.
For compatibility, if the -c option is not specified, the entire system can be
operated as before, and the -p option will get the total profiling data for
all CPUs.
|
|
|
|
|
|
these files.
|
|
referenced since some sources include <machine/param.h>.
|
|
MAXTSIZ: 512MB -> 128MB
MAXDSIZ: 3.25GB -> 1GB
There should be no particular reasons for having different values.
|
|
Decrease MAXSSIZ from ~256MB to 32MB (same as oea).
This fixes tests in /usr/tests/usr.bin/make, that run with "ulimit -v 200000",
fail with "Cannot map anonymous memory".
Although I'm not fully convinced whether this limit is reasonable or not,
old MAXSSIZ of ~256MB is too much anyway.
|
|
|
|
|
|
|
|
|
|
No functional changes.
|