head	1.5;
access;
symbols
	netbsd-11-0-RC4:1.5
	netbsd-11-0-RC3:1.5
	netbsd-11-0-RC2:1.5
	netbsd-11-0-RC1:1.5
	perseant-exfatfs-base-20250801:1.5
	netbsd-11:1.5.0.32
	netbsd-11-base:1.5
	netbsd-10-1-RELEASE:1.5
	perseant-exfatfs-base-20240630:1.5
	perseant-exfatfs:1.5.0.30
	perseant-exfatfs-base:1.5
	netbsd-8-3-RELEASE:1.4
	netbsd-9-4-RELEASE:1.4.64.1
	netbsd-10-0-RELEASE:1.5
	netbsd-10-0-RC6:1.5
	netbsd-10-0-RC5:1.5
	netbsd-10-0-RC4:1.5
	netbsd-10-0-RC3:1.5
	netbsd-10-0-RC2:1.5
	thorpej-ifq:1.5.0.28
	thorpej-ifq-base:1.5
	thorpej-altq-separation:1.5.0.26
	thorpej-altq-separation-base:1.5
	netbsd-10-0-RC1:1.5
	netbsd-10:1.5.0.24
	netbsd-10-base:1.5
	bouyer-sunxi-drm:1.5.0.22
	bouyer-sunxi-drm-base:1.5
	netbsd-9-3-RELEASE:1.4.64.1
	thorpej-i2c-spi-conf2:1.5.0.20
	thorpej-i2c-spi-conf2-base:1.5
	thorpej-futex2:1.5.0.18
	thorpej-futex2-base:1.5
	thorpej-cfargs2:1.5.0.16
	thorpej-cfargs2-base:1.5
	cjep_sun2x-base1:1.5
	cjep_sun2x:1.5.0.14
	cjep_sun2x-base:1.5
	cjep_staticlib_x-base1:1.5
	netbsd-9-2-RELEASE:1.4.64.1
	cjep_staticlib_x:1.5.0.12
	cjep_staticlib_x-base:1.5
	thorpej-i2c-spi-conf:1.5.0.10
	thorpej-i2c-spi-conf-base:1.5
	thorpej-cfargs:1.5.0.8
	thorpej-cfargs-base:1.5
	thorpej-futex:1.5.0.6
	thorpej-futex-base:1.5
	netbsd-9-1-RELEASE:1.4.64.1
	bouyer-xenpvh-base2:1.5
	phil-wifi-20200421:1.5
	bouyer-xenpvh-base1:1.5
	phil-wifi-20200411:1.5
	bouyer-xenpvh:1.5.0.4
	bouyer-xenpvh-base:1.5
	is-mlppp:1.5.0.2
	is-mlppp-base:1.5
	phil-wifi-20200406:1.5
	netbsd-8-2-RELEASE:1.4
	ad-namecache-base3:1.4
	netbsd-9-0-RELEASE:1.4
	netbsd-9-0-RC2:1.4
	ad-namecache-base2:1.4
	ad-namecache-base1:1.4
	ad-namecache:1.4.0.66
	ad-namecache-base:1.4
	netbsd-9-0-RC1:1.4
	phil-wifi-20191119:1.4
	netbsd-9:1.4.0.64
	netbsd-9-base:1.4
	phil-wifi-20190609:1.4
	netbsd-8-1-RELEASE:1.4
	netbsd-8-1-RC1:1.4
	isaki-audio2:1.4.0.62
	isaki-audio2-base:1.4
	pgoyette-compat-merge-20190127:1.4
	pgoyette-compat-20190127:1.4
	pgoyette-compat-20190118:1.4
	pgoyette-compat-1226:1.4
	pgoyette-compat-1126:1.4
	pgoyette-compat-1020:1.4
	pgoyette-compat-0930:1.4
	pgoyette-compat-0906:1.4
	netbsd-7-2-RELEASE:1.4
	pgoyette-compat-0728:1.4
	netbsd-8-0-RELEASE:1.4
	phil-wifi:1.4.0.60
	phil-wifi-base:1.4
	pgoyette-compat-0625:1.4
	netbsd-8-0-RC2:1.4
	pgoyette-compat-0521:1.4
	pgoyette-compat-0502:1.4
	pgoyette-compat-0422:1.4
	netbsd-8-0-RC1:1.4
	pgoyette-compat-0415:1.4
	pgoyette-compat-0407:1.4
	pgoyette-compat-0330:1.4
	pgoyette-compat-0322:1.4
	pgoyette-compat-0315:1.4
	netbsd-7-1-2-RELEASE:1.4
	pgoyette-compat:1.4.0.58
	pgoyette-compat-base:1.4
	netbsd-7-1-1-RELEASE:1.4
	tls-maxphys-base-20171202:1.4
	matt-nb8-mediatek:1.4.0.56
	matt-nb8-mediatek-base:1.4
	nick-nhusb-base-20170825:1.4
	perseant-stdc-iso10646:1.4.0.54
	perseant-stdc-iso10646-base:1.4
	netbsd-8:1.4.0.52
	netbsd-8-base:1.4
	prg-localcount2-base3:1.4
	prg-localcount2-base2:1.4
	prg-localcount2-base1:1.4
	prg-localcount2:1.4.0.50
	prg-localcount2-base:1.4
	pgoyette-localcount-20170426:1.4
	bouyer-socketcan-base1:1.4
	jdolecek-ncq:1.4.0.48
	jdolecek-ncq-base:1.4
	pgoyette-localcount-20170320:1.4
	netbsd-7-1:1.4.0.46
	netbsd-7-1-RELEASE:1.4
	netbsd-7-1-RC2:1.4
	nick-nhusb-base-20170204:1.4
	netbsd-7-nhusb-base-20170116:1.4
	bouyer-socketcan:1.4.0.44
	bouyer-socketcan-base:1.4
	pgoyette-localcount-20170107:1.4
	netbsd-7-1-RC1:1.4
	nick-nhusb-base-20161204:1.4
	pgoyette-localcount-20161104:1.4
	netbsd-7-0-2-RELEASE:1.4
	nick-nhusb-base-20161004:1.4
	localcount-20160914:1.4
	netbsd-7-nhusb:1.4.0.42
	netbsd-7-nhusb-base:1.4
	pgoyette-localcount-20160806:1.4
	pgoyette-localcount-20160726:1.4
	pgoyette-localcount:1.4.0.40
	pgoyette-localcount-base:1.4
	nick-nhusb-base-20160907:1.4
	nick-nhusb-base-20160529:1.4
	netbsd-7-0-1-RELEASE:1.4
	nick-nhusb-base-20160422:1.4
	nick-nhusb-base-20160319:1.4
	nick-nhusb-base-20151226:1.4
	netbsd-7-0:1.4.0.38
	netbsd-7-0-RELEASE:1.4
	nick-nhusb-base-20150921:1.4
	netbsd-7-0-RC3:1.4
	netbsd-7-0-RC2:1.4
	netbsd-7-0-RC1:1.4
	nick-nhusb-base-20150606:1.4
	nick-nhusb-base-20150406:1.4
	nick-nhusb:1.4.0.36
	nick-nhusb-base:1.4
	netbsd-5-2-3-RELEASE:1.3
	netbsd-5-1-5-RELEASE:1.3
	netbsd-6-0-6-RELEASE:1.4
	netbsd-6-1-5-RELEASE:1.4
	netbsd-7:1.4.0.34
	netbsd-7-base:1.4
	yamt-pagecache-base9:1.4
	yamt-pagecache-tag8:1.4
	netbsd-6-1-4-RELEASE:1.4
	netbsd-6-0-5-RELEASE:1.4
	tls-earlyentropy:1.4.0.32
	tls-earlyentropy-base:1.4
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.4
	riastradh-drm2-base3:1.4
	netbsd-6-1-3-RELEASE:1.4
	netbsd-6-0-4-RELEASE:1.4
	netbsd-5-2-2-RELEASE:1.3
	netbsd-5-1-4-RELEASE:1.3
	netbsd-6-1-2-RELEASE:1.4
	netbsd-6-0-3-RELEASE:1.4
	netbsd-5-2-1-RELEASE:1.3
	netbsd-5-1-3-RELEASE:1.3
	rmind-smpnet-nbase:1.4
	netbsd-6-1-1-RELEASE:1.4
	riastradh-drm2-base2:1.4
	riastradh-drm2-base1:1.4
	riastradh-drm2:1.4.0.30
	riastradh-drm2-base:1.4
	rmind-smpnet:1.4.0.22
	rmind-smpnet-base:1.4
	netbsd-6-1:1.4.0.28
	netbsd-6-0-2-RELEASE:1.4
	netbsd-6-1-RELEASE:1.4
	khorben-n900:1.4.0.26
	netbsd-6-1-RC4:1.4
	netbsd-6-1-RC3:1.4
	agc-symver:1.4.0.24
	agc-symver-base:1.4
	netbsd-6-1-RC2:1.4
	netbsd-6-1-RC1:1.4
	yamt-pagecache-base8:1.4
	netbsd-5-2:1.3.0.106
	netbsd-6-0-1-RELEASE:1.4
	yamt-pagecache-base7:1.4
	netbsd-5-2-RELEASE:1.3
	netbsd-5-2-RC1:1.3
	matt-nb6-plus-nbase:1.4
	yamt-pagecache-base6:1.4
	netbsd-6-0:1.4.0.20
	netbsd-6-0-RELEASE:1.4
	netbsd-6-0-RC2:1.4
	tls-maxphys:1.4.0.18
	tls-maxphys-base:1.4
	matt-nb6-plus:1.4.0.16
	matt-nb6-plus-base:1.4
	netbsd-6-0-RC1:1.4
	jmcneill-usbmp-base10:1.4
	yamt-pagecache-base5:1.4
	jmcneill-usbmp-base9:1.4
	yamt-pagecache-base4:1.4
	jmcneill-usbmp-base8:1.4
	jmcneill-usbmp-base7:1.4
	jmcneill-usbmp-base6:1.4
	jmcneill-usbmp-base5:1.4
	jmcneill-usbmp-base4:1.4
	jmcneill-usbmp-base3:1.4
	jmcneill-usbmp-pre-base2:1.4
	jmcneill-usbmp-base2:1.4
	netbsd-6:1.4.0.14
	netbsd-6-base:1.4
	netbsd-5-1-2-RELEASE:1.3
	netbsd-5-1-1-RELEASE:1.3
	jmcneill-usbmp:1.4.0.12
	jmcneill-usbmp-base:1.4
	jmcneill-audiomp3:1.4.0.10
	jmcneill-audiomp3-base:1.4
	yamt-pagecache-base3:1.4
	yamt-pagecache-base2:1.4
	yamt-pagecache:1.4.0.8
	yamt-pagecache-base:1.4
	rmind-uvmplock-nbase:1.4
	cherry-xenmp:1.4.0.6
	cherry-xenmp-base:1.4
	jym-xensuspend-nbase:1.4
	uebayasi-xip-base7:1.4
	bouyer-quota2-nbase:1.4
	bouyer-quota2:1.4.0.4
	bouyer-quota2-base:1.4
	jruoho-x86intr:1.4.0.2
	jruoho-x86intr-base:1.4
	matt-mips64-premerge-20101231:1.4
	matt-nb5-mips64-premerge-20101231:1.3
	matt-nb5-pq3:1.3.0.104
	matt-nb5-pq3-base:1.3
	netbsd-5-1:1.3.0.102
	uebayasi-xip-base6:1.4
	uebayasi-xip-base5:1.4
	netbsd-5-1-RELEASE:1.3
	uebayasi-xip-base4:1.4
	uebayasi-xip-base3:1.4
	yamt-nfs-mp-base11:1.4
	netbsd-5-1-RC4:1.3
	matt-nb5-mips64-k15:1.3
	uebayasi-xip-base2:1.4
	yamt-nfs-mp-base10:1.4
	netbsd-5-1-RC3:1.3
	netbsd-5-1-RC2:1.3
	uebayasi-xip-base1:1.4
	netbsd-5-1-RC1:1.3
	rmind-uvmplock:1.3.0.100
	rmind-uvmplock-base:1.4
	yamt-nfs-mp-base9:1.3
	uebayasi-xip:1.3.0.98
	uebayasi-xip-base:1.3
	netbsd-5-0-2-RELEASE:1.3
	matt-nb5-mips64-premerge-20091211:1.3
	matt-premerge-20091211:1.3
	yamt-nfs-mp-base8:1.3
	matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.3
	matt-nb4-mips64-k7-u2a-k9b:1.3
	matt-nb5-mips64-u1-k1-k5:1.3
	yamt-nfs-mp-base7:1.3
	matt-nb5-mips64:1.3.0.96
	netbsd-5-0-1-RELEASE:1.3
	jymxensuspend-base:1.3
	yamt-nfs-mp-base6:1.3
	yamt-nfs-mp-base5:1.3
	yamt-nfs-mp-base4:1.3
	yamt-nfs-mp-base3:1.3
	nick-hppapmap-base4:1.3
	nick-hppapmap-base3:1.3
	netbsd-5-0:1.3.0.94
	netbsd-5-0-RELEASE:1.3
	netbsd-5-0-RC4:1.3
	netbsd-5-0-RC3:1.3
	nick-hppapmap-base2:1.3
	netbsd-5-0-RC2:1.3
	jym-xensuspend:1.3.0.92
	jym-xensuspend-base:1.4
	netbsd-5-0-RC1:1.3
	haad-dm-base2:1.3
	haad-nbase2:1.3
	ad-audiomp2:1.3.0.90
	ad-audiomp2-base:1.3
	netbsd-5:1.3.0.88
	netbsd-5-base:1.3
	nick-hppapmap:1.3.0.86
	nick-hppapmap-base:1.3
	matt-mips64-base2:1.3
	haad-dm-base1:1.3
	wrstuden-revivesa-base-4:1.3
	netbsd-4-0-1-RELEASE:1.3
	wrstuden-revivesa-base-3:1.3
	wrstuden-revivesa-base-2:1.3
	wrstuden-fixsa-newbase:1.3
	nick-csl-alignment-base5:1.3
	haad-dm:1.3.0.84
	haad-dm-base:1.3
	wrstuden-revivesa-base-1:1.3
	simonb-wapbl-nbase:1.3
	yamt-pf42-base4:1.3
	simonb-wapbl:1.3.0.82
	simonb-wapbl-base:1.3
	yamt-pf42-base3:1.3
	hpcarm-cleanup-nbase:1.3
	yamt-pf42-baseX:1.3
	yamt-pf42-base2:1.3
	yamt-nfs-mp-base2:1.3
	wrstuden-revivesa:1.3.0.80
	wrstuden-revivesa-base:1.3
	yamt-nfs-mp:1.3.0.78
	yamt-nfs-mp-base:1.3
	yamt-pf42:1.3.0.76
	yamt-pf42-base:1.3
	ad-socklock-base1:1.3
	yamt-lazymbuf-base15:1.3
	yamt-lazymbuf-base14:1.3
	keiichi-mipv6-nbase:1.3
	mjf-devfs2:1.3.0.74
	mjf-devfs2-base:1.3
	nick-net80211-sync:1.3.0.72
	nick-net80211-sync-base:1.3
	keiichi-mipv6:1.3.0.70
	keiichi-mipv6-base:1.3
	bouyer-xeni386-merge1:1.3
	matt-armv6-prevmlocking:1.3
	wrstuden-fixsa-base-1:1.3
	vmlocking2-base3:1.3
	netbsd-4-0:1.3.0.68
	netbsd-4-0-RELEASE:1.3
	bouyer-xeni386-nbase:1.3
	yamt-kmem-base3:1.3
	cube-autoconf:1.3.0.66
	cube-autoconf-base:1.3
	yamt-kmem-base2:1.3
	bouyer-xeni386:1.3.0.64
	bouyer-xeni386-base:1.3
	yamt-kmem:1.3.0.62
	yamt-kmem-base:1.3
	vmlocking2-base2:1.3
	reinoud-bufcleanup-nbase:1.3
	vmlocking2:1.3.0.60
	vmlocking2-base1:1.3
	netbsd-4-0-RC5:1.3
	matt-nb4-arm:1.3.0.58
	matt-nb4-arm-base:1.3
	matt-armv6-nbase:1.3
	jmcneill-base:1.3
	netbsd-4-0-RC4:1.3
	mjf-devfs:1.3.0.56
	mjf-devfs-base:1.3
	bouyer-xenamd64-base2:1.3
	vmlocking-nbase:1.3
	yamt-x86pmap-base4:1.3
	bouyer-xenamd64:1.3.0.54
	bouyer-xenamd64-base:1.3
	netbsd-4-0-RC3:1.3
	yamt-x86pmap-base3:1.3
	yamt-x86pmap-base2:1.3
	netbsd-4-0-RC2:1.3
	yamt-x86pmap:1.3.0.52
	yamt-x86pmap-base:1.3
	netbsd-4-0-RC1:1.3
	matt-armv6:1.3.0.50
	matt-armv6-base:1.3
	jmcneill-pm:1.3.0.48
	jmcneill-pm-base:1.3
	hpcarm-cleanup:1.3.0.46
	hpcarm-cleanup-base:1.3
	nick-csl-alignment:1.3.0.44
	nick-csl-alignment-base:1.3
	matt-mips64:1.3.0.42
	matt-mips64-base:1.3
	yamt-idlelwp-base8:1.3
	wrstuden-fixsa:1.3.0.40
	wrstuden-fixsa-base:1.3
	ppcoea-renovation:1.3.0.38
	ppcoea-renovation-base:1.3
	thorpej-atomic:1.3.0.36
	thorpej-atomic-base:1.3
	reinoud-bufcleanup:1.3.0.34
	reinoud-bufcleanup-base:1.3
	mjf-ufs-trans:1.3.0.32
	mjf-ufs-trans-base:1.3
	vmlocking:1.3.0.30
	vmlocking-base:1.3
	ad-audiomp:1.3.0.28
	ad-audiomp-base:1.3
	yamt-idlelwp:1.3.0.26
	post-newlock2-merge:1.3
	newlock2-nbase:1.3
	yamt-splraiseipl-base5:1.3
	yamt-splraiseipl-base4:1.3
	yamt-splraiseipl-base3:1.3
	abandoned-netbsd-4-base:1.3
	abandoned-netbsd-4:1.3.0.18
	yamt-splraiseipl-base2:1.3
	yamt-splraiseipl:1.3.0.22
	yamt-splraiseipl-base:1.3
	yamt-pdpolicy-base9:1.3
	newlock2:1.3.0.20
	newlock2-base:1.3
	yamt-pdpolicy-base8:1.3
	yamt-pdpolicy-base7:1.3
	netbsd-4:1.3.0.24
	netbsd-4-base:1.3
	yamt-pdpolicy-base6:1.3
	chap-midi-nbase:1.3
	gdamore-uart:1.3.0.16
	gdamore-uart-base:1.3
	simonb-timcounters-final:1.3
	yamt-pdpolicy-base5:1.3
	chap-midi:1.3.0.14
	chap-midi-base:1.3
	yamt-pdpolicy-base4:1.3
	yamt-pdpolicy-base3:1.3
	peter-altq-base:1.3
	peter-altq:1.3.0.12
	yamt-pdpolicy-base2:1.3
	elad-kernelauth-base:1.3
	elad-kernelauth:1.3.0.10
	yamt-pdpolicy:1.3.0.8
	yamt-pdpolicy-base:1.3
	yamt-uio_vmspace-base5:1.3
	simonb-timecounters:1.3.0.6
	simonb-timecounters-base:1.3
	rpaulo-netinet-merge-pcb:1.3.0.4
	rpaulo-netinet-merge-pcb-base:1.3
	yamt-uio_vmspace:1.3.0.2
	yamt-readahead-base3:1.2
	yamt-readahead-base2:1.2
	yamt-readahead-pervnode:1.2
	yamt-readahead-perfile:1.2
	yamt-readahead:1.2.0.6
	yamt-readahead-base:1.2
	yamt-vop-base3:1.2
	yamt-vop-base2:1.2
	thorpej-vnode-attr:1.2.0.4
	thorpej-vnode-attr-base:1.2
	yamt-vop:1.2.0.2
	yamt-vop-base:1.2
	yamt-lazymbuf:1.1.0.8
	kent-audio2-base:1.1
	kent-audio2:1.1.0.6
	ktrace-lwp-base:1.2
	ktrace-lwp:1.1.0.4
	yamt-km-base4:1.1
	yamt-km:1.1.0.2
	yamt-km-base3:1.1;
