Home | History | Annotate | Download | only in conf
History log of /src/sys/arch/evbppc/conf/std.obs200
RevisionDateAuthorComments
 1.5  01-Mar-2020  rin 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
 1.4  18-Mar-2010  kiyohara branches: 1.4.60; 1.4.64;
Support Plathome's OpenBlockS600.
 1.3  11-Dec-2005  christos branches: 1.3.78; 1.3.98; 1.3.100;
merge ktrace-lwp.
 1.2  17-Sep-2005  yamt include "conf/std".
 1.1  18-Mar-2005  shige branches: 1.1.2; 1.1.4; 1.1.6; 1.1.8;
Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
 1.1.8.1  21-Jun-2006  yamt sync with head.
 1.1.6.2  29-Apr-2005  kent sync with -current
 1.1.6.1  18-Mar-2005  kent file std.obs200 was added on branch kent-audio2 on 2005-04-29 11:28:08 +0000
 1.1.4.3  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.1.4.2  01-Apr-2005  skrll Sync with HEAD.
 1.1.4.1  18-Mar-2005  skrll file std.obs200 was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
 1.1.2.2  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.1.2.1  18-Mar-2005  yamt file std.obs200 was added on branch yamt-km on 2005-03-19 08:32:57 +0000
 1.3.100.1  30-May-2010  rmind sync with head
 1.3.98.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.3.78.1  11-Aug-2010  yamt sync with head.
 1.4.64.1  03-Mar-2020  martin 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
 1.4.60.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed