summaryrefslogtreecommitdiff
path: root/sys/arch/powerpc/include
AgeCommit message (Collapse)Author
2022-11-24move ofprint() to powerpc/ofw_machdep.c and make it officialmacallan
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
2022-11-15remove workaround for old clang - it's not needed anymore and caused problemsmacallan
elsewhere
2022-11-02fix various typos in comments and messages.andvar
2022-09-13fesetexceptflag(): Set FE_ALL_INVALID instead of FE_ALL_EXCEPT forrin
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.
2022-09-12PR port-powerpc/56922rin
__HAVE_FAST_SOFTINTS is broken for powerpc. Disable it temporarily also for booke.
2022-09-12Make ibm4xx kernels compiled by clang.rin
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.
2022-08-30Move FTYPE_* definitions from instr.h to fpu_emu.h.rin
They are not defined by architecture, and used only for FPU emulation.
2022-07-11PR 56922: disabel fast softints for powerpc for now.martin
2022-05-30Export CPU capability of unaligned memory access to userlandrin
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.
2022-05-30Introduce PPC_NO_UNALIGNED flag to indicate that CPU cannot handlerin
unaligned memory access, and emulation should be provided to userland.
2022-05-30Add routines to fix unaligned memory access for userland process.rin
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.
2022-05-29Fix insn field definitions for MD and MDS formats.rin
No one uses these yet.
2022-05-28fix various typos in comments.andvar
2022-05-24fix various typos in comment, documentation and log messages.andvar
2022-05-11fix various typos in comments.andvar
2022-05-11s/varible/variable/andvar
2022-05-07Remove SPR_CCR0 from <powerpc/spr.h>; we already have it inrin
<powerpc/ibm4xx/spr.h>, together with other 4xx-specific SPRs. Thanks uwe@ for pointing out.
2022-05-07Try to fix PV tracking support.rin
* 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.
2022-05-07Instead of hard-coding SPR# for CCR0, define SPR_CCR0 inrin
<powerpc/spr.h> and use it. Idea from uwe@, thanks! (and sorry for delayed response!)
2022-03-10powerpc: Implement bus_space_barrier as eieio.riastradh
2022-02-16powerpc: Sprinkle "memory" clobbers on eieio and nearby asm blocks.riastradh
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.
2022-02-16powerpc: Implement pv-tracking for unmanaged pages.riastradh
Needed for drm.
2022-02-13PR port-macppc/56091: on G5 macs we currently can not easily makemartin
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.
2022-02-12__cpu_simple_lock(9): Omit needless barriers in init.riastradh
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.
2022-02-03bump MAXTSIZmacallan
now clang runs again
2022-01-07s/udpate/update/andvar
2021-12-05s/seach/search/msaitoh
2021-11-02In order to prevent _mcount() from being recursively called when built with ↵ryo
COPTS=-O0, sprinkle `__always_inline' to make _mcount() be generated as a single function.
2021-11-02fix profiling kernel buildryo
2021-11-02fix build with COPTS=-O0ryo
2021-10-29Define __HAVE_STRUCT_SIGCONTEXT regardless of its current visibility.thorpej
2021-10-27Need frame.hchristos
2021-10-27There is no sigcontext in ppc64christos
2021-10-27Make sigcontext13 visible only to _KERNEL. Make sigcontext visible onlythorpej
to _LIBC and _KERNEL.
2021-10-26Merge all MD __sigaction14_sigtramp.c copies into one:christos
- 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.
2021-09-19fix various typos in comments, messages and documentation.andvar
2021-09-13Fix IBM405 errata 77 workaround for __cpu_simple_lock{,_try}();rin
adjust labels so that dcbt is executed before stwcx. insn.
2021-09-11Add missing double p and d for stopped and overriden accordingly.andvar
Fix few more typos along the way, mainly in copy-pasted comments.
2021-08-14Improved the performance of kernel profiling on MULTIPROCESSOR, and possible ↵ryo
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.
2021-08-13fix typos in words "pointer" and s/fram /frame/andvar
2021-08-12fix typos in "environment" word.andvar
2021-08-03Fix various typos in comments. Also add missing NetBSD RCS Id in some of ↵andvar
these files.
2021-05-31Include "opt_param.h" (ifdef _KERNEL_OPT) everywhere that MSGBUFSIZE issimonb
referenced since some sources include <machine/param.h>.
2021-04-17Sync MAXfoo params with oea:rin
MAXTSIZ: 512MB -> 128MB MAXDSIZ: 3.25GB -> 1GB There should be no particular reasons for having different values.
2021-04-17PR port-powerpc/56107rin
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.
2021-04-17Adjust TABs. No functional changes.rin
2021-04-02Add bit-field definitions for DCR_SDRAM0_B[0-3]CR registers.rin
2021-04-01Whitespace: #define<tab>simonb
2021-03-30G/C misleading <evbppc/tlb.h>. Use <powerpc/ibm4xx/tlb.h> directly.rin
2021-03-30Convert walnut to use powerpc/ibm4xx/openbios.rin
No functional changes.