locks; strict;
comment	@# @;


1.5
date	2020.03.01.23.23.36;	author rin;	state Exp;
branches;
next	1.4;
commitid	h5czJ9JbiyPpPKYB;

1.4
date	2010.03.18.14.15.38;	author kiyohara;	state Exp;
branches
	1.4.60.1
	1.4.64.1;
next	1.3;

1.3
date	2005.12.11.12.17.11;	author christos;	state Exp;
branches
	1.3.78.1
	1.3.98.1
	1.3.100.1;
next	1.2;

1.2
date	2005.09.17.09.44.06;	author yamt;	state Exp;
branches;
next	1.1;

1.1
date	2005.03.18.15.31.58;	author shige;	state Exp;
branches
	1.1.2.1
	1.1.4.1
	1.1.6.1
	1.1.8.1;
next	;

1.4.60.1
date	2020.04.08.14.07.36;	author martin;	state Exp;
branches;
next	;
commitid	Qli2aW9E74UFuA3C;

1.4.64.1
date	2020.03.03.18.54.59;	author martin;	state Exp;
branches;
next	;
commitid	I9WiQx4Ai9ZshZYB;

1.3.78.1
date	2010.08.11.22.51.53;	author yamt;	state Exp;
branches;
next	;

1.3.98.1
date	2010.04.30.14.39.17;	author uebayasi;	state Exp;
branches;
next	;

