NetBSD/sys/arch/evbppc
martin 384bc3e359 Pull up following revision(s) (requested by rin in ticket #755):
sys/arch/evbppc/conf/std.virtex: revision 1.4
	sys/arch/powerpc/powerpc/trap_subr.S: revision 1.81
	sys/arch/powerpc/ibm4xx/4xx_trap_subr.S: revision 1.8
	sys/arch/evbppc/conf/std.walnut: revision 1.9
	common/lib/libc/arch/powerpc/atomic/atomic_op_asm.h: revision 1.7
	sys/arch/powerpc/include/asm.h: revision 1.49
	common/lib/libc/arch/powerpc/atomic/atomic_cas.S: revision 1.9
	sys/arch/powerpc/ibm4xx/trap_subr.S: revision 1.28
	sys/arch/powerpc/include/lock.h: revision 1.15
	sys/arch/evbppc/conf/std.obs266: revision 1.3
	common/lib/libc/arch/powerpc/atomic/atomic_swap.S: revision 1.8
	sys/arch/powerpc/powerpc/locore_subr.S: revision 1.61
	sys/arch/powerpc/powerpc/lock_stubs.S: revision 1.12
	sys/arch/evbppc/conf/std.obs200: revision 1.5

Implement workaround for IBM405 Errata 77 (aka CPU_210), where
interrupted stwcx. may errantly write data to memory:

     https://elinux.org/images/1/1d/Ppc405gp-errata.pdf

This is because stwcx. is split into two pieces in the pipeline.

We need to
(1) insert dcbt before every stwcx. instruction, as well as
(2) insert sync before every rfi/rfci instruction.

It is unclear which processors are affected, but according to Linux,
all 405-based cores up until 405GPR and 405EP are affected:

     https://github.com/torvalds/linux/blob/master/arch/powerpc/platforms/40x/Kconfig#L140

For kernel, this workaround can be restricted to affected processors.

However, for kernel modules and userland, we have to enable it for all
32bit powerpc archs in order to share common binaries as before.
Proposed on port-powerpc:

     http://mail-index.netbsd.org/port-powerpc/2020/02/21/msg003583.html
2020-03-03 18:54:59 +00:00
..
compile
conf Pull up following revision(s) (requested by rin in ticket #755): 2020-03-03 18:54:59 +00:00
ev64260 Clean up initialization of com_regs structure, in preparation for 2018-12-08 17:46:09 +00:00
evbppc centralize setdisklabel(9) 2019-04-03 22:10:49 +00:00
explora Clean up initialization of com_regs structure, in preparation for 2018-12-08 17:46:09 +00:00
include Retire ipkdb entirely. The option was removed from the config files 2018-07-15 05:16:40 +00:00
mpc85xx Pull up following revision(s) (requested by tsutsui in ticket #232): 2019-09-23 07:09:47 +00:00
obs405 Fix compile error reported by Kazuhiro Ito in PR kern/52704. 2019-02-18 06:27:10 +00:00
pmppc Retire ipkdb entirely. The option was removed from the config files 2018-07-15 05:16:40 +00:00
virtex KNF. No functional change. 2019-05-29 06:21:56 +00:00
walnut Retire ipkdb entirely. The option was removed from the config files 2018-07-15 05:16:40 +00:00
Makefile