1.3.100.1
date	2010.05.30.05.16.43;	author rmind;	state Exp;
branches;
next	;

1.1.2.1
date	2005.03.18.15.31.58;	author yamt;	state dead;
branches;
next	1.1.2.2;

1.1.2.2
date	2005.03.19.08.32.57;	author yamt;	state Exp;
branches;
next	;

1.1.4.1
date	2005.03.18.15.31.58;	author skrll;	state dead;
branches;
next	1.1.4.2;

1.1.4.2
date	2005.04.01.14.27.26;	author skrll;	state Exp;
branches;
next	1.1.4.3;

1.1.4.3
date	2005.11.10.13.56.04;	author skrll;	state Exp;
branches;
next	;

1.1.6.1
date	2005.03.18.15.31.58;	author kent;	state dead;
branches;
next	1.1.6.2;

1.1.6.2
date	2005.04.29.11.28.08;	author kent;	state Exp;
branches;
next	;

1.1.8.1
date	2006.06.21.14.51.03;	author yamt;	state Exp;
branches;
next	;


desc
@@


1.5
log
@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
@
text
@#	$NetBSD: std.obs200,v 1.4 2010/03/18 14:15:38 kiyohara Exp $
#
# Standard/required options for obs200

include		"arch/evbppc/conf/std.obs405"

options 	IBM405_ERRATA77

makeoptions	PRDCTTYPE="obs200"
makeoptions	TEXTADDR=0x450000
options 	KERNBASE=0x450000

include		"arch/evbppc/conf/files.obs200"
@


1.4
log
@Support Plathome's OpenBlockS600.
@
text
@d1 1
a1 1
#	$NetBSD: std.obs200,v 1.3 2005/12/11 12:17:11 christos Exp $
d7 2
@


1.4.60.1
log
@Merge changes from current as of 20200406
@
text
@d1 1
a1 1
#	$NetBSD$
a6 2
options 	IBM405_ERRATA77

@


1.4.64.1
log
@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
@
text
@d1 1
a1 1
#	$NetBSD: std.obs200,v 1.4 2010/03/18 14:15:38 kiyohara Exp $
a6 2
options 	IBM405_ERRATA77

@


1.3
log
@merge ktrace-lwp.
@
text
@d1 1
a1 1
#	$NetBSD: std.obs200,v 1.1.4.2 2005/11/10 13:56:04 skrll Exp $
d3 1
a3 1
# Standard/required options for NetBSD/obs200
d5 1
a5 10
machine	evbppc powerpc
include		"conf/std"	# MI standard options

# standard ("mandatory") kernel options.
options 	PPC_IBM4XX	# IBM 40x family

# Executable support:
options 	EXEC_ELF32	# (native) ELF32 binary support
options 	EXEC_AOUT	# (native) a.out binary support (deprecated)
options 	EXEC_SCRIPT	# shell script support
d7 1
a8 5
makeoptions	BOARDTYPE="obs200"
makeoptions	PPCDIR="ibm4xx"

options 	PPC_INTR_IMPL="<powerpc/ibm4xx/ibm4xx_intr.h>"
options 	PPC_PCI_MACHDEP_IMPL="<powerpc/ibm4xx/pci_machdep.h>"
a10 5
options 	INTSTK=16384
options 	SPILLSTK=1024

include		"arch/powerpc/conf/files.ibm4xx"
include		"arch/powerpc/conf/files.ibm405gp"
@


1.3.78.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: std.obs200,v 1.3 2005/12/11 12:17:11 christos Exp $
d3 1
a3 1
# Standard/required options for obs200
d5 10
a14 1
include		"arch/evbppc/conf/std.obs405"
a15 1
makeoptions	PRDCTTYPE="obs200"
d17 5
d24 5
@


1.3.100.1
log
@sync with head
@
text
@d1 1
a1 1
#	$NetBSD: std.obs200,v 1.3 2005/12/11 12:17:11 christos Exp $
d3 1
a3 1
# Standard/required options for obs200
d5 10
a14 1
include		"arch/evbppc/conf/std.obs405"
a15 1
makeoptions	PRDCTTYPE="obs200"
d17 5
d24 5
@


1.3.98.1
log
@Sync with HEAD.
@
text
@d1 1
a1 1
#	$NetBSD$
d3 1
a3 1
# Standard/required options for obs200
d5 10
a14 1
include		"arch/evbppc/conf/std.obs405"
a15 1
makeoptions	PRDCTTYPE="obs200"
d17 5
d24 5
@


1.2
log
@include "conf/std".
@
text
@d1 1
a1 1
#	$NetBSD: std.obs200,v 1.1 2005/03/18 15:31:58 shige Exp $
@


1.1
log
@Add sources for OpenBlockS200 (OpenBlockS S/R) machine.
@
text
@d1 1
a1 1
#	$NetBSD$
d6 1
@


1.1.2.1
log
@file std.obs200 was added on branch yamt-km on 2005-03-19 08:32:57 +0000
@
text
@d1 28
@


1.1.2.2
log
@sync with head.  xen and whitespace.  xen part is not finished.
@
text
@a0 28
#	$NetBSD: std.obs200,v 1.1.2.1 2005/03/19 08:32:57 yamt Exp $
#
# Standard/required options for NetBSD/obs200

machine	evbppc powerpc

# standard ("mandatory") kernel options.
options 	PPC_IBM4XX	# IBM 40x family

# Executable support:
options 	EXEC_ELF32	# (native) ELF32 binary support
options 	EXEC_AOUT	# (native) a.out binary support (deprecated)
options 	EXEC_SCRIPT	# shell script support

makeoptions	TEXTADDR=0x450000
makeoptions	BOARDTYPE="obs200"
makeoptions	PPCDIR="ibm4xx"

options 	PPC_INTR_IMPL="<powerpc/ibm4xx/ibm4xx_intr.h>"
options 	PPC_PCI_MACHDEP_IMPL="<powerpc/ibm4xx/pci_machdep.h>"
options 	KERNBASE=0x450000

options 	INTSTK=16384
options 	SPILLSTK=1024

include		"arch/powerpc/conf/files.ibm4xx"
include		"arch/powerpc/conf/files.ibm405gp"
include		"arch/evbppc/conf/files.obs200"
@


1.1.6.1
log
@file std.obs200 was added on branch kent-audio2 on 2005-04-29 11:28:08 +0000
@
text
@d1 28
@


1.1.6.2
log
@sync with -current
@
text
@a0 28
#	$NetBSD: std.obs200,v 1.1.6.1 2005/04/29 11:28:08 kent Exp $
#
# Standard/required options for NetBSD/obs200

machine	evbppc powerpc

# standard ("mandatory") kernel options.
options 	PPC_IBM4XX	# IBM 40x family

# Executable support:
options 	EXEC_ELF32	# (native) ELF32 binary support
options 	EXEC_AOUT	# (native) a.out binary support (deprecated)
options 	EXEC_SCRIPT	# shell script support

makeoptions	TEXTADDR=0x450000
makeoptions	BOARDTYPE="obs200"
makeoptions	PPCDIR="ibm4xx"

options 	PPC_INTR_IMPL="<powerpc/ibm4xx/ibm4xx_intr.h>"
options 	PPC_PCI_MACHDEP_IMPL="<powerpc/ibm4xx/pci_machdep.h>"
options 	KERNBASE=0x450000

options 	INTSTK=16384
options 	SPILLSTK=1024

include		"arch/powerpc/conf/files.ibm4xx"
include		"arch/powerpc/conf/files.ibm405gp"
include		"arch/evbppc/conf/files.obs200"
@


1.1.4.1
log
@file std.obs200 was added on branch ktrace-lwp on 2005-04-01 14:27:26 +0000
@
text
@d1 28
@


1.1.4.2
log
@Sync with HEAD.
@
text
@a0 28
#	$NetBSD: std.obs200,v 1.1.4.1 2005/04/01 14:27:26 skrll Exp $
#
# Standard/required options for NetBSD/obs200

machine	evbppc powerpc

# standard ("mandatory") kernel options.
options 	PPC_IBM4XX	# IBM 40x family

# Executable support:
options 	EXEC_ELF32	# (native) ELF32 binary support
options 	EXEC_AOUT	# (native) a.out binary support (deprecated)
options 	EXEC_SCRIPT	# shell script support

makeoptions	TEXTADDR=0x450000
makeoptions	BOARDTYPE="obs200"
makeoptions	PPCDIR="ibm4xx"

options 	PPC_INTR_IMPL="<powerpc/ibm4xx/ibm4xx_intr.h>"
options 	PPC_PCI_MACHDEP_IMPL="<powerpc/ibm4xx/pci_machdep.h>"
options 	KERNBASE=0x450000

options 	INTSTK=16384
options 	SPILLSTK=1024

include		"arch/powerpc/conf/files.ibm4xx"
include		"arch/powerpc/conf/files.ibm405gp"
include		"arch/evbppc/conf/files.obs200"
@


1.1.4.3
log
@Sync with HEAD. Here we go again...
@
text
@d1 1
a1 1
#	$NetBSD: std.obs200,v 1.1.4.2 2005/11/10 13:56:04 skrll Exp $
a5 1
include		"conf/std"	# MI standard options
@


1.1.8.1
log
@sync with head.
@
text
@d1 1
a1 1
#	$NetBSD: std.obs200,v 1.1 2005/03/18 15:31:58 shige Exp $
a5 1
include		"conf/std"	# MI standard options
@
