From ee0b8c22b04f226d8eff2ad95e5bcd193547e190 Mon Sep 17 00:00:00 2001 From: Theo de Raadt Date: Sat, 11 May 2019 07:18:18 +0000 Subject: socppc makes an extended visit to the bigbucket. ok kettenis --- Makefile.cross | 4 +- distrib/Makefile | 4 +- distrib/notes/Makefile | 4 +- distrib/notes/socppc/contents | 40 - distrib/notes/socppc/features | 40 - distrib/notes/socppc/hardware | 3 - distrib/notes/socppc/install | 34 - distrib/notes/socppc/prep | 205 ----- distrib/notes/socppc/upgrade | 2 - distrib/notes/socppc/whatis | 3 - distrib/notes/socppc/xfer | 12 - distrib/sets/lists/base/md.socppc | 496 ---------- distrib/sets/lists/base/mi | 2 - distrib/sets/lists/comp/gcc.socppc | 607 ------------ distrib/sets/lists/comp/md.socppc | 124 --- distrib/sets/lists/etc/md.socppc | 0 distrib/sets/lists/game/md.socppc | 0 distrib/sets/lists/man/md.socppc | 0 distrib/sets/lists/man/mi | 11 - distrib/socppc/Makefile | 8 - distrib/socppc/ramdisk/Makefile | 85 -- distrib/socppc/ramdisk/install.md | 104 --- distrib/socppc/ramdisk/list | 114 --- distrib/special/disklabel/Makefile | 4 +- distrib/special/fdisk/Makefile | 4 +- distrib/special/installboot/Makefile | 6 +- etc/Makefile | 4 +- etc/etc.socppc/MAKEDEV | 453 --------- etc/etc.socppc/MAKEDEV.md | 103 --- etc/etc.socppc/Makefile | 5 - etc/etc.socppc/Makefile.inc | 7 - etc/etc.socppc/disktab | 11 - etc/etc.socppc/fbtab | 1 - etc/etc.socppc/login.conf | 109 --- etc/etc.socppc/sysctl.conf | 0 etc/etc.socppc/ttys | 14 - etc/mtree/4.4BSD.dist | 6 +- regress/etc/MAKEDEV/Makefile | 4 +- sbin/disklabel/Makefile | 4 +- sbin/fdisk/Makefile | 4 +- share/man/man4/Makefile | 5 +- share/man/man4/com.4 | 8 +- share/man/man4/man4.socppc/Makefile | 7 - share/man/man4/man4.socppc/autoconf.4 | 52 -- share/man/man4/man4.socppc/intro.4 | 112 --- share/man/man4/man4.socppc/ipic.4 | 37 - share/man/man4/man4.socppc/mem.4 | 84 -- share/man/man4/man4.socppc/obio.4 | 56 -- share/man/man4/man4.socppc/sociic.4 | 45 - share/man/man4/man4.socppc/socpcic.4 | 41 - share/man/man4/man4.socppc/tsec.4 | 81 -- share/man/man7/mdoc.7 | 5 +- share/man/man8/Makefile | 4 +- share/man/man8/man8.socppc/MAKEDEV.8 | 226 ----- share/man/man8/man8.socppc/Makefile | 7 - sys/Makefile | 4 +- sys/arch/socppc/Makefile | 50 - sys/arch/socppc/compile/GENERIC/Makefile | 1 - sys/arch/socppc/compile/Makefile | 7 - sys/arch/socppc/compile/Makefile.inc | 19 - sys/arch/socppc/compile/RAMDISK/Makefile | 1 - sys/arch/socppc/conf/GENERIC | 112 --- sys/arch/socppc/conf/Makefile.socppc | 150 --- sys/arch/socppc/conf/RAMDISK | 79 -- sys/arch/socppc/conf/files.socppc | 109 --- sys/arch/socppc/dev/com_obio.c | 89 -- sys/arch/socppc/dev/ehci_obio.c | 135 --- sys/arch/socppc/dev/if_tsec.c | 1335 --------------------------- sys/arch/socppc/dev/ipic.c | 410 --------- sys/arch/socppc/dev/obio.c | 101 -- sys/arch/socppc/dev/pciide_machdep.c | 40 - sys/arch/socppc/dev/sociic.c | 299 ------ sys/arch/socppc/dev/socpcic.c | 441 --------- sys/arch/socppc/dev/wdc_mainbus.c | 178 ---- sys/arch/socppc/include/_float.h | 3 - sys/arch/socppc/include/_types.h | 3 - sys/arch/socppc/include/asm.h | 3 - sys/arch/socppc/include/atomic.h | 3 - sys/arch/socppc/include/autoconf.h | 45 - sys/arch/socppc/include/bus.h | 617 ------------- sys/arch/socppc/include/cdefs.h | 3 - sys/arch/socppc/include/conf.h | 37 - sys/arch/socppc/include/cpu.h | 56 -- sys/arch/socppc/include/db_machdep.h | 3 - sys/arch/socppc/include/disklabel.h | 40 - sys/arch/socppc/include/endian.h | 3 - sys/arch/socppc/include/exec.h | 3 - sys/arch/socppc/include/fenv.h | 3 - sys/arch/socppc/include/fpu.h | 3 - sys/arch/socppc/include/frame.h | 3 - sys/arch/socppc/include/ieee.h | 3 - sys/arch/socppc/include/ieeefp.h | 3 - sys/arch/socppc/include/intr.h | 9 - sys/arch/socppc/include/kcore.h | 3 - sys/arch/socppc/include/limits.h | 3 - sys/arch/socppc/include/loadfile_machdep.h | 49 - sys/arch/socppc/include/lock.h | 3 - sys/arch/socppc/include/mutex.h | 3 - sys/arch/socppc/include/param.h | 54 -- sys/arch/socppc/include/pcb.h | 3 - sys/arch/socppc/include/pci_machdep.h | 105 --- sys/arch/socppc/include/pio.h | 3 - sys/arch/socppc/include/pmap.h | 3 - sys/arch/socppc/include/proc.h | 3 - sys/arch/socppc/include/profile.h | 3 - sys/arch/socppc/include/psl.h | 3 - sys/arch/socppc/include/pte.h | 3 - sys/arch/socppc/include/ptrace.h | 3 - sys/arch/socppc/include/reg.h | 3 - sys/arch/socppc/include/reloc.h | 3 - sys/arch/socppc/include/setjmp.h | 3 - sys/arch/socppc/include/signal.h | 3 - sys/arch/socppc/include/spinlock.h | 3 - sys/arch/socppc/include/stdarg.h | 3 - sys/arch/socppc/include/tcb.h | 3 - sys/arch/socppc/include/trap.h | 3 - sys/arch/socppc/include/varargs.h | 3 - sys/arch/socppc/include/vmparam.h | 99 -- sys/arch/socppc/socppc/autoconf.c | 74 -- sys/arch/socppc/socppc/clock.c | 338 ------- sys/arch/socppc/socppc/conf.c | 277 ------ sys/arch/socppc/socppc/cpu.c | 96 -- sys/arch/socppc/socppc/disksubr.c | 133 --- sys/arch/socppc/socppc/genassym.cf | 99 -- sys/arch/socppc/socppc/locore.S | 1380 ---------------------------- sys/arch/socppc/socppc/machdep.c | 771 ---------------- sys/arch/socppc/socppc/mainbus.c | 118 --- sys/arch/socppc/socppc/mem.c | 184 ---- sys/arch/socppc/socppc/n1200.dts | 193 ---- sys/arch/socppc/socppc/n1200_dts.S | 1052 --------------------- sys/arch/socppc/stand/Makefile | 5 - sys/arch/socppc/stand/Makefile.inc | 10 - sys/arch/socppc/stand/boot/Makefile | 73 -- sys/arch/socppc/stand/boot/boot.8 | 285 ------ sys/arch/socppc/stand/boot/clock.c | 48 - sys/arch/socppc/stand/boot/cmd_socppc.c | 40 - sys/arch/socppc/stand/boot/conf.c | 69 -- sys/arch/socppc/stand/boot/dev_socppc.c | 67 -- sys/arch/socppc/stand/boot/devopen.c | 122 --- sys/arch/socppc/stand/boot/exec.c | 74 -- sys/arch/socppc/stand/boot/fdt.c | 415 --------- sys/arch/socppc/stand/boot/fdt.h | 59 -- sys/arch/socppc/stand/boot/libsa.h | 42 - sys/arch/socppc/stand/boot/machdep.c | 155 ---- sys/arch/socppc/stand/boot/ns16550.c | 136 --- sys/arch/socppc/stand/boot/pciide.c | 103 --- sys/arch/socppc/stand/boot/start.S | 21 - sys/arch/socppc/stand/boot/time.c | 13 - sys/arch/socppc/stand/boot/wd.c | 311 ------- sys/arch/socppc/stand/boot/wdc.c | 379 -------- sys/arch/socppc/stand/boot/wdc_obio.c | 99 -- sys/arch/socppc/stand/boot/wdvar.h | 138 --- sys/arch/socppc/stand/mbr/Makefile | 31 - sys/arch/socppc/stand/mbr/mbr.S | 34 - sys/arch/socppc/stand/mkboot/Makefile | 15 - sys/arch/socppc/stand/mkboot/mkboot.8 | 46 - sys/arch/socppc/stand/mkboot/mkboot.c | 145 --- sys/kern/Makefile | 4 +- usr.bin/mandoc/arch.c | 4 +- usr.sbin/hotplugd/Makefile | 4 +- usr.sbin/pcidump/Makefile | 5 +- 161 files changed, 38 insertions(+), 15813 deletions(-) delete mode 100644 distrib/notes/socppc/contents delete mode 100644 distrib/notes/socppc/features delete mode 100644 distrib/notes/socppc/hardware delete mode 100644 distrib/notes/socppc/install delete mode 100644 distrib/notes/socppc/prep delete mode 100644 distrib/notes/socppc/upgrade delete mode 100644 distrib/notes/socppc/whatis delete mode 100644 distrib/notes/socppc/xfer delete mode 100644 distrib/sets/lists/base/md.socppc delete mode 100644 distrib/sets/lists/comp/gcc.socppc delete mode 100644 distrib/sets/lists/comp/md.socppc delete mode 100644 distrib/sets/lists/etc/md.socppc delete mode 100644 distrib/sets/lists/game/md.socppc delete mode 100644 distrib/sets/lists/man/md.socppc delete mode 100644 distrib/socppc/Makefile delete mode 100644 distrib/socppc/ramdisk/Makefile delete mode 100644 distrib/socppc/ramdisk/install.md delete mode 100644 distrib/socppc/ramdisk/list delete mode 100644 etc/etc.socppc/MAKEDEV delete mode 100644 etc/etc.socppc/MAKEDEV.md delete mode 100644 etc/etc.socppc/Makefile delete mode 100644 etc/etc.socppc/Makefile.inc delete mode 100644 etc/etc.socppc/disktab delete mode 100644 etc/etc.socppc/fbtab delete mode 100644 etc/etc.socppc/login.conf delete mode 100644 etc/etc.socppc/sysctl.conf delete mode 100644 etc/etc.socppc/ttys delete mode 100644 share/man/man4/man4.socppc/Makefile delete mode 100644 share/man/man4/man4.socppc/autoconf.4 delete mode 100644 share/man/man4/man4.socppc/intro.4 delete mode 100644 share/man/man4/man4.socppc/ipic.4 delete mode 100644 share/man/man4/man4.socppc/mem.4 delete mode 100644 share/man/man4/man4.socppc/obio.4 delete mode 100644 share/man/man4/man4.socppc/sociic.4 delete mode 100644 share/man/man4/man4.socppc/socpcic.4 delete mode 100644 share/man/man4/man4.socppc/tsec.4 delete mode 100644 share/man/man8/man8.socppc/MAKEDEV.8 delete mode 100644 share/man/man8/man8.socppc/Makefile delete mode 100644 sys/arch/socppc/Makefile delete mode 100644 sys/arch/socppc/compile/GENERIC/Makefile delete mode 100644 sys/arch/socppc/compile/Makefile delete mode 100644 sys/arch/socppc/compile/Makefile.inc delete mode 100644 sys/arch/socppc/compile/RAMDISK/Makefile delete mode 100644 sys/arch/socppc/conf/GENERIC delete mode 100644 sys/arch/socppc/conf/Makefile.socppc delete mode 100644 sys/arch/socppc/conf/RAMDISK delete mode 100644 sys/arch/socppc/conf/files.socppc delete mode 100644 sys/arch/socppc/dev/com_obio.c delete mode 100644 sys/arch/socppc/dev/ehci_obio.c delete mode 100644 sys/arch/socppc/dev/if_tsec.c delete mode 100644 sys/arch/socppc/dev/ipic.c delete mode 100644 sys/arch/socppc/dev/obio.c delete mode 100644 sys/arch/socppc/dev/pciide_machdep.c delete mode 100644 sys/arch/socppc/dev/sociic.c delete mode 100644 sys/arch/socppc/dev/socpcic.c delete mode 100644 sys/arch/socppc/dev/wdc_mainbus.c delete mode 100644 sys/arch/socppc/include/_float.h delete mode 100644 sys/arch/socppc/include/_types.h delete mode 100644 sys/arch/socppc/include/asm.h delete mode 100644 sys/arch/socppc/include/atomic.h delete mode 100644 sys/arch/socppc/include/autoconf.h delete mode 100644 sys/arch/socppc/include/bus.h delete mode 100644 sys/arch/socppc/include/cdefs.h delete mode 100644 sys/arch/socppc/include/conf.h delete mode 100644 sys/arch/socppc/include/cpu.h delete mode 100644 sys/arch/socppc/include/db_machdep.h delete mode 100644 sys/arch/socppc/include/disklabel.h delete mode 100644 sys/arch/socppc/include/endian.h delete mode 100644 sys/arch/socppc/include/exec.h delete mode 100644 sys/arch/socppc/include/fenv.h delete mode 100644 sys/arch/socppc/include/fpu.h delete mode 100644 sys/arch/socppc/include/frame.h delete mode 100644 sys/arch/socppc/include/ieee.h delete mode 100644 sys/arch/socppc/include/ieeefp.h delete mode 100644 sys/arch/socppc/include/intr.h delete mode 100644 sys/arch/socppc/include/kcore.h delete mode 100644 sys/arch/socppc/include/limits.h delete mode 100644 sys/arch/socppc/include/loadfile_machdep.h delete mode 100644 sys/arch/socppc/include/lock.h delete mode 100644 sys/arch/socppc/include/mutex.h delete mode 100644 sys/arch/socppc/include/param.h delete mode 100644 sys/arch/socppc/include/pcb.h delete mode 100644 sys/arch/socppc/include/pci_machdep.h delete mode 100644 sys/arch/socppc/include/pio.h delete mode 100644 sys/arch/socppc/include/pmap.h delete mode 100644 sys/arch/socppc/include/proc.h delete mode 100644 sys/arch/socppc/include/profile.h delete mode 100644 sys/arch/socppc/include/psl.h delete mode 100644 sys/arch/socppc/include/pte.h delete mode 100644 sys/arch/socppc/include/ptrace.h delete mode 100644 sys/arch/socppc/include/reg.h delete mode 100644 sys/arch/socppc/include/reloc.h delete mode 100644 sys/arch/socppc/include/setjmp.h delete mode 100644 sys/arch/socppc/include/signal.h delete mode 100644 sys/arch/socppc/include/spinlock.h delete mode 100644 sys/arch/socppc/include/stdarg.h delete mode 100644 sys/arch/socppc/include/tcb.h delete mode 100644 sys/arch/socppc/include/trap.h delete mode 100644 sys/arch/socppc/include/varargs.h delete mode 100644 sys/arch/socppc/include/vmparam.h delete mode 100644 sys/arch/socppc/socppc/autoconf.c delete mode 100644 sys/arch/socppc/socppc/clock.c delete mode 100644 sys/arch/socppc/socppc/conf.c delete mode 100644 sys/arch/socppc/socppc/cpu.c delete mode 100644 sys/arch/socppc/socppc/disksubr.c delete mode 100644 sys/arch/socppc/socppc/genassym.cf delete mode 100644 sys/arch/socppc/socppc/locore.S delete mode 100644 sys/arch/socppc/socppc/machdep.c delete mode 100644 sys/arch/socppc/socppc/mainbus.c delete mode 100644 sys/arch/socppc/socppc/mem.c delete mode 100644 sys/arch/socppc/socppc/n1200.dts delete mode 100644 sys/arch/socppc/socppc/n1200_dts.S delete mode 100644 sys/arch/socppc/stand/Makefile delete mode 100644 sys/arch/socppc/stand/Makefile.inc delete mode 100644 sys/arch/socppc/stand/boot/Makefile delete mode 100644 sys/arch/socppc/stand/boot/boot.8 delete mode 100644 sys/arch/socppc/stand/boot/clock.c delete mode 100644 sys/arch/socppc/stand/boot/cmd_socppc.c delete mode 100644 sys/arch/socppc/stand/boot/conf.c delete mode 100644 sys/arch/socppc/stand/boot/dev_socppc.c delete mode 100644 sys/arch/socppc/stand/boot/devopen.c delete mode 100644 sys/arch/socppc/stand/boot/exec.c delete mode 100644 sys/arch/socppc/stand/boot/fdt.c delete mode 100644 sys/arch/socppc/stand/boot/fdt.h delete mode 100644 sys/arch/socppc/stand/boot/libsa.h delete mode 100644 sys/arch/socppc/stand/boot/machdep.c delete mode 100644 sys/arch/socppc/stand/boot/ns16550.c delete mode 100644 sys/arch/socppc/stand/boot/pciide.c delete mode 100644 sys/arch/socppc/stand/boot/start.S delete mode 100644 sys/arch/socppc/stand/boot/time.c delete mode 100644 sys/arch/socppc/stand/boot/wd.c delete mode 100644 sys/arch/socppc/stand/boot/wdc.c delete mode 100644 sys/arch/socppc/stand/boot/wdc_obio.c delete mode 100644 sys/arch/socppc/stand/boot/wdvar.h delete mode 100644 sys/arch/socppc/stand/mbr/Makefile delete mode 100644 sys/arch/socppc/stand/mbr/mbr.S delete mode 100644 sys/arch/socppc/stand/mkboot/Makefile delete mode 100644 sys/arch/socppc/stand/mkboot/mkboot.8 delete mode 100644 sys/arch/socppc/stand/mkboot/mkboot.c diff --git a/Makefile.cross b/Makefile.cross index 4c2adab1c15..6a41436aaa6 100644 --- a/Makefile.cross +++ b/Makefile.cross @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile.cross,v 1.99 2018/02/04 21:11:32 patrick Exp $ +# $OpenBSD: Makefile.cross,v 1.100 2019/05/11 07:18:14 deraadt Exp $ cross-tools: cross-includes cross-binutils cross-gcc cross-lib cross-distrib: cross-tools cross-bin cross-share cross-sys cross-etc-root-var @@ -17,7 +17,7 @@ TARGET_ARCH= mips64 .elif (${TARGET} == "loongson") TARGET_ARCH= mips64el TARGET_CPU= mips64 -.elif (${TARGET} == "macppc" || ${TARGET} == "socppc") +.elif (${TARGET} == "macppc" TARGET_ARCH= powerpc .elif (${TARGET} == "landisk") TARGET_ARCH= sh diff --git a/distrib/Makefile b/distrib/Makefile index 004462a1f59..78d727a831a 100644 --- a/distrib/Makefile +++ b/distrib/Makefile @@ -1,11 +1,11 @@ -# $OpenBSD: Makefile,v 1.51 2017/01/25 03:18:58 deraadt Exp $ +# $OpenBSD: Makefile,v 1.52 2019/05/11 07:18:14 deraadt Exp $ SUBDIR= special notes .if make(obj) SUBDIR+=alpha amd64 armv7 arm64 hppa i386 \ landisk loongson luna88k macppc \ - octeon sgi socppc sparc64 + octeon sgi sparc64 .elif exists(${MACHINE}) SUBDIR+=${MACHINE} .endif diff --git a/distrib/notes/Makefile b/distrib/notes/Makefile index 3a9e04229b6..2e2f8981c4d 100644 --- a/distrib/notes/Makefile +++ b/distrib/notes/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.47 2017/01/25 03:10:40 patrick Exp $ +# $OpenBSD: Makefile,v 1.48 2019/05/11 07:18:14 deraadt Exp $ NOPROG= NOMAN= @@ -19,7 +19,7 @@ all: $(TARG) allarchs: @cd $(.CURDIR); \ for arch in alpha amd64 arm64 armv7 hppa i386 landisk \ - loongson luna88k macppc octeon sgi socppc sparc64; \ + loongson luna88k macppc octeon sgi sparc64; \ do ${MAKE} M=$$arch; done $(TARG): $(DEP) diff --git a/distrib/notes/socppc/contents b/distrib/notes/socppc/contents deleted file mode 100644 index 30c832d3230..00000000000 --- a/distrib/notes/socppc/contents +++ /dev/null @@ -1,40 +0,0 @@ -dnl $OpenBSD: contents,v 1.19 2015/12/30 23:49:00 rpe Exp $ -TopPart - -OpenBSDdistsets - -OpenBSDbsd - -OpenBSDrd - - bsd.bin A RAMDISK kernel that can be loaded directly - by the U-Boot firmware. Used for installation - on Thecus N1200. - - boot The OpenBSD/MACHINE secondary boot loader in - U-Boot format. - - boot.elf The secondary boot loader in ELF format, for - use with the RouterBOOT firmware. - - miniroot{:--:}OSrev.fs A miniroot filesystem image to be copied to - CompactFlash to allow installing OpenBSD OSREV on the - RouterBOARD RB600A. - -DistributionDescription(eight) - -OpenBSDbase(67293249,190200855) - -OpenBSDcomp(50286564,143318838) - -OpenBSDgame(2798869,6442457) - -OpenBSDman(9188259,35916912) - -OpenBSDxbase(17601905,46812762) - -OpenBSDxfont(39938196,52169245) - -OpenBSDxserv(6258158,16371300) - -OpenBSDxshare(4559574,25735496) diff --git a/distrib/notes/socppc/features b/distrib/notes/socppc/features deleted file mode 100644 index e57a2566e11..00000000000 --- a/distrib/notes/socppc/features +++ /dev/null @@ -1,40 +0,0 @@ -dnl $OpenBSD: features,v 1.3 2013/02/25 20:16:04 miod Exp $ -dnl -dnl This file lists almost all the conditional features of this port, -dnl which are used to provide accurate installation notes. -dnl -dnl Information about the installer script features should be in sync with -dnl src/distrib/socppc/ramdisk/install.md -dnl and the list files in -dnl src/distrib/socppc/ramdisk/list -dnl -dnl ==== -dnl -dnl architecture name (for the packages directory) -define({:-MACHINE_ARCH-:},powerpc)dnl -dnl -dnl define if /sbin/kbd exists on the media -define({:-MDKBD-:},)dnl -dnl -dnl define if serial consoles needs to be enabled in /etc/ttys -dnl (i.e. md_consoleinfo is not empty) -define({:-MDSERCONS-:},)dnl -dnl -dnl define if SMP kernels are provided -define({:-MDSMP-:},)dnl -dnl -dnl define if shared libraries are provided -define({:-MDSO-:},1)dnl -dnl -dnl define if some media have timezone information (TZ in their list) -define({:-MDTZ-:},1)dnl -dnl -dnl define if glass console is possible -dnl (XXX does not imply availablity of X servers though) -define({:-MDX-:},)dnl -dnl -dnl define if the X server can't start until machdep.allow_aperture is set -define({:-MDXAPERTURE-:},)dnl -dnl -dnl define if the X server can start without a configuration file -define({:-MDXDM-:},)dnl diff --git a/distrib/notes/socppc/hardware b/distrib/notes/socppc/hardware deleted file mode 100644 index 97b937b188a..00000000000 --- a/distrib/notes/socppc/hardware +++ /dev/null @@ -1,3 +0,0 @@ -dnl $OpenBSD: hardware,v 1.3 2009/10/02 08:14:32 jasper Exp $ -dnl When more than one model is supported, turn this into a list... -OpenBSD/MACHINE runs on the Thecus N1200 and RouterBoard RB600A. diff --git a/distrib/notes/socppc/install b/distrib/notes/socppc/install deleted file mode 100644 index ce925c7abb8..00000000000 --- a/distrib/notes/socppc/install +++ /dev/null @@ -1,34 +0,0 @@ -dnl $OpenBSD: install,v 1.7 2013/12/04 23:20:19 jmc Exp $ -OpenBSDInstallPrelude - -OpenBSDInstallPart2 - -OpenBSDInstallPart3(,"wd0") - -OpenBSDInstallPart4 - -OpenBSDInstallMBRPart1 - -OpenBSDInstallMBRPart2(true) - -OpenBSDInstallPart5({:- - If you have Linux partitions defined on the disk, these will - usually show up as partition 'i', 'j' and so on.-:}) - -OpenBSDInstallPart6({:-CD-ROM, -:}) - -OpenBSDURLInstall - -OpenBSDCDROMInstall - -OpenBSDDISKInstall({:-"wdN" or -:},,{:- or MS-DOS-:}) - -OpenBSDCommonInstall - -OpenBSDInstallWrapup - -OpenBSDCongratulations - - - -OpenBSDUnattendedInstallation diff --git a/distrib/notes/socppc/prep b/distrib/notes/socppc/prep deleted file mode 100644 index 92ae11f1de9..00000000000 --- a/distrib/notes/socppc/prep +++ /dev/null @@ -1,205 +0,0 @@ -dnl $OpenBSD: prep,v 1.11 2014/02/28 00:47:14 afresh1 Exp $ -To be able to boot the OpenBSD/MACHINE installation program on the Thecus -N1200, you will need to learn a bit about Das U-Boot, the low-level process -that controls the microprocessor after hardware initialization. - -On the RouterBOARD RB600A, that task is handled by RouterBOOT. - -Thecus N1200 setup: - - Talking to the Thecus N1200 - - The Thecus N1200 needs a serial cable. On the back of the disk drive - circuit board, there is either a 10-pin header (with one pin removed), - or 9 holes for you to solder in your own header. The ribbon cable - that connects from there to your serial cable or the serial port on - your computer is of the same type as used on older i386 PCs, but - be aware that there are two different types of 10-pin IDC to DB-9M - ribbon cable in use, which look identical (the differences are hidden - inside the DB-9 connector). The cable you need is wired using the - "AT-Everex" or "Asus" pinout, as described here: - - http://www.pccables.com/07120.htm - - and *not* the more straightforward to solder "crossed" type: - - http://www.pccables.com/07121.htm. - - If you wish to check a cable, or make your own, the pinouts are: - - DB9 IDC10 - === ===== - 1 2 3 4 5 1 3 5 7 9 - 6 7 8 9 2 4 6 8 10 - - Wire pin 1 to 1, 2 to 2 etc, with 10 not connected. - - - Booting the Thecus N1200 - - When you have connected your computer, a command such as - "cu -l cuaU0 -s 115200" (assuming cuaU0 is your serial port device) - should connect you to the Thecus console. Now apply power to the - Thecus and start it. - - After some device probe information, you should see this prompt: - - Hit any key to stop autoboot: 1 - - You have exactly one second to press a key and enter interactive - U-Boot. Fortunately it will typically accept a key typed during the - diagnostics that precede this prompt. - - The recommended way to boot OpenBSD on Thecus is to configure - networking and load bsd.bin from a TFTP server. First networking must - be configured using the setenv command. - - => setenv ipaddr 10.0.0.21 - => setenv serverip 10.0.0.7 - => setenv gatewayip 10.0.0.7 - - Once you have done this, and have set up your TFTP server on the - gateway machine (10.0.0.7 in the above example), you can boot - manually. - - => tftpboot 200000 bsd.bin - Speed: 1000, full duplex - Using Freescale TSEC0 device - TFTP from server 10.0.0.7; our IP address is 10.0.0.21 - Filename 'bsd.bin'. - Load address: 0x200000 - Loading: ########################################################## - ############################################################# - ... - ###### - done - Bytes transferred = 295148 (480ec hex) - => go 200000 - - Once OpenBSD is installed on the hard disk, you will only need to - load the OpenBSD/MACHINE boot loader: - - => tftpboot 200000 boot - => bootm - - and just hit "return" to boot OpenBSD. - - - Automatic Booting - - However, for easier booting, you may wish to store the OpenBSD boot - loader in the flash memory, so that the Thecus will boot automatically - into OpenBSD when it is powered up. - - => erase fe780000 fe800000 - - .... done - Erased 4 sectors - => tftpboot 200000 boot - Speed: 1000, full duplex - Using Freescale TSEC0 device - TFTP from server 10.0.0.7; our IP address is 10.0.0.21 - Filename 'boot'. - Load address: 0x200000 - Loading: ########################################################## - done - Bytes transferred = 295148 (480ec hex) - => cp 200000 fe780000 20000 - Copy to Flash... - 512 KBdone - => setenv bootcmd bootm FE780000 - => saveenv - Saving Environment to Flash... - Un-Protected 2 sectors - Erasing Flash... - .. done - Erased 2 sectors - Writing to Flash... - 256 KBdone - Protected 2 sectors - => reset - - This configuration can easily be set back to the default, as the - existing Linux system does not get erased from the flash memory. - To set it back, just change the boot command back to what it was, - for example: - - => setenv bootcmd flashboot - => saveenv - - The bootloader is command driven with timeout like many other OpenBSD - architectures. - - It may be needed to increase the 'bootdelay' variable in order to give - the SATA-chip a chance to initialize. Having a too short delay could - cause OpenBSD/MACHINE to not find its root device (and thus kernel - image). Although sometimes as much as ten seconds of delay are - necessary, five seconds will do in most cases: - - => setenv bootdelay 5 - => saveenv - - -RouterBOARD RB600A setup: - - The RouterBOARD RB600A comes with a standard DB9 serial port, so no - special cables are needed. Like the Thecus, the default baudrate is - 115200, so a command like "cu -l cuaU0 -s 115200" should connect you to - the RouterBOARD console. As soon as you apply power to the - RouterBOARD, it will start booting. - - Shortly after RouterBOOT starts, you will see a message like: - - Press any key within 2 seconds to enter setup. - - Since board initialization is very fast, it is rather easy to miss - this message, in which case the board will load its RouterOS (which - is just Linux) from flash. - - The recommended way to install OpenBSD on the RouterBOARD is to copy - the miniroot "miniroot{:--:}OSrev.fs" image to CompactFlash on another machine - and place in the first (J301) CompactFlash slot on the board. - - Use the dd(1) utility to copy the miniroot to CompactFlash. - The command would likely be, under OpenBSD: - dd if=miniroot{:--:}OSrev.fs of=/dev/rsd1c - Replace ``rsd1c'' with the appropriate device name for the raw device - on the system used to do the copy. - - You will need to configure your RouterBOARD to boot from CompactFlash. - To do this, enter the RouterBOOT setup by pressing a key when the - message shown above appears on the serial console. This should present - you with the following menu: - - RouterBOOT-2.20 - What do you want to configure? - d - boot delay - k - boot key - s - serial console - o - boot device - f - cpu frequency - r - reset booter configuration - e - format nand - g - upgrade firmware - i - board info - p - boot protocol - t - do memory testing - x - exit setup - your choice: - - Choose 'o' to enter the boot device menu: - - Select boot device: - e - boot over Ethernet - * n - boot from NAND, if fail then Ethernet - c - boot from CompactFlash only - 1 - boot Ethernet once, then NAND - 2 - boot Ethernet once, then CompactFlash - o - boot from NAND only - b - boot chosen device - your choice: - - Choose 'c' to select CompactFlash and then, at the main menu, choose - 'x' to save the setting. The board will reset, and immediately - attempt to boot from CompactFlash, straight into the OpenBSD - installer. diff --git a/distrib/notes/socppc/upgrade b/distrib/notes/socppc/upgrade deleted file mode 100644 index 0ea8de9c4bd..00000000000 --- a/distrib/notes/socppc/upgrade +++ /dev/null @@ -1,2 +0,0 @@ -dnl $OpenBSD: upgrade,v 1.1 2008/05/13 20:47:32 kettenis Exp $ -OpenBSDUpgrade({:-bsd.rd on the boot disk-:}) diff --git a/distrib/notes/socppc/whatis b/distrib/notes/socppc/whatis deleted file mode 100644 index 178350046f1..00000000000 --- a/distrib/notes/socppc/whatis +++ /dev/null @@ -1,3 +0,0 @@ -dnl $OpenBSD: whatis,v 1.1 2008/05/13 20:47:32 kettenis Exp $ - -OpenBSD/MACHINE runs on the Thecus N1200 PowerPC-based network disk appliances. diff --git a/distrib/notes/socppc/xfer b/distrib/notes/socppc/xfer deleted file mode 100644 index c2b02f4c61b..00000000000 --- a/distrib/notes/socppc/xfer +++ /dev/null @@ -1,12 +0,0 @@ -dnl $OpenBSD: xfer,v 1.3 2015/06/10 06:38:40 jasper Exp $ -Installation is supported from several media types, including: - - CD-ROM - FFS partitions - DOS (FAT) partitions -dnl EXT2 partitions - HTTP - -OpenBSDXferShortPrelude - -OpenBSDXferFFS diff --git a/distrib/sets/lists/base/md.socppc b/distrib/sets/lists/base/md.socppc deleted file mode 100644 index 374a0688ad8..00000000000 --- a/distrib/sets/lists/base/md.socppc +++ /dev/null @@ -1,496 +0,0 @@ -./etc/examples/wsconsctl.conf -./etc/firmware/3c990 -./etc/firmware/3c990-license -./etc/firmware/atu-at76c503-i3863-ext -./etc/firmware/atu-at76c503-i3863-int -./etc/firmware/atu-at76c503-rfmd-acc-ext -./etc/firmware/atu-at76c503-rfmd-acc-int -./etc/firmware/atu-at76c505-rfmd-ext -./etc/firmware/atu-at76c505-rfmd-int -./etc/firmware/atu-intersil-ext -./etc/firmware/atu-intersil-int -./etc/firmware/atu-license -./etc/firmware/atu-rfmd-ext -./etc/firmware/atu-rfmd-int -./etc/firmware/atu-rfmd2958-ext -./etc/firmware/atu-rfmd2958-int -./etc/firmware/atu-rfmd2958smc-ext -./etc/firmware/atu-rfmd2958smc-int -./etc/firmware/bnx-b06 -./etc/firmware/bnx-b09 -./etc/firmware/bnx-license -./etc/firmware/bnx-rv2p -./etc/firmware/bnx-xi-rv2p -./etc/firmware/bnx-xi90-rv2p -./etc/firmware/fxp-d101a -./etc/firmware/fxp-d101b0 -./etc/firmware/fxp-d101ma -./etc/firmware/fxp-d101s -./etc/firmware/fxp-d102 -./etc/firmware/fxp-d102c -./etc/firmware/fxp-d102e -./etc/firmware/fxp-license -./etc/firmware/kue -./etc/firmware/kue-license -./etc/firmware/ral-license -./etc/firmware/ral-rt2561 -./etc/firmware/ral-rt2561s -./etc/firmware/ral-rt2661 -./etc/firmware/ral-rt2860 -./etc/firmware/ral-rt3290 -./etc/firmware/rum-license -./etc/firmware/rum-rt2573 -./etc/firmware/run-license -./etc/firmware/run-rt2870 -./etc/firmware/run-rt3071 -./etc/firmware/tht -./etc/firmware/tht-license -./etc/firmware/tigon-license -./etc/firmware/tigon1 -./etc/firmware/tigon2 -./etc/firmware/tusb3410 -./etc/firmware/tusb3410-license -./etc/firmware/udl_huffman -./etc/firmware/yds -./etc/firmware/yds-license -./etc/firmware/zd1211 -./etc/firmware/zd1211-license -./etc/firmware/zd1211b -./sbin/kbd -./sbin/wsconsctl -./usr/bin/objcopy -./usr/lib/crtbegin.o -./usr/lib/crtbeginS.o -./usr/lib/crtend.o -./usr/lib/crtendS.o -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5 -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5/4.2.1 -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5/4.2.1/collect2 -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5/4.2.1/libgcc.a -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5/4.2.1/specs -./usr/lib/libstdc++.so.57.0 -./usr/libdata/perl5/powerpc-openbsd -./usr/libdata/perl5/powerpc-openbsd/.packlist -./usr/libdata/perl5/powerpc-openbsd/B -./usr/libdata/perl5/powerpc-openbsd/B.pm -./usr/libdata/perl5/powerpc-openbsd/B/Concise.pm -./usr/libdata/perl5/powerpc-openbsd/B/Showlex.pm -./usr/libdata/perl5/powerpc-openbsd/B/Terse.pm -./usr/libdata/perl5/powerpc-openbsd/B/Xref.pm -./usr/libdata/perl5/powerpc-openbsd/CORE -./usr/libdata/perl5/powerpc-openbsd/CORE/EXTERN.h -./usr/libdata/perl5/powerpc-openbsd/CORE/INTERN.h -./usr/libdata/perl5/powerpc-openbsd/CORE/XSUB.h -./usr/libdata/perl5/powerpc-openbsd/CORE/av.h -./usr/libdata/perl5/powerpc-openbsd/CORE/bitcount.h -./usr/libdata/perl5/powerpc-openbsd/CORE/charclass_invlists.h -./usr/libdata/perl5/powerpc-openbsd/CORE/config.h -./usr/libdata/perl5/powerpc-openbsd/CORE/cop.h -./usr/libdata/perl5/powerpc-openbsd/CORE/cv.h -./usr/libdata/perl5/powerpc-openbsd/CORE/dosish.h -./usr/libdata/perl5/powerpc-openbsd/CORE/dquote_inline.h -./usr/libdata/perl5/powerpc-openbsd/CORE/ebcdic_tables.h -./usr/libdata/perl5/powerpc-openbsd/CORE/embed.h -./usr/libdata/perl5/powerpc-openbsd/CORE/embedvar.h -./usr/libdata/perl5/powerpc-openbsd/CORE/fakesdio.h -./usr/libdata/perl5/powerpc-openbsd/CORE/feature.h -./usr/libdata/perl5/powerpc-openbsd/CORE/form.h -./usr/libdata/perl5/powerpc-openbsd/CORE/git_version.h -./usr/libdata/perl5/powerpc-openbsd/CORE/gv.h -./usr/libdata/perl5/powerpc-openbsd/CORE/handy.h -./usr/libdata/perl5/powerpc-openbsd/CORE/hv.h -./usr/libdata/perl5/powerpc-openbsd/CORE/hv_func.h -./usr/libdata/perl5/powerpc-openbsd/CORE/hv_macro.h -./usr/libdata/perl5/powerpc-openbsd/CORE/inline.h -./usr/libdata/perl5/powerpc-openbsd/CORE/intrpvar.h -./usr/libdata/perl5/powerpc-openbsd/CORE/invlist_inline.h -./usr/libdata/perl5/powerpc-openbsd/CORE/iperlsys.h -./usr/libdata/perl5/powerpc-openbsd/CORE/keywords.h -./usr/libdata/perl5/powerpc-openbsd/CORE/l1_char_class_tab.h -./usr/libdata/perl5/powerpc-openbsd/CORE/malloc_ctl.h -./usr/libdata/perl5/powerpc-openbsd/CORE/metaconfig.h -./usr/libdata/perl5/powerpc-openbsd/CORE/mg.h -./usr/libdata/perl5/powerpc-openbsd/CORE/mg_data.h -./usr/libdata/perl5/powerpc-openbsd/CORE/mg_names.inc -./usr/libdata/perl5/powerpc-openbsd/CORE/mg_raw.h -./usr/libdata/perl5/powerpc-openbsd/CORE/mg_vtable.h -./usr/libdata/perl5/powerpc-openbsd/CORE/mydtrace.h -./usr/libdata/perl5/powerpc-openbsd/CORE/nostdio.h -./usr/libdata/perl5/powerpc-openbsd/CORE/op.h -./usr/libdata/perl5/powerpc-openbsd/CORE/op_reg_common.h -./usr/libdata/perl5/powerpc-openbsd/CORE/opcode.h -./usr/libdata/perl5/powerpc-openbsd/CORE/opnames.h -./usr/libdata/perl5/powerpc-openbsd/CORE/overload.h -./usr/libdata/perl5/powerpc-openbsd/CORE/overload.inc -./usr/libdata/perl5/powerpc-openbsd/CORE/packsizetables.inc -./usr/libdata/perl5/powerpc-openbsd/CORE/pad.h -./usr/libdata/perl5/powerpc-openbsd/CORE/parser.h -./usr/libdata/perl5/powerpc-openbsd/CORE/patchlevel.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perl.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perl_inc_macro.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perl_langinfo.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perlapi.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perlio.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perliol.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perlsdio.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perlvars.h -./usr/libdata/perl5/powerpc-openbsd/CORE/perly.h -./usr/libdata/perl5/powerpc-openbsd/CORE/pp.h -./usr/libdata/perl5/powerpc-openbsd/CORE/pp_proto.h -./usr/libdata/perl5/powerpc-openbsd/CORE/proto.h -./usr/libdata/perl5/powerpc-openbsd/CORE/reentr.h -./usr/libdata/perl5/powerpc-openbsd/CORE/regcharclass.h -./usr/libdata/perl5/powerpc-openbsd/CORE/regcomp.h -./usr/libdata/perl5/powerpc-openbsd/CORE/regexp.h -./usr/libdata/perl5/powerpc-openbsd/CORE/regnodes.h -./usr/libdata/perl5/powerpc-openbsd/CORE/sbox32_hash.h -./usr/libdata/perl5/powerpc-openbsd/CORE/scope.h -./usr/libdata/perl5/powerpc-openbsd/CORE/stadtx_hash.h -./usr/libdata/perl5/powerpc-openbsd/CORE/sv.h -./usr/libdata/perl5/powerpc-openbsd/CORE/thread.h -./usr/libdata/perl5/powerpc-openbsd/CORE/time64.h -./usr/libdata/perl5/powerpc-openbsd/CORE/time64_config.h -./usr/libdata/perl5/powerpc-openbsd/CORE/uconfig.h -./usr/libdata/perl5/powerpc-openbsd/CORE/uni_keywords.h -./usr/libdata/perl5/powerpc-openbsd/CORE/unicode_constants.h -./usr/libdata/perl5/powerpc-openbsd/CORE/unixish.h -./usr/libdata/perl5/powerpc-openbsd/CORE/utf8.h -./usr/libdata/perl5/powerpc-openbsd/CORE/utfebcdic.h -./usr/libdata/perl5/powerpc-openbsd/CORE/util.h -./usr/libdata/perl5/powerpc-openbsd/CORE/uudmap.h -./usr/libdata/perl5/powerpc-openbsd/CORE/vutil.h -./usr/libdata/perl5/powerpc-openbsd/CORE/vxs.inc -./usr/libdata/perl5/powerpc-openbsd/CORE/warnings.h -./usr/libdata/perl5/powerpc-openbsd/CORE/zaphod32_hash.h -./usr/libdata/perl5/powerpc-openbsd/Compress -./usr/libdata/perl5/powerpc-openbsd/Compress/Raw -./usr/libdata/perl5/powerpc-openbsd/Compress/Raw/Bzip2.pm -./usr/libdata/perl5/powerpc-openbsd/Compress/Raw/Zlib.pm -./usr/libdata/perl5/powerpc-openbsd/Compress/Zlib.pm -./usr/libdata/perl5/powerpc-openbsd/Config.pm -./usr/libdata/perl5/powerpc-openbsd/Config.pod -./usr/libdata/perl5/powerpc-openbsd/Config_git.pl -./usr/libdata/perl5/powerpc-openbsd/Config_heavy.pl -./usr/libdata/perl5/powerpc-openbsd/Cwd.pm -./usr/libdata/perl5/powerpc-openbsd/DB_File.pm -./usr/libdata/perl5/powerpc-openbsd/Data -./usr/libdata/perl5/powerpc-openbsd/Data/Dumper.pm -./usr/libdata/perl5/powerpc-openbsd/Devel -./usr/libdata/perl5/powerpc-openbsd/Devel/PPPort.pm -./usr/libdata/perl5/powerpc-openbsd/Devel/Peek.pm -./usr/libdata/perl5/powerpc-openbsd/Digest -./usr/libdata/perl5/powerpc-openbsd/Digest/MD5.pm -./usr/libdata/perl5/powerpc-openbsd/Digest/SHA.pm -./usr/libdata/perl5/powerpc-openbsd/DynaLoader.pm -./usr/libdata/perl5/powerpc-openbsd/Encode -./usr/libdata/perl5/powerpc-openbsd/Encode.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Alias.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Byte.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/CJKConstants.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/CN -./usr/libdata/perl5/powerpc-openbsd/Encode/CN.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/CN/HZ.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Config.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/EBCDIC.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Encoder.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Encoding.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/GSM0338.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Guess.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/JP -./usr/libdata/perl5/powerpc-openbsd/Encode/JP.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/JP/H2Z.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/JP/JIS7.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/KR -./usr/libdata/perl5/powerpc-openbsd/Encode/KR.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/KR/2022_KR.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/MIME -./usr/libdata/perl5/powerpc-openbsd/Encode/MIME/Header -./usr/libdata/perl5/powerpc-openbsd/Encode/MIME/Header.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/MIME/Header/ISO_2022_JP.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/MIME/Name.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Symbol.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/TW.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Unicode -./usr/libdata/perl5/powerpc-openbsd/Encode/Unicode.pm -./usr/libdata/perl5/powerpc-openbsd/Encode/Unicode/UTF7.pm -./usr/libdata/perl5/powerpc-openbsd/Errno.pm -./usr/libdata/perl5/powerpc-openbsd/Fcntl.pm -./usr/libdata/perl5/powerpc-openbsd/File -./usr/libdata/perl5/powerpc-openbsd/File/DosGlob.pm -./usr/libdata/perl5/powerpc-openbsd/File/Glob.pm -./usr/libdata/perl5/powerpc-openbsd/File/GlobMapper.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec -./usr/libdata/perl5/powerpc-openbsd/File/Spec.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/AmigaOS.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/Cygwin.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/Epoc.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/Functions.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/Mac.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/OS2.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/Unix.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/VMS.pm -./usr/libdata/perl5/powerpc-openbsd/File/Spec/Win32.pm -./usr/libdata/perl5/powerpc-openbsd/Filter -./usr/libdata/perl5/powerpc-openbsd/Filter/Util -./usr/libdata/perl5/powerpc-openbsd/Filter/Util/Call.pm -./usr/libdata/perl5/powerpc-openbsd/Hash -./usr/libdata/perl5/powerpc-openbsd/Hash/Util -./usr/libdata/perl5/powerpc-openbsd/Hash/Util.pm -./usr/libdata/perl5/powerpc-openbsd/Hash/Util/FieldHash.pm -./usr/libdata/perl5/powerpc-openbsd/I18N -./usr/libdata/perl5/powerpc-openbsd/I18N/Langinfo.pm -./usr/libdata/perl5/powerpc-openbsd/IO -./usr/libdata/perl5/powerpc-openbsd/IO.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Adapter -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Adapter/Bzip2.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Adapter/Deflate.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Adapter/Identity.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Base -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Base.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Base/Common.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Bzip2.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Deflate.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Gzip -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Gzip.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Gzip/Constants.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/RawDeflate.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Zip -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Zip.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Zip/Constants.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Zlib -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Zlib/Constants.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Compress/Zlib/Extra.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Dir.pm -./usr/libdata/perl5/powerpc-openbsd/IO/File.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Handle.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Pipe.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Poll.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Seekable.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Select.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Socket -./usr/libdata/perl5/powerpc-openbsd/IO/Socket.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Socket/INET.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Socket/UNIX.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Adapter -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Adapter/Bunzip2.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Adapter/Identity.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Adapter/Inflate.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/AnyInflate.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/AnyUncompress.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Base.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Bunzip2.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Gunzip.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Inflate.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/RawInflate.pm -./usr/libdata/perl5/powerpc-openbsd/IO/Uncompress/Unzip.pm -./usr/libdata/perl5/powerpc-openbsd/IPC -./usr/libdata/perl5/powerpc-openbsd/IPC/Msg.pm -./usr/libdata/perl5/powerpc-openbsd/IPC/Semaphore.pm -./usr/libdata/perl5/powerpc-openbsd/IPC/SharedMem.pm -./usr/libdata/perl5/powerpc-openbsd/IPC/SysV.pm -./usr/libdata/perl5/powerpc-openbsd/List -./usr/libdata/perl5/powerpc-openbsd/List/Util -./usr/libdata/perl5/powerpc-openbsd/List/Util.pm -./usr/libdata/perl5/powerpc-openbsd/List/Util/XS.pm -./usr/libdata/perl5/powerpc-openbsd/MIME -./usr/libdata/perl5/powerpc-openbsd/MIME/Base64.pm -./usr/libdata/perl5/powerpc-openbsd/MIME/QuotedPrint.pm -./usr/libdata/perl5/powerpc-openbsd/Math -./usr/libdata/perl5/powerpc-openbsd/Math/BigInt -./usr/libdata/perl5/powerpc-openbsd/Math/BigInt/FastCalc.pm -./usr/libdata/perl5/powerpc-openbsd/NDBM_File.pm -./usr/libdata/perl5/powerpc-openbsd/O.pm -./usr/libdata/perl5/powerpc-openbsd/Opcode.pm -./usr/libdata/perl5/powerpc-openbsd/OpenBSD -./usr/libdata/perl5/powerpc-openbsd/OpenBSD/MkTemp.pm -./usr/libdata/perl5/powerpc-openbsd/OpenBSD/Pledge.pm -./usr/libdata/perl5/powerpc-openbsd/POSIX.pm -./usr/libdata/perl5/powerpc-openbsd/POSIX.pod -./usr/libdata/perl5/powerpc-openbsd/PerlIO -./usr/libdata/perl5/powerpc-openbsd/PerlIO/encoding.pm -./usr/libdata/perl5/powerpc-openbsd/PerlIO/mmap.pm -./usr/libdata/perl5/powerpc-openbsd/PerlIO/scalar.pm -./usr/libdata/perl5/powerpc-openbsd/PerlIO/via.pm -./usr/libdata/perl5/powerpc-openbsd/SDBM_File.pm -./usr/libdata/perl5/powerpc-openbsd/Scalar -./usr/libdata/perl5/powerpc-openbsd/Scalar/Util.pm -./usr/libdata/perl5/powerpc-openbsd/Socket.pm -./usr/libdata/perl5/powerpc-openbsd/Storable -./usr/libdata/perl5/powerpc-openbsd/Storable.pm -./usr/libdata/perl5/powerpc-openbsd/Storable/Limit.pm -./usr/libdata/perl5/powerpc-openbsd/Sub -./usr/libdata/perl5/powerpc-openbsd/Sub/Util.pm -./usr/libdata/perl5/powerpc-openbsd/Sys -./usr/libdata/perl5/powerpc-openbsd/Sys/Hostname.pm -./usr/libdata/perl5/powerpc-openbsd/Sys/Syslog.pm -./usr/libdata/perl5/powerpc-openbsd/Term -./usr/libdata/perl5/powerpc-openbsd/Term/ReadKey.pm -./usr/libdata/perl5/powerpc-openbsd/Tie -./usr/libdata/perl5/powerpc-openbsd/Tie/Hash -./usr/libdata/perl5/powerpc-openbsd/Tie/Hash/NamedCapture.pm -./usr/libdata/perl5/powerpc-openbsd/Time -./usr/libdata/perl5/powerpc-openbsd/Time/HiRes.pm -./usr/libdata/perl5/powerpc-openbsd/Time/Piece.pm -./usr/libdata/perl5/powerpc-openbsd/Time/Seconds.pm -./usr/libdata/perl5/powerpc-openbsd/Unicode -./usr/libdata/perl5/powerpc-openbsd/Unicode/Collate -./usr/libdata/perl5/powerpc-openbsd/Unicode/Collate.pm -./usr/libdata/perl5/powerpc-openbsd/Unicode/Collate/Locale.pm -./usr/libdata/perl5/powerpc-openbsd/Unicode/Normalize.pm -./usr/libdata/perl5/powerpc-openbsd/arybase.pm -./usr/libdata/perl5/powerpc-openbsd/attributes.pm -./usr/libdata/perl5/powerpc-openbsd/auto -./usr/libdata/perl5/powerpc-openbsd/auto/B -./usr/libdata/perl5/powerpc-openbsd/auto/B/B.so -./usr/libdata/perl5/powerpc-openbsd/auto/Compress -./usr/libdata/perl5/powerpc-openbsd/auto/Compress/Raw -./usr/libdata/perl5/powerpc-openbsd/auto/Compress/Raw/Bzip2 -./usr/libdata/perl5/powerpc-openbsd/auto/Compress/Raw/Bzip2/Bzip2.so -./usr/libdata/perl5/powerpc-openbsd/auto/Compress/Raw/Zlib -./usr/libdata/perl5/powerpc-openbsd/auto/Compress/Raw/Zlib/Zlib.so -./usr/libdata/perl5/powerpc-openbsd/auto/Cwd -./usr/libdata/perl5/powerpc-openbsd/auto/Cwd/Cwd.so -./usr/libdata/perl5/powerpc-openbsd/auto/DB_File -./usr/libdata/perl5/powerpc-openbsd/auto/DB_File/DB_File.so -./usr/libdata/perl5/powerpc-openbsd/auto/Data -./usr/libdata/perl5/powerpc-openbsd/auto/Data/Dumper -./usr/libdata/perl5/powerpc-openbsd/auto/Data/Dumper/Dumper.so -./usr/libdata/perl5/powerpc-openbsd/auto/Devel -./usr/libdata/perl5/powerpc-openbsd/auto/Devel/Peek -./usr/libdata/perl5/powerpc-openbsd/auto/Devel/Peek/Peek.so -./usr/libdata/perl5/powerpc-openbsd/auto/Digest -./usr/libdata/perl5/powerpc-openbsd/auto/Digest/MD5 -./usr/libdata/perl5/powerpc-openbsd/auto/Digest/MD5/MD5.so -./usr/libdata/perl5/powerpc-openbsd/auto/Digest/SHA -./usr/libdata/perl5/powerpc-openbsd/auto/Digest/SHA/SHA.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/Byte -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/Byte/Byte.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/CN -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/CN/CN.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/EBCDIC -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/EBCDIC/EBCDIC.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/Encode.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/JP -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/JP/JP.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/KR -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/KR/KR.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/Symbol -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/Symbol/Symbol.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/TW -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/TW/TW.so -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/Unicode -./usr/libdata/perl5/powerpc-openbsd/auto/Encode/Unicode/Unicode.so -./usr/libdata/perl5/powerpc-openbsd/auto/Fcntl -./usr/libdata/perl5/powerpc-openbsd/auto/Fcntl/Fcntl.so -./usr/libdata/perl5/powerpc-openbsd/auto/File -./usr/libdata/perl5/powerpc-openbsd/auto/File/DosGlob -./usr/libdata/perl5/powerpc-openbsd/auto/File/DosGlob/DosGlob.so -./usr/libdata/perl5/powerpc-openbsd/auto/File/Glob -./usr/libdata/perl5/powerpc-openbsd/auto/File/Glob/Glob.so -./usr/libdata/perl5/powerpc-openbsd/auto/Filter -./usr/libdata/perl5/powerpc-openbsd/auto/Filter/Util -./usr/libdata/perl5/powerpc-openbsd/auto/Filter/Util/Call -./usr/libdata/perl5/powerpc-openbsd/auto/Filter/Util/Call/Call.so -./usr/libdata/perl5/powerpc-openbsd/auto/Hash -./usr/libdata/perl5/powerpc-openbsd/auto/Hash/Util -./usr/libdata/perl5/powerpc-openbsd/auto/Hash/Util/FieldHash -./usr/libdata/perl5/powerpc-openbsd/auto/Hash/Util/FieldHash/FieldHash.so -./usr/libdata/perl5/powerpc-openbsd/auto/Hash/Util/Util.so -./usr/libdata/perl5/powerpc-openbsd/auto/I18N -./usr/libdata/perl5/powerpc-openbsd/auto/I18N/Langinfo -./usr/libdata/perl5/powerpc-openbsd/auto/I18N/Langinfo/Langinfo.so -./usr/libdata/perl5/powerpc-openbsd/auto/IO -./usr/libdata/perl5/powerpc-openbsd/auto/IO/IO.so -./usr/libdata/perl5/powerpc-openbsd/auto/IPC -./usr/libdata/perl5/powerpc-openbsd/auto/IPC/SysV -./usr/libdata/perl5/powerpc-openbsd/auto/IPC/SysV/SysV.so -./usr/libdata/perl5/powerpc-openbsd/auto/List -./usr/libdata/perl5/powerpc-openbsd/auto/List/Util -./usr/libdata/perl5/powerpc-openbsd/auto/List/Util/Util.so -./usr/libdata/perl5/powerpc-openbsd/auto/MIME -./usr/libdata/perl5/powerpc-openbsd/auto/MIME/Base64 -./usr/libdata/perl5/powerpc-openbsd/auto/MIME/Base64/Base64.so -./usr/libdata/perl5/powerpc-openbsd/auto/Math -./usr/libdata/perl5/powerpc-openbsd/auto/Math/BigInt -./usr/libdata/perl5/powerpc-openbsd/auto/Math/BigInt/FastCalc -./usr/libdata/perl5/powerpc-openbsd/auto/Math/BigInt/FastCalc/FastCalc.so -./usr/libdata/perl5/powerpc-openbsd/auto/NDBM_File -./usr/libdata/perl5/powerpc-openbsd/auto/NDBM_File/NDBM_File.so -./usr/libdata/perl5/powerpc-openbsd/auto/Opcode -./usr/libdata/perl5/powerpc-openbsd/auto/Opcode/Opcode.so -./usr/libdata/perl5/powerpc-openbsd/auto/OpenBSD -./usr/libdata/perl5/powerpc-openbsd/auto/OpenBSD/MkTemp -./usr/libdata/perl5/powerpc-openbsd/auto/OpenBSD/MkTemp/MkTemp.so -./usr/libdata/perl5/powerpc-openbsd/auto/OpenBSD/Pledge -./usr/libdata/perl5/powerpc-openbsd/auto/OpenBSD/Pledge/Pledge.so -./usr/libdata/perl5/powerpc-openbsd/auto/POSIX -./usr/libdata/perl5/powerpc-openbsd/auto/POSIX/POSIX.so -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO/encoding -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO/encoding/encoding.so -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO/mmap -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO/mmap/mmap.so -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO/scalar -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO/scalar/scalar.so -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO/via -./usr/libdata/perl5/powerpc-openbsd/auto/PerlIO/via/via.so -./usr/libdata/perl5/powerpc-openbsd/auto/SDBM_File -./usr/libdata/perl5/powerpc-openbsd/auto/SDBM_File/SDBM_File.so -./usr/libdata/perl5/powerpc-openbsd/auto/Socket -./usr/libdata/perl5/powerpc-openbsd/auto/Socket/Socket.so -./usr/libdata/perl5/powerpc-openbsd/auto/Storable -./usr/libdata/perl5/powerpc-openbsd/auto/Storable/Storable.so -./usr/libdata/perl5/powerpc-openbsd/auto/Sys -./usr/libdata/perl5/powerpc-openbsd/auto/Sys/Hostname -./usr/libdata/perl5/powerpc-openbsd/auto/Sys/Hostname/Hostname.so -./usr/libdata/perl5/powerpc-openbsd/auto/Sys/Syslog -./usr/libdata/perl5/powerpc-openbsd/auto/Sys/Syslog/Syslog.so -./usr/libdata/perl5/powerpc-openbsd/auto/Term -./usr/libdata/perl5/powerpc-openbsd/auto/Term/ReadKey -./usr/libdata/perl5/powerpc-openbsd/auto/Term/ReadKey/ReadKey.so -./usr/libdata/perl5/powerpc-openbsd/auto/Term/ReadKey/autosplit.ix -./usr/libdata/perl5/powerpc-openbsd/auto/Tie -./usr/libdata/perl5/powerpc-openbsd/auto/Tie/Hash -./usr/libdata/perl5/powerpc-openbsd/auto/Tie/Hash/NamedCapture -./usr/libdata/perl5/powerpc-openbsd/auto/Tie/Hash/NamedCapture/NamedCapture.so -./usr/libdata/perl5/powerpc-openbsd/auto/Time -./usr/libdata/perl5/powerpc-openbsd/auto/Time/HiRes -./usr/libdata/perl5/powerpc-openbsd/auto/Time/HiRes/HiRes.so -./usr/libdata/perl5/powerpc-openbsd/auto/Time/Piece -./usr/libdata/perl5/powerpc-openbsd/auto/Time/Piece/Piece.so -./usr/libdata/perl5/powerpc-openbsd/auto/Unicode -./usr/libdata/perl5/powerpc-openbsd/auto/Unicode/Collate -./usr/libdata/perl5/powerpc-openbsd/auto/Unicode/Collate/Collate.so -./usr/libdata/perl5/powerpc-openbsd/auto/Unicode/Normalize -./usr/libdata/perl5/powerpc-openbsd/auto/Unicode/Normalize/Normalize.so -./usr/libdata/perl5/powerpc-openbsd/auto/arybase -./usr/libdata/perl5/powerpc-openbsd/auto/arybase/arybase.so -./usr/libdata/perl5/powerpc-openbsd/auto/attributes -./usr/libdata/perl5/powerpc-openbsd/auto/attributes/attributes.so -./usr/libdata/perl5/powerpc-openbsd/auto/mro -./usr/libdata/perl5/powerpc-openbsd/auto/mro/mro.so -./usr/libdata/perl5/powerpc-openbsd/auto/re -./usr/libdata/perl5/powerpc-openbsd/auto/re/re.so -./usr/libdata/perl5/powerpc-openbsd/auto/threads -./usr/libdata/perl5/powerpc-openbsd/auto/threads/shared -./usr/libdata/perl5/powerpc-openbsd/auto/threads/shared/shared.so -./usr/libdata/perl5/powerpc-openbsd/auto/threads/threads.so -./usr/libdata/perl5/powerpc-openbsd/encoding.pm -./usr/libdata/perl5/powerpc-openbsd/lib.pm -./usr/libdata/perl5/powerpc-openbsd/mro.pm -./usr/libdata/perl5/powerpc-openbsd/ops.pm -./usr/libdata/perl5/powerpc-openbsd/re.pm -./usr/libdata/perl5/powerpc-openbsd/threads -./usr/libdata/perl5/powerpc-openbsd/threads.pm -./usr/libdata/perl5/powerpc-openbsd/threads/shared.pm -./usr/local/libdata/perl5/site_perl/powerpc-openbsd -./usr/mdec/boot -./usr/mdec/boot.elf -./usr/mdec/mbr -./usr/mdec/mkboot -./usr/sbin/hotplugd -./usr/sbin/pcidump -./usr/sbin/wsconscfg diff --git a/distrib/sets/lists/base/mi b/distrib/sets/lists/base/mi index 25560c96c1a..cb5e832979b 100644 --- a/distrib/sets/lists/base/mi +++ b/distrib/sets/lists/base/mi @@ -2748,7 +2748,6 @@ ./usr/share/man/man4/macppc ./usr/share/man/man4/octeon ./usr/share/man/man4/sgi -./usr/share/man/man4/socppc ./usr/share/man/man4/sparc64 ./usr/share/man/man5 ./usr/share/man/man6 @@ -2769,7 +2768,6 @@ ./usr/share/man/man8/macppc ./usr/share/man/man8/octeon ./usr/share/man/man8/sgi -./usr/share/man/man8/socppc ./usr/share/man/man8/sparc64 ./usr/share/man/man8/user.8 ./usr/share/man/man8/useradd.8 diff --git a/distrib/sets/lists/comp/gcc.socppc b/distrib/sets/lists/comp/gcc.socppc deleted file mode 100644 index b26b8e352a8..00000000000 --- a/distrib/sets/lists/comp/gcc.socppc +++ /dev/null @@ -1,607 +0,0 @@ -./usr/bin/g++ -./usr/bin/gcc -./usr/bin/gcov -./usr/bin/ld.bfd -./usr/include/g++ -./usr/include/g++/algorithm -./usr/include/g++/backward -./usr/include/g++/backward/algo.h -./usr/include/g++/backward/algobase.h -./usr/include/g++/backward/alloc.h -./usr/include/g++/backward/backward_warning.h -./usr/include/g++/backward/bvector.h -./usr/include/g++/backward/complex.h -./usr/include/g++/backward/defalloc.h -./usr/include/g++/backward/deque.h -./usr/include/g++/backward/fstream.h -./usr/include/g++/backward/function.h -./usr/include/g++/backward/hash_map.h -./usr/include/g++/backward/hash_set.h -./usr/include/g++/backward/hashtable.h -./usr/include/g++/backward/heap.h -./usr/include/g++/backward/iomanip.h -./usr/include/g++/backward/iostream.h -./usr/include/g++/backward/istream.h -./usr/include/g++/backward/iterator.h -./usr/include/g++/backward/list.h -./usr/include/g++/backward/map.h -./usr/include/g++/backward/multimap.h -./usr/include/g++/backward/multiset.h -./usr/include/g++/backward/new.h -./usr/include/g++/backward/ostream.h -./usr/include/g++/backward/pair.h -./usr/include/g++/backward/queue.h -./usr/include/g++/backward/rope.h -./usr/include/g++/backward/set.h -./usr/include/g++/backward/slist.h -./usr/include/g++/backward/stack.h -./usr/include/g++/backward/stream.h -./usr/include/g++/backward/streambuf.h -./usr/include/g++/backward/strstream -./usr/include/g++/backward/tempbuf.h -./usr/include/g++/backward/tree.h -./usr/include/g++/backward/vector.h -./usr/include/g++/bits -./usr/include/g++/bits/allocator.h -./usr/include/g++/bits/basic_ios.h -./usr/include/g++/bits/basic_ios.tcc -./usr/include/g++/bits/basic_string.h -./usr/include/g++/bits/basic_string.tcc -./usr/include/g++/bits/boost_concept_check.h -./usr/include/g++/bits/char_traits.h -./usr/include/g++/bits/cmath.tcc -./usr/include/g++/bits/codecvt.h -./usr/include/g++/bits/concept_check.h -./usr/include/g++/bits/cpp_type_traits.h -./usr/include/g++/bits/deque.tcc -./usr/include/g++/bits/fstream.tcc -./usr/include/g++/bits/functexcept.h -./usr/include/g++/bits/gslice.h -./usr/include/g++/bits/gslice_array.h -./usr/include/g++/bits/indirect_array.h -./usr/include/g++/bits/ios_base.h -./usr/include/g++/bits/istream.tcc -./usr/include/g++/bits/list.tcc -./usr/include/g++/bits/locale_classes.h -./usr/include/g++/bits/locale_facets.h -./usr/include/g++/bits/locale_facets.tcc -./usr/include/g++/bits/localefwd.h -./usr/include/g++/bits/mask_array.h -./usr/include/g++/bits/ostream.tcc -./usr/include/g++/bits/ostream_insert.h -./usr/include/g++/bits/postypes.h -./usr/include/g++/bits/slice_array.h -./usr/include/g++/bits/sstream.tcc -./usr/include/g++/bits/stl_algo.h -./usr/include/g++/bits/stl_algobase.h -./usr/include/g++/bits/stl_bvector.h -./usr/include/g++/bits/stl_construct.h -./usr/include/g++/bits/stl_deque.h -./usr/include/g++/bits/stl_function.h -./usr/include/g++/bits/stl_heap.h -./usr/include/g++/bits/stl_iterator.h -./usr/include/g++/bits/stl_iterator_base_funcs.h -./usr/include/g++/bits/stl_iterator_base_types.h -./usr/include/g++/bits/stl_list.h -./usr/include/g++/bits/stl_map.h -./usr/include/g++/bits/stl_multimap.h -./usr/include/g++/bits/stl_multiset.h -./usr/include/g++/bits/stl_numeric.h -./usr/include/g++/bits/stl_pair.h -./usr/include/g++/bits/stl_queue.h -./usr/include/g++/bits/stl_raw_storage_iter.h -./usr/include/g++/bits/stl_relops.h -./usr/include/g++/bits/stl_set.h -./usr/include/g++/bits/stl_stack.h -./usr/include/g++/bits/stl_tempbuf.h -./usr/include/g++/bits/stl_tree.h -./usr/include/g++/bits/stl_uninitialized.h -./usr/include/g++/bits/stl_vector.h -./usr/include/g++/bits/stream_iterator.h -./usr/include/g++/bits/streambuf.tcc -./usr/include/g++/bits/streambuf_iterator.h -./usr/include/g++/bits/stringfwd.h -./usr/include/g++/bits/valarray_after.h -./usr/include/g++/bits/valarray_array.h -./usr/include/g++/bits/valarray_array.tcc -./usr/include/g++/bits/valarray_before.h -./usr/include/g++/bits/vector.tcc -./usr/include/g++/bitset -./usr/include/g++/cassert -./usr/include/g++/cctype -./usr/include/g++/cerrno -./usr/include/g++/cfloat -./usr/include/g++/ciso646 -./usr/include/g++/climits -./usr/include/g++/clocale -./usr/include/g++/cmath -./usr/include/g++/complex -./usr/include/g++/csetjmp -./usr/include/g++/csignal -./usr/include/g++/cstdarg -./usr/include/g++/cstddef -./usr/include/g++/cstdio -./usr/include/g++/cstdlib -./usr/include/g++/cstring -./usr/include/g++/ctime -./usr/include/g++/cwchar -./usr/include/g++/cwctype -./usr/include/g++/cxxabi.h -./usr/include/g++/debug -./usr/include/g++/debug/bitset -./usr/include/g++/debug/debug.h -./usr/include/g++/debug/deque -./usr/include/g++/debug/formatter.h -./usr/include/g++/debug/functions.h -./usr/include/g++/debug/hash_map -./usr/include/g++/debug/hash_map.h -./usr/include/g++/debug/hash_multimap.h -./usr/include/g++/debug/hash_multiset.h -./usr/include/g++/debug/hash_set -./usr/include/g++/debug/hash_set.h -./usr/include/g++/debug/list -./usr/include/g++/debug/macros.h -./usr/include/g++/debug/map -./usr/include/g++/debug/map.h -./usr/include/g++/debug/multimap.h -./usr/include/g++/debug/multiset.h -./usr/include/g++/debug/safe_base.h -./usr/include/g++/debug/safe_iterator.h -./usr/include/g++/debug/safe_iterator.tcc -./usr/include/g++/debug/safe_sequence.h -./usr/include/g++/debug/set -./usr/include/g++/debug/set.h -./usr/include/g++/debug/string -./usr/include/g++/debug/vector -./usr/include/g++/deque -./usr/include/g++/exception -./usr/include/g++/exception_defines.h -./usr/include/g++/ext -./usr/include/g++/ext/algorithm -./usr/include/g++/ext/array_allocator.h -./usr/include/g++/ext/atomicity.h -./usr/include/g++/ext/bitmap_allocator.h -./usr/include/g++/ext/codecvt_specializations.h -./usr/include/g++/ext/concurrence.h -./usr/include/g++/ext/debug_allocator.h -./usr/include/g++/ext/functional -./usr/include/g++/ext/hash_fun.h -./usr/include/g++/ext/hash_map -./usr/include/g++/ext/hash_set -./usr/include/g++/ext/hashtable.h -./usr/include/g++/ext/iterator -./usr/include/g++/ext/malloc_allocator.h -./usr/include/g++/ext/memory -./usr/include/g++/ext/mt_allocator.h -./usr/include/g++/ext/new_allocator.h -./usr/include/g++/ext/numeric -./usr/include/g++/ext/numeric_traits.h -./usr/include/g++/ext/pb_ds -./usr/include/g++/ext/pb_ds/assoc_container.hpp -./usr/include/g++/ext/pb_ds/detail -./usr/include/g++/ext/pb_ds/detail/basic_tree_policy -./usr/include/g++/ext/pb_ds/detail/basic_tree_policy/basic_tree_policy_base.hpp -./usr/include/g++/ext/pb_ds/detail/basic_tree_policy/null_node_metadata.hpp -./usr/include/g++/ext/pb_ds/detail/basic_tree_policy/traits.hpp -./usr/include/g++/ext/pb_ds/detail/basic_types.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_ -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/bin_search_tree_.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/cond_dtor_entry_dealtor.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/cond_key_dtor_entry_dealtor.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/iterators_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/node_iterators.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/point_iterators.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/policy_access_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/r_erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/rotate_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/bin_search_tree_/traits.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_ -./usr/include/g++/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/const_iterator.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/const_point_iterator.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/entry_cmp.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/entry_pred.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/iterators_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/policy_access_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/resize_policy.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binary_heap_/trace_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_ -./usr/include/g++/ext/pb_ds/detail/binomial_heap_/binomial_heap_.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_ -./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/binomial_heap_base_.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/binomial_heap_base_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_ -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/cmp_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/cond_key_dtor_entry_dealtor.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/debug_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/debug_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/entry_list_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/erase_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/erase_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/find_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/insert_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/insert_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/iterators_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/policy_access_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/resize_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/resize_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/resize_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/standard_policies.hpp -./usr/include/g++/ext/pb_ds/detail/cc_hash_table_map_/trace_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/cond_dealtor.hpp -./usr/include/g++/ext/pb_ds/detail/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/container_base_dispatch.hpp -./usr/include/g++/ext/pb_ds/detail/eq_fn -./usr/include/g++/ext/pb_ds/detail/eq_fn/eq_by_less.hpp -./usr/include/g++/ext/pb_ds/detail/eq_fn/hash_eq_fn.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_ -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/constructor_destructor_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/debug_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/debug_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/erase_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/erase_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/find_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/find_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/insert_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/insert_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/iterator_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/policy_access_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/resize_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/resize_no_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/resize_store_hash_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/standard_policies.hpp -./usr/include/g++/ext/pb_ds/detail/gp_hash_table_map_/trace_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn -./usr/include/g++/ext/pb_ds/detail/hash_fn/direct_mask_range_hashing_imp.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/direct_mod_range_hashing_imp.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/linear_probe_fn_imp.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/mask_based_range_hashing.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/mod_based_range_hashing.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/probe_fn_base.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/quadratic_probe_fn_imp.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/ranged_hash_fn.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/ranged_probe_fn.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/sample_probe_fn.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/sample_range_hashing.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/sample_ranged_hash_fn.hpp -./usr/include/g++/ext/pb_ds/detail/hash_fn/sample_ranged_probe_fn.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_ -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/const_iterator.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/const_point_iterator.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/iterators_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/node.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/null_metadata.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/policy_access_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/left_child_next_sibling_heap_/trace_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_ -./usr/include/g++/ext/pb_ds/detail/list_update_map_/constructor_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/entry_metadata_base.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/iterators_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/lu_map_.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_map_/trace_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_policy -./usr/include/g++/ext/pb_ds/detail/list_update_policy/counter_lu_metadata.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_policy/counter_lu_policy_imp.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_policy/mtf_lu_policy_imp.hpp -./usr/include/g++/ext/pb_ds/detail/list_update_policy/sample_update_policy.hpp -./usr/include/g++/ext/pb_ds/detail/map_debug_base.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_ -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/cond_dtor.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/iterators_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/node_iterators.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/policy_access_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/ov_tree_map_/traits.hpp -./usr/include/g++/ext/pb_ds/detail/pairing_heap_ -./usr/include/g++/ext/pb_ds/detail/pairing_heap_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pairing_heap_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pairing_heap_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pairing_heap_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pairing_heap_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pairing_heap_/pairing_heap_.hpp -./usr/include/g++/ext/pb_ds/detail/pairing_heap_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_ -./usr/include/g++/ext/pb_ds/detail/pat_trie_/child_iterator.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/cond_dtor_entry_dealtor.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/const_child_iterator.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/head.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/insert_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/internal_node.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/iterators_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/leaf.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/node_base.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/node_iterators.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/node_metadata_base.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/point_iterators.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/policy_access_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/r_erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/rotate_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/split_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/split_join_branch_bag.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/synth_e_access_traits.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/trace_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/traits.hpp -./usr/include/g++/ext/pb_ds/detail/pat_trie_/update_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/priority_queue_base_dispatch.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_ -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/node.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/rb_tree_.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rb_tree_map_/traits.hpp -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_ -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/rc_binomial_heap_.hpp -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/rc_binomial_heap_/trace_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy -./usr/include/g++/ext/pb_ds/detail/resize_policy/cc_hash_max_collision_check_resize_trigger_imp.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_exponential_size_policy_imp.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_imp.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_load_check_resize_trigger_size_base.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy/hash_standard_resize_policy_imp.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy/sample_resize_policy.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy/sample_resize_trigger.hpp -./usr/include/g++/ext/pb_ds/detail/resize_policy/sample_size_policy.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_ -./usr/include/g++/ext/pb_ds/detail/splay_tree_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/info_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/node.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/splay_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/splay_tree_.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/splay_tree_/traits.hpp -./usr/include/g++/ext/pb_ds/detail/standard_policies.hpp -./usr/include/g++/ext/pb_ds/detail/thin_heap_ -./usr/include/g++/ext/pb_ds/detail/thin_heap_/constructors_destructor_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/thin_heap_/debug_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/thin_heap_/erase_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/thin_heap_/find_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/thin_heap_/insert_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/thin_heap_/split_join_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp -./usr/include/g++/ext/pb_ds/detail/thin_heap_/trace_fn_imps.hpp -./usr/include/g++/ext/pb_ds/detail/tree_policy -./usr/include/g++/ext/pb_ds/detail/tree_policy/node_metadata_selector.hpp -./usr/include/g++/ext/pb_ds/detail/tree_policy/null_node_update_imp.hpp -./usr/include/g++/ext/pb_ds/detail/tree_policy/order_statistics_imp.hpp -./usr/include/g++/ext/pb_ds/detail/tree_policy/sample_tree_node_update.hpp -./usr/include/g++/ext/pb_ds/detail/tree_trace_base.hpp -./usr/include/g++/ext/pb_ds/detail/trie_policy -./usr/include/g++/ext/pb_ds/detail/trie_policy/node_metadata_selector.hpp -./usr/include/g++/ext/pb_ds/detail/trie_policy/null_node_update_imp.hpp -./usr/include/g++/ext/pb_ds/detail/trie_policy/order_statistics_imp.hpp -./usr/include/g++/ext/pb_ds/detail/trie_policy/prefix_search_node_update_imp.hpp -./usr/include/g++/ext/pb_ds/detail/trie_policy/sample_trie_e_access_traits.hpp -./usr/include/g++/ext/pb_ds/detail/trie_policy/sample_trie_node_update.hpp -./usr/include/g++/ext/pb_ds/detail/trie_policy/string_trie_e_access_traits_imp.hpp -./usr/include/g++/ext/pb_ds/detail/trie_policy/trie_policy_base.hpp -./usr/include/g++/ext/pb_ds/detail/type_utils.hpp -./usr/include/g++/ext/pb_ds/detail/types_traits.hpp -./usr/include/g++/ext/pb_ds/detail/unordered_iterator -./usr/include/g++/ext/pb_ds/detail/unordered_iterator/const_iterator.hpp -./usr/include/g++/ext/pb_ds/detail/unordered_iterator/const_point_iterator.hpp -./usr/include/g++/ext/pb_ds/detail/unordered_iterator/iterator.hpp -./usr/include/g++/ext/pb_ds/detail/unordered_iterator/point_iterator.hpp -./usr/include/g++/ext/pb_ds/exception.hpp -./usr/include/g++/ext/pb_ds/hash_policy.hpp -./usr/include/g++/ext/pb_ds/list_update_policy.hpp -./usr/include/g++/ext/pb_ds/priority_queue.hpp -./usr/include/g++/ext/pb_ds/tag_and_trait.hpp -./usr/include/g++/ext/pb_ds/tree_policy.hpp -./usr/include/g++/ext/pb_ds/trie_policy.hpp -./usr/include/g++/ext/pod_char_traits.h -./usr/include/g++/ext/pool_allocator.h -./usr/include/g++/ext/rb_tree -./usr/include/g++/ext/rc_string_base.h -./usr/include/g++/ext/rope -./usr/include/g++/ext/ropeimpl.h -./usr/include/g++/ext/slist -./usr/include/g++/ext/sso_string_base.h -./usr/include/g++/ext/stdio_filebuf.h -./usr/include/g++/ext/stdio_sync_filebuf.h -./usr/include/g++/ext/throw_allocator.h -./usr/include/g++/ext/type_traits.h -./usr/include/g++/ext/typelist.h -./usr/include/g++/ext/vstring.h -./usr/include/g++/ext/vstring.tcc -./usr/include/g++/ext/vstring_fwd.h -./usr/include/g++/ext/vstring_util.h -./usr/include/g++/fstream -./usr/include/g++/functional -./usr/include/g++/iomanip -./usr/include/g++/ios -./usr/include/g++/iosfwd -./usr/include/g++/iostream -./usr/include/g++/istream -./usr/include/g++/iterator -./usr/include/g++/limits -./usr/include/g++/list -./usr/include/g++/locale -./usr/include/g++/map -./usr/include/g++/memory -./usr/include/g++/new -./usr/include/g++/numeric -./usr/include/g++/ostream -./usr/include/g++/powerpc-unknown-openbsd6.5 -./usr/include/g++/powerpc-unknown-openbsd6.5/bits -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/atomic_word.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/basic_file.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/c++allocator.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/c++config.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/c++io.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/c++locale.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/c++locale_internal.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/compatibility.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/cpu_defines.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/ctype_base.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/ctype_inline.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/ctype_noninline.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/cxxabi_tweaks.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/gthr-default.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/gthr-posix.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/gthr-single.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/gthr-tpf.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/gthr.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/messages_members.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/os_defines.h -./usr/include/g++/powerpc-unknown-openbsd6.5/bits/time_members.h -./usr/include/g++/queue -./usr/include/g++/set -./usr/include/g++/sstream -./usr/include/g++/stack -./usr/include/g++/stdexcept -./usr/include/g++/streambuf -./usr/include/g++/string -./usr/include/g++/tr1 -./usr/include/g++/tr1/array -./usr/include/g++/tr1/bind_iterate.h -./usr/include/g++/tr1/bind_repeat.h -./usr/include/g++/tr1/boost_shared_ptr.h -./usr/include/g++/tr1/cctype -./usr/include/g++/tr1/cfenv -./usr/include/g++/tr1/cfloat -./usr/include/g++/tr1/cinttypes -./usr/include/g++/tr1/climits -./usr/include/g++/tr1/cmath -./usr/include/g++/tr1/common.h -./usr/include/g++/tr1/complex -./usr/include/g++/tr1/cstdarg -./usr/include/g++/tr1/cstdbool -./usr/include/g++/tr1/cstdint -./usr/include/g++/tr1/cstdio -./usr/include/g++/tr1/cstdlib -./usr/include/g++/tr1/ctgmath -./usr/include/g++/tr1/ctime -./usr/include/g++/tr1/ctype.h -./usr/include/g++/tr1/cwchar -./usr/include/g++/tr1/cwctype -./usr/include/g++/tr1/fenv.h -./usr/include/g++/tr1/float.h -./usr/include/g++/tr1/functional -./usr/include/g++/tr1/functional_hash.h -./usr/include/g++/tr1/functional_iterate.h -./usr/include/g++/tr1/hashtable -./usr/include/g++/tr1/hashtable_policy.h -./usr/include/g++/tr1/inttypes.h -./usr/include/g++/tr1/limits.h -./usr/include/g++/tr1/math.h -./usr/include/g++/tr1/memory -./usr/include/g++/tr1/mu_iterate.h -./usr/include/g++/tr1/random -./usr/include/g++/tr1/random.tcc -./usr/include/g++/tr1/ref_fwd.h -./usr/include/g++/tr1/ref_wrap_iterate.h -./usr/include/g++/tr1/repeat.h -./usr/include/g++/tr1/stdarg.h -./usr/include/g++/tr1/stdbool.h -./usr/include/g++/tr1/stdint.h -./usr/include/g++/tr1/stdio.h -./usr/include/g++/tr1/stdlib.h -./usr/include/g++/tr1/tgmath.h -./usr/include/g++/tr1/tuple -./usr/include/g++/tr1/tuple_defs.h -./usr/include/g++/tr1/tuple_iterate.h -./usr/include/g++/tr1/type_traits -./usr/include/g++/tr1/type_traits_fwd.h -./usr/include/g++/tr1/unordered_map -./usr/include/g++/tr1/unordered_set -./usr/include/g++/tr1/utility -./usr/include/g++/tr1/wchar.h -./usr/include/g++/tr1/wctype.h -./usr/include/g++/typeinfo -./usr/include/g++/utility -./usr/include/g++/valarray -./usr/include/g++/vector -./usr/lib/gcc-lib -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5/4.2.1/cc1 -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5/4.2.1/cc1obj -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5/4.2.1/cc1plus -./usr/lib/gcc-lib/powerpc-unknown-openbsd6.5/4.2.1/libgcov.a -./usr/lib/libstdc++.a -./usr/lib/libstdc++_p.a -./usr/lib/libsupc++.a -./usr/lib/libsupc++_p.a -./usr/share/info/cpp.info -./usr/share/info/cppinternals.info -./usr/share/info/gcc.info -./usr/share/info/gccint.info -./usr/share/man/man1/gcc.1 -./usr/share/man/man1/gcov.1 -./usr/share/man/man1/ld.bfd.1 diff --git a/distrib/sets/lists/comp/md.socppc b/distrib/sets/lists/comp/md.socppc deleted file mode 100644 index 55079138ec3..00000000000 --- a/distrib/sets/lists/comp/md.socppc +++ /dev/null @@ -1,124 +0,0 @@ -./usr/bin/addr2line -./usr/bin/as -./usr/bin/gdb -./usr/bin/readelf -./usr/include/altivec.h -./usr/include/ieeefp.h -./usr/include/powerpc -./usr/include/powerpc/_float.h -./usr/include/powerpc/_types.h -./usr/include/powerpc/asm.h -./usr/include/powerpc/atomic.h -./usr/include/powerpc/bat.h -./usr/include/powerpc/cdefs.h -./usr/include/powerpc/cpu.h -./usr/include/powerpc/db_machdep.h -./usr/include/powerpc/endian.h -./usr/include/powerpc/exec.h -./usr/include/powerpc/fenv.h -./usr/include/powerpc/fpu.h -./usr/include/powerpc/frame.h -./usr/include/powerpc/hid.h -./usr/include/powerpc/ieee.h -./usr/include/powerpc/ieeefp.h -./usr/include/powerpc/intr.h -./usr/include/powerpc/ipkdb.h -./usr/include/powerpc/kcore.h -./usr/include/powerpc/limits.h -./usr/include/powerpc/lock.h -./usr/include/powerpc/mplock.h -./usr/include/powerpc/mutex.h -./usr/include/powerpc/param.h -./usr/include/powerpc/pcb.h -./usr/include/powerpc/pio.h -./usr/include/powerpc/pmap.h -./usr/include/powerpc/powerpc.h -./usr/include/powerpc/proc.h -./usr/include/powerpc/profile.h -./usr/include/powerpc/psl.h -./usr/include/powerpc/pte.h -./usr/include/powerpc/ptrace.h -./usr/include/powerpc/reg.h -./usr/include/powerpc/reloc.h -./usr/include/powerpc/setjmp.h -./usr/include/powerpc/signal.h -./usr/include/powerpc/spinlock.h -./usr/include/powerpc/stdarg.h -./usr/include/powerpc/tcb.h -./usr/include/powerpc/trap.h -./usr/include/powerpc/varargs.h -./usr/include/ppc-asm.h -./usr/include/socppc -./usr/include/socppc/_float.h -./usr/include/socppc/_types.h -./usr/include/socppc/asm.h -./usr/include/socppc/atomic.h -./usr/include/socppc/autoconf.h -./usr/include/socppc/bus.h -./usr/include/socppc/cdefs.h -./usr/include/socppc/conf.h -./usr/include/socppc/cpu.h -./usr/include/socppc/db_machdep.h -./usr/include/socppc/disklabel.h -./usr/include/socppc/endian.h -./usr/include/socppc/exec.h -./usr/include/socppc/fdt.h -./usr/include/socppc/fenv.h -./usr/include/socppc/fpu.h -./usr/include/socppc/frame.h -./usr/include/socppc/ieee.h -./usr/include/socppc/ieeefp.h -./usr/include/socppc/intr.h -./usr/include/socppc/kcore.h -./usr/include/socppc/limits.h -./usr/include/socppc/loadfile_machdep.h -./usr/include/socppc/lock.h -./usr/include/socppc/mutex.h -./usr/include/socppc/param.h -./usr/include/socppc/pcb.h -./usr/include/socppc/pci_machdep.h -./usr/include/socppc/pio.h -./usr/include/socppc/pmap.h -./usr/include/socppc/proc.h -./usr/include/socppc/profile.h -./usr/include/socppc/psl.h -./usr/include/socppc/pte.h -./usr/include/socppc/ptrace.h -./usr/include/socppc/reg.h -./usr/include/socppc/reloc.h -./usr/include/socppc/setjmp.h -./usr/include/socppc/signal.h -./usr/include/socppc/spinlock.h -./usr/include/socppc/stdarg.h -./usr/include/socppc/tcb.h -./usr/include/socppc/trap.h -./usr/include/socppc/varargs.h -./usr/include/socppc/vmparam.h -./usr/include/spe.h -./usr/include/unwind.h -./usr/libdata/ldscripts -./usr/libdata/ldscripts/elf32ppc_obsd.x -./usr/libdata/ldscripts/elf32ppc_obsd.xbn -./usr/libdata/ldscripts/elf32ppc_obsd.xc -./usr/libdata/ldscripts/elf32ppc_obsd.xd -./usr/libdata/ldscripts/elf32ppc_obsd.xdc -./usr/libdata/ldscripts/elf32ppc_obsd.xdcz -./usr/libdata/ldscripts/elf32ppc_obsd.xdw -./usr/libdata/ldscripts/elf32ppc_obsd.xdz -./usr/libdata/ldscripts/elf32ppc_obsd.xn -./usr/libdata/ldscripts/elf32ppc_obsd.xr -./usr/libdata/ldscripts/elf32ppc_obsd.xs -./usr/libdata/ldscripts/elf32ppc_obsd.xsc -./usr/libdata/ldscripts/elf32ppc_obsd.xsw -./usr/libdata/ldscripts/elf32ppc_obsd.xu -./usr/libdata/ldscripts/elf32ppc_obsd.xw -./usr/libdata/ldscripts/elf32ppc_obsd.xz -./usr/share/info/annotate.info -./usr/share/info/as.info -./usr/share/info/bfd.info -./usr/share/info/gdb.info -./usr/share/info/gdbint.info -./usr/share/info/ld.info -./usr/share/info/stabs.info -./usr/share/man/man1/as.1 -./usr/share/man/man1/gdb.1 diff --git a/distrib/sets/lists/etc/md.socppc b/distrib/sets/lists/etc/md.socppc deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/distrib/sets/lists/game/md.socppc b/distrib/sets/lists/game/md.socppc deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/distrib/sets/lists/man/md.socppc b/distrib/sets/lists/man/md.socppc deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/distrib/sets/lists/man/mi b/distrib/sets/lists/man/mi index 1299a167285..40629f36ad6 100644 --- a/distrib/sets/lists/man/mi +++ b/distrib/sets/lists/man/mi @@ -1812,14 +1812,6 @@ ./usr/share/man/man4/sli.4 ./usr/share/man/man4/sm.4 ./usr/share/man/man4/smsc.4 -./usr/share/man/man4/socppc/autoconf.4 -./usr/share/man/man4/socppc/intro.4 -./usr/share/man/man4/socppc/ipic.4 -./usr/share/man/man4/socppc/mem.4 -./usr/share/man/man4/socppc/obio.4 -./usr/share/man/man4/socppc/sociic.4 -./usr/share/man/man4/socppc/socpcic.4 -./usr/share/man/man4/socppc/tsec.4 ./usr/share/man/man4/softraid.4 ./usr/share/man/man4/sparc64/agten.4 ./usr/share/man/man4/sparc64/apio.4 @@ -2503,9 +2495,6 @@ ./usr/share/man/man8/sndiod.8 ./usr/share/man/man8/snmpctl.8 ./usr/share/man/man8/snmpd.8 -./usr/share/man/man8/socppc/MAKEDEV.8 -./usr/share/man/man8/socppc/boot.8 -./usr/share/man/man8/socppc/mkboot.8 ./usr/share/man/man8/spamd-setup.8 ./usr/share/man/man8/spamd.8 ./usr/share/man/man8/spamdb.8 diff --git a/distrib/socppc/Makefile b/distrib/socppc/Makefile deleted file mode 100644 index ba1e6b62b19..00000000000 --- a/distrib/socppc/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -# $OpenBSD: Makefile,v 1.3 2019/04/30 17:46:05 deraadt Exp $ - -SUBDIR= ramdisk - -unconfig: - cd ramdisk; ${MAKE} unconfig - -.include diff --git a/distrib/socppc/ramdisk/Makefile b/distrib/socppc/ramdisk/Makefile deleted file mode 100644 index cde86e5dd83..00000000000 --- a/distrib/socppc/ramdisk/Makefile +++ /dev/null @@ -1,85 +0,0 @@ -# $OpenBSD: Makefile,v 1.27 2019/05/03 20:03:59 deraadt Exp $ - -FS= miniroot${OSrev}.fs -FSSIZE= 8064 -FSDISKTYPE= miniroot -MOUNT_POINT= /mnt -MTREE= ${UTILS}/mtree.conf -RAMDISK= RAMDISK - -LISTS= ${.CURDIR}/list -UTILS= ${.CURDIR}/../../miniroot - -MRDISKTYPE= rdroot -MRMAKEFSARGS= -o disklabel=${MRDISKTYPE},minfree=0,density=4096 - -all: ${FS} bsd.bin - -${FS}: bsd.gz - dd if=/dev/zero of=${FS} bs=512 count=${FSSIZE} - vnconfig -v -t ${FSDISKTYPE} ${FS} > vnd - fdisk -i -y `cat vnd` - disklabel -w `cat vnd` ${FSDISKTYPE} - newfs -m 0 -o space -i 524288 -c ${FSSIZE} /dev/r`cat vnd`a - mount /dev/`cat vnd`a ${MOUNT_POINT} - dd if=${DESTDIR}/usr/mdec/boot.elf of=/dev/r`cat vnd`i conv=osync - install -c -m 555 -o root -g wheel bsd.gz ${MOUNT_POINT}/bsd - ln ${MOUNT_POINT}/bsd ${MOUNT_POINT}/bsd.rd - df -i ${MOUNT_POINT} - umount ${MOUNT_POINT} - vnconfig -u `cat vnd` - rm -f vnd - -bsd.bin: bsd.rd - objcopy -O binary bsd.rd bsd.bin - -bsd.gz: bsd.rd - gzip -9cn bsd.rd > bsd.gz - -bsd.rd: mr.fs bsd - cp bsd bsd.rd - rdsetroot bsd.rd mr.fs - -bsd: - cd ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK} && \ - su ${BUILDUSER} -c '${MAKE} config && ${MAKE} clean && exec ${MAKE}' - cp -p ${.CURDIR}/../../../sys/arch/${MACHINE}/compile/${RAMDISK}/obj/bsd bsd - -mr.fs: instbin - rm -rf $@.d - install -d -o root -g wheel $@.d - mtree -def ${MTREE} -p $@.d -u - CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} OSrev=${OSrev} \ - TARGDIR=$@.d UTILS=${UTILS} RELEASEDIR=${RELEASEDIR} \ - sh ${UTILS}/runlist.sh ${LISTS} - rm $@.d/instbin - makefs ${MRMAKEFSARGS} $@ $@.d - -instbin.mk instbin.cache instbin.c: instbin.conf - crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib \ - -c instbin.c -e instbin -m instbin.mk instbin.conf - -instbin: instbin.mk instbin.cache instbin.c - ${MAKE} -f instbin.mk SRCLIBDIR=${.CURDIR}/../../../lib all - -instbin.conf: ${LISTS} - awk -f ${UTILS}/makeconf.awk ${LISTS} > instbin.conf - -unconfig: - -umount -f ${MOUNT_POINT} - -[ -f vnd ] && vnconfig -u `cat vnd` && rm -f vnd - -.ifdef RELEASEDIR -install: - cp bsd.rd ${RELEASEDIR}/bsd.rd - chmod a+r ${RELEASEDIR}/bsd.rd - cp ${FS} ${RELEASEDIR} - cp bsd.bin ${RELEASEDIR} -.endif - -clean cleandir: - rm -f *.core mr.fs instbin instbin.mk instbin.cache \ - lib*.a lib*.olist instbin.map *.o *.lo *.c bsd bsd.rd cd${OSrev}.iso - rm -rf cd-dir mr.fs.d - -.include diff --git a/distrib/socppc/ramdisk/install.md b/distrib/socppc/ramdisk/install.md deleted file mode 100644 index 442684a13fc..00000000000 --- a/distrib/socppc/ramdisk/install.md +++ /dev/null @@ -1,104 +0,0 @@ -# $OpenBSD: install.md,v 1.30 2017/01/22 23:43:54 rpe Exp $ -# -# Copyright (c) 1996 The NetBSD Foundation, Inc. -# All rights reserved. -# -# This code is derived from software contributed to The NetBSD Foundation -# by Jason R. Thorpe. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS -# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE -# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# -# -# machine dependent section of installation/upgrade script. -# - -md_installboot() { - local _disk=$1 - if dd if=/mnt/usr/mdec/boot.elf of=/dev/${_disk}i; then - return - fi - - echo "Failed to install bootblocks." - echo "You will not be able to boot OpenBSD from $_disk." - exit -} - -md_prep_fdisk() { - local _disk=$1 _q _d - - while :; do - _d=whole - if disk_has $_disk mbr; then - fdisk $_disk - if disk_has $_disk mbr openbsd; then - _q=", use the (O)penBSD area" - _d=OpenBSD - fi - else - echo "MBR has invalid signature; not showing it." - fi - ask "Use (W)hole disk$_q or (E)dit the MBR?" "$_d" - case $resp in - [wW]*) - echo -n "Setting OpenBSD MBR partition to whole $_disk..." - fdisk -iy $_disk >/dev/null - echo "done." - return ;; - [eE]*) - # Manually configure the MBR. - cat <<__EOT - -You will now create a single MBR partition to contain your OpenBSD data. This -partition must have an id of 'A6'; must *NOT* overlap other partitions; and -must be marked as the only active partition. Inside the fdisk command, the -'manual' command describes all the fdisk commands in detail. - -$(fdisk ${_disk}) -__EOT - fdisk -e ${_disk} - disk_has $_disk mbr openbsd && return - echo No OpenBSD partition in MBR, try again. ;; - [oO]*) - [[ $_d == OpenBSD ]] || continue - return ;; - esac - done -} - -md_prep_disklabel() { - local _disk=$1 _f=/tmp/i/fstab.$1 - - md_prep_fdisk $_disk - - disklabel_autolayout $_disk $_f || return - [[ -s $_f ]] && return - - # Edit disklabel manually. - # Abandon all hope, ye who enter here. - disklabel -F $_f -E $_disk -} - -md_congrats() { -} - -md_consoleinfo() { -} diff --git a/distrib/socppc/ramdisk/list b/distrib/socppc/ramdisk/list deleted file mode 100644 index 6cbbc362b06..00000000000 --- a/distrib/socppc/ramdisk/list +++ /dev/null @@ -1,114 +0,0 @@ -# $OpenBSD: list,v 1.38 2019/04/29 01:48:41 deraadt Exp $ - -SRCDIRS distrib/special - -# copy the crunched binary, link to it, and kill it -COPY ${OBJDIR}/instbin instbin -LINK instbin bin/arch -LINK instbin bin/cat -LINK instbin bin/chmod bin/chgrp sbin/chown -LINK instbin bin/cp -LINK instbin bin/date -LINK instbin bin/dd -LINK instbin bin/df -LINK instbin bin/ed -LINK instbin bin/hostname -LINK instbin bin/ksh bin/sh -ARGVLINK ksh -sh -LINK instbin bin/ln -LINK instbin bin/ls -LINK instbin bin/md5 bin/sha256 bin/sha512 -SPECIAL rm bin/md5 -LINK instbin bin/mkdir -LINK instbin bin/mt bin/eject -LINK instbin bin/mv -LINK instbin bin/pax bin/tar -LINK instbin bin/rm -LINK instbin bin/sleep -LINK instbin bin/stty -LINK instbin bin/sync -LINK instbin sbin/dhclient -LINK instbin sbin/disklabel -LINK instbin sbin/dmesg -LINK instbin sbin/fdisk -LINK instbin sbin/fsck -LINK instbin sbin/fsck_ffs -LINK instbin sbin/growfs -LINK instbin sbin/ifconfig -LINK instbin sbin/init -LINK instbin sbin/mknod -LINK instbin sbin/mount -LINK instbin sbin/mount_cd9660 -LINK instbin sbin/mount_ffs -LINK instbin sbin/mount_msdos -LINK instbin sbin/mount_nfs -LINK instbin sbin/mount_udf -LINK instbin sbin/newfs -LINK instbin sbin/newfs_msdos -LINK instbin sbin/ping sbin/ping6 -LINK instbin sbin/reboot sbin/halt -LINK instbin sbin/route -LINK instbin sbin/slaacd -LINK instbin sbin/sysctl -LINK instbin sbin/umount -LINK instbin usr/bin/doas -LINK instbin usr/bin/encrypt -LINK instbin usr/bin/ftp -LINK instbin usr/bin/grep usr/bin/egrep usr/bin/fgrep -LINK instbin usr/bin/gzip usr/bin/gunzip usr/bin/gzcat -LINK instbin usr/bin/more usr/bin/less -LINK instbin usr/bin/sed -LINK instbin usr/bin/signify -LINK instbin usr/sbin/chroot -LINK instbin usr/sbin/pwd_mkdb - -# copy the MAKEDEV script and make some devices -SCRIPT ${DESTDIR}/dev/MAKEDEV dev/MAKEDEV -SPECIAL cd dev; sh MAKEDEV ramdisk - -# for fdisk(8) -COPY ${DESTDIR}/usr/mdec/mbr usr/mdec/mbr - -# various files that we need in /etc for the install -COPY ${CURDIR}/../../miniroot/group etc/group -COPY ${CURDIR}/../../miniroot/master.passwd etc/master.passwd -SPECIAL pwd_mkdb -p -d etc master.passwd; rm etc/master.passwd -COPY ${DESTDIR}/etc/signify/openbsd-${OSrev}-base.pub etc/signify/openbsd-${OSrev}-base.pub -COPY ${CURDIR}/../../miniroot/protocols etc/protocols -COPY ${CURDIR}/../../miniroot/services etc/services -SYMLINK /tmp/i/fstab.shadow etc/fstab -SYMLINK /tmp/i/resolv.conf.shadow etc/resolv.conf -SYMLINK /tmp/i/hosts etc/hosts -TERMCAP vt100,vt220,dumb usr/share/misc/termcap - -# firmware we might need -COPY ${DESTDIR}/etc/firmware/kue etc/firmware/kue -COPY ${DESTDIR}/etc/firmware/rum-rt2573 etc/firmware/rum-rt2573 -COPY ${DESTDIR}/etc/firmware/run-rt2870 etc/firmware/run-rt2870 -COPY ${DESTDIR}/etc/firmware/run-rt3071 etc/firmware/run-rt3071 -COPY ${DESTDIR}/etc/firmware/atu-at76c503-i3863-ext etc/firmware/atu-at76c503-i3863-ext -COPY ${DESTDIR}/etc/firmware/atu-at76c503-i3863-int etc/firmware/atu-at76c503-i3863-int -COPY ${DESTDIR}/etc/firmware/atu-at76c503-rfmd-acc-ext etc/firmware/atu-at76c503-rfmd-acc-ext -COPY ${DESTDIR}/etc/firmware/atu-at76c503-rfmd-acc-int etc/firmware/atu-at76c503-rfmd-acc-int -COPY ${DESTDIR}/etc/firmware/atu-at76c505-rfmd-ext etc/firmware/atu-at76c505-rfmd-ext -COPY ${DESTDIR}/etc/firmware/atu-at76c505-rfmd-int etc/firmware/atu-at76c505-rfmd-int -COPY ${DESTDIR}/etc/firmware/atu-intersil-ext etc/firmware/atu-intersil-ext -COPY ${DESTDIR}/etc/firmware/atu-intersil-int etc/firmware/atu-intersil-int -COPY ${DESTDIR}/etc/firmware/atu-license etc/firmware/atu-license -COPY ${DESTDIR}/etc/firmware/atu-rfmd-ext etc/firmware/atu-rfmd-ext -COPY ${DESTDIR}/etc/firmware/atu-rfmd-int etc/firmware/atu-rfmd-int -COPY ${DESTDIR}/etc/firmware/atu-rfmd2958-ext etc/firmware/atu-rfmd2958-ext -COPY ${DESTDIR}/etc/firmware/atu-rfmd2958-int etc/firmware/atu-rfmd2958-int -COPY ${DESTDIR}/etc/firmware/atu-rfmd2958smc-ext etc/firmware/atu-rfmd2958smc-ext -COPY ${DESTDIR}/etc/firmware/atu-rfmd2958smc-int etc/firmware/atu-rfmd2958smc-int - -# and the installation tools -SCRIPT ${CURDIR}/../../miniroot/dot.profile .profile -SCRIPT ${CURDIR}/install.md install.md -SCRIPT ${CURDIR}/../../miniroot/install.sub install.sub -SPECIAL chmod 755 install.sub -SYMLINK install.sub autoinstall -SYMLINK install.sub install -SYMLINK install.sub upgrade - -TZ diff --git a/distrib/special/disklabel/Makefile b/distrib/special/disklabel/Makefile index 32d25ff9e2e..02bef2be05d 100644 --- a/distrib/special/disklabel/Makefile +++ b/distrib/special/disklabel/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.8 2016/09/03 13:37:40 guenther Exp $ +# $OpenBSD: Makefile,v 1.9 2019/05/11 07:18:14 deraadt Exp $ PROG= disklabel SRCS= disklabel.c dkcksum.c editor.c manual.c @@ -41,7 +41,7 @@ CFLAGS+= -DSEEALSO="\"fdisk(8)\"" CFLAGS+= -DSEEALSO="\"fdisk(8), installboot(8)\"" .endif -.if (${MACHINE} == "macppc" || ${MACHINE} == "socppc") +.if (${MACHINE} == "macppc" CFLAGS+= -DSEEALSO="\"fdisk(8), pdisk(8)\"" .endif diff --git a/distrib/special/fdisk/Makefile b/distrib/special/fdisk/Makefile index 3bc06c2cde5..ca4ec79fe91 100644 --- a/distrib/special/fdisk/Makefile +++ b/distrib/special/fdisk/Makefile @@ -1,5 +1,5 @@ # -# $OpenBSD: Makefile,v 1.4 2015/10/05 01:39:07 krw Exp $ +# $OpenBSD: Makefile,v 1.5 2019/05/11 07:18:15 deraadt Exp $ # # Copyright (c) 1997 Tobias Weingartner # @@ -42,7 +42,7 @@ MAN= fdisk.8 .if ${MACHINE} == "amd64" || ${MACHINE} == "i386" || \ ${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \ - ${MACHINE} == "macppc" || ${MACHINE} == "socppc" + ${MACHINE} == "macppc" CFLAGS += -DHAS_MBR .endif diff --git a/distrib/special/installboot/Makefile b/distrib/special/installboot/Makefile index 85668920194..95977cc845d 100644 --- a/distrib/special/installboot/Makefile +++ b/distrib/special/installboot/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.10 2017/01/23 00:59:26 patrick Exp $ +# $OpenBSD: Makefile,v 1.11 2019/05/11 07:18:15 deraadt Exp $ .PATH: ${.CURDIR}/../../../usr.sbin/installboot @@ -65,10 +65,6 @@ SRCS += stubs.c SRCS += stubs.c .endif -.if ${MACHINE} == "socppc" -SRCS += stubs.c -.endif - .if ${MACHINE} == "sparc64" CFLAGS += -DSOFTRAID SRCS += sparc64_installboot.c diff --git a/etc/Makefile b/etc/Makefile index 5ee586b6448..b85d28d3026 100644 --- a/etc/Makefile +++ b/etc/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.468 2019/02/05 16:23:58 florian Exp $ +# $OpenBSD: Makefile,v 1.469 2019/05/11 07:18:15 deraadt Exp $ .include @@ -298,7 +298,7 @@ distrib: SUBDIR+= etc.alpha etc.amd64 etc.arm64 etc.armv7 SUBDIR+= etc.hppa etc.i386 etc.landisk etc.loongson etc.luna88k SUBDIR+= etc.macppc etc.octeon -SUBDIR+= etc.sgi etc.socppc etc.sparc64 +SUBDIR+= etc.sgi etc.sparc64 .include .include diff --git a/etc/etc.socppc/MAKEDEV b/etc/etc.socppc/MAKEDEV deleted file mode 100644 index 8d22163d18c..00000000000 --- a/etc/etc.socppc/MAKEDEV +++ /dev/null @@ -1,453 +0,0 @@ -#!/bin/sh - -# -# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. -# generated from: -# -# OpenBSD: etc.socppc/MAKEDEV.md,v 1.31 2016/09/04 15:38:59 naddy Exp -# OpenBSD: MAKEDEV.common,v 1.101 2018/08/31 02:32:29 jcs Exp -# OpenBSD: MAKEDEV.mi,v 1.83 2016/09/11 03:06:31 deraadt Exp -# OpenBSD: MAKEDEV.sub,v 1.14 2005/02/07 06:14:18 david Exp -# -# -# Copyright (c) 2001-2004 Todd T. Fries -# -# Permission to use, copy, modify, and distribute this software for any -# purpose with or without fee is hereby granted, provided that the above -# copyright notice and this permission notice appear in all copies. -# -# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -# -# Device "make" file. Valid arguments: -# all makes all known devices, including local devices. -# Tries to make the ``standard'' number of each type. -# ramdisk Ramdisk kernel devices -# std Standard devices -# local Configuration specific devices -# Disks: -# cd* ATAPI and SCSI CD-ROM drives -# rd* "rd" pseudo-disks -# sd* SCSI disks, including flopticals -# vnd* "file" pseudo-disk devices -# wd* "winchester" disk drives (ST506, IDE, ESDI, RLL, ...) -# Tapes: -# ch* SCSI media changers -# st* SCSI tape drives -# Terminal ports: -# tty[0-7][0-9a-f] NS16x50 serial ports -# Pseudo terminals: -# ptm pty master device -# pty* Set of 62 master pseudo terminals -# tty* Set of 62 slave pseudo terminals -# Console ports: -# ttyC-J* wscons display devices -# wscons Minimal wscons devices -# wskbd* wscons keyboards -# wsmux wscons keyboard/mouse mux devices -# Pointing devices: -# wsmouse* wscons mice -# USB devices: -# uall All USB devices -# ttyU* USB serial ports -# ugen* Generic USB devices -# uhid* Generic HID devices -# ulpt* Printer devices -# usb* Bus control devices used by usbd for attach/detach -# Special purpose devices: -# bpf Berkeley Packet Filter -# diskmap Disk mapper -# fd fd/* nodes -# fuse Userland Filesystem -# hotplug devices hot plugging -# pci* PCI bus devices -# pf* Packet Filter -# pppx* PPP Multiplexer -# *random In-kernel random data source -# tun* Network tunnel driver -# tap* Ethernet tunnel driver -# video* Video V4L2 devices -# vscsi* Virtual SCSI controller -# switch* Switch driver -PATH=/sbin:/usr/sbin:/bin:/usr/bin -T=$0 - -# set this to echo for Echo-Only debugging -[ "$eo" ] || eo= - -hex() -{ - case $1 in - [0-9]) echo -n $1;; - 10) echo -n a;; - 11) echo -n b;; - 12) echo -n c;; - 13) echo -n d;; - 14) echo -n e;; - 15) echo -n f;; - esac -} - -alph2d() -{ - local t="$1" - local p="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" - local sub=${p%${t}*} - echo ${#sub} -} - -h2d() -{ - local s="$1" - local f=${s%*[0-9a-f]} n=${s#[0-9a-f]*} - - echo $(($(_h2d $f)*16+ $(_h2d $n) )) -} - -_h2d() -{ - case $1 in - [0-9]) echo -n $1;; - a) echo -n 10;; - b) echo -n 11;; - c) echo -n 12;; - d) echo -n 13;; - e) echo -n 14;; - f) echo -n 15;; - esac -} - -unt() -{ - # XXX pdksh can't seem to deal with locally scoped variables - # in ${foo#$bar} expansions - arg="$1" - tmp="${arg#[a-zA-Z]*}" - tmp="${tmp%*[a-zA-Z]}" - while [ "$tmp" != "$arg" ] - do - arg=$tmp - tmp="${arg#[a-zA-Z]*}" - tmp="${tmp%*[a-zA-Z]}" - done - echo $arg -} - -dodisk() -{ - [ "$DEBUG" ] && set -x - n=$(($((${5}*${7:-16}))+${6})) count=0 - [ 0$7 -ne 8 ] && l="i j k l m n o p" - for d in a b c d e f g h $l - do - M $1$2$d b $3 $(($n+$count)) 640 operator - M r$1$2$d c $4 $(($n+$count)) 640 operator - let count=count+1 - done -} - -dodisk2() -{ - n=$(($(($5*${7:-16}))+$6)) - M $1$2a b $3 $n 640 operator - M r$1$2a c $4 $n 640 operator - n=$(($n+2)) - M $1$2c b $3 $n 640 operator - M r$1$2c c $4 $n 640 operator -} - -# M name b/c major minor [mode] [group] -RMlist[0]="rm -f" - -mkl() { - : ${mklist[0]:=";mknod"} - mklist[${#mklist[*]}]=" -m $1 $2 $3 $4 $5" -} - -M() { - RMlist[${#RMlist[*]}]=$1 - mkl ${5-666} $1 $2 $3 $4 - G=${6:-wheel} - [ "$7" ] && { - MKlist[${#MKlist[*]}]="&& chown $7:$G $1" - } || { - case $G in - wheel) - [ ${#whlist[*]} = 0 ] && whlist[0]="&& chgrp wheel" - whlist[${#whlist[*]}]="$1" - ;; - operator) - [ ${#oplist[*]} = 0 ] && oplist[0]="&& chgrp operator" - oplist[${#oplist[*]}]="$1" - ;; - *) - MKlist[${#MKlist[*]}]="&& chgrp $G $1"; - esac - } - return 0 -} - -R() { -[ "$DEBUG" ] && set -x -for i in "$@" -do -U=`unt $i` -[ "$U" ] || U=0 - -case $i in -std) - M console c 0 0 600 - M tty c 1 0 - M mem c 2 0 640 kmem - M kmem c 2 1 640 kmem - M null c 2 2 - M zero c 2 12 - M stdin c 21 0 - M stdout c 21 1 - M stderr c 21 2 - M ksyms c 43 0 640 kmem - M klog c 6 0 600 - ;; - - -switch*) - M switch$U c 87 $U 600 - ;; - -vscsi*) - M vscsi$U c 78 $U 600 - ;; - -video*) - M video$U c 44 $U 600 - MKlist[${#MKlist[*]}]=";[ -e video ] || ln -s video$U video" - ;; - -tap*) - M tap$U c 86 $U 600 - ;; - -tun*) - M tun$U c 23 $U 600 - ;; - -*random) - M urandom c 40 0 644 - RMlist[${#RMlist[*]}]=random - MKlist[${#MKlist[*]}]=";ln -s urandom random" - ;; - -pppx*) - M pppx$U c 83 $U 600 - ;; - -pf*) - M pf c 39 0 600 - ;; - -pci*) - M pci$U c 71 $U 600 - MKlist[${#MKlist[*]}]=";[ -h pci ] || ln -sf pci0 pci" - ;; - -hotplug) - M hotplug c 84 $U 400 - ;; - -fuse) - M fuse$U c 85 $U 600 - ;; - -fd) - RMlist[${#RMlist[*]}]=";mkdir -p fd;rm -f" n=0 - while [ $n -lt 64 ];do M fd/$n c 21 $n;n=$(($n+1));done - MKlist[${#MKlist[*]}]=";chmod 555 fd" - ;; - -diskmap) - M diskmap c 82 0 640 operator - ;; - -bpf) - M bpf c 22 0 600 - M bpf0 c 22 0 600 - ;; - -usb*) - [ "$i" = "usb" ] && u= || u=$U - M usb$u c 61 $U 660 - ;; - -ulpt*) - M ulpt$U c 64 $U 660 - ;; - -uhid*) - M uhid$U c 62 $U 660 - ;; - -ugen*) - n=$(($U*16)) - for j in 0{0,1,2,3,4,5,6,7,8,9} 1{0,1,2,3,4,5} - do - M ugen$U.$j c 63 $(($n+10#$j)) 660 - done - ;; - -ttyU[0-9a-zA-Z]) - U=${i#ttyU*} - o=$(alph2d $U) - M ttyU$U c 66 $o 660 dialer root - M cuaU$U c 66 $(($o+128)) 660 dialer root - ;; - -uall) - R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ugen2 ugen3 ugen4 ugen5 - R ugen6 ugen7 ulpt0 ulpt1 uhid0 uhid1 uhid2 uhid3 uhid4 uhid5 - R uhid6 uhid7 usb0 usb1 usb2 usb3 usb4 usb5 usb6 usb7 - ;; - -wsmouse[0-9]*) - M wsmouse$U c 69 $U 600 - ;; - -wsmux|wsmouse|wskbd) - M wsmouse c 70 0 600 - M wskbd c 70 1 600 - ;; - -wskbd[0-9]*) - M wskbd$U c 68 $U 600 - ;; - -wscons) - R wsmouse0 wsmouse1 wsmouse2 wsmouse3 wskbd0 wskbd1 wskbd2 - R wskbd3 wsmux ttyCcfg ttyC0 ttyC1 ttyC2 ttyC3 ttyC4 ttyC5 - R ttyC6 ttyC7 ttyC8 ttyC9 ttyCa ttyCb - ;; - -tty[C-J]*) - U=${i##tty[C-J]} - case $i in - ttyC*) n=C m=0;; - ttyD*) n=D m=256;; - ttyE*) n=E m=512;; - ttyF*) n=F m=768;; - ttyG*) n=G m=1024;; - ttyH*) n=H m=1280;; - ttyI*) n=I m=1536;; - ttyJ*) n=J m=1792;; - esac - case $U in - [0-9a-f]) M tty$n$U c 67 $((16#$U+$m)) 600;; - cfg) M tty${n}cfg c 67 $((255+$m)) 600;; - *) echo bad unit $U for $i; exit 1;; - esac - ;; - -pty*) - if [ $U -gt 15 ]; then - echo bad unit for pty in: $i - continue - fi - set -A letters p q r s t u v w x y z P Q R S T - set -A suffixes 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q \ - r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X \ - Y Z - - name=${letters[$U]} - n=0 - while [ $n -lt 62 ] - do - nam=$name${suffixes[$n]} - off=$(($U*62)) - M tty$nam c 4 $(($off+$n)) - M pty$nam c 5 $(($off+$n)) - n=$(($n+1)) - done - ;; - -ptm) - M ptm c 77 0 666 - ;; - -tty[0-7][0-9a-f]) - U=${i#tty*} - o=$(h2d $U) - M tty$U c 26 $o 660 dialer root - M cua$U c 26 $(($o+128)) 660 dialer root - ;; - -st*) - n=$(($U*16)) - for pre in " " n e en - do - M ${pre}rst$U c 20 $n 660 operator - n=$(($n+1)) - done - ;; - -ch*) - M ch$U c 10 $U 660 operator - ;; - -vnd*) - dodisk vnd $U 14 19 $U 0 - ;; - -rd*) - dodisk2 rd $U 17 17 $U 0 - ;; - -cd*) - dodisk2 cd $U 3 9 $U 0 - ;; - -local) - test -s $T.local && sh $T.local - ;; - -ramdisk) - R diskmap rd0 cd0 cd1 st0 st1 wd0 wd1 wd2 wd3 wd4 sd0 sd1 sd2 - R sd3 sd4 tty00 tty01 bpf std - ;; - -all) - R switch0 switch1 switch2 switch3 vnd0 vnd1 vnd2 vnd3 sd0 sd1 - R sd2 sd3 sd4 sd5 sd6 sd7 sd8 sd9 cd0 cd1 rd0 tap0 tap1 tap2 - R tap3 tun0 tun1 tun2 tun3 pty0 diskmap vscsi0 ch0 bpf fuse - R pppx hotplug ptm local wscons pci0 pci1 pci2 pci3 uall - R video0 video1 random tty00 tty01 tty02 tty03 tty04 tty05 - R tty06 tty07 tty08 tty09 tty0a tty0b pf wd0 wd1 wd2 wd3 std - R st0 st1 fd - ;; - -wd*|sd*) - case $i in - wd*) dodisk wd $U 0 11 $U 0;; - sd*) dodisk sd $U 2 8 $U 0;; - esac - ;; - -*) - echo $i: unknown device - ;; -esac -done -} -R "$@" -{ -echo -n ${RMlist[*]} -echo -n ${mklist[*]} -echo -n ${MKlist[*]} -echo -n ${whlist[*]} -echo ${oplist[*]} -} | if [ "$eo" = "echo" ]; then - cat -else - sh -fi diff --git a/etc/etc.socppc/MAKEDEV.md b/etc/etc.socppc/MAKEDEV.md deleted file mode 100644 index 0cf31a0d319..00000000000 --- a/etc/etc.socppc/MAKEDEV.md +++ /dev/null @@ -1,103 +0,0 @@ -define(MACHINE,socppc)dnl -vers(__file__, - {-$OpenBSD: MAKEDEV.md,v 1.31 2016/09/04 15:38:59 naddy Exp $-}, -etc.MACHINE)dnl -dnl -dnl Copyright (c) 2001-2006 Todd T. Fries -dnl -dnl Permission to use, copy, modify, and distribute this software for any -dnl purpose with or without fee is hereby granted, provided that the above -dnl copyright notice and this permission notice appear in all copies. -dnl -dnl THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -dnl WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -dnl MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -dnl ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -dnl WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -dnl ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -dnl OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -dnl -dnl -dnl __devitem(apm, apm, Power management device)dnl -_TITLE(make) -_DEV(all) -_DEV(ramd) -_DEV(std) -_DEV(local) -_TITLE(dis) -_DEV(cd, 9, 3) -_DEV(rd, 17, 17) -_DEV(sd, 8, 2) -_DEV(vnd, 19, 14) -_DEV(wd, 11, 0) -_TITLE(tap) -_DEV(ch, 10) -_DEV(st, 20) -_TITLE(term) -_DEV(com, 26) -_TITLE(pty) -_DEV(ptm, 77) -_DEV(pty, 5) -_DEV(tty, 4) -_TITLE(cons) -_DEV(wsdisp, 67) -_DEV(wscons) -_DEV(wskbd, 68) -_DEV(wsmux, 70) -_TITLE(point) -_DEV(wsmouse, 69) -_TITLE(usb) -_DEV(uall) -_DEV(ttyU, 66) -_DEV(ugen, 63) -_DEV(uhid, 62) -_DEV(ulpt, 64) -_DEV(usb, 61) -_TITLE(spec) -dnl _DEV(apm, 25) -dnl _DEV(au, 44) -dnl _DEV(bio, 80) -dnl dnl _DEV(bktr, 75) -_DEV(bpf, 22) -_DEV(diskmap, 82) -_DEV(fdesc, 21) -_DEV(fuse, 85) -dnl _DEV(gpio, 79) -_DEV(hotplug, 84) -_DEV(pci, 71) -_DEV(pf, 39) -_DEV(pppx, 83) -dnl _DEV(radio, 76) -_DEV(rnd, 40) -_DEV(tun, 23) -_DEV(tap, 86) -dnl _DEV(tuner, 75) -dnl _DEV(uk, 41) -_DEV(vi, 44) -_DEV(vscsi, 78) -_DEV(switch, 87) -dnl -divert(__mddivert)dnl -dnl -_std(1, 2, 43, 6) - ;; - -dnl -dnl *** socppc specific targets -dnl -twrget(all, au, audio, 0, 1, 2)dnl -target(all, ch, 0)dnl -target(all, vscsi, 0)dnl -target(all, diskmap)dnl -target(all, pty, 0)dnl -target(all, tun, 0, 1, 2, 3)dnl -target(all, tap, 0, 1, 2, 3)dnl -target(all, rd, 0)dnl -target(all, cd, 0, 1)dnl -target(all, sd, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9)dnl -target(all, vnd, 0, 1, 2, 3)dnl -target(all, switch, 0, 1, 2, 3)dnl -dnl target(all, gpio, 0, 1, 2)dnl -dnl target(all, bio)dnl -target(ramd, diskmap)dnl -target(ramd, random)dnl diff --git a/etc/etc.socppc/Makefile b/etc/etc.socppc/Makefile deleted file mode 100644 index 324bc9769a7..00000000000 --- a/etc/etc.socppc/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $OpenBSD: Makefile,v 1.2 2008/06/15 01:51:56 todd Exp $ - -all: MAKEDEV - -.include diff --git a/etc/etc.socppc/Makefile.inc b/etc/etc.socppc/Makefile.inc deleted file mode 100644 index 34f7ae80aa1..00000000000 --- a/etc/etc.socppc/Makefile.inc +++ /dev/null @@ -1,7 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.8 2017/04/04 00:03:12 deraadt Exp $ - -bootblocks: - cp -p ${DESTDIR}/usr/mdec/boot ${RELEASEDIR}/boot - cp -p ${DESTDIR}/usr/mdec/boot.elf ${RELEASEDIR}/boot.elf - -MDEXT= bsd.bin bsd.rd boot boot.elf miniroot${OSrev}.fs diff --git a/etc/etc.socppc/disktab b/etc/etc.socppc/disktab deleted file mode 100644 index 461c3dcf2f7..00000000000 --- a/etc/etc.socppc/disktab +++ /dev/null @@ -1,11 +0,0 @@ -# $OpenBSD: disktab,v 1.6 2015/08/14 23:45:56 krw Exp $ - -rdroot|ramdiskroot|RAM-disk root FS image:\ - :dt=rdroot:se#512:nc#16:nt#2:ns#256:\ - :ta=4.2BSD:oa#0:pa#8192:fa#512:ba#4096:\ - :ob#0:pb#0:oc#0:pc#8192: - -miniroot|Installation root FS image:\ - :dt=rdroot:se#512:nc#8:nt#16:ns#63:\ - :ta=4.2BSD:oa#1024:pa#7040:fa#512:ba#4096:\ - :ob#0:pb#0:oc#0:pc#8064:ti=boot:oi#63:pi#512: diff --git a/etc/etc.socppc/fbtab b/etc/etc.socppc/fbtab deleted file mode 100644 index 9216d258e64..00000000000 --- a/etc/etc.socppc/fbtab +++ /dev/null @@ -1 +0,0 @@ -/dev/tty00 0600 /dev/console diff --git a/etc/etc.socppc/login.conf b/etc/etc.socppc/login.conf deleted file mode 100644 index 58c8b6295e2..00000000000 --- a/etc/etc.socppc/login.conf +++ /dev/null @@ -1,109 +0,0 @@ -# $OpenBSD: login.conf,v 1.6 2017/02/06 18:11:33 sthen Exp $ - -# -# Sample login.conf file. See login.conf(5) for details. -# - -# -# Standard authentication styles: -# -# passwd Use only the local password file -# chpass Do not authenticate, but change users password (change -# the YP password if the user has one, else change the -# local password) -# lchpass Do not login; change user's local password instead -# radius Use radius authentication -# reject Use rejected authentication -# skey Use S/Key authentication -# activ ActivCard X9.9 token authentication -# crypto CRYPTOCard X9.9 token authentication -# snk Digital Pathways SecureNet Key authentication -# tis TIS Firewall Toolkit authentication -# token Generic X9.9 token authentication -# yubikey YubiKey authentication -# - -# Default allowed authentication styles -auth-defaults:auth=passwd,skey: - -# Default allowed authentication styles for authentication type ftp -auth-ftp-defaults:auth-ftp=passwd: - -# -# The default values -# To alter the default authentication types change the line: -# :tc=auth-defaults:\ -# to be read something like: (enables passwd, "myauth", and activ) -# :auth=passwd,myauth,activ:\ -# Any value changed in the daemon class should be reset in default -# class. -# -default:\ - :path=/usr/bin /bin /usr/sbin /sbin /usr/X11R6/bin /usr/local/bin /usr/local/sbin:\ - :umask=022:\ - :datasize-max=512M:\ - :datasize-cur=512M:\ - :maxproc-max=256:\ - :maxproc-cur=128:\ - :openfiles-max=1024:\ - :openfiles-cur=512:\ - :stacksize-cur=4M:\ - :localcipher=blowfish,8:\ - :tc=auth-defaults:\ - :tc=auth-ftp-defaults: - -# -# Settings used by /etc/rc and root -# This must be set properly for daemons started as root by inetd as well. -# Be sure reset these values back to system defaults in the default class! -# -daemon:\ - :ignorenologin:\ - :datasize=infinity:\ - :maxproc=infinity:\ - :openfiles-max=1024:\ - :openfiles-cur=128:\ - :stacksize-cur=8M:\ - :localcipher=blowfish,9:\ - :tc=default: - -# -# Staff have fewer restrictions and can login even when nologins are set. -# -staff:\ - :datasize-cur=512M:\ - :datasize-max=infinity:\ - :maxproc-max=512:\ - :maxproc-cur=128:\ - :ignorenologin:\ - :requirehome@:\ - :tc=default: - -# -# Authpf accounts get a special motd and shell -# -authpf:\ - :welcome=/etc/motd.authpf:\ - :shell=/usr/sbin/authpf:\ - :tc=default: - -# -# Building ports with DPB uses raised limits -# -pbuild:\ - :datasize-max=infinity:\ - :datasize-cur=1024M:\ - :maxproc-max=1024:\ - :maxproc-cur=256:\ - :tc=default: - -# -# Override resource limits for certain daemons started by rc.d(8) -# -bgpd:\ - :openfiles=512:\ - :tc=daemon: - -unbound:\ - :openfiles=512:\ - :tc=daemon: diff --git a/etc/etc.socppc/sysctl.conf b/etc/etc.socppc/sysctl.conf deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/etc/etc.socppc/ttys b/etc/etc.socppc/ttys deleted file mode 100644 index 83535b7abdc..00000000000 --- a/etc/etc.socppc/ttys +++ /dev/null @@ -1,14 +0,0 @@ -# -# $OpenBSD: ttys,v 1.1 2008/05/13 19:39:58 kettenis Exp $ -# -# name getty type status comments -# -console "/usr/libexec/getty std.115200" vt220 on secure -tty00 "/usr/libexec/getty std.115200" unknown off secure -tty01 "/usr/libexec/getty std.9600" unknown off secure -tty02 "/usr/libexec/getty std.9600" unknown off -tty03 "/usr/libexec/getty std.9600" unknown off -tty04 "/usr/libexec/getty std.9600" unknown off -tty05 "/usr/libexec/getty std.9600" unknown off -tty06 "/usr/libexec/getty std.9600" unknown off -tty07 "/usr/libexec/getty std.9600" unknown off diff --git a/etc/mtree/4.4BSD.dist b/etc/mtree/4.4BSD.dist index fb70defe1ec..c4e25833588 100644 --- a/etc/mtree/4.4BSD.dist +++ b/etc/mtree/4.4BSD.dist @@ -1,4 +1,4 @@ -# $OpenBSD: 4.4BSD.dist,v 1.309 2019/04/05 09:02:27 bentley Exp $ +# $OpenBSD: 4.4BSD.dist,v 1.310 2019/05/11 07:18:15 deraadt Exp $ /set type=dir uname=root gname=wheel mode=0755 @@ -508,8 +508,6 @@ usr .. sgi .. - socppc - .. sparc64 .. .. @@ -548,8 +546,6 @@ usr .. sgi .. - socppc - .. sparc64 .. .. diff --git a/regress/etc/MAKEDEV/Makefile b/regress/etc/MAKEDEV/Makefile index fa33eb0cd68..1abadb29c6a 100644 --- a/regress/etc/MAKEDEV/Makefile +++ b/regress/etc/MAKEDEV/Makefile @@ -1,9 +1,9 @@ -# $OpenBSD: Makefile,v 1.35 2016/09/03 13:37:41 guenther Exp $ +# $OpenBSD: Makefile,v 1.36 2019/05/11 07:18:15 deraadt Exp $ MAKEDEVARCHS+=alpha amd64 armv7 hppa i386 landisk MAKEDEVARCHS+=loongson luna88k macppc -MAKEDEVARCHS+=sgi socppc sparc64 +MAKEDEVARCHS+=sgi sparc64 MAKEDEVTARGS?=all ramdisk diff --git a/sbin/disklabel/Makefile b/sbin/disklabel/Makefile index 23eda50f9fd..784a93de233 100644 --- a/sbin/disklabel/Makefile +++ b/sbin/disklabel/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.65 2017/04/19 05:27:00 otto Exp $ +# $OpenBSD: Makefile,v 1.66 2019/05/11 07:18:15 deraadt Exp $ PROG= disklabel SRCS= disklabel.c dkcksum.c editor.c manual.c @@ -41,7 +41,7 @@ CFLAGS+= -DSEEALSO="\"fdisk(8)\"" CFLAGS+= -DSEEALSO="\"fdisk(8), installboot(8)\"" .endif -.if (${MACHINE} == "macppc" || ${MACHINE} == "socppc") +.if (${MACHINE} == "macppc" CFLAGS+= -DSEEALSO="\"fdisk(8), pdisk(8)\"" .endif diff --git a/sbin/fdisk/Makefile b/sbin/fdisk/Makefile index 2046822f481..6ebed18a72e 100644 --- a/sbin/fdisk/Makefile +++ b/sbin/fdisk/Makefile @@ -1,5 +1,5 @@ # -# $OpenBSD: Makefile,v 1.43 2015/10/05 03:13:25 krw Exp $ +# $OpenBSD: Makefile,v 1.44 2019/05/11 07:18:15 deraadt Exp $ # # # Copyright (c) 1997 Tobias Weingartner @@ -43,7 +43,7 @@ MAN= fdisk.8 .if ${MACHINE} == "amd64" || ${MACHINE} == "i386" || \ ${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \ - ${MACHINE} == "macppc" || ${MACHINE} == "socppc" + ${MACHINE} == "macppc" CFLAGS += -DHAS_MBR .endif diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index c355e53a727..08675b5dc52 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.708 2019/05/04 10:20:11 dlg Exp $ +# $OpenBSD: Makefile,v 1.709 2019/05/11 07:18:15 deraadt Exp $ MAN= aac.4 abcrtc.4 ac97.4 acphy.4 acrtc.4 \ acpi.4 acpiac.4 acpials.4 acpiasus.4 acpibat.4 \ @@ -93,8 +93,7 @@ MAN= aac.4 abcrtc.4 ac97.4 acphy.4 acrtc.4 \ SUBDIR= man4.alpha man4.amd64 man4.arm64 man4.armv7 \ man4.hppa man4.i386 man4.landisk man4.loongson man4.luna88k \ - man4.macppc man4.octeon \ - man4.sgi man4.socppc man4.sparc64 + man4.macppc man4.octeon man4.sgi man4.sparc64 CLEANFILES+= wi.4 diff --git a/share/man/man4/com.4 b/share/man/man4/com.4 index 9baa6370dac..c55ba86a79b 100644 --- a/share/man/man4/com.4 +++ b/share/man/man4/com.4 @@ -1,4 +1,4 @@ -.\" $OpenBSD: com.4,v 1.44 2018/07/02 15:39:33 kettenis Exp $ +.\" $OpenBSD: com.4,v 1.45 2019/05/11 07:18:15 deraadt Exp $ .\" $NetBSD: com.4,v 1.5 1996/03/16 00:07:08 thorpej Exp $ .\" .\" Copyright (c) 1990, 1991 The Regents of the University of California. @@ -33,7 +33,7 @@ .\" .\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91 .\" -.Dd $Mdocdate: July 2 2018 $ +.Dd $Mdocdate: May 11 2019 $ .Dt COM 4 .Os .Sh NAME @@ -95,10 +95,6 @@ .Cd "com0 at ioc? base 0x00020178" .Cd "com1 at ioc? base 0x00020170" .Pp -.Cd "# socppc" -.Cd "com0 at obio? addr 0x04500 ivec 9" -.Cd "com1 at obio? addr 0x04600 ivec 10" -.Pp .Cd "# sparc64" .Cd "com* at asio?" .Cd "com* at ebus?" diff --git a/share/man/man4/man4.socppc/Makefile b/share/man/man4/man4.socppc/Makefile deleted file mode 100644 index 510f139a437..00000000000 --- a/share/man/man4/man4.socppc/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# $OpenBSD: Makefile,v 1.8 2016/03/30 06:38:44 jmc Exp $ - -MAN= autoconf.4 intro.4 ipic.4 mem.4 obio.4 sociic.4 socpcic.4 tsec.4 - -MANSUBDIR=socppc - -.include diff --git a/share/man/man4/man4.socppc/autoconf.4 b/share/man/man4/man4.socppc/autoconf.4 deleted file mode 100644 index 0a5450f60fc..00000000000 --- a/share/man/man4/man4.socppc/autoconf.4 +++ /dev/null @@ -1,52 +0,0 @@ -.\" $OpenBSD: autoconf.4,v 1.1 2008/05/14 21:08:09 miod Exp $ -.\" -.\" Copyright (c) 1994 Christopher G. Demetriou -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by Christopher G. Demetriou. -.\" 3. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd $Mdocdate: May 14 2008 $ -.Dt AUTOCONF 4 socppc -.Os -.Sh NAME -.Nm autoconf -.Nd diagnostics from the autoconfiguration code -.Sh DESCRIPTION -When -.Ox -bootstraps it probes the innards of the machine -on which it is running -and locates controllers, drives, and other devices, printing out -what it finds on the console. -This procedure is driven by a system configuration table which is processed by -.Xr config 8 -and compiled into each kernel. -Devices which exist in the machine but are not configured into the -kernel are usually not detected. -.Sh SEE ALSO -.Xr intro 4 , -.\" .Xr boot_socppc 8 , -.Xr config 8 diff --git a/share/man/man4/man4.socppc/intro.4 b/share/man/man4/man4.socppc/intro.4 deleted file mode 100644 index 70b9f54ebe0..00000000000 --- a/share/man/man4/man4.socppc/intro.4 +++ /dev/null @@ -1,112 +0,0 @@ -.\" $OpenBSD: intro.4,v 1.5 2014/09/19 12:24:38 schwarze Exp $ -.\" -.\" Copyright (c) 1983, 1986, 1991 Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.Dd $Mdocdate: September 19 2014 $ -.Dt INTRO 4 socppc -.Os -.Sh NAME -.Nm intro -.Nd introduction to special files and hardware support -.Sh DESCRIPTION -The manual pages in section 4 describe the special files, -related driver functions, and networking support -available in the system. -In this part of the manual, the SYNOPSIS section of -each configurable device gives a sample specification -for use in constructing a system description for the -.Xr config 8 -program. -The DIAGNOSTICS section lists messages which may appear on the console -and/or in the system error log -.Pa /var/log/messages -due to errors in device operation; -see -.Xr syslogd 8 -for more information. -.Pp -This section contains both devices -which may be configured into the system -and network related information. -The networking support is introduced in -.Xr netintro 4 . -.Sh DEVICE SUPPORT -This section describes the hardware supported on the socppc -platform. -Software support for these devices comes in two forms. -A hardware device may be supported with a character or block -.Em device driver , -or it may be used within the networking subsystem and have a -.Em network interface driver . -Block and character devices are accessed through files in the file -system of a special type; see -.Xr mknod 8 . -Network interfaces are indirectly accessed through the interprocess -communication facilities provided by the system; see -.Xr socket 2 . -.Pp -A hardware device is identified to the system at configuration time -and the appropriate device or network interface driver is then compiled -into the system. -When the resultant system is booted, the autoconfiguration facilities -in the system probe for the device and, if found, enable the software -support for it. -If a device does not respond at autoconfiguration -time it is not accessible at any time afterwards. -To enable a device which did not autoconfigure, -the system will have to be rebooted. -.Pp -The configuration system is described in -.Xr autoconf 4 . -.Sh LIST OF DEVICES -A complete list of available devices is contained within the pages -describing the system buses and controllers. -For example, a PCI device would be listed in the -.Xr pci 4 -man page. -The following buses and controllers list these devices: -.Pp -.Bl -tag -width 8n -offset 3n -compact -.It Xr iic 4 -Inter IC (I2C) bus -.It Xr obio 4 -socppc onboard I/O bus device -.It Xr pci 4 -introduction to PCI bus support -.It Xr usb 4 -introduction to Universal Serial Bus support -.El -.Sh SEE ALSO -.Xr autoconf 4 , -.Xr config 8 -.Sh HISTORY -The -socppc -.Nm -first appeared in -.Ox 4.4 . diff --git a/share/man/man4/man4.socppc/ipic.4 b/share/man/man4/man4.socppc/ipic.4 deleted file mode 100644 index afd83c92bba..00000000000 --- a/share/man/man4/man4.socppc/ipic.4 +++ /dev/null @@ -1,37 +0,0 @@ -.\" $OpenBSD: ipic.4,v 1.2 2008/05/20 11:39:12 jmc Exp $ -.\" -.\" Copyright (c) 2008 Mark Kettenis -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.Dd $Mdocdate: May 20 2008 $ -.Dt IPIC 4 socppc -.Os -.Sh NAME -.Nm ipic -.Nd integrated programmable interrupt controller -.Sh SYNOPSIS -.Cd ipic0 at obio? addr 0x00700 -.Sh DESCRIPTION -The -.Nm -driver manages the integrated programmable interrupt controller (IPIC) -found on the Freescale MPC8349E processor family. -.Sh SEE ALSO -.Xr intro 4 , -.Xr obio 4 -.Sh HISTORY -The -.Nm -driver first appeared in -.Ox 4.4 . diff --git a/share/man/man4/man4.socppc/mem.4 b/share/man/man4/man4.socppc/mem.4 deleted file mode 100644 index ef1f0beeae3..00000000000 --- a/share/man/man4/man4.socppc/mem.4 +++ /dev/null @@ -1,84 +0,0 @@ -.\" Copyright (c) 1992, 1993 -.\" The Regents of the University of California. All rights reserved. -.\" -.\" This software was developed by the Computer Systems Engineering group -.\" at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and -.\" contributed to Berkeley. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" from: @(#)mem.4 8.1 (Berkeley) 6/5/93 -.\" $OpenBSD: mem.4,v 1.3 2018/01/12 04:36:44 deraadt Exp $ -.\" $NetBSD: mem.4,v 1.1 1997/06/08 17:40:57 ender Exp $ -.\" -.Dd $Mdocdate: January 12 2018 $ -.Dt MEM 4 socppc -.Os -.Sh NAME -.Nm mem , -.Nm kmem -.Nd memory files -.Sh DESCRIPTION -The file -.Pa /dev/mem -is an interface to the physical memory of the computer. -Byte offsets in this file are interpreted as physical memory addresses. -Reading and writing this file is equivalent to reading and writing -memory itself. -An error will be returned if an attempt is made to reference -an offset outside of -.Pa /dev/mem . -.Pp -Kernel virtual memory is accessed via the file -.Pa /dev/kmem -in the same manner as -.Pa /dev/mem . -Only kernel virtual addresses that are currently mapped to memory are allowed. -.Pp -On this platform, physical memory is always contiguous; -kernel virtual memory begins at -.Ad 0x00000000 . -.Pp -Even with sufficient file system permissions, -these devices can only be opened when the -.Xr securelevel 7 -is insecure or when the -.Va kern.allowkmem -.Xr sysctl 2 -variable is set. -.Sh FILES -.Bl -tag -width /dev/kmem -compact -.It /dev/mem -.It /dev/kmem -.El -.Sh SEE ALSO -.Xr securelevel 7 -.Sh HISTORY -The -.Pa /dev/mem -and -.Pa /dev/kmem -files appeared in -.At v6 . diff --git a/share/man/man4/man4.socppc/obio.4 b/share/man/man4/man4.socppc/obio.4 deleted file mode 100644 index a55c7619c66..00000000000 --- a/share/man/man4/man4.socppc/obio.4 +++ /dev/null @@ -1,56 +0,0 @@ -.\" $OpenBSD: obio.4,v 1.2 2008/05/20 11:39:12 jmc Exp $ -.\" -.\" Copyright (c) 2008 Mark Kettenis -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.Dd $Mdocdate: May 20 2008 $ -.Dt OBIO 4 socppc -.Os -.Sh NAME -.Nm obio -.Nd socppc onboard I/O bus device -.Sh SYNOPSIS -.Cd "obio0 at mainbus?" -.Sh DESCRIPTION -The -.Nm -interface serves as an abstraction used by the autoconfiguration -system to help find and attach devices integrated on Freescale SoC -processors. -.Pp -.Nm -provides support for the following devices: -.Pp -.Bl -tag -width 12n -offset indent -compact -.It Xr com 4 -serial communications interface -.It Xr ehci 4 -USB Enhanced Host Controller Interface -.It Xr ipic 4 -integrated programmable interrupt controller -.It Xr sociic 4 -socppc onboard I2C controller -.It Xr socpcic 4 -socppc onboard PCI controller -.It Xr tsec 4 -three-speed 10/100/Gigabit Ethernet device -.El -.Sh SEE ALSO -.Xr intro 4 , -.Xr mainbus 4 -.Sh HISTORY -The -.Nm -driver first appeared in -.Ox 4.4 . diff --git a/share/man/man4/man4.socppc/sociic.4 b/share/man/man4/man4.socppc/sociic.4 deleted file mode 100644 index bb5774c2aab..00000000000 --- a/share/man/man4/man4.socppc/sociic.4 +++ /dev/null @@ -1,45 +0,0 @@ -.\" $OpenBSD: sociic.4,v 1.4 2013/07/16 16:05:49 schwarze Exp $ -.\" -.\" Copyright (c) 2008 Mark Kettenis -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.Dd $Mdocdate: July 16 2013 $ -.Dt SOCIIC 4 socppc -.Os -.Sh NAME -.Nm sociic -.Nd socppc onboard I2C controller -.Sh SYNOPSIS -.Cd "sociic0 at obio? addr 0x03000 ivec 14" -.Cd "sociic1 at obio? addr 0x03100 ivec 15" -.Cd "iic* at alipm?" -.Sh DESCRIPTION -The -.Nm -driver provides support for the I2C controller found on the Freescale -MPC8349E processor family. -.Sh SEE ALSO -.Xr iic 4 , -.Xr intro 4 , -.Xr obio 4 -.Sh HISTORY -The -.Nm -driver first appeared in -.Ox 4.4 . -.Sh AUTHORS -The -.Nm -driver was written by -.An Mark Kettenis Aq Mt kettenis@openbsd.org . diff --git a/share/man/man4/man4.socppc/socpcic.4 b/share/man/man4/man4.socppc/socpcic.4 deleted file mode 100644 index 3d51870200e..00000000000 --- a/share/man/man4/man4.socppc/socpcic.4 +++ /dev/null @@ -1,41 +0,0 @@ -.\" $OpenBSD: socpcic.4,v 1.5 2008/05/20 11:39:12 jmc Exp $ -.\" -.\" Copyright (c) 2008 Mark Kettenis -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.Dd $Mdocdate: May 20 2008 $ -.Dt SOCPCIC 4 socppc -.Os -.Sh NAME -.Nm socpcic -.Nd socppc onboard PCI controller -.Sh SYNOPSIS -.Cd socpcic0 at obio? addr 0x08300 -.Cd socpcic1 at obio? addr 0x08380 -.Cd "pci0 at socpcic?" -.Sh DESCRIPTION -The -.Nm -driver provides support for the PCI controller found on the Freescale -MPC8349E processor family. -This device is largely transparent and provides no user accessible -entry points. -.Sh SEE ALSO -.Xr obio 4 , -.Xr pci 4 -.Sh HISTORY -The -.Nm -driver first appeared in -.Ox 4.4 . diff --git a/share/man/man4/man4.socppc/tsec.4 b/share/man/man4/man4.socppc/tsec.4 deleted file mode 100644 index a2ed4411cd1..00000000000 --- a/share/man/man4/man4.socppc/tsec.4 +++ /dev/null @@ -1,81 +0,0 @@ -.\" $OpenBSD: tsec.4,v 1.5 2013/07/16 16:05:49 schwarze Exp $ -.\" -.\" Copyright (c) 2008 Mark Kettenis -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.Dd $Mdocdate: July 16 2013 $ -.Dt TSEC 4 socppc -.Os -.Sh NAME -.Nm tsec -.Nd three-speed 10/100/Gigabit Ethernet device -.Sh SYNOPSIS -.Cd "tsec0 at obio? addr 0x24000 ivec 32" -.Cd "tsec1 at obio? addr 0x25000 ivec 35" -.Cd "rgephy* at mii?" -.Cd "gentbi* at mii?" -.Sh DESCRIPTION -The -.Nm -driver provides support for the three-speed Ethernet controller (TSEC) -found on the Freescale MPC8349E processor family. -It uses an external PHY or an internal 10-bit interface. -.Pp -The -.Nm -driver supports several media types, which are selected via the -.Xr ifconfig 8 -command. -The supported media types are: -.Bl -tag -width "media" -offset indent -.It media autoselect -Attempt to autoselect the media type (default) -.It media 1000baseT mediaopt full-duplex -Use 1000baseT on copper, full duplex -.It media 1000baseT Op mediaopt half-duplex -Use 1000baseT on copper, half duplex -.It media 1000baseSX mediaopt full-duplex -Use 1000baseSX on fiber, full duplex -.It media 1000baseSX Op mediaopt half-duplex -Use 1000baseSX on fiber, half duplex -.It media 100baseTX mediaopt full-duplex -Use 100baseTX, full duplex -.It media 100baseTX Op mediaopt half-duplex -Use 100baseTX, half duplex -.It media 10baseT mediaopt full-duplex -Use 10baseT, full duplex -.It media 10baseT Op mediaopt half-duplex -Use 10baseT, half duplex -.El -.Sh SEE ALSO -.Xr arp 4 , -.Xr gentbi 4 , -.Xr ifmedia 4 , -.Xr inet 4 , -.Xr intro 4 , -.Xr netintro 4 , -.Xr rgephy 4 , -.Xr hostname.if 5 , -.Xr ifconfig 8 -.Sh HISTORY -.Ox -support for -.Nm -first appeared in -.Ox 4.4 . -.Sh AUTHORS -The -.Nm -driver was written by -.An Mark Kettenis Aq Mt kettenis@openbsd.org . diff --git a/share/man/man7/mdoc.7 b/share/man/man7/mdoc.7 index 2aa8a4bde2d..7ead3e3b9b6 100644 --- a/share/man/man7/mdoc.7 +++ b/share/man/man7/mdoc.7 @@ -1,4 +1,4 @@ -.\" $OpenBSD: mdoc.7,v 1.166 2019/04/24 13:13:03 schwarze Exp $ +.\" $OpenBSD: mdoc.7,v 1.167 2019/05/11 07:18:15 deraadt Exp $ .\" .\" Copyright (c) 2009, 2010, 2011 Kristaps Dzonsons .\" Copyright (c) 2010, 2011, 2013-2018 Ingo Schwarze @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: April 24 2019 $ +.Dd $Mdocdate: May 11 2019 $ .Dt MDOC 7 .Os .Sh NAME @@ -1351,7 +1351,6 @@ the following are valid architectures: .Cm mips64 , .Cm octeon , .Cm sgi , -.Cm socppc , and .Cm sparc64 . .El diff --git a/share/man/man8/Makefile b/share/man/man8/Makefile index 116f098c2a8..9225ca9eaf4 100644 --- a/share/man/man8/Makefile +++ b/share/man/man8/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.98 2018/06/26 05:38:49 espie Exp $ +# $OpenBSD: Makefile,v 1.99 2019/05/11 07:18:15 deraadt Exp $ # $NetBSD: Makefile,v 1.13 1996/03/28 21:36:40 mark Exp $ # @(#)Makefile 8.1 (Berkeley) 6/5/93 @@ -11,6 +11,6 @@ MAN= afterboot.8 autoinstall.8 boot_config.8 bulk.8 \ SUBDIR= man8.alpha man8.amd64 man8.arm64 man8.armv7 \ man8.hppa man8.i386 man8.landisk \ man8.loongson man8.luna88k man8.macppc \ - man8.octeon man8.sgi man8.socppc man8.sparc64 + man8.octeon man8.sgi man8.sparc64 .include diff --git a/share/man/man8/man8.socppc/MAKEDEV.8 b/share/man/man8/man8.socppc/MAKEDEV.8 deleted file mode 100644 index b80d7e7b16c..00000000000 --- a/share/man/man8/man8.socppc/MAKEDEV.8 +++ /dev/null @@ -1,226 +0,0 @@ -.\" $OpenBSD: MAKEDEV.8,v 1.35 2017/06/06 08:12:01 tb Exp $ -.\" -.\" THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT. -.\" generated from: -.\" -.\" OpenBSD: etc.socppc/MAKEDEV.md,v 1.31 2016/09/04 15:38:59 naddy Exp -.\" OpenBSD: MAKEDEV.common,v 1.94 2016/09/11 19:59:51 deraadt Exp -.\" OpenBSD: MAKEDEV.man,v 1.8 2016/03/12 17:59:27 espie Exp -.\" OpenBSD: MAKEDEV.mansub,v 1.2 2004/02/20 19:13:01 miod Exp -.\" -.\" Copyright (c) 2004, Miodrag Vallat -.\" Copyright (c) 2001-2004 Todd T. Fries -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.Dd $Mdocdate: June 6 2017 $ -.Dt MAKEDEV 8 socppc -.Os -.Sh NAME -.Nm MAKEDEV -.Nd create system and device special files -.Sh SYNOPSIS -.Nm MAKEDEV -.Op Ar name ... -.Sh DESCRIPTION -The shell script -.Nm , -found in the -.Pa /dev -directory, is used to create various special files. -See -.Xr intro 4 -for a more complete discussion of special files. -.Pp -.Nm -takes any number of device names as arguments, where the names are -the common abbreviation for the device or group of devices. -Files are created in the current working directory. -.Pp -Where a device name is followed by a star -.Sq * , -the star must be replaced by a unit number. -If units are expected for a device but not provided, -.Nm -will supply the standard numbers in most cases. -.Pp -The socppc supports the following devices: -.Pp -.Sy Special device names -.Bl -tag -width tenletters -compact -.It Ar all -Creates special files for all devices on socppc. -.It Ar ramdisk -Ramdisk kernel devices. -.It Ar std -Creates the -.Sq standard -devices (console, klog, kmem, ksyms, mem, null, -stderr, stdin, stdout, tty, zero) -which are absolutely necessary for the system to function properly. -.It Ar local -Creates configuration-specific devices, by invoking the shell file -.Pa MAKEDEV.local . -.El -.Pp -.Sy Disks -.Bl -tag -width tenletters -compact -.It Ar cd* -ATAPI and SCSI CD-ROM drives, see -.Xr cd 4 . -.It Ar rd* -.Dq rd -pseudo-disks, see -.Xr rd 4 . -.It Ar sd* -SCSI disks, including flopticals, see -.Xr sd 4 . -.It Ar vnd* -.Dq file -pseudo-disk devices, see -.Xr vnd 4 . -.It Ar wd* -.Dq winchester -disk drives (ST506, IDE, ESDI, RLL, ...), see -.Xr wd 4 . -.El -.Pp -.Sy Tapes -.Bl -tag -width tenletters -compact -.It Ar ch* -SCSI media changers, see -.Xr ch 4 . -.It Ar st* -SCSI tape drives, see -.Xr st 4 . -.El -.Pp -.Sy Terminal ports -.Bl -tag -width tenletters -compact -.It Ar tty[0-7][0-9a-f] -NS16x50 serial ports, see -.Xr com 4 . -.El -.Pp -.Sy Pseudo terminals -.Bl -tag -width tenletters -compact -.It Ar ptm -pty master device, see -.Xr ptm 4 . -.It Ar pty* -Set of 62 master pseudo terminals, see -.Xr pty 4 . -.It Ar tty* -Set of 62 slave pseudo terminals, see -.Xr tty 4 . -.El -.Pp -.Sy Console ports -.Bl -tag -width tenletters -compact -.It Ar ttyC-J* -wscons display devices, see -.Xr wsdisplay 4 . -.It Ar wscons -Minimal wscons devices, see -.Xr wscons 4 . -.It Ar wskbd* -wscons keyboards, see -.Xr wskbd 4 . -.It Ar wsmux -wscons keyboard/mouse mux devices, see -.Xr wsmux 4 . -.El -.Pp -.Sy Pointing devices -.Bl -tag -width tenletters -compact -.It Ar wsmouse* -wscons mice, see -.Xr wsmouse 4 . -.El -.Pp -.Sy USB devices -.Bl -tag -width tenletters -compact -.It Ar uall -All USB devices, see -.Xr usb 4 . -.It Ar ttyU* -USB serial ports, see -.Xr ucom 4 . -.It Ar ugen* -Generic USB devices, see -.Xr ugen 4 . -.It Ar uhid* -Generic HID devices, see -.Xr uhid 4 . -.It Ar ulpt* -Printer devices, see -.Xr ulpt 4 . -.It Ar usb* -Bus control devices used by usbd for attach/detach, see -.Xr usb 4 . -.El -.Pp -.Sy Special purpose devices -.Bl -tag -width tenletters -compact -.It Ar bpf -Berkeley Packet Filter, see -.Xr bpf 4 . -.It Ar diskmap -Disk mapper, see -.Xr diskmap 4 . -.It Ar fd -fd/* nodes, see -.Xr fd 4 . -.It Ar fuse -Userland Filesystem, see -.Xr fuse 4 . -.It Ar hotplug -devices hot plugging, see -.Xr hotplug 4 . -.It Ar pci* -PCI bus devices, see -.Xr pci 4 . -.It Ar pf* -Packet Filter, see -.Xr pf 4 . -.It Ar pppx* -PPP Multiplexer, see -.Xr pppx 4 . -.It Ar *random -In-kernel random data source, see -.Xr random 4 . -.It Ar tun* -Network tunnel driver, see -.Xr tun 4 . -.It Ar tap* -Ethernet tunnel driver, see -.Xr tap 4 . -.It Ar video* -Video V4L2 devices, see -.Xr video 4 . -.It Ar vscsi* -Virtual SCSI controller, see -.Xr vscsi 4 . -.It Ar switch* -Switch driver, see -.Xr switch 4 . -.El -.Sh FILES -.Bl -tag -width /dev -compact -.It Pa /dev -The special file directory. -.El -.Sh SEE ALSO -.Xr intro 4 , -.Xr config 8 , -.Xr mknod 8 diff --git a/share/man/man8/man8.socppc/Makefile b/share/man/man8/man8.socppc/Makefile deleted file mode 100644 index c7a447596d7..00000000000 --- a/share/man/man8/man8.socppc/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# $OpenBSD: Makefile,v 1.1 2008/05/14 20:55:50 miod Exp $ - -MAN= MAKEDEV.8 -#MAN+= boot_socppc.8 -MANSUBDIR=socppc - -.include diff --git a/sys/Makefile b/sys/Makefile index 3ae80b05971..edd0a7fa8a0 100644 --- a/sys/Makefile +++ b/sys/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.49 2017/01/11 20:43:15 deraadt Exp $ +# $OpenBSD: Makefile,v 1.50 2019/05/11 07:18:15 deraadt Exp $ # $NetBSD: Makefile,v 1.5 1995/09/15 21:05:21 pk Exp $ SUBDIR= dev/microcode \ @@ -6,7 +6,7 @@ SUBDIR= dev/microcode \ arch/hppa arch/i386 \ arch/landisk arch/loongson arch/luna88k \ arch/macppc arch/octeon \ - arch/sgi arch/socppc arch/sparc64 + arch/sgi arch/sparc64 tags: cd ${.CURDIR}/kern; make tags diff --git a/sys/arch/socppc/Makefile b/sys/arch/socppc/Makefile deleted file mode 100644 index 684cb8c0451..00000000000 --- a/sys/arch/socppc/Makefile +++ /dev/null @@ -1,50 +0,0 @@ -# $OpenBSD: Makefile,v 1.11 2017/01/22 03:27:31 tb Exp $ - -.include # for KEEPKERNELS - -S= ${.CURDIR}/../.. -KFILE= GENERIC -.if exists(conf/GENERIC.MP) -KFILE= GENERIC.MP -.endif -TDIRS= ${_arch} include -TAGS= ${.CURDIR}/tags - -NOPROG= -NOMAN= -NOOBJ= -SUBDIR= stand -.if !defined(KEEPKERNELS) || !(make(clean) || make(cleandir)) -SUBDIR+=compile -.endif - -# config the fattest kernel we can find into a temporary dir -# to create a Makefile. Then use make to pull some variables -# out and push them into the sub-shell to expand the paths, -# and finally run ctags. -tags:: - TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \ - eval "S=${S}" && \ - config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \ - eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \ - eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \ - eval "_machdir=\$S/arch/$${_mach}" && \ - eval "_archdir=\$S/arch/$${_arch}" && \ - eval "HFILES=\"`find $S \( -path $S/arch -o -path $S/stand -o -path $S/lib/libsa -o -path $S/lib/libkern/arch \) -prune -o -name '*.h'; find $${_machdir} $${_archdir} $S/lib/libkern/arch/$${_arch} \( -name boot -o -name stand \) -prune -o -name '*.h'`\"" && \ - eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \ - eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \ - eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \ - ctags -wd -f ${TAGS} $${CFILES} $${HFILES} && \ - egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \ - sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \ - >> ${TAGS} && \ - sort -o ${TAGS} ${TAGS} && \ - rm -rf $${TDIR} - -links: - -for i in conf ${TDIRS}; do \ - (cd $$i && rm -f tags; ln -s tags tags); done - -obj: _SUBDIRUSE - -.include diff --git a/sys/arch/socppc/compile/GENERIC/Makefile b/sys/arch/socppc/compile/GENERIC/Makefile deleted file mode 100644 index 01b5f23410c..00000000000 --- a/sys/arch/socppc/compile/GENERIC/Makefile +++ /dev/null @@ -1 +0,0 @@ -.include "../Makefile.inc" diff --git a/sys/arch/socppc/compile/Makefile b/sys/arch/socppc/compile/Makefile deleted file mode 100644 index 83dd5c4899f..00000000000 --- a/sys/arch/socppc/compile/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# $OpenBSD: Makefile,v 1.2 2016/10/15 13:45:08 deraadt Exp $ - -.if make(obj) || make(clean) || make(cleandir) -SUBDIR!=find . -type d -maxdepth 1 \! \( -name . -o -name CVS \) | cut -b3- -.endif - -.include diff --git a/sys/arch/socppc/compile/Makefile.inc b/sys/arch/socppc/compile/Makefile.inc deleted file mode 100644 index 9e9e38f1ed1..00000000000 --- a/sys/arch/socppc/compile/Makefile.inc +++ /dev/null @@ -1,19 +0,0 @@ -SYSDIR != cd ${.CURDIR}/../../../..; pwd -CONFDIR != cd ${.CURDIR}/../../conf; pwd - -.if ${.CURDIR} == ${.OBJDIR} -.PHONY: config -config: - @echo make obj required first >&2 - @false -.else -.PHONY: config clean -config: - config ${.CURDIR:M*.PROF:C/.*/-p/} -b ${.OBJDIR} \ - -s ${SYSDIR} ${CONFDIR}/${.CURDIR:T:S/.PROF$//} -.endif - -cleandir clean: - -.include - diff --git a/sys/arch/socppc/compile/RAMDISK/Makefile b/sys/arch/socppc/compile/RAMDISK/Makefile deleted file mode 100644 index 01b5f23410c..00000000000 --- a/sys/arch/socppc/compile/RAMDISK/Makefile +++ /dev/null @@ -1 +0,0 @@ -.include "../Makefile.inc" diff --git a/sys/arch/socppc/conf/GENERIC b/sys/arch/socppc/conf/GENERIC deleted file mode 100644 index e95b04a0340..00000000000 --- a/sys/arch/socppc/conf/GENERIC +++ /dev/null @@ -1,112 +0,0 @@ -# $OpenBSD: GENERIC,v 1.30 2014/12/11 19:44:17 tedu Exp $ -# -# For further information on compiling OpenBSD kernels, see the config(8) -# man page. -# -# For further information on hardware support for this architecture, see -# the intro(4) man page. For further information about kernel options -# for this architecture, see the options(4) man page. For an explanation -# of each device driver in this file see the section 4 man page for the -# device. - -machine socppc powerpc -include "../../../conf/GENERIC" -maxusers 32 # estimated number of users - -option PCIVERBOSE -option USBVERBOSE - -option USER_PCICONF # user-space PCI configuration -option APERTURE - -config bsd swap generic - -mainbus0 at root -cpu0 at mainbus0 -obio0 at mainbus0 - -# On-board CF -wdc0 at mainbus0 -wdc1 at mainbus0 -wd* at wdc? flags 0x0000 - -# On-board IPIC -ipic0 at obio? - -# On-board I2C -sociic0 at obio? -sociic1 at obio? -iic* at sociic? -ricohrtc0 at iic? addr 0x32 # Ricoh RTC -fintek0 at iic? flags 0x0001 # temp/fan controller - -# On-board DUART -com0 at obio? -com1 at obio? - -# On-board PCI -socpcic* at mainbus? -socpcic* at obio? -pci* at socpcic? - -pciide* at pci? -wd* at pciide? flags 0x0000 - -vge* at pci? - -# On-board USB -ehci0 at obio? -usb* at ehci? - -# USB devices -uhub* at usb? # USB Hubs -uhub* at uhub? # USB Hubs -ulpt* at uhub? # USB Printers -umass* at uhub? # USB Mass Storage devices -uhidev* at uhub? # Human Interface Devices -ums* at uhidev? # USB mouse -wsmouse* at ums? mux 0 -ukbd* at uhidev? # USB keyboard -wskbd* at ukbd? mux 1 -uhid* at uhidev? # USB generic HID support -upd* at uhidev? # USB Power Devices sensors -axe* at uhub? # ASIX Electronics AX88172 USB Ethernet -axen* at uhub? # ASIX Electronics AX88179 USB Ethernet -mos* at uhub? # MOSCHIP CS730/7830 10/100 Ethernet -smsc* at uhub? # SMSC LAN95xx Ethernet -uath* at uhub? # Atheros AR5005UR/AR5005UX -athn* at uhub? # Atheros AR9002U -ural* at uhub? # Ralink RT2500USB -rum* at uhub? # Ralink RT2501USB/RT2601USB -run* at uhub? # Ralink RT2700U/RT2800U/RT3000U -rsu* at uhub? # Realtek RTL8188SU/RTL8191SU/RTL8192SU -urtwn* at uhub? # Realtek RTL8188CU/RTL8192CU -zyd* at uhub? # Zydas ZD1211 -ugen* at uhub? # USB Generic driver -uthum* at uhidev? # TEMPerHUM sensor -ugold* at uhidev? # gold TEMPer sensor -utwitch* at uhidev? # YUREX BBU sensor - -udl* at uhub? -wsdisplay* at udl? - -scsibus* at scsi? -sd* at scsibus? - -# On-board TSEC -tsec0 at obio? -tsec1 at obio? - -rgephy* at mii? # Realtek 8169S/8110S PHY -eephy* at mii? # Marvell 88E1000 series PHY -rlphy* at mii? # Realtek 8139 internal PHYs -ciphy* at mii? # Cicada CS8201 10/100/1000 copper PHY -gentbi* at mii? # Generic 1000BASE-X ten-bit PHY -ukphy* at mii? # Generic unknown PHY - -# PCI -athn* at pci? # Atheros AR9k (802.11a/g/n) -hifn* at pci? # Hi/fn 7751 crypto card - -pseudo-device hotplug 1 # devices hot plugging -pseudo-device wsmux 2 # mouse & keyboard multiplexor diff --git a/sys/arch/socppc/conf/Makefile.socppc b/sys/arch/socppc/conf/Makefile.socppc deleted file mode 100644 index eab2c0302e7..00000000000 --- a/sys/arch/socppc/conf/Makefile.socppc +++ /dev/null @@ -1,150 +0,0 @@ -# $OpenBSD: Makefile.socppc,v 1.60 2019/04/14 14:07:07 deraadt Exp $ - -# For instructions on building kernels consult the config(8) and options(4) -# manual pages. -# -# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE -# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING -# DEBUG is set to -g by config if debugging is requested (config -g). -# PROF is set to -pg by config if profiling is requested (config -p). - -.include - -SIZE?= size -STRIP?= ctfstrip - -# source tree is located via $S relative to the compilation directory -.ifndef S -S!= cd ../../../..; pwd -.endif - -_machdir?= $S/arch/${_mach} -_archdir?= $S/arch/${_arch} - -INCLUDES= -nostdinc -I$S -I${.OBJDIR} -I$S/arch -CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP -CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \ - -Wno-main -Wno-uninitialized -Wno-pointer-sign \ - -Wframe-larger-than=2047 - -CMACHFLAGS= -msoft-float -Wa,-many -CMACHFLAGS+= -fno-builtin-printf -fno-builtin-snprintf \ - -fno-builtin-vsnprintf -fno-builtin-log \ - -fno-builtin-log2 -fno-builtin-malloc ${NOPIE_FLAGS} -.if ${IDENT:M-DNO_PROPOLICE} -CMACHFLAGS+= -fno-stack-protector -.endif -.if ${IDENT:M-DSMALL_KERNEL} -COPTS?= -Oz -.endif - -DEBUG?= -g -COPTS?= -O2 -CFLAGS= ${DEBUG} ${CWARNFLAGS} ${CMACHFLAGS} ${COPTS} ${PIPE} -AFLAGS= -D_LOCORE ${CMACHFLAGS} -LINKFLAGS= -N -Ttext 200000 -e start --warn-common -nopie - -HOSTCC?= ${CC} -HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//} -HOSTED_CFLAGS= ${CFLAGS} -HOSTED_C= ${HOSTCC} ${HOSTED_CFLAGS} ${HOSTED_CPPFLAGS} -c $< - -NORMAL_C_NOP= ${CC} ${CFLAGS} ${CPPFLAGS} -c $< -NORMAL_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $< -NORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c $< - -%OBJS - -%CFILES - -%SFILES - -# load lines for config "xxx" will be emitted as: -# xxx: ${SYSTEM_DEP} swapxxx.o -# ${SYSTEM_LD_HEAD} -# ${SYSTEM_LD} swapxxx.o -# ${SYSTEM_LD_TAIL} -SYSTEM_HEAD= locore.o param.o ioconf.o -SYSTEM_OBJ= ${SYSTEM_HEAD} ${OBJS} -SYSTEM_DEP= Makefile ${SYSTEM_OBJ} -SYSTEM_LD_HEAD= @rm -f $@ -SYSTEM_LD= @echo ${LD} ${LINKFLAGS} -o $@ '$${SYSTEM_HEAD} vers.o $${OBJS}'; \ - umask 007; \ - ${LD} ${LINKFLAGS} -o $@ ${SYSTEM_HEAD} vers.o ${OBJS} -SYSTEM_LD_TAIL= @${SIZE} $@ - -.if ${DEBUG} == "-g" -STRIPFLAGS= -S -SYSTEM_LD_TAIL+=; umask 007; \ - echo mv $@ $@.gdb; rm -f $@.gdb; mv $@ $@.gdb; \ - echo ${STRIP} ${STRIPFLAGS} -o $@ $@.gdb; \ - ${STRIP} ${STRIPFLAGS} -o $@ $@.gdb -.else -LINKFLAGS+= -S -.endif - -%LOAD - -# cc's -MD puts the source and output paths in the dependency file; -# since those are temp files here we need to fix it up. It also -# puts the file in /tmp, so we use -MF to put it in the current -# directory as assym.P and then generate assym.d from it with a -# good target name -assym.h: $S/kern/genassym.sh Makefile \ - ${_archdir}/${_arch}/genassym.cf ${_machdir}/${_mach}/genassym.cf - cat ${_archdir}/${_arch}/genassym.cf ${_machdir}/${_mach}/genassym.cf | \ - sh $S/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} -MF assym.P > assym.h.tmp - sed '1s/.*/assym.h: \\/' assym.P > assym.d - sort -u assym.h.tmp > assym.h - -param.c: $S/conf/param.c - rm -f param.c - cp $S/conf/param.c . - -param.o: param.c Makefile - ${NORMAL_C} - -mcount.o: $S/lib/libkern/mcount.c Makefile - ${NORMAL_C_NOP} - -ioconf.o: ioconf.c - ${NORMAL_C} - -vers.o: ${SYSTEM_DEP:Ngap.o} - sh $S/conf/newvers.sh - ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c - -clean: - rm -f *bsd *bsd.gdb *.[dio] [a-z]*.s assym.* param.c - -cleandir: clean - rm -f Makefile *.h ioconf.c options machine ${_mach} vers.c - -depend obj: - -locore.o: ${_machdir}/${_mach}/locore.S assym.h -mutex.o: assym.h - -# The install target can be redefined by putting a -# install-kernel-${MACHINE_NAME} target into /etc/mk.conf -MACHINE_NAME!= uname -n -install: install-kernel-${MACHINE_NAME} -.if !target(install-kernel-${MACHINE_NAME}}) -install-kernel-${MACHINE_NAME}: - [[ ! -f /bsd ]] || cmp -s bsd /bsd || ln -f /bsd /obsd - umask 077; cp bsd /nbsd - mv /nbsd /bsd -.endif - -# pull in the dependency information -.ifnmake clean -. for o in ${SYSTEM_OBJ:Ngap.o} assym.h -. if exists(${o:R}.d) -. include "${o:R}.d" -. elif exists($o) - .PHONY: $o -. endif -. endfor -.endif - -%RULES diff --git a/sys/arch/socppc/conf/RAMDISK b/sys/arch/socppc/conf/RAMDISK deleted file mode 100644 index 74ecaadfca6..00000000000 --- a/sys/arch/socppc/conf/RAMDISK +++ /dev/null @@ -1,79 +0,0 @@ -# $OpenBSD: RAMDISK,v 1.11 2015/07/17 22:52:29 tedu Exp $ - -machine socppc powerpc -maxusers 4 - -option TIMEZONE=0 -option DST=0 -option SMALL_KERNEL -option NO_PROPOLICE -option BOOT_CONFIG - -option MINIROOTSIZE=8192 -option RAMDISK_HOOKS - -option PCIVERBOSE -option USBVERBOSE - -option FFS -option FFS2 -option NFSCLIENT -option CD9660 -option UDF -option MSDOSFS -option INET6 - -config bsd root on rd0a swap on rd0b - -mainbus0 at root -cpu0 at mainbus0 -obio0 at mainbus0 -ipic0 at obio? - -wdc0 at mainbus0 # On-board CF -wdc1 at mainbus0 -wd* at wdc? flags 0x0000 - -sociic0 at obio? -sociic1 at obio? -iic* at sociic? -ricohrtc0 at iic? addr 0x32 # Ricoh RTC -fintek0 at iic? flags 0x0001 # temp/fan controller - -com0 at obio? -com1 at obio? - -socpcic* at mainbus? -socpcic* at obio? -tsec0 at obio? -tsec1 at obio? - -pci* at socpcic? -pciide* at pci? -wd* at pciide? flags 0x0000 - -ehci0 at obio? -usb* at ehci? - -uhub* at usb? -uhub* at uhub? -umass* at uhub? -ural* at uhub? # Ralink RT2500USB -rum* at uhub? # Ralink RT2501USB/RT2601USB -zyd* at uhub? # Zydas ZD1211 - -scsibus* at scsi? -sd* at scsibus? - -vge* at pci? -athn* at pci? # Atheros AR9k (802.11a/g/n) - -rgephy* at mii? # Realtek 8169S/8110S PHY -eephy* at mii? # Marvell 88E1000 series PHY -ciphy* at mii? # Cicada CS8201 10/100/1000 copper PHY -gentbi* at mii? # Generic 1000BASE-X ten-bit PHY -ukphy* at mii? # Generic unknown PHY - -pseudo-device loop 1 -pseudo-device bpfilter 1 -pseudo-device rd 1 diff --git a/sys/arch/socppc/conf/files.socppc b/sys/arch/socppc/conf/files.socppc deleted file mode 100644 index 4aa95261b02..00000000000 --- a/sys/arch/socppc/conf/files.socppc +++ /dev/null @@ -1,109 +0,0 @@ -# $OpenBSD: files.socppc,v 1.16 2016/03/05 17:41:55 mpi Exp $ - -# -# macppc-specific configuration info -# -maxpartitions 16 - -maxusers 2 8 64 - -file arch/socppc/socppc/autoconf.c -file arch/socppc/socppc/clock.c -file arch/socppc/socppc/conf.c -file arch/socppc/socppc/disksubr.c disk -file arch/socppc/socppc/machdep.c -file arch/socppc/socppc/mem.c -file dev/cninit.c -file dev/ofw/fdt.c -file arch/socppc/socppc/n1200_dts.S - - -define mainbus {} -device mainbus -attach mainbus at root -file arch/socppc/socppc/mainbus.c mainbus - -device cpu -attach cpu at mainbus -file arch/socppc/socppc/cpu.c - -# MPC8349E on-board devices -device obio {[addr = 0], [ivec = -1], [phy = -1]} -attach obio at mainbus -file arch/socppc/dev/obio.c - -# On-board IPIC -device ipic -attach ipic at obio -file arch/socppc/dev/ipic.c - -# On-board I2C -device sociic: i2cbus -attach sociic at obio -file arch/socppc/dev/sociic.c - -# On-board DUART -attach com at obio with com_obio -file arch/socppc/dev/com_obio.c - -# On-board CF -attach wdc at mainbus with wdc_mainbus -file arch/socppc/dev/wdc_mainbus.c - -# -# Media Independent Interface (mii) -# -include "../../../dev/mii/files.mii" - -# On-board TSEC -device tsec: ether, ifnet, mii, ifmedia -attach tsec at obio -file arch/socppc/dev/if_tsec.c - -major {rd = 17} -major {wd = 0} -major {sd = 2} -major {cd = 3} - -include "../../../scsi/files.scsi" - -include "dev/pci/files.pci" -file arch/socppc/dev/pciide_machdep.c pciide - -# On-board PCI -device socpcic: pcibus -attach socpcic at mainbus with socpcic_mainbus -attach socpcic at obio with socpcic_obio -file arch/socppc/dev/socpcic.c - -# -# Machine-independent ATAPI drivers -# - -include "../../../dev/atapiscsi/files.atapiscsi" -include "../../../dev/ata/files.ata" - -# WSCONS bits for wskbd.h -# -include "dev/wscons/files.wscons" -include "dev/wsfont/files.wsfont" -include "dev/rasops/files.rasops" - -# -# Machine-independent HID support -# -include "dev/hid/files.hid" - -# -# Machine-independent USB drivers -# -include "dev/usb/files.usb" - -# On-board USB -attach ehci at obio with ehci_obio -file arch/socppc/dev/ehci_obio.c ehci - -# -# Machine-independent I2C drivers -# -include "dev/i2c/files.i2c" diff --git a/sys/arch/socppc/dev/com_obio.c b/sys/arch/socppc/dev/com_obio.c deleted file mode 100644 index 9cf656754be..00000000000 --- a/sys/arch/socppc/dev/com_obio.c +++ /dev/null @@ -1,89 +0,0 @@ -/* $OpenBSD: com_obio.c,v 1.3 2009/09/06 20:09:34 kettenis Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include - -#include - -#include - -#include -#include - -int com_obio_match(struct device *, void *, void *); -void com_obio_attach(struct device *, struct device *, void *); - -struct cfattach com_obio_ca = { - sizeof(struct com_softc), com_obio_match, com_obio_attach -}; - -struct cfdriver com_obio_cd = { - NULL, "com", DV_DULL -}; - -int -com_obio_match(struct device *parent, void *cfdata, void *aux) -{ - struct obio_attach_args *oa = aux; - char buf[32]; - - if (OF_getprop(oa->oa_node, "device_type", buf, sizeof(buf)) <= 0 || - strcmp(buf, "serial") != 0) - return (0); - - if (OF_getprop(oa->oa_node, "compatible", buf, sizeof(buf)) <= 0 || - strcmp(buf, "ns16550") != 0) - return (0); - - return (1); -} - -void -com_obio_attach(struct device *parent, struct device *self, void *aux) -{ - struct com_softc *sc = (void *)self; - struct obio_attach_args *oa = aux; - int freq; - - if (OF_getprop(oa->oa_node, "clock-frequency", &freq, - sizeof(freq))!= sizeof(freq)) { - printf(": unknown clock frequency\n"); - return; - } - - sc->sc_iot = oa->oa_iot; - sc->sc_iobase = oa->oa_offset; - sc->sc_frequency = freq; - - if (sc->sc_iobase != comconsaddr) { - if (bus_space_map(sc->sc_iot, sc->sc_iobase, - COM_NPORTS, 0, &sc->sc_ioh)) { - printf(": can't map registers\n"); - return; - } - } else - sc->sc_ioh = comconsioh; - - com_attach_subr(sc); - - intr_establish(oa->oa_ivec, IST_LEVEL, IPL_TTY, comintr, - sc, sc->sc_dev.dv_xname); -} diff --git a/sys/arch/socppc/dev/ehci_obio.c b/sys/arch/socppc/dev/ehci_obio.c deleted file mode 100644 index c8ff01859a7..00000000000 --- a/sys/arch/socppc/dev/ehci_obio.c +++ /dev/null @@ -1,135 +0,0 @@ -/* $OpenBSD: ehci_obio.c,v 1.5 2015/01/24 20:59:42 kettenis Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include -#include - -#include - -#include - -#include -#include -#include -#include - -#include -#include - -#include - -#define USB_EHCI_OFFSET 0x00100 -#define USB_SNOOP1 0x00400 - USB_EHCI_OFFSET -#define USB_SNOOP_2GB 0x1e000000 -#define USB_CONTROL 0x00500 - USB_EHCI_OFFSET -#define USB_CONTROL_USB_EN 0x04000000 - -int ehci_obio_match(struct device *, void *, void *); -void ehci_obio_attach(struct device *, struct device *, void *); - -struct cfattach ehci_obio_ca = { - sizeof(struct ehci_softc), ehci_obio_match, ehci_obio_attach -}; - -struct cfdriver ehci_obio_cd = { - NULL, "ehci", DV_DULL -}; - -struct powerpc_bus_dma_tag ehci_bus_dma_tag = { - NULL, - _dmamap_create, - _dmamap_destroy, - _dmamap_load, - _dmamap_load_mbuf, - _dmamap_load_uio, - _dmamap_load_raw, - _dmamap_unload, - _dmamap_sync, - _dmamem_alloc, - _dmamem_alloc_range, - _dmamem_free, - _dmamem_map, - _dmamem_unmap, - _dmamem_mmap -}; - -int -ehci_obio_match(struct device *parent, void *cfdata, void *aux) -{ - struct obio_attach_args *oa = aux; - char buf[32]; - - if (OF_getprop(oa->oa_node, "compatible", buf, sizeof(buf)) <= 0 || - strcmp(buf, "fsl-usb2-mph") != 0) - return (0); - - return (1); -} - -void -ehci_obio_attach(struct device *parent, struct device *self, void *aux) -{ - struct ehci_softc *sc = (void *)self; - struct obio_attach_args *oa = aux; - usbd_status r; - int s; - - sc->iot = oa->oa_iot; - sc->sc_size = 1028; - if (bus_space_map(sc->iot, oa->oa_offset + USB_EHCI_OFFSET, - sc->sc_size, 0, &sc->ioh)) { - printf(": can't map registers\n"); - return; - } - - sc->sc_id_vendor = PCI_VENDOR_FREESCALE; - strlcpy(sc->sc_vendor, "Freescale", sizeof sc->sc_vendor); - - sc->sc_bus.dmatag = &ehci_bus_dma_tag; - - bus_space_write_4(sc->iot, sc->ioh, USB_CONTROL, USB_CONTROL_USB_EN); - bus_space_write_4(sc->iot, sc->ioh, USB_SNOOP1, USB_SNOOP_2GB); - - s = splhardusb(); - sc->sc_offs = EREAD1(sc, EHCI_CAPLENGTH); - EOWRITE2(sc, EHCI_USBINTR, 0); - - intr_establish(oa->oa_ivec, IST_LEVEL, IPL_USB, ehci_intr, sc, - sc->sc_bus.bdev.dv_xname); - - r = ehci_init(sc); - if (r != USBD_NORMAL_COMPLETION) { - printf(": init failed, error=%d\n", r); - goto unmap_ret; - } - splx(s); - - printf("\n"); - - /* Attach usb device. */ - config_found(self, &sc->sc_bus, usbctlprint); - - return; - -unmap_ret: - bus_space_unmap(sc->iot, sc->ioh, sc->sc_size); - splx(s); -} diff --git a/sys/arch/socppc/dev/if_tsec.c b/sys/arch/socppc/dev/if_tsec.c deleted file mode 100644 index 832345ade8d..00000000000 --- a/sys/arch/socppc/dev/if_tsec.c +++ /dev/null @@ -1,1335 +0,0 @@ -/* $OpenBSD: if_tsec.c,v 1.44 2017/01/22 10:17:37 dlg Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * Driver for the TSEC interface on the MPC8349E processors. - */ - -#include "bpfilter.h" - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include - -#include -#include - -#if NBPFILTER > 0 -#include -#endif - -#include -#include - -extern void myetheraddr(u_char *); - -/* - * TSEC registers. - */ - -#define TSEC_IEVENT 0x010 -#define TSEC_IEVENT_BABR 0x80000000 -#define TSEC_IEVENT_RXC 0x40000000 -#define TSEC_IEVENT_BSY 0x20000000 -#define TSEC_IEVENT_EBERR 0x10000000 -#define TSEC_IEVENT_MSRO 0x04000000 -#define TSEC_IEVENT_GTSC 0x02000000 -#define TSEC_IEVENT_BABT 0x01000000 -#define TSEC_IEVENT_TXC 0x00800000 -#define TSEC_IEVENT_TXE 0x00400000 -#define TSEC_IEVENT_TXB 0x00200000 -#define TSEC_IEVENT_TXF 0x00100000 -#define TSEC_IEVENT_LC 0x00040000 -#define TSEC_IEVENT_CRL 0x00020000 -#define TSEC_IEVENT_DXA TSEC_IEVENT_CRL -#define TSEC_IEVENT_XFUN 0x00010000 -#define TSEC_IEVENT_RXB 0x00008000 -#define TSEC_IEVENT_MMRD 0x00000400 -#define TSEC_IEVENT_MMWR 0x00000200 -#define TSEC_IEVENT_GRSC 0x00000100 -#define TSEC_IEVENT_RXF 0x00000080 -#define TSEC_IEVENT_FMT "\020" "\040BABR" "\037RXC" "\036BSY" \ - "\035EBERR" "\033MSRO" "\032GTSC" "\031BABT" "\030TXC" "\027TXE" \ - "\026TXB" "\025TXF" "\023LC" "\022CRL/XDA" "\021XFUN" "\020RXB" \ - "\013MMRD" "\012MMRW" "\011GRSC" "\010RXF" -#define TSEC_IMASK 0x014 -#define TSEC_IMASK_BREN 0x80000000 -#define TSEC_IMASK_RXCEN 0x40000000 -#define TSEC_IMASK_BSYEN 0x20000000 -#define TSEC_IMASK_EBERREN 0x10000000 -#define TSEC_IMASK_MSROEN 0x04000000 -#define TSEC_IMASK_GTSCEN 0x02000000 -#define TSEC_IMASK_BTEN 0x01000000 -#define TSEC_IMASK_TXCEN 0x00800000 -#define TSEC_IMASK_TXEEN 0x00400000 -#define TSEC_IMASK_TXBEN 0x00200000 -#define TSEC_IMASK_TXFEN 0x00100000 -#define TSEC_IMASK_LCEN 0x00040000 -#define TSEC_IMASK_CRLEN 0x00020000 -#define TSEC_IMASK_DXAEN TSEC_IMASK_CRLEN -#define TSEC_IMASK_XFUNEN 0x00010000 -#define TSEC_IMASK_RXBEN 0x00008000 -#define TSEC_IMASK_MMRD 0x00000400 -#define TSEC_IMASK_MMWR 0x00000200 -#define TSEC_IMASK_GRSCEN 0x00000100 -#define TSEC_IMASK_RXFEN 0x00000080 -#define TSEC_EDIS 0x018 -#define TSEC_ECNTRL 0x020 -#define TSEC_ECNTRL_R100M 0x00000008 /* RGMII 100 mode */ -#define TSEC_MINFLR 0x024 -#define TSEC_PTV 0x028 -#define TSEC_DMACTRL 0x02c -#define TSEC_DMACTRL_TDSEN 0x00000080 -#define TSEC_DMACTRL_TBDSEN 0x00000040 -#define TSEC_DMACTRL_GRS 0x00000010 /* Graceful receive stop */ -#define TSEC_DMACTRL_GTS 0x00000008 /* Graceful transmit stop */ -#define TSEC_DMACTRL_WWR 0x00000002 -#define TSEC_DMACTRL_WOP 0x00000001 -#define TSEC_TBIPA 0x030 - -#define TSEC_TCTRL 0x100 -#define TSEC_TSTAT 0x104 -#define TSEC_TSTAT_THLT 0x80000000 -#define TSEC_TBPTR 0x184 -#define TSEC_TBASE 0x204 - -#define TSEC_RCTRL 0x300 -#define TSEC_RCTRL_PROM 0x00000008 -#define TSEC_RSTAT 0x304 -#define TSEC_RSTAT_QHLT 0x00800000 -#define TSEC_MRBLR 0x340 -#define TSEC_RBPTR 0x384 -#define TSEC_RBASE 0x404 - -#define TSEC_MACCFG1 0x500 -#define TSEC_MACCFG1_TXEN 0x00000001 -#define TSEC_MACCFG1_RXEN 0x00000004 -#define TSEC_MACCFG1_RESET 0x80000000 -#define TSEC_MACCFG2 0x504 -#define TSEC_MACCFG2_IF_MODE 0x00000300 /* I/F mode */ -#define TSEC_MACCFG2_IF_MII 0x00000100 /* I/F mode */ -#define TSEC_MACCFG2_IF_GMII 0x00000200 /* I/F mode */ -#define TSEC_MACCFG2_PAD 0x00000004 -#define TSEC_MACCFG2_CRC 0x00000002 -#define TSEC_MACCFG2_FDX 0x00000001 /* Full duplex */ -#define TSEC_MIIMCFG 0x520 -#define TSEC_MIIMCFG_RESET 0x80000000 /* Reset */ -#define TSEC_MIIMCOM 0x524 -#define TSEC_MIIMCOM_READ 0x00000001 /* Read cycle */ -#define TSEC_MIIMCOM_SCAN 0x00000002 /* Scan cycle */ -#define TSEC_MIIMADD 0x528 -#define TSEC_MIIMCON 0x52c -#define TSEC_MIIMSTAT 0x530 -#define TSEC_MIIMIND 0x534 -#define TSEC_MIIMIND_BUSY 0x00000001 /* Busy */ -#define TSEC_MIIMIND_SCAN 0x00000002 /* Scan in progress */ -#define TSEC_MIIMIND_NOTVALID 0x00000004 /* Not valid */ -#define TSEC_MACSTNADDR1 0x540 -#define TSEC_MACSTNADDR2 0x544 -#define TSEC_IADDR0 0x800 -#define TSEC_IADDR1 0x804 -#define TSEC_IADDR2 0x818 -#define TSEC_IADDR3 0x81c -#define TSEC_IADDR4 0x810 -#define TSEC_IADDR5 0x814 -#define TSEC_IADDR6 0x818 -#define TSEC_IADDR7 0x81c -#define TSEC_GADDR0 0x880 -#define TSEC_GADDR1 0x884 -#define TSEC_GADDR2 0x888 -#define TSEC_GADDR3 0x88c -#define TSEC_GADDR4 0x890 -#define TSEC_GADDR5 0x894 -#define TSEC_GADDR6 0x898 -#define TSEC_GADDR7 0x89c - -#define TSEC_ATTR 0xbf8 -#define TSEC_ATTR_RDSEN 0x00000080 -#define TSEC_ATTR_RBDSEN 0x00000040 - -/* - * TSEC descriptors. - */ - -struct tsec_desc { - uint16_t td_status; - uint16_t td_len; - uint32_t td_addr; -}; - -/* Tx status bits. */ -#define TSEC_TX_TXTRUNC 0x0001 /* TX truncation */ -#define TSEC_TX_UN 0x0002 /* Underrun */ -#define TSEC_TX_RC 0x003c /* Retry count */ -#define TSEC_TX_RL 0x0040 /* Retransmission limit */ -#define TSEC_TX_HFE 0x0080 /* Huge frame enable/late collision */ -#define TSEC_TX_LC TSEC_TX_HFE -#define TSEC_TX_TO1 0x0100 /* Transmit software ownership bit */ -#define TSEC_TX_DEF 0x0200 /* Defer indication */ -#define TSEC_TX_TC 0x0400 /* Tx CRC */ -#define TSEC_TX_L 0x0800 /* Last in frame */ -#define TSEC_TX_I 0x1000 /* Interrupt */ -#define TSEC_TX_W 0x2000 /* Wrap */ -#define TSEC_TX_PAD 0x4000 /* PAD/CRC */ -#define TSEC_TX_R 0x8000 /* Ready */ - -/* Rx status bits */ -#define TSEC_RX_TR 0x0001 /* Truncation */ -#define TSEC_RX_OV 0x0002 /* Overrun */ -#define TSEC_RX_CR 0x0004 /* Rx CRC error */ -#define TSEC_RX_SH 0x0008 /* Short frame */ -#define TSEC_RX_NO 0x0010 /* Rx non-octet aligned frame */ -#define TSEC_RX_LG 0x0020 /* Rx framelength violation */ -#define TSEC_RX_MC 0x0040 /* Multicast */ -#define TSEC_RX_BC 0x0080 /* Broadcast */ -#define TSEC_RX_M 0x0100 /* Miss */ -#define TSEC_RX_F 0x0400 /* First in frame */ -#define TSEC_RX_L 0x0800 /* Last in frame */ -#define TSEC_RX_I TSEC_TX_I -#define TSEC_RX_W TSEC_TX_W -#define TSEC_RX_RO1 0x4000 /* Receive software ownership bit */ -#define TSEC_RX_E 0x8000 /* Empty */ - -struct tsec_buf { - bus_dmamap_t tb_map; - struct mbuf *tb_m; -}; - -#define TSEC_NTXDESC 256 -#define TSEC_NTXSEGS 16 - -#define TSEC_NRXDESC 256 - -struct tsec_dmamem { - bus_dmamap_t tdm_map; - bus_dma_segment_t tdm_seg; - size_t tdm_size; - caddr_t tdm_kva; -}; -#define TSEC_DMA_MAP(_tdm) ((_tdm)->tdm_map) -#define TSEC_DMA_LEN(_tdm) ((_tdm)->tdm_size) -#define TSEC_DMA_DVA(_tdm) ((_tdm)->tdm_map->dm_segs[0].ds_addr) -#define TSEC_DMA_KVA(_tdm) ((void *)(_tdm)->tdm_kva) - -struct tsec_softc { - struct device sc_dev; - bus_space_tag_t sc_iot; - bus_space_handle_t sc_ioh; - bus_space_handle_t sc_mii_ioh; - bus_dma_tag_t sc_dmat; - - struct arpcom sc_ac; -#define sc_lladdr sc_ac.ac_enaddr - struct mii_data sc_mii; -#define sc_media sc_mii.mii_media - int sc_link; - - struct tsec_dmamem *sc_txring; - struct tsec_buf *sc_txbuf; - struct tsec_desc *sc_txdesc; - int sc_tx_prod; - int sc_tx_cnt; - int sc_tx_cons; - - struct tsec_dmamem *sc_rxring; - struct tsec_buf *sc_rxbuf; - struct tsec_desc *sc_rxdesc; - int sc_rx_prod; - struct if_rxring sc_rx_ring; - int sc_rx_cons; - - struct timeout sc_tick; -}; - -#define DEVNAME(_s) ((_s)->sc_dev.dv_xname) - -int tsec_match(struct device *, void *, void *); -void tsec_attach(struct device *, struct device *, void *); - -struct cfattach tsec_ca = { - sizeof(struct tsec_softc), tsec_match, tsec_attach -}; - -struct cfdriver tsec_cd = { - NULL, "tsec", DV_IFNET -}; - -int tsec_find_phy(int, int); - -uint32_t tsec_read(struct tsec_softc *, bus_addr_t); -void tsec_write(struct tsec_softc *, bus_addr_t, uint32_t); -uint32_t tsec_mii_read(struct tsec_softc *, bus_addr_t); -void tsec_mii_write(struct tsec_softc *, bus_addr_t, uint32_t); - -int tsec_ioctl(struct ifnet *, u_long, caddr_t); -void tsec_start(struct ifnet *); -void tsec_watchdog(struct ifnet *); - -int tsec_media_change(struct ifnet *); -void tsec_media_status(struct ifnet *, struct ifmediareq *); - -int tsec_mii_readreg(struct device *, int, int); -void tsec_mii_writereg(struct device *, int, int, int); -void tsec_mii_statchg(struct device *); - -void tsec_lladdr_write(struct tsec_softc *); - -void tsec_tick(void *); - -int tsec_txintr(void *); -int tsec_rxintr(void *); -int tsec_errintr(void *); - -void tsec_tx_proc(struct tsec_softc *); -void tsec_rx_proc(struct tsec_softc *); - -void tsec_up(struct tsec_softc *); -void tsec_down(struct tsec_softc *); -void tsec_iff(struct tsec_softc *); -int tsec_encap(struct tsec_softc *, struct mbuf *, int *); - -void tsec_reset(struct tsec_softc *); -void tsec_stop_dma(struct tsec_softc *); - -struct tsec_dmamem * - tsec_dmamem_alloc(struct tsec_softc *, bus_size_t, bus_size_t); -void tsec_dmamem_free(struct tsec_softc *, struct tsec_dmamem *); -struct mbuf *tsec_alloc_mbuf(struct tsec_softc *, bus_dmamap_t); -void tsec_fill_rx_ring(struct tsec_softc *); - -/* - * The MPC8349E processor has two TSECs but only one external - * management interface to control external PHYs. The registers - * controlling the management interface are part of TSEC1. So to - * control a PHY attached to TSEC2, one needs to access TSEC1's - * registers. To deal with this, the first TSEC that attaches maps - * the register space for both TSEC1 and TSEC2 and stores the bus - * space tag and bus space handle in these global variables. We use - * these to create subregions for each individual interface and the - * management interface. - */ -bus_space_tag_t tsec_iot; -bus_space_handle_t tsec_ioh; - -int -tsec_match(struct device *parent, void *cfdata, void *aux) -{ - struct obio_attach_args *oa = aux; - char buf[32]; - - if (OF_getprop(oa->oa_node, "device_type", buf, sizeof(buf)) <= 0 || - strcmp(buf, "network") != 0) - return (0); - - if (OF_getprop(oa->oa_node, "compatible", buf, sizeof(buf)) <= 0 || - strcmp(buf, "gianfar") != 0) - return (0); - - return (1); -} - -void -tsec_attach(struct device *parent, struct device *self, void *aux) -{ - struct tsec_softc *sc = (void *)self; - struct obio_attach_args *oa = aux; - struct ifnet *ifp; - int phy, n; - - if (OF_getprop(oa->oa_node, "phy-handle", &phy, - sizeof(phy)) == sizeof(phy)) { - int node, reg; - - node = tsec_find_phy(OF_peer(0), phy); - if (node == -1 || OF_getprop(node, "reg", ®, - sizeof(reg)) != sizeof(reg)) { - printf(": can't find PHY\n"); - return; - } - - oa->oa_phy = reg; - } - - /* Map registers for TSEC1 & TSEC2 if they're not mapped yet. */ - if (oa->oa_iot != tsec_iot) { - tsec_iot = oa->oa_iot; - if (bus_space_map(tsec_iot, oa->oa_offset & 0xffffc000, - 8192, 0, &tsec_ioh)) { - printf(": can't map registers\n"); - return; - } - } - - sc->sc_iot = tsec_iot; - sc->sc_dmat = oa->oa_dmat; - - /* Ethernet Controller registers. */ - bus_space_subregion(tsec_iot, tsec_ioh, oa->oa_offset & 0x3fff, - 3072, &sc->sc_ioh); - - /* MII Management registers. */ - bus_space_subregion(tsec_iot, tsec_ioh, 0, 3072, &sc->sc_mii_ioh); - - myetheraddr(sc->sc_lladdr); - printf(": address %s\n", ether_sprintf(sc->sc_lladdr)); - - timeout_set(&sc->sc_tick, tsec_tick, sc); - - ifp = &sc->sc_ac.ac_if; - ifp->if_softc = sc; - ifp->if_flags = IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST; - ifp->if_ioctl = tsec_ioctl; - ifp->if_start = tsec_start; - ifp->if_watchdog = tsec_watchdog; - IFQ_SET_MAXLEN(&ifp->if_snd, TSEC_NTXDESC - 1); - bcopy(sc->sc_dev.dv_xname, ifp->if_xname, IFNAMSIZ); - - ifp->if_capabilities = IFCAP_VLAN_MTU; - - sc->sc_mii.mii_ifp = ifp; - sc->sc_mii.mii_readreg = tsec_mii_readreg; - sc->sc_mii.mii_writereg = tsec_mii_writereg; - sc->sc_mii.mii_statchg = tsec_mii_statchg; - - ifmedia_init(&sc->sc_media, 0, tsec_media_change, tsec_media_status); - - tsec_reset(sc); - - /* Reset management. */ - tsec_write(sc, TSEC_MIIMCFG, TSEC_MIIMCFG_RESET); - tsec_write(sc, TSEC_MIIMCFG, 0x00000003); - for (n = 0; n < 100; n++) { - if ((tsec_read(sc, TSEC_MIIMIND) & TSEC_MIIMIND_BUSY) == 0) - break; - } - - mii_attach(self, &sc->sc_mii, 0xffffffff, oa->oa_phy, - MII_OFFSET_ANY, 0); - if (LIST_FIRST(&sc->sc_mii.mii_phys) == NULL) { - printf("%s: no PHY found!\n", sc->sc_dev.dv_xname); - ifmedia_add(&sc->sc_media, IFM_ETHER|IFM_MANUAL, 0, NULL); - ifmedia_set(&sc->sc_media, IFM_ETHER|IFM_MANUAL); - } else - ifmedia_set(&sc->sc_media, IFM_ETHER|IFM_AUTO); - - if_attach(ifp); - ether_ifattach(ifp); - - intr_establish(oa->oa_ivec, IST_LEVEL, IPL_NET, tsec_txintr, sc, - sc->sc_dev.dv_xname); - intr_establish(oa->oa_ivec + 1, IST_LEVEL, IPL_NET, tsec_rxintr, sc, - sc->sc_dev.dv_xname); - intr_establish(oa->oa_ivec + 2, IST_LEVEL, IPL_NET, tsec_errintr, sc, - sc->sc_dev.dv_xname); -} - -int -tsec_find_phy(int node, int phy) -{ - int child, handle; - - if (OF_getprop(node, "linux,phandle", &handle, - sizeof(handle)) == sizeof(handle) && phy == handle) - return (node); - - for (child = OF_child(node); child != 0; child = OF_peer(child)) { - node = tsec_find_phy(child, phy); - if (node != -1) - return node; - } - - return (-1); -} - -uint32_t -tsec_read(struct tsec_softc *sc, bus_addr_t addr) -{ - return (letoh32(bus_space_read_4(sc->sc_iot, sc->sc_ioh, addr))); -} - -void -tsec_write(struct tsec_softc *sc, bus_addr_t addr, uint32_t data) -{ - bus_space_write_4(sc->sc_iot, sc->sc_ioh, addr, htole32(data)); -} - -uint32_t -tsec_mii_read(struct tsec_softc *sc, bus_addr_t addr) -{ - return (letoh32(bus_space_read_4(sc->sc_iot, sc->sc_mii_ioh, addr))); -} - -void -tsec_mii_write(struct tsec_softc *sc, bus_addr_t addr, uint32_t data) -{ - bus_space_write_4(sc->sc_iot, sc->sc_mii_ioh, addr, htole32(data)); -} - -void -tsec_lladdr_write(struct tsec_softc *sc) -{ - uint32_t addr1, addr2; - - addr1 = sc->sc_lladdr[5] << 24 | sc->sc_lladdr[4] << 16 | - sc->sc_lladdr[3] << 8 | sc->sc_lladdr[2]; - addr2 = sc->sc_lladdr[1] << 24 | sc->sc_lladdr[0] << 16; - tsec_write(sc, TSEC_MACSTNADDR1, addr1); - tsec_write(sc, TSEC_MACSTNADDR2, addr2); -} - -void -tsec_start(struct ifnet *ifp) -{ - struct tsec_softc *sc = ifp->if_softc; - struct mbuf *m; - int error, idx; - - if (!(ifp->if_flags & IFF_RUNNING)) - return; - if (ifq_is_oactive(&ifp->if_snd)) - return; - if (IFQ_IS_EMPTY(&ifp->if_snd)) - return; - if (!sc->sc_link) - return; - - idx = sc->sc_tx_prod; - while ((sc->sc_txdesc[idx].td_status & TSEC_TX_TO1) == 0) { - m = ifq_deq_begin(&ifp->if_snd); - if (m == NULL) - break; - - error = tsec_encap(sc, m, &idx); - if (error == ENOBUFS) { - ifq_deq_rollback(&ifp->if_snd, m); - ifq_set_oactive(&ifp->if_snd); - break; - } - if (error == EFBIG) { - ifq_deq_commit(&ifp->if_snd, m); - m_freem(m); /* give up: drop it */ - ifp->if_oerrors++; - continue; - } - - /* Now we are committed to transmit the packet. */ - ifq_deq_commit(&ifp->if_snd, m); - -#if NBPFILTER > 0 - if (ifp->if_bpf) - bpf_mtap(ifp->if_bpf, m, BPF_DIRECTION_OUT); -#endif - } - - if (sc->sc_tx_prod != idx) { - sc->sc_tx_prod = idx; - - /* Set a timeout in case the chip goes out to lunch. */ - ifp->if_timer = 5; - } -} - -int -tsec_ioctl(struct ifnet *ifp, u_long cmd, caddr_t addr) -{ - struct tsec_softc *sc = ifp->if_softc; - struct ifreq *ifr = (struct ifreq *)addr; - int error = 0, s; - - s = splnet(); - - switch (cmd) { - case SIOCSIFADDR: - ifp->if_flags |= IFF_UP; - /* FALLTHROUGH */ - case SIOCSIFFLAGS: - if (ifp->if_flags & IFF_UP) { - if (ifp->if_flags & IFF_RUNNING) - error = ENETRESET; - else - tsec_up(sc); - } else { - if (ifp->if_flags & IFF_RUNNING) - tsec_down(sc); - } - break; - - case SIOCGIFMEDIA: - case SIOCSIFMEDIA: - error = ifmedia_ioctl(ifp, ifr, &sc->sc_media, cmd); - break; - - case SIOCGIFRXR: - error = if_rxr_ioctl((struct if_rxrinfo *)ifr->ifr_data, - NULL, MCLBYTES, &sc->sc_rx_ring); - break; - - default: - error = ether_ioctl(ifp, &sc->sc_ac, cmd, addr); - break; - } - - if (error == ENETRESET) { - if (ifp->if_flags & IFF_RUNNING) - tsec_iff(sc); - error = 0; - } - - splx(s); - return (error); -} - -void -tsec_watchdog(struct ifnet *ifp) -{ - printf("%s\n", __func__); -} - -int -tsec_media_change(struct ifnet *ifp) -{ - struct tsec_softc *sc = ifp->if_softc; - - if (LIST_FIRST(&sc->sc_mii.mii_phys)) - mii_mediachg(&sc->sc_mii); - - return (0); -} - -void -tsec_media_status(struct ifnet *ifp, struct ifmediareq *ifmr) -{ - struct tsec_softc *sc = ifp->if_softc; - - if (LIST_FIRST(&sc->sc_mii.mii_phys)) { - mii_pollstat(&sc->sc_mii); - ifmr->ifm_active = sc->sc_mii.mii_media_active; - ifmr->ifm_status = sc->sc_mii.mii_media_status; - } -} - -int -tsec_mii_readreg(struct device *self, int phy, int reg) -{ - struct tsec_softc *sc = (void *)self; - uint32_t v; - int n; - - tsec_mii_write(sc, TSEC_MIIMADD, (phy << 8) | reg); - tsec_mii_write(sc, TSEC_MIIMCOM, 0); - tsec_mii_write(sc, TSEC_MIIMCOM, TSEC_MIIMCOM_READ); - for (n = 0; n < 100; n++) { - v = tsec_mii_read(sc, TSEC_MIIMIND); - if ((v & (TSEC_MIIMIND_NOTVALID | TSEC_MIIMIND_BUSY)) == 0) - return (tsec_mii_read(sc, TSEC_MIIMSTAT)); - delay(10); - } - - printf("%s: mii_read timeout\n", sc->sc_dev.dv_xname); - return (0); -} - -void -tsec_mii_writereg(struct device *self, int phy, int reg, int val) -{ - struct tsec_softc *sc = (void *)self; - uint32_t v; - int n; - - tsec_mii_write(sc, TSEC_MIIMADD, (phy << 8) | reg); - tsec_mii_write(sc, TSEC_MIIMCON, val); - for (n = 0; n < 100; n++) { - v = tsec_mii_read(sc, TSEC_MIIMIND); - if ((v & TSEC_MIIMIND_BUSY) == 0) - return; - delay(10); - } - - printf("%s: mii_write timeout\n", sc->sc_dev.dv_xname); -} - -void -tsec_mii_statchg(struct device *self) -{ - struct tsec_softc *sc = (void *)self; - uint32_t maccfg2, ecntrl; - - ecntrl = tsec_read(sc, TSEC_ECNTRL); - maccfg2 = tsec_read(sc, TSEC_MACCFG2); - maccfg2 &= ~TSEC_MACCFG2_IF_MODE; - - switch (IFM_SUBTYPE(sc->sc_mii.mii_media_active)) { - case IFM_1000_SX: - case IFM_1000_LX: - case IFM_1000_CX: - case IFM_1000_T: - maccfg2 |= TSEC_MACCFG2_IF_GMII; - sc->sc_link = 1; - break; - case IFM_100_TX: - ecntrl |= TSEC_ECNTRL_R100M; - maccfg2 |= TSEC_MACCFG2_IF_MII; - sc->sc_link = 1; - break; - case IFM_10_T: - ecntrl &= ~TSEC_ECNTRL_R100M; - maccfg2 |= TSEC_MACCFG2_IF_MII; - sc->sc_link = 1; - break; - default: - sc->sc_link = 0; - return; - } - - if ((sc->sc_mii.mii_media_active & IFM_GMASK) == IFM_FDX) - maccfg2 |= TSEC_MACCFG2_FDX; - else - maccfg2 &= ~TSEC_MACCFG2_FDX; - - tsec_write(sc, TSEC_MACCFG2, maccfg2); - tsec_write(sc, TSEC_ECNTRL, ecntrl); -} - -void -tsec_tick(void *arg) -{ - struct tsec_softc *sc = arg; - int s; - - s = splnet(); - mii_tick(&sc->sc_mii); - splx(s); - - timeout_add_sec(&sc->sc_tick, 1); -} - -int -tsec_txintr(void *arg) -{ - struct tsec_softc *sc = arg; - uint32_t ievent; - - ievent = tsec_read(sc, TSEC_IEVENT); - if ((ievent & (TSEC_IEVENT_TXC | TSEC_IEVENT_TXE | - TSEC_IEVENT_TXB | TSEC_IEVENT_TXF)) == 0) - printf("%s: tx %b\n", DEVNAME(sc), ievent, TSEC_IEVENT_FMT); - ievent &= (TSEC_IEVENT_TXC | TSEC_IEVENT_TXE | - TSEC_IEVENT_TXB | TSEC_IEVENT_TXF); - tsec_write(sc, TSEC_IEVENT, ievent); - - tsec_tx_proc(sc); - - return (1); -} - -int -tsec_rxintr(void *arg) -{ - struct tsec_softc *sc = arg; - uint32_t ievent; - - ievent = tsec_read(sc, TSEC_IEVENT); - if ((ievent & (TSEC_IEVENT_RXB | TSEC_IEVENT_RXF)) == 0) - printf("%s: rx %b\n", DEVNAME(sc), ievent, TSEC_IEVENT_FMT); - ievent &= (TSEC_IEVENT_RXB | TSEC_IEVENT_RXF); - tsec_write(sc, TSEC_IEVENT, ievent); - - tsec_rx_proc(sc); - - return (1); -} - -int -tsec_errintr(void *arg) -{ - struct tsec_softc *sc = arg; - struct ifnet *ifp = &sc->sc_ac.ac_if; - uint32_t ievent; - - ievent = tsec_read(sc, TSEC_IEVENT); - if ((ievent & TSEC_IEVENT_BSY) == 0) - printf("%s: err %b\n", DEVNAME(sc), ievent, TSEC_IEVENT_FMT); - ievent &= TSEC_IEVENT_BSY; - tsec_write(sc, TSEC_IEVENT, ievent); - - if (ievent & TSEC_IEVENT_BSY) { - /* - * We ran out of buffers and dropped one (or more) - * packets. We must clear RSTAT[QHLT] after - * processing the ring to get things started again. - */ - tsec_rx_proc(sc); - tsec_write(sc, TSEC_RSTAT, TSEC_RSTAT_QHLT); - ifp->if_ierrors++; - } - - return (1); -} - -void -tsec_tx_proc(struct tsec_softc *sc) -{ - struct ifnet *ifp = &sc->sc_ac.ac_if; - struct tsec_desc *txd; - struct tsec_buf *txb; - int idx; - - bus_dmamap_sync(sc->sc_dmat, TSEC_DMA_MAP(sc->sc_txring), 0, - TSEC_DMA_LEN(sc->sc_txring), - BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); - - while (sc->sc_tx_cnt > 0) { - idx = sc->sc_tx_cons; - KASSERT(idx < TSEC_NTXDESC); - - txd = &sc->sc_txdesc[idx]; - if (txd->td_status & TSEC_TX_R) - break; - - txb = &sc->sc_txbuf[idx]; - if (txb->tb_m) { - bus_dmamap_sync(sc->sc_dmat, txb->tb_map, 0, - txb->tb_map->dm_mapsize, BUS_DMASYNC_POSTWRITE); - bus_dmamap_unload(sc->sc_dmat, txb->tb_map); - - m_freem(txb->tb_m); - txb->tb_m = NULL; - } - - ifq_clr_oactive(&ifp->if_snd); - - sc->sc_tx_cnt--; - - if (txd->td_status & TSEC_TX_W) - sc->sc_tx_cons = 0; - else - sc->sc_tx_cons++; - - __asm volatile("eieio" ::: "memory"); - txd->td_status &= TSEC_TX_W; - } - - if (sc->sc_tx_cnt == 0) - ifp->if_timer = 0; -} - -void -tsec_rx_proc(struct tsec_softc *sc) -{ - struct ifnet *ifp = &sc->sc_ac.ac_if; - struct tsec_desc *rxd; - struct tsec_buf *rxb; - struct mbuf_list ml = MBUF_LIST_INITIALIZER(); - struct mbuf *m; - int idx, len; - - if ((ifp->if_flags & IFF_RUNNING) == 0) - return; - - bus_dmamap_sync(sc->sc_dmat, TSEC_DMA_MAP(sc->sc_rxring), 0, - TSEC_DMA_LEN(sc->sc_rxring), - BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); - - while (if_rxr_inuse(&sc->sc_rx_ring) > 0) { - idx = sc->sc_rx_cons; - KASSERT(idx < TSEC_NRXDESC); - - rxd = &sc->sc_rxdesc[idx]; - if (rxd->td_status & TSEC_RX_E) - break; - - len = rxd->td_len; - rxb = &sc->sc_rxbuf[idx]; - KASSERT(rxb->tb_m); - - bus_dmamap_sync(sc->sc_dmat, rxb->tb_map, 0, - len, BUS_DMASYNC_POSTREAD); - bus_dmamap_unload(sc->sc_dmat, rxb->tb_map); - - /* Strip off CRC. */ - len -= ETHER_CRC_LEN; - KASSERT(len > 0); - - m = rxb->tb_m; - rxb->tb_m = NULL; - m->m_pkthdr.len = m->m_len = len; - - ml_enqueue(&ml, m); - - if_rxr_put(&sc->sc_rx_ring, 1); - if (rxd->td_status & TSEC_RX_W) - sc->sc_rx_cons = 0; - else - sc->sc_rx_cons++; - } - - tsec_fill_rx_ring(sc); - - bus_dmamap_sync(sc->sc_dmat, TSEC_DMA_MAP(sc->sc_rxring), 0, - TSEC_DMA_LEN(sc->sc_rxring), - BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); - - if_input(ifp, &ml); -} - -void -tsec_up(struct tsec_softc *sc) -{ - struct ifnet *ifp = &sc->sc_ac.ac_if; - struct tsec_desc *txd, *rxd; - struct tsec_buf *txb, *rxb; - uint32_t maccfg1, maccfg2, ecntrl, dmactrl, attr; - int i; - - /* Allocate Tx descriptor ring. */ - sc->sc_txring = tsec_dmamem_alloc(sc, - TSEC_NTXDESC * sizeof(struct tsec_desc), 8); - sc->sc_txdesc = TSEC_DMA_KVA(sc->sc_txring); - - sc->sc_txbuf = malloc(sizeof(struct tsec_buf) * TSEC_NTXDESC, - M_DEVBUF, M_WAITOK); - for (i = 0; i < TSEC_NTXDESC; i++) { - txb = &sc->sc_txbuf[i]; - bus_dmamap_create(sc->sc_dmat, MCLBYTES, TSEC_NTXSEGS, - MCLBYTES, 0, BUS_DMA_WAITOK, &txb->tb_map); - txb->tb_m = NULL; - } - - /* Set wrap bit on last descriptor. */ - txd = &sc->sc_txdesc[TSEC_NTXDESC - 1]; - txd->td_status = TSEC_TX_W; - bus_dmamap_sync(sc->sc_dmat, TSEC_DMA_MAP(sc->sc_txring), - (TSEC_NTXDESC - 1) * sizeof(*txd), sizeof(*txd), - BUS_DMASYNC_PREWRITE); - - sc->sc_tx_prod = sc->sc_tx_cons = 0; - sc->sc_tx_cnt = 0; - - tsec_write(sc, TSEC_TBASE, TSEC_DMA_DVA(sc->sc_txring)); - - /* Allocate Rx descriptor ring. */ - sc->sc_rxring = tsec_dmamem_alloc(sc, - TSEC_NRXDESC * sizeof(struct tsec_desc), 8); - sc->sc_rxdesc = TSEC_DMA_KVA(sc->sc_rxring); - - sc->sc_rxbuf = malloc(sizeof(struct tsec_buf) * TSEC_NRXDESC, - M_DEVBUF, M_WAITOK); - - for (i = 0; i < TSEC_NRXDESC; i++) { - rxb = &sc->sc_rxbuf[i]; - bus_dmamap_create(sc->sc_dmat, MCLBYTES, 1, - MCLBYTES, 0, BUS_DMA_WAITOK, &rxb->tb_map); - rxb->tb_m = NULL; - } - - /* Set wrap bit on last descriptor. */ - rxd = &sc->sc_rxdesc[TSEC_NRXDESC - 1]; - rxd->td_status |= TSEC_RX_W; - bus_dmamap_sync(sc->sc_dmat, TSEC_DMA_MAP(sc->sc_rxring), - 0, TSEC_DMA_LEN(sc->sc_rxring), BUS_DMASYNC_PREWRITE); - - sc->sc_rx_prod = sc->sc_rx_cons = 0; - - if_rxr_init(&sc->sc_rx_ring, 2, TSEC_NRXDESC); - tsec_fill_rx_ring(sc); - - tsec_write(sc, TSEC_MRBLR, MCLBYTES); - - tsec_write(sc, TSEC_RBASE, TSEC_DMA_DVA(sc->sc_rxring)); - - tsec_lladdr_write(sc); - - tsec_write(sc, TSEC_IADDR0, 0); - tsec_write(sc, TSEC_IADDR1, 0); - tsec_write(sc, TSEC_IADDR2, 0); - tsec_write(sc, TSEC_IADDR3, 0); - tsec_write(sc, TSEC_IADDR4, 0); - tsec_write(sc, TSEC_IADDR5, 0); - tsec_write(sc, TSEC_IADDR6, 0); - tsec_write(sc, TSEC_IADDR7, 0); - tsec_write(sc, TSEC_GADDR0, 0); - tsec_write(sc, TSEC_GADDR1, 0); - tsec_write(sc, TSEC_GADDR2, 0); - tsec_write(sc, TSEC_GADDR3, 0); - tsec_write(sc, TSEC_GADDR4, 0); - tsec_write(sc, TSEC_GADDR5, 0); - tsec_write(sc, TSEC_GADDR6, 0); - tsec_write(sc, TSEC_GADDR7, 0); - - maccfg1 = tsec_read(sc, TSEC_MACCFG1); - maccfg1 |= TSEC_MACCFG1_TXEN; - maccfg1 |= TSEC_MACCFG1_RXEN; - tsec_write(sc, TSEC_MACCFG1, maccfg1); - - /* - * Default to full-duplex MII mode, which is the mode most - * likely used by a directly connected integrated switch. For - * a real PHY the mode will be set later, based on the - * parameters negotiaded by the PHY. - */ - maccfg2 = tsec_read(sc, TSEC_MACCFG2); - maccfg2 &= ~TSEC_MACCFG2_IF_MODE; - maccfg2 |= TSEC_MACCFG2_IF_MII | TSEC_MACCFG2_FDX; - tsec_write(sc, TSEC_MACCFG2, maccfg2 | TSEC_MACCFG2_PAD); - - ecntrl = tsec_read(sc, TSEC_ECNTRL); - tsec_write(sc, TSEC_ECNTRL, ecntrl | TSEC_ECNTRL_R100M); - - dmactrl = tsec_read(sc, TSEC_DMACTRL); - dmactrl |= TSEC_DMACTRL_TDSEN; - dmactrl |= TSEC_DMACTRL_TBDSEN; - dmactrl |= TSEC_DMACTRL_WWR; - dmactrl |= TSEC_DMACTRL_WOP; - dmactrl &= ~(TSEC_DMACTRL_GTS | TSEC_DMACTRL_GRS); - tsec_write(sc, TSEC_DMACTRL, dmactrl); - - attr = tsec_read(sc, TSEC_ATTR); - attr |= TSEC_ATTR_RDSEN; - attr |= TSEC_ATTR_RBDSEN; - tsec_write(sc, TSEC_ATTR, attr); - - tsec_write(sc, TSEC_TSTAT, TSEC_TSTAT_THLT); - tsec_write(sc, TSEC_RSTAT, TSEC_RSTAT_QHLT); - - /* Configure media. */ - if (LIST_FIRST(&sc->sc_mii.mii_phys)) - mii_mediachg(&sc->sc_mii); - - /* Program promiscuous mode and multicast filters. */ - tsec_iff(sc); - - ifp->if_flags |= IFF_RUNNING; - ifq_clr_oactive(&ifp->if_snd); - - tsec_write(sc, TSEC_IMASK, TSEC_IMASK_TXEEN | - TSEC_IMASK_TXBEN | TSEC_IMASK_TXFEN | - TSEC_IMASK_RXBEN | TSEC_IMASK_RXFEN | TSEC_IMASK_BSYEN); - - timeout_add_sec(&sc->sc_tick, 1); -} - -void -tsec_down(struct tsec_softc *sc) -{ - struct ifnet *ifp = &sc->sc_ac.ac_if; - struct tsec_buf *txb, *rxb; - uint32_t maccfg1; - int i; - - timeout_del(&sc->sc_tick); - - ifp->if_flags &= ~IFF_RUNNING; - ifq_clr_oactive(&ifp->if_snd); - ifp->if_timer = 0; - - tsec_stop_dma(sc); - - maccfg1 = tsec_read(sc, TSEC_MACCFG1); - maccfg1 &= ~TSEC_MACCFG1_TXEN; - maccfg1 &= ~TSEC_MACCFG1_RXEN; - tsec_write(sc, TSEC_MACCFG1, maccfg1); - - for (i = 0; i < TSEC_NTXDESC; i++) { - txb = &sc->sc_txbuf[i]; - if (txb->tb_m) { - bus_dmamap_sync(sc->sc_dmat, txb->tb_map, 0, - txb->tb_map->dm_mapsize, BUS_DMASYNC_POSTWRITE); - bus_dmamap_unload(sc->sc_dmat, txb->tb_map); - m_freem(txb->tb_m); - } - bus_dmamap_destroy(sc->sc_dmat, txb->tb_map); - } - - tsec_dmamem_free(sc, sc->sc_txring); - free(sc->sc_txbuf, M_DEVBUF, 0); - - for (i = 0; i < TSEC_NRXDESC; i++) { - rxb = &sc->sc_rxbuf[i]; - if (rxb->tb_m) { - bus_dmamap_sync(sc->sc_dmat, rxb->tb_map, 0, - rxb->tb_map->dm_mapsize, BUS_DMASYNC_POSTREAD); - bus_dmamap_unload(sc->sc_dmat, rxb->tb_map); - m_freem(rxb->tb_m); - } - bus_dmamap_destroy(sc->sc_dmat, rxb->tb_map); - } - - tsec_dmamem_free(sc, sc->sc_rxring); - free(sc->sc_rxbuf, M_DEVBUF, 0); -} - -void -tsec_iff(struct tsec_softc *sc) -{ - struct arpcom *ac = &sc->sc_ac; - struct ifnet *ifp = &sc->sc_ac.ac_if; - struct ether_multi *enm; - struct ether_multistep step; - uint32_t crc, hash[8]; - uint32_t rctrl; - int i; - - rctrl = tsec_read(sc, TSEC_RCTRL); - rctrl &= ~TSEC_RCTRL_PROM; - ifp->if_flags &= ~IFF_ALLMULTI; - - if (ifp->if_flags & IFF_PROMISC || ac->ac_multirangecnt > 0) { - ifp->if_flags |= IFF_ALLMULTI; - rctrl |= TSEC_RCTRL_PROM; - bzero(hash, sizeof(hash)); - } else { - ETHER_FIRST_MULTI(step, ac, enm); - while (enm != NULL) { - crc = ether_crc32_be(enm->enm_addrlo, - ETHER_ADDR_LEN); - - crc >>= 24; - hash[crc / 32] |= 1 << (31 - (crc % 32)); - - ETHER_NEXT_MULTI(step, enm); - } - } - - for (i = 0; i < nitems(hash); i++) - tsec_write(sc, TSEC_GADDR0 + i * 4, hash[i]); - - tsec_write(sc, TSEC_RCTRL, rctrl); -} - -int -tsec_encap(struct tsec_softc *sc, struct mbuf *m, int *idx) -{ - struct tsec_desc *txd; - bus_dmamap_t map; - int cur, frag, i; - uint16_t status; - - cur = frag = *idx; - map = sc->sc_txbuf[cur].tb_map; - - if (bus_dmamap_load_mbuf(sc->sc_dmat, map, m, BUS_DMA_NOWAIT)) { - if (m_defrag(m, M_DONTWAIT)) - return (EFBIG); - if (bus_dmamap_load_mbuf(sc->sc_dmat, map, m, BUS_DMA_NOWAIT)) - return (EFBIG); - } - - if (map->dm_nsegs > (TSEC_NTXDESC - sc->sc_tx_cnt - 2)) { - bus_dmamap_unload(sc->sc_dmat, map); - return (ENOBUFS); - } - - /* Sync the DMA map. */ - bus_dmamap_sync(sc->sc_dmat, map, 0, map->dm_mapsize, - BUS_DMASYNC_PREWRITE); - - txd = &sc->sc_txdesc[frag]; - for (i = 0; i < map->dm_nsegs; i++) { - status = txd->td_status & TSEC_TX_W; - status |= TSEC_TX_TO1; - if (i == (map->dm_nsegs - 1)) - status |= TSEC_TX_L; - txd->td_len = map->dm_segs[i].ds_len; - txd->td_addr = map->dm_segs[i].ds_addr; - __asm volatile("eieio" ::: "memory"); - txd->td_status = status | TSEC_TX_R | TSEC_TX_I | TSEC_TX_TC; - - bus_dmamap_sync(sc->sc_dmat, TSEC_DMA_MAP(sc->sc_txring), - frag * sizeof(*txd), sizeof(*txd), BUS_DMASYNC_PREWRITE); - - cur = frag; - if (status & TSEC_TX_W) { - txd = &sc->sc_txdesc[0]; - frag = 0; - } else { - txd++; - frag++; - } - KASSERT(frag != sc->sc_tx_cons); - - tsec_write(sc, TSEC_TSTAT, TSEC_TSTAT_THLT); - } - - KASSERT(sc->sc_txbuf[cur].tb_m == NULL); - sc->sc_txbuf[*idx].tb_map = sc->sc_txbuf[cur].tb_map; - sc->sc_txbuf[cur].tb_map = map; - sc->sc_txbuf[cur].tb_m = m; - - sc->sc_tx_cnt += map->dm_nsegs; - *idx = frag; - - return (0); -} - -void -tsec_reset(struct tsec_softc *sc) -{ - tsec_stop_dma(sc); - - /* Set, then clear MACCFG1[Soft_Reset]. */ - tsec_write(sc, TSEC_MACCFG1, TSEC_MACCFG1_RESET); - tsec_write(sc, TSEC_MACCFG1, 0); - - /* Clear IEVENT. */ - tsec_write(sc, TSEC_IEVENT, 0xffffffff); -} - -void -tsec_stop_dma(struct tsec_softc *sc) -{ - uint32_t dmactrl, ievent; - int n; - - /* Stop DMA. */ - dmactrl = tsec_read(sc, TSEC_DMACTRL); - dmactrl |= TSEC_DMACTRL_GTS; - tsec_write(sc, TSEC_DMACTRL, dmactrl); - - for (n = 0; n < 100; n++) { - ievent = tsec_read(sc, TSEC_IEVENT); - if (ievent & TSEC_IEVENT_GTSC) - break; - } - KASSERT(n != 100); - - dmactrl = tsec_read(sc, TSEC_DMACTRL); - dmactrl |= TSEC_DMACTRL_GRS; - tsec_write(sc, TSEC_DMACTRL, dmactrl); - - for (n = 0; n < 100; n++) { - ievent = tsec_read(sc, TSEC_IEVENT); - if (ievent & TSEC_IEVENT_GRSC) - break; - } - KASSERT(n != 100); -} - -struct tsec_dmamem * -tsec_dmamem_alloc(struct tsec_softc *sc, bus_size_t size, bus_size_t align) -{ - struct tsec_dmamem *tdm; - int nsegs; - - tdm = malloc(sizeof(*tdm), M_DEVBUF, M_WAITOK | M_ZERO); - tdm->tdm_size = size; - - if (bus_dmamap_create(sc->sc_dmat, size, 1, size, 0, - BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW, &tdm->tdm_map) != 0) - goto tdmfree; - - if (bus_dmamem_alloc(sc->sc_dmat, size, align, 0, &tdm->tdm_seg, 1, - &nsegs, BUS_DMA_WAITOK) != 0) - goto destroy; - - if (bus_dmamem_map(sc->sc_dmat, &tdm->tdm_seg, nsegs, size, - &tdm->tdm_kva, BUS_DMA_WAITOK) != 0) - goto free; - - if (bus_dmamap_load(sc->sc_dmat, tdm->tdm_map, tdm->tdm_kva, size, - NULL, BUS_DMA_WAITOK) != 0) - goto unmap; - - bzero(tdm->tdm_kva, size); - - return (tdm); - -unmap: - bus_dmamem_unmap(sc->sc_dmat, tdm->tdm_kva, size); -free: - bus_dmamem_free(sc->sc_dmat, &tdm->tdm_seg, 1); -destroy: - bus_dmamap_destroy(sc->sc_dmat, tdm->tdm_map); -tdmfree: - free(tdm, M_DEVBUF, 0); - - return (NULL); -} - -void -tsec_dmamem_free(struct tsec_softc *sc, struct tsec_dmamem *tdm) -{ - bus_dmamem_unmap(sc->sc_dmat, tdm->tdm_kva, tdm->tdm_size); - bus_dmamem_free(sc->sc_dmat, &tdm->tdm_seg, 1); - bus_dmamap_destroy(sc->sc_dmat, tdm->tdm_map); - free(tdm, M_DEVBUF, 0); -} - -struct mbuf * -tsec_alloc_mbuf(struct tsec_softc *sc, bus_dmamap_t map) -{ - struct mbuf *m = NULL; - - m = MCLGETI(NULL, M_DONTWAIT, NULL, MCLBYTES); - if (!m) - return (NULL); - m->m_len = m->m_pkthdr.len = MCLBYTES; - - if (bus_dmamap_load_mbuf(sc->sc_dmat, map, m, BUS_DMA_NOWAIT) != 0) { - printf("%s: could not load mbuf DMA map", DEVNAME(sc)); - m_freem(m); - return (NULL); - } - - bus_dmamap_sync(sc->sc_dmat, map, 0, - m->m_pkthdr.len, BUS_DMASYNC_PREREAD); - - return (m); -} - -void -tsec_fill_rx_ring(struct tsec_softc *sc) -{ - struct tsec_desc *rxd; - struct tsec_buf *rxb; - u_int slots; - - for (slots = if_rxr_get(&sc->sc_rx_ring, TSEC_NRXDESC); - slots > 0; slots--) { - rxb = &sc->sc_rxbuf[sc->sc_rx_prod]; - rxb->tb_m = tsec_alloc_mbuf(sc, rxb->tb_map); - if (rxb->tb_m == NULL) - break; - - rxd = &sc->sc_rxdesc[sc->sc_rx_prod]; - rxd->td_len = 0; - rxd->td_addr = rxb->tb_map->dm_segs[0].ds_addr; - __asm volatile("eieio" ::: "memory"); - rxd->td_status |= TSEC_RX_E | TSEC_RX_I; - - if (rxd->td_status & TSEC_RX_W) - sc->sc_rx_prod = 0; - else - sc->sc_rx_prod++; - } - if_rxr_put(&sc->sc_rx_ring, slots); -} diff --git a/sys/arch/socppc/dev/ipic.c b/sys/arch/socppc/dev/ipic.c deleted file mode 100644 index 669bd3289c5..00000000000 --- a/sys/arch/socppc/dev/ipic.c +++ /dev/null @@ -1,410 +0,0 @@ -/* $OpenBSD: ipic.c,v 1.18 2015/06/24 11:58:06 mpi Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include - -#include -#include - -#include - -#define IPIC_SICFR 0x00 -#define IPIC_SIVCR 0x04 -#define IPIC_SIPNR_H 0x08 -#define IPIC_SIPNR_L 0x0c -#define IPIC_SIPRR_A 0x10 -#define IPIC_SIPRR_D 0x1c -#define IPIC_SIMSR_H 0x20 -#define IPIC_SIMSR_L 0x24 -#define IPIC_SICNR 0x28 -#define IPIC_SEPNR 0x2c -#define IPIC_SMPRR_A 0x30 -#define IPIC_SMPRR_B 0x34 -#define IPIC_SEMSR 0x38 -#define IPIC_SECNR 0x3c -#define IPIC_SERSR 0x40 -#define IPIC_SERMR 0x44 -#define IPIC_SERCR 0x48 -#define IPIC_SIFCR_H 0x50 -#define IPIC_SIFCR_L 0x54 -#define IPIC_SEFCR 0x58 -#define IPIC_SERFR 0x5c -#define IPIC_SCVCR 0x60 -#define IPIC_SMVCR 0x64 - -#define IPIC_NVEC 128 - -#define IPIC_EXTERNAL(ivec) ((ivec) >= 17 && (ivec) <= 23) - -struct ipic_softc { - struct device sc_dev; - bus_space_tag_t sc_iot; - bus_space_handle_t sc_ioh; - - uint32_t sc_simsr_h[IPL_NUM]; - uint32_t sc_simsr_l[IPL_NUM]; - uint32_t sc_semsr[IPL_NUM]; -}; - -uint32_t ipic_imask; -struct intrq ipic_handler[IPIC_NVEC]; -struct ipic_softc *ipic_sc; -int ipic_preinit_done; /* defaults to 0 - not initialized */ - -int ipic_match(struct device *, void *, void *); -void ipic_attach(struct device *, struct device *, void *); - -struct cfattach ipic_ca = { - sizeof(struct ipic_softc), ipic_match, ipic_attach -}; - -struct cfdriver ipic_cd = { - NULL, "ipic", DV_DULL -}; - -void ipic_preinit(void); -uint32_t ipic_read(struct ipic_softc *, bus_addr_t); -void ipic_write(struct ipic_softc *, bus_addr_t, uint32_t); -uint32_t ipic_simsr_h(int); -uint32_t ipic_simsr_l(int); -uint32_t ipic_semsr(int); -void ipic_calc_masks(void); - -void ext_intr(void); - -ppc_splraise_t ipic_splraise; -ppc_spllower_t ipic_spllower; -ppc_splx_t ipic_splx; - -void ipic_setipl(int); - -void -ipic_preinit(void) -{ - int i; - struct intrq *iq; - - for (i = 0; i < IPIC_NVEC; i++) { - iq = &ipic_handler[i]; - TAILQ_INIT(&iq->iq_list); - } - ipic_preinit_done = 1; -} - -int -ipic_match(struct device *parent, void *cfdata, void *aux) -{ - struct obio_attach_args *oa = aux; - char buf[32]; - - if (OF_getprop(oa->oa_node, "device_type", buf, sizeof(buf)) <= 0 || - strcmp(buf, "ipic") != 0) - return (0); - - return (1); -} - -void -ipic_attach(struct device *parent, struct device *self, void *aux) -{ - struct ipic_softc *sc = (void *)self; - struct obio_attach_args *oa = aux; - int ivec; - struct intrq *iq; - - sc->sc_iot = oa->oa_iot; - if (bus_space_map(sc->sc_iot, oa->oa_offset, 128, 0, &sc->sc_ioh)) { - printf(": can't map registers\n"); - return; - } - - ipic_sc = sc; - - /* if ipic_preinit has not happened, do it here */ - if (ipic_preinit_done == 0) - ipic_preinit(); - - /* - * Deal with pre-established interrupts. - */ - for (ivec = 0; ivec < IPIC_NVEC; ivec++) { - iq = &ipic_handler[ivec]; - if (!TAILQ_EMPTY(&iq->iq_list)) { - int level = TAILQ_FIRST(&iq->iq_list)->ih_level; - - sc->sc_simsr_h[level] |= ipic_simsr_h(ivec); - sc->sc_simsr_l[level] |= ipic_simsr_l(ivec); - sc->sc_semsr[level] |= ipic_semsr(ivec); - ipic_calc_masks(); - } - } - - ppc_smask_init(); - ppc_intr_func.raise = ipic_splraise; - ppc_intr_func.lower = ipic_spllower; - ppc_intr_func.x = ipic_splx; - - printf("\n"); -} - -uint32_t -ipic_read(struct ipic_softc *sc, bus_addr_t addr) -{ - return (letoh32(bus_space_read_4(sc->sc_iot, sc->sc_ioh, addr))); -} - -void -ipic_write(struct ipic_softc *sc, bus_addr_t addr, uint32_t data) -{ - bus_space_write_4(sc->sc_iot, sc->sc_ioh, addr, htole32(data)); -} - -uint32_t -ipic_simsr_h(int ivec) -{ - switch (ivec) { - case 9: - return 0x00000080; - case 10: - return 0x00000040; - case 32: - return 0x80000000; - case 33: - return 0x40000000; - case 34: - return 0x20000000; - case 35: - return 0x10000000; - case 36: - return 0x08000000; - case 37: - return 0x04000000; - case 39: - return 0x01000000; - } - - return 0; -} - -uint32_t -ipic_simsr_l(int ivec) -{ - return 0; -} - -uint32_t -ipic_semsr(int ivec) -{ - switch (ivec) { - case 17: - return 0x40000000; - case 18: - return 0x20000000; - case 19: - return 0x10000000; - case 20: - return 0x08000000; - case 21: - return 0x04000000; - case 22: - return 0x02000000; - case 23: - return 0x01000000; - case 48: - return 0x80000000; - } - - return 0; -} - -void -ipic_calc_masks(void) -{ - struct ipic_softc *sc = ipic_sc; - - sc->sc_simsr_h[IPL_NET] |= sc->sc_simsr_h[IPL_BIO]; - sc->sc_simsr_h[IPL_TTY] |= sc->sc_simsr_h[IPL_NET]; - sc->sc_simsr_h[IPL_VM] |= sc->sc_simsr_h[IPL_TTY]; - sc->sc_simsr_h[IPL_CLOCK] |= sc->sc_simsr_h[IPL_VM]; - sc->sc_simsr_h[IPL_HIGH] |= sc->sc_simsr_h[IPL_CLOCK]; - - sc->sc_simsr_l[IPL_NET] |= sc->sc_simsr_l[IPL_BIO]; - sc->sc_simsr_l[IPL_TTY] |= sc->sc_simsr_l[IPL_NET]; - sc->sc_simsr_l[IPL_VM] |= sc->sc_simsr_l[IPL_TTY]; - sc->sc_simsr_l[IPL_CLOCK] |= sc->sc_simsr_l[IPL_VM]; - sc->sc_simsr_l[IPL_HIGH] |= sc->sc_simsr_l[IPL_CLOCK]; - - sc->sc_semsr[IPL_NET] |= sc->sc_semsr[IPL_BIO]; - sc->sc_semsr[IPL_TTY] |= sc->sc_semsr[IPL_NET]; - sc->sc_semsr[IPL_VM] |= sc->sc_semsr[IPL_TTY]; - sc->sc_semsr[IPL_CLOCK] |= sc->sc_semsr[IPL_VM]; - sc->sc_semsr[IPL_HIGH] |= sc->sc_semsr[IPL_CLOCK]; -} - -void * -intr_establish(int ivec, int type, int level, - int (*ih_fun)(void *), void *ih_arg, const char *name) -{ - struct ipic_softc *sc = ipic_sc; - struct intrhand *ih; - struct intrq *iq; - int s, flags; - - if (ipic_preinit_done == 0) - ipic_preinit(); - - ih = malloc(sizeof *ih, M_DEVBUF, cold ? M_NOWAIT : M_WAITOK); - if (ih == NULL) - panic("%s: malloc failed", __func__); - iq = &ipic_handler[ivec]; - - if (ivec < 0 || ivec >= IPIC_NVEC) - panic("%s: invalid vector %d", __func__, ivec); - - if (sc) { - sc->sc_simsr_h[level] |= ipic_simsr_h(ivec); - sc->sc_simsr_l[level] |= ipic_simsr_l(ivec); - sc->sc_semsr[level] |= ipic_semsr(ivec); - ipic_calc_masks(); - } - - flags = level & IPL_MPSAFE; - level &= ~IPL_MPSAFE; - - KASSERT(level <= IPL_TTY || level >= IPL_CLOCK || flags & IPL_MPSAFE); - - ih->ih_fun = ih_fun; - ih->ih_arg = ih_arg; - ih->ih_level = level; - ih->ih_flags = flags; - ih->ih_irq = ivec; - - evcount_attach(&ih->ih_count, name, &ih->ih_irq); - - /* - * Append handler to end of list - */ - s = ppc_intr_disable(); - TAILQ_INSERT_TAIL(&iq->iq_list, ih, ih_list); - - /* Unmask the interrupt. */ - if (sc) - ipic_setipl(curcpu()->ci_cpl); - ppc_intr_enable(s); - - return (ih); -} - -void -ext_intr(void) -{ - struct cpu_info *ci = curcpu(); - struct ipic_softc *sc = ipic_sc; - struct intrhand *ih; - struct intrq *iq; - int pcpl; - int ivec; - - pcpl = ci->ci_cpl; - ivec = ipic_read(sc, IPIC_SIVCR) & 0x7f; - - iq = &ipic_handler[ivec]; - TAILQ_FOREACH(ih, &iq->iq_list, ih_list) { - if (ih->ih_level <= pcpl) { - panic("irq handler called at wrong level %d %d", - ih->ih_level, pcpl); - continue; - } - - ipic_splraise(ih->ih_level); - ppc_intr_enable(1); - - KERNEL_LOCK(); - if ((*ih->ih_fun)(ih->ih_arg)) - ih->ih_count.ec_count++; - KERNEL_UNLOCK(); - - ppc_intr_disable(); - } - - splx(pcpl); -} - -int -ipic_splraise(int newcpl) -{ - struct cpu_info *ci = curcpu(); - int ocpl = ci->ci_cpl; - int s; - - if (ocpl > newcpl) - newcpl = ocpl; - - s = ppc_intr_disable(); - ipic_setipl(newcpl); - ppc_intr_enable(s); - - return (ocpl); -} - -int -ipic_spllower(int newcpl) -{ - struct cpu_info *ci = curcpu(); - int ocpl = ci->ci_cpl; - - ipic_splx(newcpl); - - return (ocpl); -} - -void -ipic_splx(int newcpl) -{ - struct cpu_info *ci = curcpu(); - int intr, s; - - intr = ppc_intr_disable(); - ipic_setipl(newcpl); - if (newcpl < IPL_SOFTTTY && (ci->ci_ipending & ppc_smask[newcpl])) { - s = splsofttty(); - dosoftint(newcpl); - ipic_setipl(s); /* no-overhead splx */ - } - ppc_intr_enable(intr); -} - -/* Must be called with interrupt disable. */ -void -ipic_setipl(int ipl) -{ - struct cpu_info *ci = curcpu(); - struct ipic_softc *sc = ipic_sc; - uint32_t mask; - - ci->ci_cpl = ipl; - mask = sc->sc_simsr_h[IPL_HIGH] & ~sc->sc_simsr_h[ipl]; - ipic_write(sc, IPIC_SIMSR_H, mask); - mask = sc->sc_simsr_l[IPL_HIGH] & ~sc->sc_simsr_l[ipl]; - ipic_write(sc, IPIC_SIMSR_L, mask); - mask = sc->sc_semsr[IPL_HIGH] & ~sc->sc_semsr[ipl]; - ipic_write(sc, IPIC_SEMSR, mask); -} diff --git a/sys/arch/socppc/dev/obio.c b/sys/arch/socppc/dev/obio.c deleted file mode 100644 index 77b517208d0..00000000000 --- a/sys/arch/socppc/dev/obio.c +++ /dev/null @@ -1,101 +0,0 @@ -/* $OpenBSD: obio.c,v 1.6 2014/05/09 18:16:15 miod Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include - -#include - -#include - -int obio_match(struct device *, void *, void *); -void obio_attach(struct device *, struct device *, void *); - -struct cfattach obio_ca = { - sizeof(struct device), obio_match, obio_attach -}; - -struct cfdriver obio_cd = { - NULL, "obio", DV_DULL -}; - -int obio_print(void *, const char *); - -int -obio_match(struct device *parent, void *cfdata, void *aux) -{ - struct mainbus_attach_args *ma = aux; - char buf[32]; - - if (OF_getprop(ma->ma_node, "device_type", buf, sizeof(buf)) <= 0) - return (0); - - if (strcmp(buf, "soc") == 0) - return (1); - - return (0); -} - -void -obio_attach(struct device *parent, struct device *self, void *aux) -{ - struct mainbus_attach_args *ma = aux; - struct obio_attach_args oa; - char name[32]; - int node; - - printf("\n"); - - for (node = OF_child(ma->ma_node); node != 0; node = OF_peer(node)) { - int reg, ivec; - - if (OF_getprop(node, "name", name, sizeof(name)) <= 0) - continue; - - if (OF_getprop(node, "reg", ®, sizeof(reg)) <= 0) - reg = 0; - - if (OF_getprop(node, "interrupts", &ivec, sizeof(ivec)) <= 0) - ivec = -1; - - bzero(&oa, sizeof oa); - oa.oa_iot = ma->ma_iot; - oa.oa_dmat = ma->ma_dmat; - oa.oa_name = name; - oa.oa_node = node; - oa.oa_offset = reg; - oa.oa_ivec = ivec; - config_found(self, &oa, obio_print); - } -} - -int -obio_print(void *aux, const char *name) -{ - struct obio_attach_args *oa = aux; - - if (name) - printf("\"%s\" at %s", oa->oa_name, name); - if (oa->oa_offset) - printf(" offset 0x%05lx", oa->oa_offset); - if (oa->oa_ivec != -1) - printf(" ivec %d", oa->oa_ivec); - - return (UNCONF); -} diff --git a/sys/arch/socppc/dev/pciide_machdep.c b/sys/arch/socppc/dev/pciide_machdep.c deleted file mode 100644 index b9b3ab8a9c9..00000000000 --- a/sys/arch/socppc/dev/pciide_machdep.c +++ /dev/null @@ -1,40 +0,0 @@ -/* $OpenBSD: pciide_machdep.c,v 1.1 2008/05/10 12:02:20 kettenis Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include - -#include -#include -#include -#include - -#include - -void * -pciide_machdep_compat_intr_establish(struct device *dev, - struct pci_attach_args *pa, int chan, int (*func)(void *), void *arg) -{ - return (NULL); -} - -void -pciide_machdep_compat_intr_disestablish(pci_chipset_tag_t pc, void *cookie) -{ -} diff --git a/sys/arch/socppc/dev/sociic.c b/sys/arch/socppc/dev/sociic.c deleted file mode 100644 index 36d41c2dadd..00000000000 --- a/sys/arch/socppc/dev/sociic.c +++ /dev/null @@ -1,299 +0,0 @@ -/* $OpenBSD: sociic.c,v 1.2 2009/09/06 20:09:34 kettenis Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * Driver for the I2C interface on the MPC8349E processors. - */ - -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#define I2C_ADR 0x00 /* Address Register */ -#define I2C_FDR 0x04 /* Fequency Divider Register */ -#define I2C_CR 0x08 /* Control Register */ -#define I2C_CR_MEN 0x80 -#define I2C_CR_MIEN 0x40 -#define I2C_CR_MSTA 0x20 -#define I2C_CR_MTX 0x10 -#define I2C_CR_TXAK 0x08 -#define I2C_CR_RSTA 0x04 -#define I2C_CR_BCST 0x01 -#define I2C_SR 0x0c /* Status Register */ -#define I2C_SR_MCF 0x80 -#define I2C_SR_MAAS 0x40 -#define I2C_SR_MBB 0x20 -#define I2C_SR_MAL 0x10 -#define I2C_SR_BCSTM 0x08 -#define I2C_SR_SRW 0x04 -#define I2C_SR_MIF 0x02 -#define I2C_SR_RXAK 0x01 -#define I2C_DR 0x10 /* Data Register */ -#define I2C_DFSRR 0x14 /* Digital Filter Sampling Rate Register */ - -struct sociic_softc { - struct device sc_dev; - bus_space_tag_t sc_iot; - bus_space_handle_t sc_ioh; - - struct i2c_controller sc_i2c; - struct rwlock sc_lock; -}; - -int sociic_match(struct device *, void *, void *); -void sociic_attach(struct device *, struct device *, void *); - -struct cfattach sociic_ca = { - sizeof(struct sociic_softc), sociic_match, sociic_attach -}; - -struct cfdriver sociic_cd = { - NULL, "sociic", DV_DULL -}; - -void sociic_write(struct sociic_softc *, bus_addr_t, uint8_t); -uint8_t sociic_read(struct sociic_softc *, bus_addr_t); -int sociic_wait(struct sociic_softc *, int); -int sociic_wait_bus(struct sociic_softc *); -int sociic_i2c_acquire_bus(void *, int); -void sociic_i2c_release_bus(void *, int); -int sociic_i2c_exec(void *, i2c_op_t, i2c_addr_t, - const void *, size_t, void *, size_t, int); - -int -sociic_match(struct device *parent, void *cfdata, void *aux) -{ - struct obio_attach_args *oa = aux; - char buf[32]; - - if (OF_getprop(oa->oa_node, "compatible", buf, sizeof(buf)) <= 0 || - strcmp(buf, "fsl-i2c") != 0) - return (0); - - return (1); -} - -void -sociic_attach(struct device *parent, struct device *self, void *aux) -{ - struct sociic_softc *sc = (void *)self; - struct obio_attach_args *oa = aux; - struct i2cbus_attach_args iba; - - sc->sc_iot = oa->oa_iot; - if (bus_space_map(sc->sc_iot, oa->oa_offset, 24, 0, &sc->sc_ioh)) { - printf(": can't map registers\n"); - return; - } - - printf("\n"); - - rw_init(&sc->sc_lock, "iiclk"); - sc->sc_i2c.ic_cookie = sc; - sc->sc_i2c.ic_acquire_bus = sociic_i2c_acquire_bus; - sc->sc_i2c.ic_release_bus = sociic_i2c_release_bus; - sc->sc_i2c.ic_exec = sociic_i2c_exec; - - bzero(&iba, sizeof iba); - iba.iba_name = "iic"; - iba.iba_tag = &sc->sc_i2c; - config_found(&sc->sc_dev, &iba, iicbus_print); -} - -void -sociic_write(struct sociic_softc *sc, bus_addr_t addr, uint8_t data) -{ - bus_space_write_1(sc->sc_iot, sc->sc_ioh, addr, data); -} - -uint8_t -sociic_read(struct sociic_softc *sc, bus_addr_t addr) -{ - return (bus_space_read_1(sc->sc_iot, sc->sc_ioh, addr)); -} - -int -sociic_wait(struct sociic_softc *sc, int flags) -{ - uint8_t sr; - int i; - - for (i = 0; i < 1000; i++) { - sr = sociic_read(sc, I2C_SR); - if (sr & I2C_SR_MIF) { - sociic_write(sc, I2C_SR, 0); - - if (sr & I2C_SR_MAL) - return (EIO); - - if ((sr & I2C_SR_MCF) == 0) - return (EIO); - - if ((flags & I2C_F_READ) == 0 && (sr & I2C_SR_RXAK)) - return (EIO); - - return (0); - } - delay(100); - } - - return (ETIMEDOUT); -} - -int -sociic_wait_bus(struct sociic_softc *sc) -{ - uint8_t sr; - int i; - - for (i = 0; i < 1000; i++) { - sr = sociic_read(sc, I2C_SR); - if ((sr & I2C_SR_MBB) == 0) - return (0); - delay(1000); - } - - return (ETIMEDOUT); -} - -int -sociic_i2c_acquire_bus(void *arg, int flags) -{ - struct sociic_softc *sc = arg; - - if (cold || (flags & I2C_F_POLL)) - return (0); - - return (rw_enter(&sc->sc_lock, RW_WRITE | RW_INTR)); -} - -void -sociic_i2c_release_bus(void *arg, int flags) -{ - struct sociic_softc *sc = arg; - - if (cold || (flags & I2C_F_POLL)) - return; - - rw_exit(&sc->sc_lock); -} - -int -sociic_i2c_exec(void *arg, i2c_op_t op, i2c_addr_t addr, - const void *vcmdbuf, size_t cmdlen, void *vbuf, size_t buflen, int flags) -{ - struct sociic_softc *sc = arg; - const uint8_t *cmdbuf = vcmdbuf; - uint8_t *buf = vbuf; - int err = 0; - size_t len; - uint8_t val; - - /* Clear the bus. */ - sociic_write(sc, I2C_SR, 0); - sociic_write(sc, I2C_CR, I2C_CR_MEN); - err = sociic_wait_bus(sc); - if (err) - return (err); - - if (cmdlen > 0) { - sociic_write(sc, I2C_CR, I2C_CR_MEN|I2C_CR_MSTA|I2C_CR_MTX); - sociic_write(sc, I2C_DR, addr << 1); - err = sociic_wait(sc, I2C_F_WRITE); - if (err) - goto out; - - len = cmdlen; - while (len--) { - sociic_write(sc, I2C_DR, *cmdbuf++); - err = sociic_wait(sc, I2C_F_WRITE); - if (err) - goto out; - } - } - - if (I2C_OP_READ_P(op) && buflen > 0) { - /* RESTART if we did write a command above. */ - val = I2C_CR_MEN|I2C_CR_MSTA|I2C_CR_MTX; - if (cmdlen > 0) - val |= I2C_CR_RSTA; - sociic_write(sc, I2C_CR, val); - sociic_write(sc, I2C_DR, (addr << 1) | 1); - err = sociic_wait(sc, I2C_F_WRITE); - if (err) - goto out; - - /* NACK if we're only sending one byte. */ - val = I2C_CR_MEN|I2C_CR_MSTA; - if (buflen == 1) - val |= I2C_CR_TXAK; - sociic_write(sc, I2C_CR, val); - - /* Dummy read. */ - sociic_read(sc, I2C_DR); - - len = buflen; - while (len--) { - err = sociic_wait(sc, I2C_F_READ); - if (err) - goto out; - - /* NACK on last byte. */ - if (len == 1) - sociic_write(sc, I2C_CR, - I2C_CR_MEN|I2C_CR_MSTA|I2C_CR_TXAK); - /* STOP after last byte. */ - if (len == 0) - sociic_write(sc, I2C_CR, - I2C_CR_MEN|I2C_CR_TXAK); - *buf++ = sociic_read(sc, I2C_DR); - } - } - - if (I2C_OP_WRITE_P(op) && cmdlen == 0 && buflen > 0) { - /* START if we didn't write a command. */ - sociic_write(sc, I2C_CR, I2C_CR_MEN|I2C_CR_MSTA|I2C_CR_MTX); - sociic_write(sc, I2C_DR, addr << 1); - err = sociic_wait(sc, I2C_F_WRITE); - if (err) - goto out; - } - - if (I2C_OP_WRITE_P(op) && buflen > 0) { - len = buflen; - while (len--) { - sociic_write(sc, I2C_DR, *buf++); - err = sociic_wait(sc, I2C_F_WRITE); - if (err) - goto out; - } - } - -out: - /* STOP if we're still holding the bus. */ - sociic_write(sc, I2C_CR, I2C_CR_MEN); - return (err); -} diff --git a/sys/arch/socppc/dev/socpcic.c b/sys/arch/socppc/dev/socpcic.c deleted file mode 100644 index ad319baa25e..00000000000 --- a/sys/arch/socppc/dev/socpcic.c +++ /dev/null @@ -1,441 +0,0 @@ -/* $OpenBSD: socpcic.c,v 1.10 2016/01/21 08:03:08 jsg Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include - -#include -#include - -#include -#include - -#include -#include -#include - -struct socpcic_softc { - struct device sc_dev; - - int sc_node; - - bus_space_tag_t sc_iot; - bus_space_handle_t sc_cfg_ioh; - struct ppc_bus_space sc_mem_bus_space; - struct ppc_bus_space sc_io_bus_space; - bus_dma_tag_t sc_dmat; - struct ppc_pci_chipset sc_pc; - - /* Interrupt mapping. */ - int sc_map_mask[4]; - int *sc_map; - int sc_map_len; - - /* Addres space. */ - uint32_t *sc_ranges; - int sc_ranges_len; -}; - -int socpcic_mainbus_match(struct device *, void *, void *); -void socpcic_mainbus_attach(struct device *, struct device *, void *); -int socpcic_obio_match(struct device *, void *, void *); -void socpcic_obio_attach(struct device *, struct device *, void *); - -struct cfattach socpcic_mainbus_ca = { - sizeof(struct socpcic_softc), - socpcic_mainbus_match, socpcic_mainbus_attach -}; - -struct cfattach socpcic_obio_ca = { - sizeof(struct socpcic_softc), - socpcic_obio_match, socpcic_obio_attach -}; - -struct cfdriver socpcic_cd = { - NULL, "socpcic", DV_DULL -}; - -void socpcic_attach(struct socpcic_softc *sc); -void socpcic_attach_hook(struct device *, struct device *, - struct pcibus_attach_args *); -int socpcic_bus_maxdevs(void *, int); -pcitag_t socpcic_make_tag(void *, int, int, int); -void socpcic_decompose_tag(void *, pcitag_t, int *, int *, int *); -int socpcic_conf_size(void *, pcitag_t); -pcireg_t socpcic_conf_read(void *, pcitag_t, int); -void socpcic_conf_write(void *, pcitag_t, int, pcireg_t); -int socpcic_intr_map(void *, pcitag_t, int, int, pci_intr_handle_t *); -const char *socpcic_intr_string(void *, pci_intr_handle_t); -int socpcic_intr_line(void *, pci_intr_handle_t); -void *socpcic_intr_establish(void *, pci_intr_handle_t, int, - int (*)(void *), void *, const char *); -void socpcic_intr_disestablish(void *, void *); -int socpcic_ether_hw_addr(struct ppc_pci_chipset *, u_int8_t *); - -int socpcic_print(void *, const char *); - -int -socpcic_mainbus_match(struct device *parent, void *cfdata, void *aux) -{ - struct mainbus_attach_args *ma = aux; - char buf[32]; - - if (OF_getprop(ma->ma_node, "device_type", buf, sizeof(buf)) <= 0 || - strcmp(buf, "pci") != 0) - return (0); - - if (OF_getprop(ma->ma_node, "compatible", buf, sizeof(buf)) <= 0 || - strcmp(buf, "fsl,mpc8349-pci") != 0) - return (0); - - return (1); -} - -void -socpcic_mainbus_attach(struct device *parent, struct device *self, void *aux) -{ - struct socpcic_softc *sc = (void *)self; - struct mainbus_attach_args *ma = aux; - int reg[4]; - - if (OF_getprop(ma->ma_node, "reg", ®, sizeof(reg)) < sizeof(reg)) { - printf(": missing registers\n"); - return; - } - - sc->sc_iot = ma->ma_iot; - if (bus_space_map(sc->sc_iot, reg[2], 16, 0, &sc->sc_cfg_ioh)) { - printf(": can't map configuration registers\n"); - return; - } - - sc->sc_node = ma->ma_node; - sc->sc_dmat = ma->ma_dmat; - socpcic_attach(sc); -} - -int -socpcic_obio_match(struct device *parent, void *cfdata, void *aux) -{ - struct obio_attach_args *oa = aux; - char buf[32]; - - if (OF_getprop(oa->oa_node, "device_type", buf, sizeof(buf)) <= 0 || - strcmp(buf, "pci") != 0) - return (0); - - if (OF_getprop(oa->oa_node, "compatible", buf, sizeof(buf)) <= 0 || - strcmp(buf, "83xx") != 0) - return (0); - - return (1); -} - -void -socpcic_obio_attach(struct device *parent, struct device *self, void *aux) -{ - struct socpcic_softc *sc = (void *)self; - struct obio_attach_args *oa = aux; - - if (oa->oa_offset == 0x8500) - oa->oa_offset = 0x8300; - - sc->sc_iot = oa->oa_iot; - if (bus_space_map(sc->sc_iot, oa->oa_offset, 16, 0, &sc->sc_cfg_ioh)) { - printf(": can't map configuration registers\n"); - return; - } - - sc->sc_node = oa->oa_node; - sc->sc_dmat = oa->oa_dmat; - socpcic_attach(sc); -} - -void -socpcic_attach(struct socpcic_softc *sc) -{ - struct pcibus_attach_args pba; - struct extent *io_ex; - struct extent *mem_ex; - bus_addr_t io_base, mem_base; - bus_size_t io_size, mem_size; - uint32_t *ranges; - int len; - - if (OF_getprop(sc->sc_node, "interrupt-map-mask", sc->sc_map_mask, - sizeof(sc->sc_map_mask)) != sizeof(sc->sc_map_mask)) { - printf(": missing interrupt-map-mask\n"); - return; - } - - sc->sc_map_len = OF_getproplen(sc->sc_node, "interrupt-map"); - if (sc->sc_map_len > 0) { - sc->sc_map = malloc(sc->sc_map_len, M_DEVBUF, M_NOWAIT); - if (sc->sc_map == NULL) - panic("out of memory"); - - len = OF_getprop(sc->sc_node, "interrupt-map", - sc->sc_map, sc->sc_map_len); - KASSERT(len == sc->sc_map_len); - } - - sc->sc_ranges_len = OF_getproplen(sc->sc_node, "ranges"); - if (sc->sc_ranges_len <= 0) { - printf(": missing ranges\n"); - return; - } - - sc->sc_ranges = malloc(sc->sc_ranges_len, M_DEVBUF, M_NOWAIT); - if (sc->sc_ranges == NULL) - panic("out of memory"); - - len = OF_getprop(sc->sc_node, "ranges", sc->sc_ranges, - sc->sc_ranges_len); - KASSERT(len == sc->sc_ranges_len); - - ranges = sc->sc_ranges; - while (len >= 6 * sizeof(uint32_t)) { - switch (ranges[0] & OFW_PCI_PHYS_HI_SPACEMASK) { - case OFW_PCI_PHYS_HI_SPACE_IO: - KASSERT(ranges[1] == 0); - KASSERT(ranges[4] == 0); - sc->sc_io_bus_space.bus_base = ranges[3]; - sc->sc_io_bus_space.bus_size = ranges[5]; - sc->sc_io_bus_space.bus_io = 1; - io_base = ranges[2]; - io_size = ranges[5]; - break; - case OFW_PCI_PHYS_HI_SPACE_MEM32: - KASSERT(ranges[1] == 0); - KASSERT(ranges[4] == 0); - sc->sc_mem_bus_space.bus_base = ranges[3]; - sc->sc_mem_bus_space.bus_size = ranges[5]; - sc->sc_mem_bus_space.bus_io = 0; - mem_base = ranges[2]; - mem_size = ranges[5]; - break; - } - len -= 6 * sizeof(uint32_t); - ranges += 6; - } - - sc->sc_pc.pc_conf_v = sc; - sc->sc_pc.pc_attach_hook = socpcic_attach_hook; - sc->sc_pc.pc_bus_maxdevs = socpcic_bus_maxdevs; - sc->sc_pc.pc_make_tag = socpcic_make_tag; - sc->sc_pc.pc_decompose_tag = socpcic_decompose_tag; - sc->sc_pc.pc_conf_size = socpcic_conf_size; - sc->sc_pc.pc_conf_read = socpcic_conf_read; - sc->sc_pc.pc_conf_write = socpcic_conf_write; - - sc->sc_pc.pc_intr_v = sc; - sc->sc_pc.pc_intr_map = socpcic_intr_map; - sc->sc_pc.pc_intr_string = socpcic_intr_string; - sc->sc_pc.pc_intr_line = socpcic_intr_line; - sc->sc_pc.pc_intr_establish = socpcic_intr_establish; - sc->sc_pc.pc_intr_disestablish = socpcic_intr_disestablish; - sc->sc_pc.pc_ether_hw_addr = socpcic_ether_hw_addr; - - io_ex = extent_create("pciio", 0, 0xffffffff, M_DEVBUF, NULL, 0, - EX_NOWAIT | EX_FILLED); - if (io_ex != NULL && io_size) - extent_free(io_ex, io_base, io_size, EX_NOWAIT); - mem_ex = extent_create("pcimem", 0, 0xffffffff, M_DEVBUF, NULL, 0, - EX_NOWAIT | EX_FILLED); - if (mem_ex != NULL) - extent_free(mem_ex, mem_base, mem_size, EX_NOWAIT); - - bzero(&pba, sizeof(pba)); - pba.pba_busname = "pci"; - pba.pba_iot = &sc->sc_io_bus_space; - pba.pba_memt = &sc->sc_mem_bus_space; - pba.pba_dmat = sc->sc_dmat; - pba.pba_ioex = io_ex; - pba.pba_memex = mem_ex; - pba.pba_pc = &sc->sc_pc; - pba.pba_domain = pci_ndomains++; - pba.pba_bus = 0; - - printf("\n"); - - config_found((struct device *)sc, &pba, socpcic_print); -} - -void -socpcic_attach_hook(struct device *parent, struct device *self, - struct pcibus_attach_args *pba) -{ -} - -int -socpcic_bus_maxdevs(void *cpv, int bus) -{ - return (32); -} - -pcitag_t -socpcic_make_tag(void *cpv, int bus, int dev, int fun) -{ - return ((bus << 16) | (dev << 11) | (fun << 8)); -} - -void -socpcic_decompose_tag(void *cpv, pcitag_t tag, int *busp, int *devp, int *funp) -{ - if (busp) - *busp = (tag >> 16) & 0xff; - if (devp) - *devp = (tag >> 11) & 0x1f; - if (funp) - *funp = (tag >> 8) & 0x7; -} - -int -socpcic_conf_size(void *cpv, pcitag_t tag) -{ - return PCI_CONFIG_SPACE_SIZE; -} - -pcireg_t -socpcic_conf_read(void *cpv, pcitag_t tag, int offset) -{ - struct socpcic_softc *sc = cpv; - int bus, dev, fun; - pcireg_t addr, data; - - socpcic_decompose_tag(sc, tag, &bus, &dev, &fun); - if (bus == 0) { - if (dev > 0 && dev < 11) - return (0xffffffff); - if (dev == 31) - tag = (10 << 11) | (fun << 8); - } - - addr = 0x80000000 | tag | offset; - bus_space_write_4(sc->sc_iot, sc->sc_cfg_ioh, 0, addr); - bus_space_read_4(sc->sc_iot, sc->sc_cfg_ioh, 0); - data = bus_space_read_4(sc->sc_iot, sc->sc_cfg_ioh, 4); - bus_space_write_4(sc->sc_iot, sc->sc_cfg_ioh, 0, 0); - bus_space_read_4(sc->sc_iot, sc->sc_cfg_ioh, 0); - - return (data); -} - -void -socpcic_conf_write(void *cpv, pcitag_t tag, int offset, pcireg_t data) -{ - struct socpcic_softc *sc = cpv; - int bus, dev, fun; - pcireg_t addr; - - socpcic_decompose_tag(sc, tag, &bus, &dev, &fun); - if (bus == 0) { - if (dev > 0 && dev < 11) - return; - if (dev == 31) - tag = (10 << 11) | (fun << 8); - } - - addr = 0x80000000 | tag | offset; - bus_space_write_4(sc->sc_iot, sc->sc_cfg_ioh, 0, addr); - bus_space_read_4(sc->sc_iot, sc->sc_cfg_ioh, 0); - bus_space_write_4(sc->sc_iot, sc->sc_cfg_ioh, 4, data); - bus_space_write_4(sc->sc_iot, sc->sc_cfg_ioh, 0, 0); - bus_space_read_4(sc->sc_iot, sc->sc_cfg_ioh, 0); -} - -int -socpcic_intr_map(void *cpv, pcitag_t tag, int pin, int line, - pci_intr_handle_t *ihp) -{ - struct socpcic_softc *sc = cpv; - int bus, dev, func; - int reg[4]; - int *map; - int len; - - pci_decompose_tag(&sc->sc_pc, tag, &bus, &dev, &func); - - reg[0] = (dev << 11) | (func << 8); - reg[1] = reg[2] = 0; - reg[3] = pin; - - map = sc->sc_map; - len = sc->sc_map_len; - while (len >= 7 * sizeof(int)) { - if ((reg[0] & sc->sc_map_mask[0]) == map[0] && - (reg[1] & sc->sc_map_mask[1]) == map[1] && - (reg[2] & sc->sc_map_mask[2]) == map[2] && - (reg[3] & sc->sc_map_mask[3]) == map[3]) { - *ihp = map[5]; - return (0); - } - len -= 7 * sizeof(int); - map += 7; - } - - return (1); -} - -const char * -socpcic_intr_string(void *cpv, pci_intr_handle_t ih) -{ - static char str[16]; - - snprintf(str, sizeof str, "ivec %ld", ih); - return (str); -} - -int -socpcic_intr_line(void *cpv, pci_intr_handle_t ih) -{ - return (ih); -} - -void * -socpcic_intr_establish(void *cpv, pci_intr_handle_t ih, int level, - int (*func)(void *), void *arg, const char *name) -{ - return (intr_establish(ih, IST_LEVEL, level, func, arg, name)); -} - -void -socpcic_intr_disestablish(void *lcv, void *cookie) -{ -} - -int -socpcic_ether_hw_addr(struct ppc_pci_chipset *lcpc, u_int8_t *oaddr) -{ - oaddr[0] = oaddr[1] = oaddr[2] = 0xff; - oaddr[3] = oaddr[4] = oaddr[5] = 0xff; - - return (0); -} - -int -socpcic_print(void *aux, const char *pnp) -{ - struct pcibus_attach_args *pba = aux; - - if (pnp) - printf("%s at %s", pba->pba_busname, pnp); - printf(" bus %d", pba->pba_bus); - return (UNCONF); -} diff --git a/sys/arch/socppc/dev/wdc_mainbus.c b/sys/arch/socppc/dev/wdc_mainbus.c deleted file mode 100644 index dfe3470ed37..00000000000 --- a/sys/arch/socppc/dev/wdc_mainbus.c +++ /dev/null @@ -1,178 +0,0 @@ -/* $OpenBSD: wdc_mainbus.c,v 1.2 2011/05/09 22:33:54 matthew Exp $ */ - -/* - * Copyright (c) 2009 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -/* - * Driver for Compact Flash interface on the local bus of a PowerQUICC - * MPC8343E processor as found on the RouterBOARD 600. - */ - -#include -#include -#include -#include - -#include - -#include - -#include -#include - -struct wdc_mainbus_softc { - struct wdc_softc sc_wdcdev; - struct channel_softc *sc_chanptr; - struct channel_softc sc_channel; - - void *sc_ih; -}; - -int wdc_mainbus_match(struct device *, void *, void *); -void wdc_mainbus_attach(struct device *, struct device *, void *); - -struct cfattach wdc_mainbus_ca = { - sizeof(struct wdc_mainbus_softc), wdc_mainbus_match, wdc_mainbus_attach -}; - -/* - * The CF slots on the RouterBOARD 600 are wired up in a completely - * retarded way. Instead of using the obvious address lines it uses - * LAD[11:15], which means we need to waste more than 0.5 MB of - * address space to map 10 8-bit registers. - */ -#define WDC_MAINBUS_REG_NPORTS WDC_NREG -#define WDC_MAINBUS_REG_SIZE (WDC_MAINBUS_REG_NPORTS << 16) -#define WDC_MAINBUS_REG_OFFSET (8 << 17) -#define WDC_MAINBUS_AUXREG_NPORTS 2 -#define WDC_MAINBUS_AUXREG_SIZE (WDC_MAINBUS_AUXREG_NPORTS << 16) -#define WDC_MAINBUS_AUXREG_OFFSET (6 << 16) - -u_int8_t wdc_mainbus_read_reg(struct channel_softc *chp, enum wdc_regs reg); -void wdc_mainbus_write_reg(struct channel_softc *chp, enum wdc_regs reg, - u_int8_t val); - -struct channel_softc_vtbl wdc_mainbus_vtbl = { - wdc_mainbus_read_reg, - wdc_mainbus_write_reg, - wdc_default_lba48_write_reg, - wdc_default_read_raw_multi_2, - wdc_default_write_raw_multi_2, - wdc_default_read_raw_multi_4, - wdc_default_write_raw_multi_4 -}; - -int -wdc_mainbus_match(struct device *parent, void *cfdata, void *aux) -{ - struct mainbus_attach_args *ma = aux; - char buf[32]; - - if (OF_getprop(ma->ma_node, "device_type", buf, sizeof(buf)) <= 0 || - strcmp(buf, "rb,cf") != 0) - return (0); - - return (1); -} - -void -wdc_mainbus_attach(struct device *parent, struct device *self, void *aux) -{ - struct wdc_mainbus_softc *sc = (void *)self; - struct mainbus_attach_args *ma = aux; - struct channel_softc *chp = &sc->sc_channel; - int reg[2]; - int ivec; - - if (OF_getprop(ma->ma_node, "reg", ®, sizeof(reg)) < sizeof(reg)) { - printf(": missing registers\n"); - return; - } - - if (OF_getprop(ma->ma_node, "interrupts", &ivec, sizeof(ivec)) <= 0) { - printf(": missing interrupts\n"); - return; - } - - chp->cmd_iot = chp->ctl_iot = ma->ma_iot; - chp->_vtbl = &wdc_mainbus_vtbl; - - if (bus_space_map(chp->cmd_iot, reg[0] + WDC_MAINBUS_REG_OFFSET, - WDC_MAINBUS_REG_SIZE, 0, &chp->cmd_ioh)) { - printf(": can't map registers\n"); - return; - } - if (bus_space_map(chp->ctl_iot, reg[0] + WDC_MAINBUS_AUXREG_OFFSET, - WDC_MAINBUS_AUXREG_SIZE, 0, &chp->ctl_ioh)) { - printf(": can't map registers\n"); - return; - } - - sc->sc_ih = intr_establish(ivec, IST_LEVEL, IPL_BIO, wdcintr, - chp, self->dv_xname); - - sc->sc_wdcdev.cap |= WDC_CAPABILITY_DATA16 | WDC_CAPABILITY_PREATA; - sc->sc_wdcdev.PIO_cap = 0; - sc->sc_chanptr = chp; - sc->sc_wdcdev.channels = &sc->sc_chanptr; - sc->sc_wdcdev.nchannels = 1; - chp->channel = 0; - chp->wdc = &sc->sc_wdcdev; - - chp->ch_queue = wdc_alloc_queue(); - if (chp->ch_queue == NULL) { - printf("%s: cannot allocate channel queue\n", - self->dv_xname); - /* XXX disestablish interrupt */ - return; - } - - printf("\n"); - - wdcattach(chp); - wdc_print_current_modes(chp); -} - -u_int8_t -wdc_mainbus_read_reg(struct channel_softc *chp, enum wdc_regs reg) -{ - uint8_t val; - - if (reg & _WDC_AUX) { - val = bus_space_read_1(chp->ctl_iot, chp->ctl_ioh, - (reg & _WDC_REGMASK) << 16); - if (val == 0xf9 && reg == wdr_altsts) - val = 0x7f; - } else { - val = bus_space_read_1(chp->cmd_iot, chp->cmd_ioh, - (reg & _WDC_REGMASK) << 16); - if (val == 0xf9 && reg == wdr_status) - val = 0x7f; - } - return val; -} - -void -wdc_mainbus_write_reg(struct channel_softc *chp, enum wdc_regs reg, - u_int8_t val) -{ - if (reg & _WDC_AUX) - bus_space_write_1(chp->ctl_iot, chp->ctl_ioh, - (reg & _WDC_REGMASK) << 16, val); - else - bus_space_write_1(chp->cmd_iot, chp->cmd_ioh, - (reg & _WDC_REGMASK) << 16, val); -} diff --git a/sys/arch/socppc/include/_float.h b/sys/arch/socppc/include/_float.h deleted file mode 100644 index 738251a5922..00000000000 --- a/sys/arch/socppc/include/_float.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: _float.h,v 1.1 2012/06/26 16:12:44 deraadt Exp $ */ - -#include diff --git a/sys/arch/socppc/include/_types.h b/sys/arch/socppc/include/_types.h deleted file mode 100644 index f6f4ea673a5..00000000000 --- a/sys/arch/socppc/include/_types.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: _types.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/asm.h b/sys/arch/socppc/include/asm.h deleted file mode 100644 index 35852110f54..00000000000 --- a/sys/arch/socppc/include/asm.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: asm.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/atomic.h b/sys/arch/socppc/include/atomic.h deleted file mode 100644 index 1dbd296cee4..00000000000 --- a/sys/arch/socppc/include/atomic.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: atomic.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/autoconf.h b/sys/arch/socppc/include/autoconf.h deleted file mode 100644 index 174661e6498..00000000000 --- a/sys/arch/socppc/include/autoconf.h +++ /dev/null @@ -1,45 +0,0 @@ -/* $OpenBSD: autoconf.h,v 1.5 2013/04/23 19:35:52 deraadt Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#ifndef _MACHINE_AUTOCONF_H_ -#define _MACHINE_AUTOCONF_H_ - -#include - -struct mainbus_attach_args { - bus_space_tag_t ma_iot; - bus_dma_tag_t ma_dmat; - char *ma_name; - int ma_node; -}; - -struct obio_attach_args { - bus_space_tag_t oa_iot; - bus_dma_tag_t oa_dmat; - bus_addr_t oa_offset; - int oa_ivec; - int oa_phy; - char *oa_name; - int oa_node; -}; - -#define cf_offset cf_loc[0] -#define cf_ivec cf_loc[1] -#define cf_phy cf_loc[2] - -#endif /* _MACHINE_AUTOCONF_H_ */ diff --git a/sys/arch/socppc/include/bus.h b/sys/arch/socppc/include/bus.h deleted file mode 100644 index dcfc46f23f0..00000000000 --- a/sys/arch/socppc/include/bus.h +++ /dev/null @@ -1,617 +0,0 @@ -/* $OpenBSD: bus.h,v 1.12 2017/05/08 00:27:45 dlg Exp $ */ - -/* - * Copyright (c) 1997 Per Fogelstrom. All rights reserved. - * Copyright (c) 1996 Niklas Hallqvist. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MACHINE_BUS_H_ -#define _MACHINE_BUS_H_ - -#include - -#ifdef __STDC__ -#define CAT(a,b) a##b -#define CAT3(a,b,c) a##b##c -#else -#define CAT(a,b) a/**/b -#define CAT3(a,b,c) a/**/b/**/c -#endif - -/* - * Bus access types. - */ -typedef u_long bus_addr_t; -typedef u_long bus_size_t; -typedef u_long bus_space_handle_t; -typedef struct ppc_bus_space *bus_space_tag_t; - -struct ppc_bus_space { - u_int32_t bus_base; - u_int32_t bus_size; - u_int8_t bus_io; /* IO or memory */ -}; -#define POWERPC_BUS_TAG_BASE(x) ((x)->bus_base) - -extern struct ppc_bus_space ppc_isa_io, ppc_isa_mem; - -/* - * Access methods for bus resources - */ -int bus_space_map(bus_space_tag_t t, bus_addr_t addr, - bus_size_t size, int flags, bus_space_handle_t *bshp); -void bus_space_unmap(bus_space_tag_t t, bus_space_handle_t bsh, - bus_size_t size); -int bus_space_subregion(bus_space_tag_t t, bus_space_handle_t bsh, - bus_size_t offset, bus_size_t size, bus_space_handle_t *nbshp); -int bus_space_alloc(bus_space_tag_t tag, bus_addr_t rstart, - bus_addr_t rend, bus_size_t size, bus_size_t alignment, - bus_size_t boundary, int flags, bus_addr_t *addrp, - bus_space_handle_t *handlep); -void bus_space_free(bus_space_tag_t tag, bus_space_handle_t handle, - bus_size_t size); -paddr_t bus_space_mmap(bus_space_tag_t, bus_addr_t, off_t, int, int); - -#define BUS_SPACE_MAP_CACHEABLE 0x01 -#define BUS_SPACE_MAP_LINEAR 0x02 -#define BUS_SPACE_MAP_PREFETCHABLE 0x04 - -/* - * void *bus_space_vaddr(bus_space_tag_t, bus_space_handle_t); - * - * Get the kernel virtual address for the mapped bus space. - * Only allowed for regions mapped with BUS_SPACE_MAP_LINEAR. - */ -#define bus_space_vaddr(t, h) ((void *)(h)) - -#define bus_space_read(n,m) \ -static __inline CAT3(u_int,m,_t) \ -CAT(bus_space_read_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \ - bus_addr_t ba) \ -{ \ - return CAT3(in,m,rb)((volatile CAT3(u_int,m,_t) *)(bsh + (ba))); \ -} - -bus_space_read(1,8) -bus_space_read(2,16) -bus_space_read(4,32) - -#define bus_space_read_8 !!! bus_space_read_8 unimplemented !!! - -#define bus_space_write(n,m) \ -static __inline void \ -CAT(bus_space_write_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \ - bus_addr_t ba, CAT3(u_int,m,_t) x) \ -{ \ - CAT3(out,m,rb)((volatile CAT3(u_int,m,_t) *)(bsh + (ba)), x); \ -} - -bus_space_write(1,8) -bus_space_write(2,16) -bus_space_write(4,32) - -#define bus_space_write_8 !!! bus_space_write_8 unimplemented !!! - -#define bus_space_read_multi(n, m) \ -static __inline void \ -CAT(bus_space_read_multi_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \ - bus_size_t ba, CAT3(u_int,m,_t) *buf, bus_size_t cnt) \ -{ \ - while (cnt--) \ - *buf++ = CAT(bus_space_read_,n)(bst, bsh, ba); \ -} - -bus_space_read_multi(1,8) -bus_space_read_multi(2,16) -bus_space_read_multi(4,32) - -#define bus_space_read_multi_8 !!! bus_space_read_multi_8 not implemented !!! - - -#define bus_space_write_multi_8 !!! bus_space_write_multi_8 not implemented !!! - -#define bus_space_write_multi(n, m) \ -static __inline void \ -CAT(bus_space_write_multi_,n)(bus_space_tag_t bst, bus_space_handle_t bsh, \ - bus_size_t ba, const CAT3(u_int,m,_t) *buf, bus_size_t cnt) \ -{ \ - while (cnt--) \ - CAT(bus_space_write_,n)(bst, bsh, ba, *buf++); \ -} - -bus_space_write_multi(1,8) -bus_space_write_multi(2,16) -bus_space_write_multi(4,32) - -#define bus_space_write_multi_8 !!! bus_space_write_multi_8 not implemented !!! - -/* - * void bus_space_read_region_N(bus_space_tag_t tag, - * bus_space_handle_t bsh, bus_size_t offset, - * u_intN_t *addr, size_t count); - * - * Read `count' 1, 2, 4, or 8 byte quantities from bus space - * described by tag/handle and starting at `offset' and copy into - * buffer provided. - */ -#define __BA(t, h, o) ((void *)((h) + (o))) - -static __inline void -bus_space_read_region_1(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, u_int8_t *addr, size_t count) -{ - volatile u_int8_t *s = __BA(tag, bsh, offset); - - while (count--) - *addr++ = *s++; - __asm volatile("eieio; sync"); -} - -static __inline void -bus_space_read_region_2(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, u_int16_t *addr, size_t count) -{ - volatile u_int16_t *s = __BA(tag, bsh, offset); - - while (count--) - __asm volatile("lhbrx %0, 0, %1" : - "=r"(*addr++) : "r"(s++)); - __asm volatile("eieio; sync"); -} - -static __inline void -bus_space_read_region_4(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, u_int32_t *addr, size_t count) -{ - volatile u_int32_t *s = __BA(tag, bsh, offset); - - while (count--) - __asm volatile("lwbrx %0, 0, %1" : - "=r"(*addr++) : "r"(s++)); - __asm volatile("eieio; sync"); -} - -#if 0 /* Cause a link error for bus_space_read_region_8 */ -#define bus_space_read_region_8 !!! unimplemented !!! -#endif - - -/* - * void bus_space_write_region_N(bus_space_tag_t tag, - * bus_space_handle_t bsh, bus_size_t offset, - * const u_intN_t *addr, size_t count); - * - * Write `count' 1, 2, 4, or 8 byte quantities from the buffer provided - * to bus space described by tag/handle starting at `offset'. - */ - -static __inline void -bus_space_write_region_1(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, const u_int8_t *addr, size_t count) -{ - volatile u_int8_t *d = __BA(tag, bsh, offset); - - while (count--) - *d++ = *addr++; - __asm volatile("eieio; sync"); -} - -static __inline void -bus_space_write_region_2(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, const u_int16_t *addr, size_t count) -{ - volatile u_int16_t *d = __BA(tag, bsh, offset); - - while (count--) - __asm volatile("sthbrx %0, 0, %1" :: - "r"(*addr++), "r"(d++)); - __asm volatile("eieio; sync"); -} - -static __inline void -bus_space_write_region_4(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, const u_int32_t *addr, size_t count) -{ - volatile u_int32_t *d = __BA(tag, bsh, offset); - - while (count--) - __asm volatile("stwbrx %0, 0, %1" :: - "r"(*addr++), "r"(d++)); - __asm volatile("eieio; sync"); -} - -#if 0 -#define bus_space_write_region_8 !!! bus_space_write_region_8 unimplemented !!! -#endif - -/* - * void bus_space_read_raw_region_N(bus_space_tag_t tag, - * bus_space_handle_t bsh, bus_size_t offset, - * u_intN_t *addr, size_t count); - * - * Read `count' bytes from bus space described by tag/handle and starting - * at `offset' and copy into buffer provided w/o bus-host byte swapping. - */ - -static __inline void -bus_space_read_raw_region_2(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, u_int8_t *addr, size_t count) -{ - volatile u_int16_t *s = __BA(tag, bsh, offset); - u_int16_t *laddr = (void *)addr; - - count = count >> 1; - - while (count--) - *laddr++ = *s++; - __asm volatile("eieio; sync"); -} - -static __inline void -bus_space_read_raw_region_4(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, u_int8_t *addr, size_t count) -{ - volatile u_int32_t *s = __BA(tag, bsh, offset); - u_int32_t *laddr = (void *)addr; - - count = count >> 2; - - while (count--) - *laddr++ = *s++; - __asm volatile("eieio; sync"); -} - -#if 0 /* Cause a link error for bus_space_read_raw_region_8 */ -#define bus_space_read_raw_region_8 \ - !!! bus_space_read_raw_region_8 unimplemented !!! -#endif - - -/* - * void bus_space_write_raw_region_N(bus_space_tag_t tag, - * bus_space_handle_t bsh, bus_size_t offset, - * const u_intN_t *addr, size_t count); - * - * Write `count' bytes from the buffer provided to bus space described - * by tag/handle starting at `offset' w/o host-bus byte swapping. - */ - -static __inline void -bus_space_write_raw_region_2(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, const u_int8_t *addr, size_t count) -{ - volatile u_int16_t *d = __BA(tag, bsh, offset); - const u_int16_t *laddr = (void *)addr; - - count = count >> 1; - - while (count--) - *d++ = *laddr++; - __asm volatile("eieio; sync"); -} - -static __inline void -bus_space_write_raw_region_4(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, const u_int8_t *addr, size_t count) -{ - volatile u_int32_t *d = __BA(tag, bsh, offset); - const u_int32_t *laddr = (void *)addr; - - count = count >> 2; - - while (count--) - *d++ = *laddr++; - __asm volatile("eieio; sync"); -} - -#if 0 -#define bus_space_write_raw_region_8 \ - !!! bus_space_write_raw_region_8 unimplemented !!! -#endif - -/* - * void bus_space_set_multi_N(bus_space_tag_t tag, - * bus_space_handle_t bsh, bus_size_t offset, u_intN_t val, - * size_t count); - * - * Write the 1, 2, 4, or 8 byte value `val' to bus space described - * by tag/handle/offset `count' times. - */ -static __inline void bus_space_set_multi_1(bus_space_tag_t, - bus_space_handle_t, bus_size_t, u_int8_t, size_t); -static __inline void bus_space_set_multi_2(bus_space_tag_t, - bus_space_handle_t, bus_size_t, u_int16_t, size_t); -static __inline void bus_space_set_multi_4(bus_space_tag_t, - bus_space_handle_t, bus_size_t, u_int32_t, size_t); - -static __inline void -bus_space_set_multi_1(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, u_int8_t val, size_t count) -{ - volatile u_int8_t *d = __BA(tag, bsh, offset); - - while (count--) - *d = val; - __asm__ volatile("eieio; sync"); -} - -static __inline void -bus_space_set_multi_2(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, u_int16_t val, size_t count) -{ - volatile u_int16_t *d = __BA(tag, bsh, offset); - - while (count--) - __asm__ volatile("sthbrx %0, 0, %1" :: - "r"(val), "r"(d)); - __asm__ volatile("eieio; sync"); -} - -static __inline void -bus_space_set_multi_4(bus_space_tag_t tag, bus_space_handle_t bsh, - bus_size_t offset, u_int32_t val, size_t count) -{ - volatile u_int32_t *d = __BA(tag, bsh, offset); - - while (count--) - __asm__ volatile("stwbrx %0, 0, %1" :: - "r"(val), "r"(d)); - __asm__ volatile("eieio; sync"); -} - -#define bus_space_set_multi_8 !!! bus_space_set_multi_8 unimplemented !!! - -/* These are OpenBSD extensions to the general NetBSD bus interface. */ -void -bus_space_read_raw_multi_2(bus_space_tag_t bst, bus_space_handle_t bsh, - bus_addr_t ba, u_int8_t *dst, bus_size_t size); -void -bus_space_read_raw_multi_4(bus_space_tag_t bst, bus_space_handle_t bsh, - bus_addr_t ba, u_int8_t *dst, bus_size_t size); -#define bus_space_read_raw_multi_8 \ - !!! bus_space_read_raw_multi_8 not implemented !!! - -void -bus_space_write_raw_multi_2(bus_space_tag_t bst, bus_space_handle_t bsh, - bus_addr_t ba, const u_int8_t *src, bus_size_t size); -void -bus_space_write_raw_multi_4(bus_space_tag_t bst, bus_space_handle_t bsh, - bus_addr_t ba, const u_int8_t *src, bus_size_t size); -#define bus_space_write_raw_multi_8 \ - !!! bus_space_write_raw_multi_8 not implemented !!! - -void -bus_space_set_region_1(bus_space_tag_t bst, bus_space_handle_t h, bus_size_t o, - u_int8_t val, bus_size_t c); -void -bus_space_set_region_2(bus_space_tag_t bst, bus_space_handle_t h, bus_size_t o, - u_int16_t val, bus_size_t c); -void -bus_space_set_region_4(bus_space_tag_t bst, bus_space_handle_t h, bus_size_t o, - u_int32_t val, bus_size_t c); -#define bus_space_set_region_8 \ - !!! bus_space_set_region_8 not implemented !!! - -void -bus_space_copy_1(void *v, bus_space_handle_t h1, bus_space_handle_t h2, - bus_size_t o1, bus_size_t o2, bus_size_t c); -void -bus_space_copy_2(void *v, bus_space_handle_t h1, bus_space_handle_t h2, - bus_size_t o1, bus_size_t o2, bus_size_t c); -void -bus_space_copy_4(void *v, bus_space_handle_t h1, bus_space_handle_t h2, - bus_size_t o1, bus_size_t o2, bus_size_t c); -#define bus_space_copy_8 \ - !!! bus_space_copy_8 not implemented !!! - -/* - * Bus read/write barrier methods. - * - * void bus_space_barrier(bus_space_tag_t tag, - * bus_space_handle_t bsh, bus_size_t offset, - * bus_size_t len, int flags); - * - * Note: powerpc does not currently implement barriers, but we must - * provide the flags to MI code. - * the processor does have eieio which is effectively the barrier - * operator, however due to how memory is mapped this should? not - * be required. - */ -#define bus_space_barrier(t, h, o, l, f) \ - ((void)((void)(t), (void)(h), (void)(o), (void)(l), (void)(f))) -#define BUS_SPACE_BARRIER_READ 0x01 /* force read barrier */ -#define BUS_SPACE_BARRIER_WRITE 0x02 /* force write barrier */ - -#define BUS_DMA_WAITOK 0x0000 /* safe to sleep (pseudo-flag) */ -#define BUS_DMA_NOWAIT 0x0001 /* not safe to sleep */ -#define BUS_DMA_ALLOCNOW 0x0002 /* perform resource allocation now */ -#define BUS_DMA_COHERENT 0x0008 /* hint: map memory DMA coherent */ -#define BUS_DMA_BUS1 0x0010 /* placeholders for bus functions... */ -#define BUS_DMA_BUS2 0x0020 -#define BUS_DMA_BUS3 0x0040 -#define BUS_DMA_BUS4 0x0080 -#define BUS_DMA_READ 0x0100 /* mapping is device -> memory only */ -#define BUS_DMA_WRITE 0x0200 /* mapping is memory -> device only */ -#define BUS_DMA_STREAMING 0x0400 /* hint: sequential, unidirectional */ -#define BUS_DMA_ZERO 0x0800 /* zero memory in dmamem_alloc */ -#define BUS_DMA_NOCACHE 0x1000 /* map memory uncached */ -#define BUS_DMA_64BIT 0x2000 /* device handles 64bit dva */ - - -/* Forwards needed by prototypes below. */ -struct mbuf; -struct proc; -struct uio; - -#define BUS_DMASYNC_POSTREAD 0x01 -#define BUS_DMASYNC_POSTWRITE 0x02 -#define BUS_DMASYNC_PREREAD 0x04 -#define BUS_DMASYNC_PREWRITE 0x08 - -typedef struct powerpc_bus_dma_tag *bus_dma_tag_t; -typedef struct powerpc_bus_dmamap *bus_dmamap_t; - -/* - * bus_dma_segment_t - * - * Describes a single contiguous DMA transaction. Values - * are suitable for programming into DMA registers. - */ -struct powerpc_bus_dma_segment { - bus_addr_t ds_addr; /* DMA address */ - bus_size_t ds_len; /* length of transfer */ -}; -typedef struct powerpc_bus_dma_segment bus_dma_segment_t; - -/* - * bus_dma_tag_t - * - * A machine-dependent opaque type describing the implementation of - * DMA for a given bus. - */ - -struct powerpc_bus_dma_tag { - void *_cookie; /* cookie used in the guts */ - - /* - * DMA mapping methods. - */ - int (*_dmamap_create)(bus_dma_tag_t , bus_size_t, int, - bus_size_t, bus_size_t, int, bus_dmamap_t *); - void (*_dmamap_destroy)(bus_dma_tag_t , bus_dmamap_t); - int (*_dmamap_load)(bus_dma_tag_t , bus_dmamap_t, void *, - bus_size_t, struct proc *, int); - int (*_dmamap_load_mbuf)(bus_dma_tag_t , bus_dmamap_t, - struct mbuf *, int); - int (*_dmamap_load_uio)(bus_dma_tag_t , bus_dmamap_t, - struct uio *, int); - int (*_dmamap_load_raw)(bus_dma_tag_t , bus_dmamap_t, - bus_dma_segment_t *, int, bus_size_t, int); - void (*_dmamap_unload)(bus_dma_tag_t , bus_dmamap_t); - void (*_dmamap_sync)(bus_dma_tag_t , bus_dmamap_t, - bus_addr_t, bus_size_t, int); - - /* - * DMA memory utility functions. - */ - int (*_dmamem_alloc)(bus_dma_tag_t, bus_size_t, bus_size_t, - bus_size_t, bus_dma_segment_t *, int, int *, int); - int (*_dmamem_alloc_range)(bus_dma_tag_t, bus_size_t, bus_size_t, - bus_size_t, bus_dma_segment_t *, int, int *, int, - bus_addr_t, bus_addr_t); - void (*_dmamem_free)(bus_dma_tag_t, bus_dma_segment_t *, int); - int (*_dmamem_map)(bus_dma_tag_t, bus_dma_segment_t *, - int, size_t, caddr_t *, int); - void (*_dmamem_unmap)(bus_dma_tag_t, caddr_t, size_t); - paddr_t (*_dmamem_mmap)(bus_dma_tag_t, bus_dma_segment_t *, - int, off_t, int, int); -}; - -#define bus_dmamap_create(t, s, n, m, b, f, p) \ - (*(t)->_dmamap_create)((t), (s), (n), (m), (b), (f), (p)) -#define bus_dmamap_destroy(t, p) \ - (*(t)->_dmamap_destroy)((t), (p)) -#define bus_dmamap_load(t, m, b, s, p, f) \ - (*(t)->_dmamap_load)((t), (m), (b), (s), (p), (f)) -#define bus_dmamap_load_mbuf(t, m, b, f) \ - (*(t)->_dmamap_load_mbuf)((t), (m), (b), (f)) -#define bus_dmamap_load_uio(t, m, u, f) \ - (*(t)->_dmamap_load_uio)((t), (m), (u), (f)) -#define bus_dmamap_load_raw(t, m, sg, n, s, f) \ - (*(t)->_dmamap_load_raw)((t), (m), (sg), (n), (s), (f)) -#define bus_dmamap_unload(t, p) \ - (*(t)->_dmamap_unload)((t), (p)) -#define bus_dmamap_sync(t, p, a, l, o) \ - (void)((t)->_dmamap_sync ? \ - (*(t)->_dmamap_sync)((t), (p), (a), (l), (o)) : (void)0) - -#define bus_dmamem_alloc(t, s, a, b, sg, n, r, f) \ - (*(t)->_dmamem_alloc)((t)->_cookie, (s), (a), (b), (sg), (n), (r), (f)) -#define bus_dmamem_alloc_range(t, s, a, b, sg, n, r, f, l, h) \ - (*(t)->_dmamem_alloc_range)((t), (s), (a), (b), (sg), \ - (n), (r), (f), (l), (h)) -#define bus_dmamem_free(t, sg, n) \ - (*(t)->_dmamem_free)((t)->_cookie, (sg), (n)) -#define bus_dmamem_map(t, sg, n, s, k, f) \ - (*(t)->_dmamem_map)((t)->_cookie, (sg), (n), (s), (k), (f)) -#define bus_dmamem_unmap(t, k, s) \ - (*(t)->_dmamem_unmap)((t)->_cookie, (k), (s)) -#define bus_dmamem_mmap(t, sg, n, o, p, f) \ - (*(t)->_dmamem_mmap)((t)->_cookie, (sg), (n), (o), (p), (f)) - -int _dmamap_create(bus_dma_tag_t, bus_size_t, int, - bus_size_t, bus_size_t, int, bus_dmamap_t *); -void _dmamap_destroy(bus_dma_tag_t, bus_dmamap_t); -int _dmamap_load(bus_dma_tag_t, bus_dmamap_t, void *, - bus_size_t, struct proc *, int); -int _dmamap_load_mbuf(bus_dma_tag_t, bus_dmamap_t, struct mbuf *, int); -int _dmamap_load_uio(bus_dma_tag_t, bus_dmamap_t, struct uio *, int); -int _dmamap_load_raw(bus_dma_tag_t, bus_dmamap_t, - bus_dma_segment_t *, int, bus_size_t, int); -void _dmamap_unload(bus_dma_tag_t, bus_dmamap_t); -void _dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_addr_t, bus_size_t, - int); - -int _dmamem_alloc(bus_dma_tag_t, bus_size_t, bus_size_t, - bus_size_t, bus_dma_segment_t *, int, int *, int); -int _dmamem_alloc_range( bus_dma_tag_t, bus_size_t, bus_size_t, - bus_size_t, bus_dma_segment_t *, int, int *, int, - bus_addr_t, bus_addr_t); -void _dmamem_free(bus_dma_tag_t, bus_dma_segment_t *, int); -int _dmamem_map(bus_dma_tag_t, bus_dma_segment_t *, - int, size_t, caddr_t *, int); -void _dmamem_unmap(bus_dma_tag_t, caddr_t, size_t); -paddr_t _dmamem_mmap(bus_dma_tag_t, bus_dma_segment_t *, int, off_t, int, int); - -/* - * bus_dmamap_t - * - * Describes a DMA mapping. - */ -struct powerpc_bus_dmamap { - /* - * PRIVATE MEMBERS: not for use by machine-independent code. - */ - bus_size_t _dm_size; /* largest DMA transfer mappable */ - int _dm_segcnt; /* number of segs this map can map */ - bus_size_t _dm_maxsegsz; /* largest possible segment */ - bus_size_t _dm_boundary; /* don't cross this */ - int _dm_flags; /* misc. flags */ - - void *_dm_cookie; /* cookie for bus-specific functions */ - - /* - * PUBLIC MEMBERS: these are used by machine-independent code. - */ - bus_size_t dm_mapsize; /* size of the mapping */ - int dm_nsegs; /* # valid segments in mapping */ - bus_dma_segment_t dm_segs[1]; /* segments; variable length */ -}; - -#endif /* _MACHINE_BUS_H_ */ diff --git a/sys/arch/socppc/include/cdefs.h b/sys/arch/socppc/include/cdefs.h deleted file mode 100644 index 8362c75969c..00000000000 --- a/sys/arch/socppc/include/cdefs.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: cdefs.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/conf.h b/sys/arch/socppc/include/conf.h deleted file mode 100644 index 2797e30ad4c..00000000000 --- a/sys/arch/socppc/include/conf.h +++ /dev/null @@ -1,37 +0,0 @@ -/* $OpenBSD: conf.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ -/* $NetBSD: conf.h,v 1.2 1996/05/05 19:28:34 christos Exp $ */ - -/* - * Copyright (c) 1996 Christos Zoulas. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christos Zoulas. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include - -#define mmread mmrw -#define mmwrite mmrw -cdev_decl(mm); diff --git a/sys/arch/socppc/include/cpu.h b/sys/arch/socppc/include/cpu.h deleted file mode 100644 index a338e8ceeb5..00000000000 --- a/sys/arch/socppc/include/cpu.h +++ /dev/null @@ -1,56 +0,0 @@ -/* $OpenBSD: cpu.h,v 1.2 2013/03/17 15:10:33 kettenis Exp $ */ -/* $NetBSD: cpu.h,v 1.1 1996/09/30 16:34:21 ws Exp $ */ - -/* - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MACHINE_CPU_H_ -#define _MACHINE_CPU_H_ - -/* - * CTL_MACHDEP definitions. - */ -#define CPU_ALLOWAPERTURE 1 /* allow mmap of /dev/xf86 */ -#define CPU_ALTIVEC 2 /* altivec is present */ -#define CPU_MAXID 3 /* number of valid machdep ids */ - -#define CTL_MACHDEP_NAMES { \ - { 0, 0 }, \ - { "allowaperture", CTLTYPE_INT }, \ - { "altivec", CTLTYPE_INT }, \ -} - -#ifdef _KERNEL - -#include - -#endif /* _KERNEL */ -#endif /* _MACHINE_CPU_H_ */ diff --git a/sys/arch/socppc/include/db_machdep.h b/sys/arch/socppc/include/db_machdep.h deleted file mode 100644 index df6783f5cc6..00000000000 --- a/sys/arch/socppc/include/db_machdep.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: db_machdep.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/disklabel.h b/sys/arch/socppc/include/disklabel.h deleted file mode 100644 index d959c7ccb8c..00000000000 --- a/sys/arch/socppc/include/disklabel.h +++ /dev/null @@ -1,40 +0,0 @@ -/* $OpenBSD: disklabel.h,v 1.3 2015/09/30 14:57:03 krw Exp $ */ - -/* - * Copyright (c) 1994 Christopher G. Demetriou - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MACHINE_DISKLABEL_H_ -#define _MACHINE_DISKLABEL_H_ - -#define LABELSECTOR 1 /* sector containing label */ -#define LABELOFFSET 0 /* offset of label in sector */ -#define MAXPARTITIONS 16 /* number of partitions */ - -#endif /* _MACHINE_DISKLABEL_H_ */ diff --git a/sys/arch/socppc/include/endian.h b/sys/arch/socppc/include/endian.h deleted file mode 100644 index 1a72bba14a8..00000000000 --- a/sys/arch/socppc/include/endian.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: endian.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/exec.h b/sys/arch/socppc/include/exec.h deleted file mode 100644 index 01c0c5722a1..00000000000 --- a/sys/arch/socppc/include/exec.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: exec.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/fenv.h b/sys/arch/socppc/include/fenv.h deleted file mode 100644 index fbd537bc189..00000000000 --- a/sys/arch/socppc/include/fenv.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: fenv.h,v 1.2 2013/06/01 21:20:54 jasper Exp $ */ -/* public domain */ -#include diff --git a/sys/arch/socppc/include/fpu.h b/sys/arch/socppc/include/fpu.h deleted file mode 100644 index 83e3b628f83..00000000000 --- a/sys/arch/socppc/include/fpu.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: fpu.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/frame.h b/sys/arch/socppc/include/frame.h deleted file mode 100644 index ba860b82dd9..00000000000 --- a/sys/arch/socppc/include/frame.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: frame.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/ieee.h b/sys/arch/socppc/include/ieee.h deleted file mode 100644 index dc0cf138db4..00000000000 --- a/sys/arch/socppc/include/ieee.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: ieee.h,v 1.1 2008/05/10 22:07:00 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/ieeefp.h b/sys/arch/socppc/include/ieeefp.h deleted file mode 100644 index d489bd294fa..00000000000 --- a/sys/arch/socppc/include/ieeefp.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: ieeefp.h,v 1.1 2008/05/10 22:07:00 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/intr.h b/sys/arch/socppc/include/intr.h deleted file mode 100644 index 81d1d57b556..00000000000 --- a/sys/arch/socppc/include/intr.h +++ /dev/null @@ -1,9 +0,0 @@ -/* $OpenBSD: intr.h,v 1.2 2014/04/01 20:42:39 mpi Exp $ */ - -#include - -#ifndef _LOCORE - -void *intr_establish(int, int, int, int (*)(void *), void *, const char *); - -#endif diff --git a/sys/arch/socppc/include/kcore.h b/sys/arch/socppc/include/kcore.h deleted file mode 100644 index a17c8d07656..00000000000 --- a/sys/arch/socppc/include/kcore.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: kcore.h,v 1.1 2008/05/16 18:12:45 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/limits.h b/sys/arch/socppc/include/limits.h deleted file mode 100644 index d6468bd2aa1..00000000000 --- a/sys/arch/socppc/include/limits.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: limits.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/loadfile_machdep.h b/sys/arch/socppc/include/loadfile_machdep.h deleted file mode 100644 index 5c4f7204aee..00000000000 --- a/sys/arch/socppc/include/loadfile_machdep.h +++ /dev/null @@ -1,49 +0,0 @@ -/* $OpenBSD: loadfile_machdep.h,v 1.4 2015/07/17 20:44:39 miod Exp $ */ -/* $NetBSD: loadfile_machdep.h,v 1.1 1999/04/29 03:17:12 tsubai Exp $ */ - -/*- - * Copyright (c) 1999 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Christos Zoulas. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#define BOOT_ELF -#define ELFSIZE 32 - -#define LOAD_KERNEL LOAD_ALL -#define COUNT_KERNEL COUNT_ALL - -#define LOADADDR(a) (((u_long)(a)) + offset) -#define ALIGNENTRY(a) ((u_long)(a)) -#define READ(f, b, c) read((f), (void *)LOADADDR(b), (c)) -#define BCOPY(s, d, c) memcpy((void *)LOADADDR(d), (void *)(s), (c)) -#define BZERO(d, c) memset((void *)LOADADDR(d), 0, (c)) -#define WARN(a) (void)(printf a, \ - printf((errno ? ": %s\n" : "\n"), \ - strerror(errno))) -#define PROGRESS(a) (void) printf a -#define ALLOC(a) alloc(a) -#define FREE(a, b) free(a, b) diff --git a/sys/arch/socppc/include/lock.h b/sys/arch/socppc/include/lock.h deleted file mode 100644 index 0ec5a702b00..00000000000 --- a/sys/arch/socppc/include/lock.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: lock.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/mutex.h b/sys/arch/socppc/include/mutex.h deleted file mode 100644 index 6564781e0c5..00000000000 --- a/sys/arch/socppc/include/mutex.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: mutex.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/param.h b/sys/arch/socppc/include/param.h deleted file mode 100644 index 830d9212430..00000000000 --- a/sys/arch/socppc/include/param.h +++ /dev/null @@ -1,54 +0,0 @@ -/* $OpenBSD: param.h,v 1.2 2013/03/23 16:12:27 deraadt Exp $ */ - -/*- - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _MACHINE_PARAM_H_ -#define _MACHINE_PARAM_H_ - -#ifdef _KERNEL -#ifndef _LOCORE -#include -#endif /* _LOCORE */ -#endif - -#include - -#define MACHINE "socppc" -#define _MACHINE socppc - -#define KERNBASE 0x200000 - -#ifndef MSGBUFSIZE -#define MSGBUFSIZE (2 * PAGE_SIZE) -#endif - -#endif /* _MACHINE_PARAM_H_ */ diff --git a/sys/arch/socppc/include/pcb.h b/sys/arch/socppc/include/pcb.h deleted file mode 100644 index 0fde40255c1..00000000000 --- a/sys/arch/socppc/include/pcb.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: pcb.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/pci_machdep.h b/sys/arch/socppc/include/pci_machdep.h deleted file mode 100644 index 0553eb73b6c..00000000000 --- a/sys/arch/socppc/include/pci_machdep.h +++ /dev/null @@ -1,105 +0,0 @@ -/* $OpenBSD: pci_machdep.h,v 1.3 2016/05/04 14:30:01 kettenis Exp $ */ - -/* - * Copyright (c) 1996 Carnegie-Mellon University. - * All rights reserved. - * - * Author: Chris G. Demetriou - * - * Permission to use, copy, modify and distribute this software and - * its documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND - * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie the - * rights to redistribute these changes. - */ - -/* - * Machine-specific definitions for PCI autoconfiguration. - */ - -/* - * Types provided to machine-independent PCI code - */ -typedef struct ppc_pci_chipset *pci_chipset_tag_t; -typedef u_long pcitag_t; -typedef u_long pci_intr_handle_t; - -/* - * ppc-specific PCI structure and type definitions. - * NOT TO BE USED DIRECTLY BY MACHINE INDEPENDENT CODE. - */ -struct ppc_pci_chipset { - void *pc_conf_v; - void (*pc_attach_hook)(struct device *, - struct device *, struct pcibus_attach_args *); - int (*pc_bus_maxdevs)(void *, int); - pcitag_t (*pc_make_tag)(void *, int, int, int); - void (*pc_decompose_tag)(void *, pcitag_t, int *, - int *, int *); - int (*pc_conf_size)(void *, pcitag_t); - pcireg_t (*pc_conf_read)(void *, pcitag_t, int); - void (*pc_conf_write)(void *, pcitag_t, int, pcireg_t); - - void *pc_intr_v; - int (*pc_intr_map)(void *, pcitag_t, int, int, - pci_intr_handle_t *); - const char *(*pc_intr_string)(void *, pci_intr_handle_t); - int (*pc_intr_line)(void *, pci_intr_handle_t); - void *(*pc_intr_establish)(void *, pci_intr_handle_t, - int, int (*)(void *), void *, const char *); - void (*pc_intr_disestablish)(void *, void *); - int (*pc_ether_hw_addr)(struct ppc_pci_chipset *, u_int8_t *); -}; - -/* - * Functions provided to machine-independent PCI code. - */ -#define pci_attach_hook(p, s, pba) \ - (*(pba)->pba_pc->pc_attach_hook)((p), (s), (pba)) -#define pci_bus_maxdevs(c, b) \ - (*(c)->pc_bus_maxdevs)((c)->pc_conf_v, (b)) -#define pci_make_tag(c, b, d, f) \ - (*(c)->pc_make_tag)((c)->pc_conf_v, (b), (d), (f)) -#define pci_decompose_tag(c, t, bp, dp, fp) \ - (*(c)->pc_decompose_tag)((c)->pc_conf_v, (t), (bp), (dp), (fp)) -#define pci_conf_size(c, t) \ - (*(c)->pc_conf_size)((c)->pc_conf_v, (t)) -#define pci_conf_read(c, t, r) \ - (*(c)->pc_conf_read)((c)->pc_conf_v, (t), (r)) -#define pci_conf_write(c, t, r, v) \ - (*(c)->pc_conf_write)((c)->pc_conf_v, (t), (r), (v)) -#define pci_intr_map(pa, ihp) \ - (*((pa)->pa_pc)->pc_intr_map)((pa)->pa_pc->pc_intr_v, \ - (pa)->pa_intrtag, (pa)->pa_intrpin, (pa)->pa_intrline, (ihp)) -#define pci_intr_map_msi(pa, ihp) (-1) -#define pci_intr_map_msix(pa, vec, ihp) (-1) -#define pci_intr_string(c, ih) \ - (*(c)->pc_intr_string)((c)->pc_intr_v, (ih)) -#define pci_intr_line(c, ih) \ - (*(c)->pc_intr_line)((c)->pc_intr_v, (ih)) -#define pci_intr_establish(c, ih, l, h, a, nm) \ - (*(c)->pc_intr_establish)((c)->pc_intr_v, (ih), (l), (h), (a), (nm)) -#define pci_intr_disestablish(c, iv) \ - (*(c)->pc_intr_disestablish)((c)->pc_intr_v, (iv)) -#define pci_ether_hw_addr(c, s) \ - (*(c)->pc_ether_hw_addr)((c), (s)) -#define pci_probe_device_hook(c, a) (0) - -#define pci_min_powerstate(c, t) (PCI_PMCSR_STATE_D3) -#define pci_set_powerstate_md(c, t, s, p) - -#define pci_dev_postattach(a, b) diff --git a/sys/arch/socppc/include/pio.h b/sys/arch/socppc/include/pio.h deleted file mode 100644 index 6be1eecbd9c..00000000000 --- a/sys/arch/socppc/include/pio.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: pio.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/pmap.h b/sys/arch/socppc/include/pmap.h deleted file mode 100644 index b310d018415..00000000000 --- a/sys/arch/socppc/include/pmap.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: pmap.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/proc.h b/sys/arch/socppc/include/proc.h deleted file mode 100644 index 1b78bbf4d75..00000000000 --- a/sys/arch/socppc/include/proc.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: proc.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/profile.h b/sys/arch/socppc/include/profile.h deleted file mode 100644 index 2b0b17415c6..00000000000 --- a/sys/arch/socppc/include/profile.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: profile.h,v 1.1 2008/05/10 22:07:00 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/psl.h b/sys/arch/socppc/include/psl.h deleted file mode 100644 index 2efac1c8750..00000000000 --- a/sys/arch/socppc/include/psl.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: psl.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/pte.h b/sys/arch/socppc/include/pte.h deleted file mode 100644 index cca262bf6e7..00000000000 --- a/sys/arch/socppc/include/pte.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: pte.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/ptrace.h b/sys/arch/socppc/include/ptrace.h deleted file mode 100644 index 1c82569d472..00000000000 --- a/sys/arch/socppc/include/ptrace.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: ptrace.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/reg.h b/sys/arch/socppc/include/reg.h deleted file mode 100644 index 26ed5eaa4e2..00000000000 --- a/sys/arch/socppc/include/reg.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: reg.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/reloc.h b/sys/arch/socppc/include/reloc.h deleted file mode 100644 index 2794f995c86..00000000000 --- a/sys/arch/socppc/include/reloc.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: reloc.h,v 1.1 2008/05/12 09:23:04 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/setjmp.h b/sys/arch/socppc/include/setjmp.h deleted file mode 100644 index 6daee51c6e6..00000000000 --- a/sys/arch/socppc/include/setjmp.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: setjmp.h,v 1.1 2008/05/10 21:25:53 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/signal.h b/sys/arch/socppc/include/signal.h deleted file mode 100644 index 7ab86d1b3fe..00000000000 --- a/sys/arch/socppc/include/signal.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: signal.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/spinlock.h b/sys/arch/socppc/include/spinlock.h deleted file mode 100644 index 22bbf5008eb..00000000000 --- a/sys/arch/socppc/include/spinlock.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: spinlock.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/stdarg.h b/sys/arch/socppc/include/stdarg.h deleted file mode 100644 index 54c152dfe9d..00000000000 --- a/sys/arch/socppc/include/stdarg.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: stdarg.h,v 1.1 2008/05/12 09:06:20 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/tcb.h b/sys/arch/socppc/include/tcb.h deleted file mode 100644 index 63b21a0fc39..00000000000 --- a/sys/arch/socppc/include/tcb.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: tcb.h,v 1.2 2013/06/01 21:20:54 jasper Exp $ */ -/* public domain */ -#include diff --git a/sys/arch/socppc/include/trap.h b/sys/arch/socppc/include/trap.h deleted file mode 100644 index 80a0f96d872..00000000000 --- a/sys/arch/socppc/include/trap.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: trap.h,v 1.1 2008/05/10 12:02:21 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/varargs.h b/sys/arch/socppc/include/varargs.h deleted file mode 100644 index f86b289a402..00000000000 --- a/sys/arch/socppc/include/varargs.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: varargs.h,v 1.1 2008/05/12 09:06:20 kettenis Exp $ */ - -#include diff --git a/sys/arch/socppc/include/vmparam.h b/sys/arch/socppc/include/vmparam.h deleted file mode 100644 index 824c4cdec06..00000000000 --- a/sys/arch/socppc/include/vmparam.h +++ /dev/null @@ -1,99 +0,0 @@ -/* $OpenBSD: vmparam.h,v 1.13 2015/11/01 20:10:00 miod Exp $ */ -/* $NetBSD: vmparam.h,v 1.1 1996/09/30 16:34:38 ws Exp $ */ - -/*- - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef MACHINE_VMPARAM_H -#define MACHINE_VMPARAM_H - -#define USRSTACK VM_MAXUSER_ADDRESS - -#ifndef MAXTSIZ -#define MAXTSIZ (64*1024*1024) /* max text size */ -#endif - -#ifndef DFLDSIZ -#define DFLDSIZ (64*1024*1024) /* default data size */ -#endif - -#ifndef MAXDSIZ -#define MAXDSIZ (2UL*1024*1024*1024) /* max data size */ -#endif - -#ifndef BRKSIZ -#define BRKSIZ MAXDSIZ /* heap gap size */ -#endif - -#ifndef DFLSSIZ -#define DFLSSIZ (2*1024*1024) /* default stack size */ -#endif - -#ifndef MAXSSIZ -#define MAXSSIZ (32*1024*1024) /* max stack size */ -#endif - -#define STACKGAP_RANDOM 256*1024 - -/* - * Size of shared memory map - */ -#ifndef SHMMAXPGS -#define SHMMAXPGS 8192 /* 32mb */ -#endif - -/* - * Size of User Raw I/O map - */ -#define USRIOSIZE 1024 - -/* - * Would like to have MAX addresses = 0, but this doesn't (currently) work - */ -#define VM_MIN_ADDRESS ((vaddr_t)PAGE_SIZE) -#define VM_MAXUSER_ADDRESS ((vaddr_t)0xfffff000) -#define VM_MAX_ADDRESS VM_MAXUSER_ADDRESS -#define VM_MIN_KERNEL_ADDRESS ((vaddr_t)(PPC_KERNEL_SR << ADDR_SR_SHIFT)) - -/* ppc_kvm_stolen is so that vm space can be stolen before vm is fully - * initialized. - */ -extern vaddr_t ppc_kvm_stolen; -#define VM_KERN_ADDRESS_SIZE (PPC_SEGMENT_LENGTH - (32 * 1024 * 1024)) -#define VM_MAX_KERNEL_ADDRESS (VM_MIN_KERNEL_ADDRESS + VM_KERN_ADDRESS_SIZE) - -#define VM_PHYS_SIZE (USRIOSIZE * PAGE_SIZE) - -#define VM_PHYSSEG_MAX 1 -#define VM_PHYSSEG_NOADD -#define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM - -#endif diff --git a/sys/arch/socppc/socppc/autoconf.c b/sys/arch/socppc/socppc/autoconf.c deleted file mode 100644 index e17968b7de8..00000000000 --- a/sys/arch/socppc/socppc/autoconf.c +++ /dev/null @@ -1,74 +0,0 @@ -/* $OpenBSD: autoconf.c,v 1.7 2018/01/27 22:55:23 naddy Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include - -#include - -void dumpconf(void); - -int cold = 1; - -void -cpu_configure(void) -{ - splhigh(); - - softintr_init(); - - if (config_rootfound("mainbus", "mainbus") == 0) - panic("no mainbus found"); - - /* Configuration is finished, turn on interrupts. */ - spl0(); - cold = 0; -} - -void -device_register(struct device *dev, void *aux) -{ -} - -void -diskconf(void) -{ - struct device *dv; - dev_t tmpdev; - int len; - char *p; - - if ((p = strchr(bootpath, ':')) != NULL) - len = p - bootpath; - else - len = strlen(bootpath); - - dv = parsedisk(bootpath, len, 0, &tmpdev); - setroot(dv, 0, RB_USERREQ); - dumpconf(); -} - -struct nam2blk nam2blk[] = { - { "wd", 0 }, - { "sd", 2 }, - { "cd", 3 }, - { "vnd", 14 }, - { "rd", 17 }, - { NULL, -1 } -}; diff --git a/sys/arch/socppc/socppc/clock.c b/sys/arch/socppc/socppc/clock.c deleted file mode 100644 index 58ddf4ff8a3..00000000000 --- a/sys/arch/socppc/socppc/clock.c +++ /dev/null @@ -1,338 +0,0 @@ -/* $OpenBSD: clock.c,v 1.13 2015/06/13 07:16:37 jsg Exp $ */ -/* $NetBSD: clock.c,v 1.1 1996/09/30 16:34:40 ws Exp $ */ - -/* - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include - -#include - -#include - -void decr_intr(struct clockframe *frame); -u_int tb_get_timecount(struct timecounter *); - -/* - * Initially we assume a processor with a bus frequency of 266 MHz. - */ -static u_int32_t ticks_per_sec = 66666666; -static u_int32_t ns_per_tick = 15; -static int32_t ticks_per_intr; - -static struct timecounter tb_timecounter = { - tb_get_timecount, NULL, 0x7fffffff, 0, "tb", 0, NULL -}; - -/* Global TOD clock handle. */ -todr_chip_handle_t todr_handle; - -/* vars for stats */ -int statint; -u_int32_t statvar; -u_int32_t statmin; - -static struct evcount clk_count; -static struct evcount stat_count; -static int clk_irq = PPC_CLK_IRQ; -static int stat_irq = PPC_STAT_IRQ; - -/* - * Set up the system's time, given a `reasonable' time value. - */ -void -inittodr(time_t base) -{ - int badbase = 0, waszero = base == 0; - char *bad = NULL; - struct timeval tv; - struct timespec ts; - - tv.tv_sec = tv.tv_usec = 0; - - if (base < 5 * SECYR) { - /* - * If base is 0, assume filesystem time is just unknown - * instead of preposterous. Don't bark. - */ - if (base != 0) - printf("WARNING: preposterous time in file system\n"); - /* not going to use it anyway, if the chip is readable */ - base = 21*SECYR + 186*SECDAY + SECDAY/2; - badbase = 1; - } - - if (todr_handle != NULL) - todr_gettime(todr_handle, &tv); - - if (tv.tv_sec == 0) { - /* - * Believe the time in the file system for lack of - * anything better, resetting the clock. - */ - bad = "WARNING: unable to get date/time"; - tv.tv_sec = base; - tv.tv_usec = 0; - if (!badbase) - resettodr(); - } else { - time_t deltat; - - tv.tv_sec += tz.tz_minuteswest * 60; - if (tz.tz_dsttime) - tv.tv_sec -= 3600; - - deltat = tv.tv_sec - base; - - if (deltat < 0) - deltat = -deltat; - if (!(waszero || deltat < 2 * SECDAY)) { - printf("WARNING: clock %s %lld days", - tv.tv_sec < base ? "lost" : "gained", - (long long)(deltat / SECDAY)); - bad = ""; - - if (tv.tv_sec < base && deltat > 1000 * SECDAY) { - printf(", using FS time"); - tv.tv_sec = base; - } - } - } - - ts.tv_sec = tv.tv_sec; - ts.tv_nsec = tv.tv_usec * 1000; - tc_setclock(&ts); - - if (bad) { - printf("%s", bad); - printf(" -- CHECK AND RESET THE DATE!\n"); - } -} - -/* - * Similar to the above - */ -void -resettodr(void) -{ - struct timeval tv; - - if (time_second == 1) - return; - - microtime(&tv); - - if (todr_handle != NULL && todr_settime(todr_handle, &tv) != 0) - printf("Cannot set time in time-of-day clock\n"); -} - -void -decr_intr(struct clockframe *frame) -{ - u_int64_t tb; - u_int64_t nextevent; - struct cpu_info *ci = curcpu(); - int nstats; - int s; - - /* - * Check whether we are initialized. - */ - if (!ticks_per_intr) - return; - - /* - * Based on the actual time delay since the last decrementer reload, - * we arrange for earlier interrupt next time. - */ - - tb = ppc_mftb(); - while (ci->ci_nexttimerevent <= tb) - ci->ci_nexttimerevent += ticks_per_intr; - - ci->ci_prevtb = ci->ci_nexttimerevent - ticks_per_intr; - - for (nstats = 0; ci->ci_nextstatevent <= tb; nstats++) { - int r; - do { - r = random() & (statvar -1); - } while (r == 0); /* random == 0 not allowed */ - ci->ci_nextstatevent += statmin + r; - } - - /* only count timer ticks for CLK_IRQ */ - stat_count.ec_count += nstats; - - if (ci->ci_nexttimerevent < ci->ci_nextstatevent) - nextevent = ci->ci_nexttimerevent; - else - nextevent = ci->ci_nextstatevent; - - /* - * Need to work about the near constant skew this introduces??? - * reloading tb here could cause a missed tick. - */ - ppc_mtdec(nextevent - tb); - - if (ci->ci_cpl >= IPL_CLOCK) { - ci->ci_statspending += nstats; - } else { - nstats += ci->ci_statspending; - ci->ci_statspending = 0; - - s = splclock(); - - /* - * Reenable interrupts - */ - ppc_intr_enable(1); - - /* - * Do standard timer interrupt stuff. - */ - while (ci->ci_lasttb < ci->ci_prevtb) { - /* sync lasttb with hardclock */ - ci->ci_lasttb += ticks_per_intr; - clk_count.ec_count++; - hardclock(frame); - } - - while (nstats-- > 0) - statclock(frame); - - splx(s); - (void) ppc_intr_disable(); - - /* if a tick has occurred while dealing with these, - * dont service it now, delay until the next tick. - */ - } -} - -void cpu_startclock(void); - -void -cpu_initclocks(void) -{ - int intrstate; - int minint; - - intrstate = ppc_intr_disable(); - - stathz = 100; - profhz = 1000; /* must be a multiple of stathz */ - - /* init secondary clock to stathz */ - statint = ticks_per_sec / stathz; - statvar = 0x40000000; /* really big power of two */ - /* find largest 2^n which is nearly smaller than statint/2 */ - minint = statint / 2 + 100; - while (statvar > minint) - statvar >>= 1; - statmin = statint - (statvar >> 1); - - evcount_attach(&clk_count, "clock", &clk_irq); - evcount_attach(&stat_count, "stat", &stat_irq); - - ticks_per_intr = ticks_per_sec / hz; - cpu_startclock(); - - tb_timecounter.tc_frequency = ticks_per_sec; - tc_init(&tb_timecounter); - ppc_intr_enable(intrstate); -} - -void -cpu_startclock() -{ - struct cpu_info *ci = curcpu(); - u_int64_t nextevent; - - ci->ci_lasttb = ppc_mftb(); - - /* - * no point in having random on the first tick, - * it just complicates the code. - */ - ci->ci_nexttimerevent = ci->ci_lasttb + ticks_per_intr; - nextevent = ci->ci_nextstatevent = ci->ci_nexttimerevent; - - ci->ci_statspending = 0; - - ppc_mtdec(nextevent - ci->ci_lasttb); -} - -void -delay(unsigned n) -{ - u_int64_t tb; - - tb = ppc_mftb(); - tb += (n * 1000 + ns_per_tick - 1) / ns_per_tick; - while (tb > ppc_mftb()) - ; -} - -/* - * Nothing to do. - */ -void -setstatclockrate(int newhz) -{ - int minint; - int intrstate; - - intrstate = ppc_intr_disable(); - - statint = ticks_per_sec / newhz; - statvar = 0x40000000; /* really big power of two */ - /* find largest 2^n which is nearly smaller than statint/2 */ - minint = statint / 2 + 100; - while (statvar > minint) - statvar >>= 1; - - statmin = statint - (statvar >> 1); - ppc_intr_enable(intrstate); - - /* - * XXX this allows the next stat timer to occur then it switches - * to the new frequency. Rather than switching instantly. - */ -} - -u_int -tb_get_timecount(struct timecounter *tc) -{ - return ppc_mftbl(); -} diff --git a/sys/arch/socppc/socppc/conf.c b/sys/arch/socppc/socppc/conf.c deleted file mode 100644 index ead905c5646..00000000000 --- a/sys/arch/socppc/socppc/conf.c +++ /dev/null @@ -1,277 +0,0 @@ -/* $OpenBSD: conf.c,v 1.28 2016/09/04 10:51:24 naddy Exp $ */ - -/* - * Copyright (c) 1997 Per Fogelstrom - * Copyright (c) 1997 RTMX Inc, North Carolina - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed under OpenBSD for RTMX Inc, - * North Carolina, USA, by Per Fogelstrom, Opsycon AB, Sweden. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS - * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ - -#include -#include -#include - -#include - -#include "sd.h" -#include "st.h" -#include "cd.h" -#include "rd.h" -#include "wd.h" -bdev_decl(wd); -cdev_decl(wd); - -#include "vnd.h" -#include "video.h" - -struct bdevsw bdevsw[] = { - bdev_disk_init(NWD,wd), /* 0: ST506/ESDI/IDE disk */ - bdev_swap_init(1,sw), /* 1 swap pseudo device */ - bdev_disk_init(NSD,sd), /* 2 SCSI Disk */ - bdev_disk_init(NCD,cd), /* 3 SCSI CD-ROM */ - bdev_notdef(), /* 4 unknown*/ - bdev_notdef(), /* 5 was: SCSI tape */ - bdev_notdef(), /* 6 unknown*/ - bdev_notdef(), /* 7 unknown*/ - bdev_notdef(), /* 8 */ - bdev_notdef(), /* 9 */ - bdev_notdef(), /* 10 */ - bdev_notdef(), /* 11 */ - bdev_notdef(), /* 12 */ - bdev_notdef(), /* 13 */ - bdev_disk_init(NVND,vnd), /* 14 vnode disk driver*/ - bdev_notdef(), /* 15 unknown*/ - bdev_notdef(), /* 16 was: concatenated disk driver */ - bdev_disk_init(NRD,rd), /* 17 ram disk driver*/ - bdev_notdef(), /* 18 unknown*/ - bdev_notdef(), /* 19 was: RAIDframe disk driver */ -}; -int nblkdev = nitems(bdevsw); - -#include "pty.h" - -#include "com.h" -cdev_decl(com); - -#include "wsdisplay.h" -#include "wskbd.h" -#include "wsmouse.h" - -#include "bpfilter.h" - -#include "tun.h" - -#include "wsmux.h" - -#ifdef USER_PCICONF -#include "pci.h" -cdev_decl(pci); -#endif - -#include "pf.h" - -#include "ksyms.h" -#include "usb.h" -#include "uhid.h" -#include "ugen.h" -#include "ulpt.h" -#include "ucom.h" - -#include "vscsi.h" -#include "pppx.h" -#include "hotplug.h" -#include "fuse.h" -#include "switch.h" - -struct cdevsw cdevsw[] = { - cdev_cn_init(1,cn), /* 0: virtual console */ - cdev_ctty_init(1,ctty), /* 1: controlling terminal */ - cdev_mm_init(1,mm), /* 2: /dev/{null,mem,kmem,...} */ - cdev_notdef(), /* 3 was /dev/drum */ - cdev_tty_init(NPTY,pts), /* 4: pseudo-tty slave */ - cdev_ptc_init(NPTY,ptc), /* 5: pseudo-tty master */ - cdev_log_init(1,log), /* 6: /dev/klog */ - cdev_notdef(), /* 7 */ - cdev_disk_init(NSD,sd), /* 8: SCSI disk */ - cdev_disk_init(NCD,cd), /* 9: SCSI CD-ROM */ - cdev_notdef(), /* 10 */ - cdev_disk_init(NWD,wd), /* 11: ST506/ESDI/IDE disk */ - cdev_notdef(), /* 12 */ - cdev_notdef(), /* 13 */ - cdev_notdef(), /* 14 */ - cdev_notdef(), /* 15 */ - cdev_notdef(), /* 16 */ - cdev_disk_init(NRD,rd), /* 17 ram disk driver*/ - cdev_notdef(), /* 18 was: concatenated disk driver */ - cdev_disk_init(NVND,vnd), /* 19: vnode disk */ - cdev_tape_init(NST,st), /* 20: SCSI tape */ - cdev_fd_init(1,filedesc), /* 21: file descriptor pseudo-dev */ - cdev_bpf_init(NBPFILTER,bpf), /* 22: berkeley packet filter */ - cdev_tun_init(NTUN,tun), /* 23: network tunnel */ - cdev_notdef(), /* 24 was LKM */ - cdev_notdef(), /* 25 */ - cdev_tty_init(NCOM,com), /* 26: serial port */ - cdev_notdef(), /* 27 */ - cdev_notdef(), /* 28 */ - cdev_notdef(), /* 29 */ - cdev_notdef(), /* 30 */ - cdev_notdef(), /* 31 */ - cdev_notdef(), /* 32 */ - cdev_notdef(), /* 33 */ - cdev_notdef(), /* 34 */ - cdev_notdef(), /* 35 */ - cdev_notdef(), /* 36 */ - cdev_notdef(), /* 37 */ - cdev_notdef(), /* 38 */ - cdev_pf_init(NPF,pf), /* 39: packet filter */ - cdev_random_init(1,random), /* 40: random data source */ - cdev_notdef(), /* 41 */ - cdev_notdef(), /* 42 */ - cdev_ksyms_init(NKSYMS,ksyms), /* 43: Kernel symbols device */ - cdev_video_init(NVIDEO,video), /* 44: generic video I/O */ - cdev_notdef(), /* 45 */ - cdev_notdef(), /* 46 */ - cdev_notdef(), /* 47: was: /dev/crypto */ - cdev_notdef(), /* 48 */ - cdev_notdef(), /* 49 */ - cdev_notdef(), /* 50 */ - cdev_notdef(), /* 51 */ - cdev_notdef(), /* 52 */ - cdev_notdef(), /* 53 */ - cdev_notdef(), /* 54 was: RAIDframe disk driver */ - cdev_notdef(), /* 55 */ - cdev_notdef(), /* 56 */ - cdev_notdef(), /* 57 */ - cdev_notdef(), /* 58 */ - cdev_notdef(), /* 59 */ - cdev_notdef(), /* 60 */ - cdev_usb_init(NUSB,usb), /* 61: USB controller */ - cdev_usbdev_init(NUHID,uhid), /* 62: USB generic HID */ - cdev_usbdev_init(NUGEN,ugen), /* 63: USB generic driver */ - cdev_ulpt_init(NULPT,ulpt), /* 64: USB printers */ - cdev_notdef(), /* 65 */ - cdev_tty_init(NUCOM,ucom), /* 66: USB tty */ - cdev_wsdisplay_init(NWSDISPLAY, /* 67: frame buffers, etc. */ - wsdisplay), - cdev_mouse_init(NWSKBD, wskbd), /* 68: keyboards */ - cdev_mouse_init(NWSMOUSE, /* 69: mice */ - wsmouse), - cdev_mouse_init(NWSMUX, wsmux), /* 70: ws multiplexor */ -#ifdef USER_PCICONF - cdev_pci_init(NPCI,pci), /* 71: PCI user */ -#else - cdev_notdef(), -#endif - cdev_notdef(), /* 72 */ - cdev_notdef(), /* 73 */ - cdev_notdef(), /* 74: was USB scanners */ - cdev_notdef(), /* 75 */ - cdev_notdef(), /* 76 */ - cdev_ptm_init(NPTY,ptm), /* 77: pseudo-tty ptm device */ - cdev_vscsi_init(NVSCSI,vscsi), /* 78: vscsi */ - cdev_notdef(), /* 79 */ - cdev_notdef(), /* 80 */ - cdev_notdef(), - cdev_disk_init(1,diskmap), /* 82: disk mapper */ - cdev_pppx_init(NPPPX,pppx), /* 83: pppx */ - cdev_hotplug_init(NHOTPLUG,hotplug), /* 84: devices hot plugging */ - cdev_fuse_init(NFUSE,fuse), /* 85: fuse */ - cdev_tun_init(NTUN,tap), /* 86: Ethernet network tunnel */ - cdev_switch_init(NSWITCH,switch), /* 87: switch(4) control interface */ -}; -int nchrdev = nitems(cdevsw); - -int mem_no = 2; /* major number of /dev/mem */ - -/* - * Swapdev is a fake device implemented in sw.c. - * It is used only internally to get to swstrategy. - */ -dev_t swapdev = makedev(1, 0); - -/* - * Check whether dev is /dev/mem or /dev/kmem. - */ -int -iskmemdev(dev_t dev) -{ - return major(dev) == mem_no && minor(dev) < 2; -} - -/* - * Check whether dev is /dev/zero. - */ -int -iszerodev(dev_t dev) -{ - return major(dev) == mem_no && minor(dev) == 12; -} - -dev_t -getnulldev() -{ - return makedev(mem_no, 2); -} - -int chrtoblktbl[] = { - /*VCHR*/ /*VBLK*/ - /* 0 */ NODEV, - /* 1 */ NODEV, - /* 2 */ NODEV, - /* 3 */ NODEV, - /* 4 */ NODEV, - /* 5 */ NODEV, - /* 6 */ NODEV, - /* 7 */ NODEV, - /* 8 */ 2, /* sd */ - /* 9 */ 3, /* cd */ - /* 10 */ NODEV, - /* 11 */ 0, /* wd */ - /* 12 */ NODEV, - /* 13 */ NODEV, - /* 14 */ NODEV, - /* 15 */ NODEV, - /* 16 */ NODEV, - /* 17 */ 17, /* rd */ - /* 18 */ NODEV, - /* 19 */ 14, /* vnd */ -}; -int nchrtoblktbl = nitems(chrtoblktbl); - -#include - -#define comcnpollc nullcnpollc -cons_decl(com); - -struct consdev constab[] = { -#if NCOM > 0 - cons_init(com), -#endif - { 0 }, -}; diff --git a/sys/arch/socppc/socppc/cpu.c b/sys/arch/socppc/socppc/cpu.c deleted file mode 100644 index 66422f3c00b..00000000000 --- a/sys/arch/socppc/socppc/cpu.c +++ /dev/null @@ -1,96 +0,0 @@ -/* $OpenBSD: cpu.c,v 1.9 2015/03/31 15:51:05 mpi Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include - -#include -#include - -#include - - -struct cpu_info cpu_info[PPC_MAXPROCS] = { { NULL } }; /* XXX */ - -char cpu_model[] = "8347"; -char machine[] = MACHINE; /* cpu architecture */ - -int cpu_match(struct device *, void *, void *); -void cpu_attach(struct device *, struct device *, void *); - -struct cfattach cpu_ca = { - sizeof(struct device), cpu_match, cpu_attach -}; - -struct cfdriver cpu_cd = { - NULL, "cpu", DV_DULL -}; - -int -cpu_match(struct device *parent, void *cfdata, void *aux) -{ - struct mainbus_attach_args *ma = aux; - char buf[32]; - - if (OF_getprop(ma->ma_node, "device_type", buf, sizeof(buf)) <= 0) - return (0); - - if (strcmp(buf, "cpu") == 0) - return (1); - - return (0); -} - -void -cpu_attach(struct device *parent, struct device *self, void *aux) -{ - struct cpu_info *ci; - u_int32_t hid0; - - ci = &cpu_info[0]; - ci->ci_cpuid = 0; - ci->ci_intrdepth = -1; - ci->ci_dev = self; - - printf(": %s\n", cpu_model); - - /* Enable data cache. */ - hid0 = ppc_mfhid0(); - if ((hid0 & HID0_DCE) == 0) { - __asm volatile ( - "sync; mtspr 1008,%0; mtspr 1008,%1" - :: "r" (hid0 | HID0_DCFI), "r" (hid0 | HID0_DCE)); - } - - /* Enable instruction cache. */ - hid0 = ppc_mfhid0(); - if ((hid0 & HID0_ICE) == 0) { - __asm volatile ( - "isync; mtspr 1008,%0; mtspr 1008,%1" - :: "r" (hid0 | HID0_ICFI), "r" (hid0 | HID0_ICE)); - } - - /* Select DOZE mode. */ - hid0 = ppc_mfhid0(); - hid0 &= ~(HID0_NAP | HID0_DOZE | HID0_SLEEP); - hid0 |= HID0_DOZE | HID0_DPM; - ppc_mthid0(hid0); - ppc_cpuidle = 1; -} diff --git a/sys/arch/socppc/socppc/disksubr.c b/sys/arch/socppc/socppc/disksubr.c deleted file mode 100644 index 326274d0524..00000000000 --- a/sys/arch/socppc/socppc/disksubr.c +++ /dev/null @@ -1,133 +0,0 @@ -/* $OpenBSD: disksubr.c,v 1.21 2017/02/28 10:49:37 natano Exp $ */ -/* $NetBSD: disksubr.c,v 1.21 1996/05/03 19:42:03 christos Exp $ */ - -/* - * Copyright (c) 1996 Theo de Raadt - * Copyright (c) 1982, 1986, 1988 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include - -/* - * Attempt to read a disk label from a device - * using the indicated strategy routine. - * The label must be partly set up before this: - * secpercyl, secsize and anything required for a block i/o read - * operation in the driver's strategy/start routines - * must be filled in before calling us. - * - * If dos partition table requested, attempt to load it and - * find disklabel inside a DOS partition. - * - * We would like to check if each MBR has a valid DOSMBR_SIGNATURE, but - * we cannot because it doesn't always exist. So.. we assume the - * MBR is valid. - */ -int -readdisklabel(dev_t dev, void (*strat)(struct buf *), - struct disklabel *lp, int spoofonly) -{ - struct buf *bp = NULL; - int error; - - if ((error = initdisklabel(lp))) - goto done; - - /* get a buffer and initialize it */ - bp = geteblk(lp->d_secsize); - bp->b_dev = dev; - - error = readdoslabel(bp, strat, lp, NULL, spoofonly); - if (error == 0) - goto done; - -#if defined(CD9660) - error = iso_disklabelspoof(dev, strat, lp); - if (error == 0) - goto done; -#endif -#if defined(UDF) - error = udf_disklabelspoof(dev, strat, lp); - if (error == 0) - goto done; -#endif - -done: - if (bp) { - bp->b_flags |= B_INVAL; - brelse(bp); - } - disk_change = 1; - return (error); -} - -/* - * Write disk label back to device after modification. - */ -int -writedisklabel(dev_t dev, void (*strat)(struct buf *), struct disklabel *lp) -{ - daddr_t partoff = -1; - int error = EIO; - int offset; - struct disklabel *dlp; - struct buf *bp = NULL; - - /* get a buffer and initialize it */ - bp = geteblk(lp->d_secsize); - bp->b_dev = dev; - - if (readdoslabel(bp, strat, lp, &partoff, 1) != 0) - goto done; - - /* Read it in, slap the new label in, and write it back out */ - error = readdisksector(bp, strat, lp, DL_BLKTOSEC(lp, partoff + - DOS_LABELSECTOR)); - if (error) - goto done; - offset = DL_BLKOFFSET(lp, partoff + DOS_LABELSECTOR); - - dlp = (struct disklabel *)(bp->b_data + offset); - *dlp = *lp; - CLR(bp->b_flags, B_READ | B_WRITE | B_DONE); - SET(bp->b_flags, B_BUSY | B_WRITE | B_RAW); - (*strat)(bp); - error = biowait(bp); - -done: - if (bp) { - bp->b_flags |= B_INVAL; - brelse(bp); - } - disk_change = 1; - return (error); -} diff --git a/sys/arch/socppc/socppc/genassym.cf b/sys/arch/socppc/socppc/genassym.cf deleted file mode 100644 index ef444ab5917..00000000000 --- a/sys/arch/socppc/socppc/genassym.cf +++ /dev/null @@ -1,99 +0,0 @@ -# $OpenBSD: genassym.cf,v 1.6 2018/01/22 10:04:46 mpi Exp $ -# -# Copyright (c) 1982, 1990 The Regents of the University of California. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# 3. Neither the name of the University nor the names of its contributors -# may be used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -# SUCH DAMAGE. -# -# @(#)genassym.c 7.8 (Berkeley) 5/7/91 -# - -include -include -include -include -include - -include -include -include - -export FRAMELEN -struct trapframe FRAME_ -member 0 fixreg[0] -member 1 fixreg[1] -member 2 fixreg[2] -member 3 fixreg[3] -member lr -member cr -member ctr -member xer -member srr0 -member srr1 -member dar -member dsisr -member exc - -define SFRAMELEN roundup(sizeof(struct switchframe), 16) - -struct pcb -member PCB_PMR pcb_pmreal -member pcb_sp -member PCB_FAULT pcb_onfault - -struct pmap -member PM_SR pm_sr[0] -member PM_USRSR pm_sr[PPC_USER_SR] -member PM_KERNELSR pm_sr[PPC_KERNEL_SR] - -struct proc -member p_addr -member p_stat -member p_cpu -member P_MD_ASTPENDING p_md.md_astpending - -struct sigframe -member sf_sc - -struct fpsig - -export SONPROC - -struct cpu_info -member ci_curproc -member ci_curpcb -member ci_curpm -member ci_want_resched -member ci_cpl -member ci_flags -export CI_FLAGS_SLEEPING -member ci_intrdepth -member ci_intstk -member ci_tempsave -member ci_ddbsave -member ci_disisave -ifdef DIAGNOSTIC -member ci_mutex_level -endif diff --git a/sys/arch/socppc/socppc/locore.S b/sys/arch/socppc/socppc/locore.S deleted file mode 100644 index eb70347517c..00000000000 --- a/sys/arch/socppc/socppc/locore.S +++ /dev/null @@ -1,1380 +0,0 @@ -/* $OpenBSD: locore.S,v 1.22 2016/05/23 20:11:49 deraadt Exp $ */ -/* $NetBSD: locore.S,v 1.2 1996/10/16 19:33:09 ws Exp $ */ - -/* - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "assym.h" - -#include - -#include -#include -#include -#include -#include - -#define GET_CPUINFO(r) mfsprg r,0 - -#define INTSTK (8*1024) /* 8K interrupt stack */ -#define SPILLSTK (1*1024) -#define DDBSTK (7*1024) - -/* - * Globals - */ - .globl _C_LABEL(esym),_C_LABEL(proc0paddr) - .type _C_LABEL(esym),@object - .type _C_LABEL(proc0paddr),@object - .data -_C_LABEL(esym): .long 0 /* end of symbol table */ -_C_LABEL(proc0paddr): .long 0 /* proc0 p_addr */ - - .globl _C_LABEL(fwargsave) - .type _C_LABEL(fwargsave),@object -_C_LABEL(fwargsave): .long 0 - - .globl _C_LABEL(fwfdtsave) - .type _C_LABEL(fwfdtsave),@object -_C_LABEL(fwfdtsave): .long 0 - -/* - * Startup entry - */ -_ENTRY(_C_LABEL(kernel_text)) -_ENTRY(_ASM_LABEL(start)) -/* arguments to start - * r1 - stack provided by firmware/bootloader - * r3 - unused - * r4 - unused - * r5 - firmware pointer (NULL for PPC1bug) - * r6 - arg list - * r7 - length - */ - .globl start - .type start,@function -start: - /* make sure address translation is disabled */ - mfmsr %r9 - li %r8,PSL_DR|PSL_IR - andc %r9,%r9,%r8 - sync - mtmsr %r9 - isync - - lis %r8, fwargsave@ha - stw %r29, fwargsave@l(%r8) - - lis %r8, fwfdtsave@ha - stw %r3, fwfdtsave@l(%r8) - -/* compute end of kernel memory */ - lis %r8,_end@ha - addi %r8,%r8,_end@l - cmpwi %r4,0 - beq 1f - li %r6,0 -1: -#if defined(DDB) - cmpwi %r6, 0 - beq 2f - add %r9,%r6,%r7 - lwz %r9, -4(%r9) - cmpwi %r9,0 - beq 2f - lis %r8,_C_LABEL(esym)@ha - stw %r9,_C_LABEL(esym)@l(%r8) - mr %r8, %r9 -2: -#endif - li %r9,PGOFSET - add %r8,%r8,%r9 - andc %r8,%r8,%r9 - lis %r9,_C_LABEL(cpu_info)@ha - addi %r9,%r9,_C_LABEL(cpu_info)@l - mtsprg 0,%r9 - addi %r8,%r8,INTSTK - stw %r8,CI_INTSTK(%r9) - li %r0,-1 - stw %r0,CI_INTRDEPTH(%r9) - addi %r8,%r8,SPILLSTK+DDBSTK /* leave room for spillstk and ddbstk */ - lis %r9,_C_LABEL(proc0paddr)@ha - stw %r8,_C_LABEL(proc0paddr)@l(%r9) - addi %r1,%r8,USPACE-FRAMELEN /* stackpointer for proc0 */ - mr %r4,%r1 /* end of mem reserved for kernel */ - li %r0,0 - stwu %r0,-16(%r1) /* end of stack chain */ - - lis %r3,start@ha - addi %r3,%r3,start@l - mr %r5,%r6 /* args string */ - - bl _C_LABEL(initppc) - bl _C_LABEL(main) - -#ifdef MULTIPROCESSOR -_ENTRY(_C_LABEL(cpu_spinup_trampoline)) - lis %r3,_C_LABEL(cpu_hatch_stack)@ha - lwz %r1,_C_LABEL(cpu_hatch_stack)@l(%r3) - - b _C_LABEL(cpu_hatch) - /* NOTREACHED */ -#endif - -_ENTRY(_C_LABEL(prom_printf)) - lis %r11, fwargsave@ha - lwz %r11, fwargsave@l(%r11) - lwz %r11, 88(%r11) - lwz %r11, 20(%r11) - mtctr %r11 - bctr - -/* - * void cpu_switchto(struct proc *old, struct proc *new) - * Switch from "old" proc to "new". - */ -_ENTRY(_C_LABEL(cpu_switchto_asm)) - mflr %r0 /* save lr */ - stw %r0,4(%r1) - stwu %r1,-16(%r1) - stw %r31,12(%r1) - stw %r30,8(%r1) - -/* - * r3 - old proc - * r4 - new proc - * r5 - cpuinfo - */ - GET_CPUINFO(%r5) - - li %r31,SONPROC - stb %r31,P_STAT(%r4) - - or. %r3,%r3,%r3 /* old process was exiting? */ - beq switch_exited - - mfsr %r10,PPC_USER_SR /* save PPC_USER_SR for copyin/copyout*/ - mfcr %r11 /* save cr */ - mr %r12,%r2 /* save r2 */ - stwu %r1,-SFRAMELEN(%r1) /* still running on old stack */ - stmw %r10,8(%r1) - lwz %r31,P_ADDR(%r3) - stw %r1,PCB_SP(%r31) /* save SP */ - -switch_exited: - /* disable interrupts while actually switching */ - mfmsr %r30 - andi. %r30,%r30,~PSL_EE@l - mtmsr %r30 - isync - - stw %r4,CI_CURPROC(%r5) /* record new process */ - -#ifdef MULTIPROCESSOR - stw %r5,P_CPU(%r4) -#endif - - lwz %r31,P_ADDR(%r4) - stw %r31,CI_CURPCB(%r5) /* indicate new pcb */ - - lwz %r6,PCB_PMR(%r31) - - /* save real pmap pointer for spill fill */ - stwu %r6,CI_CURPM(%r5) - stwcx. %r6,%r0,%r5 /* clear possible reservation */ - - addic. %r6,%r6,64 - li %r5,0 - - lwz %r1,PCB_SP(%r31) /* get new procs SP */ - - ori %r30,%r30,PSL_EE /* interrupts are okay again */ - mtmsr %r30 - - lmw %r10,8(%r1) /* get other regs */ - lwz %r1,0(%r1) /* get saved SP */ - mr %r2,%r12 /* get saved r2 */ - mtcr %r11 /* get saved cr */ - isync - mtsr PPC_USER_SR,%r10 /* get saved PPC_USER_SR */ - isync - - lwz %r31,12(%r1) - lwz %r30,8(%r1) - addi %r1,%r1,16 - lwz %r0,4(%r1) - mtlr %r0 - blr - -_ENTRY(_C_LABEL(cpu_idle_enter)) - lis %r4, _C_LABEL(ppc_cpuidle)@ha - lwz %r4, _C_LABEL(ppc_cpuidle)@l(%r4) - cmpwi %r4, 0 - beq 1f - /* must disable external interrupts during idle queue checking */ - mfmsr %r3 - andi. %r3,%r3,~PSL_EE@l - mtmsr %r3 - isync -1: - blr - -_ENTRY(_C_LABEL(cpu_idle_cycle)) - lis %r4, _C_LABEL(ppc_cpuidle)@ha - lwz %r4, _C_LABEL(ppc_cpuidle)@l(%r4) - cmpwi %r4, 0 - beq idledone - - /* - * Interrupts were disabled in cpu_idle_enter, but must be - * enabled for sleeping, but before that indicate that we - * are entering sleep mode. - */ - GET_CPUINFO(%r4) - lwz %r6,CI_FLAGS(%r4) - ori %r6,%r6,CI_FLAGS_SLEEPING@l - stw %r6,CI_FLAGS(%r4) - - /* enable interrupts, required before setting POW */ - mfmsr %r3 - ori %r5,%r3,PSL_EE@l - mtmsr %r5 - oris %r5, %r5, PSL_POW@h - sync - /* low power mode */ - mtmsr %r5 - sync - isync - - /* - * restore interrupts to disabled, so CI_FLAGS is only modified - * with interrupts disabled. - */ - mtmsr %r3 - isync - - /* clear CI_FLAGS_SLEEPING since sleeping is over */ - andi. %r6,%r6,~CI_FLAGS_SLEEPING@l - stw %r6,CI_FLAGS(%r4) -idledone: - blr - -_ENTRY(_C_LABEL(cpu_idle_leave)) - lis %r4, _C_LABEL(ppc_cpuidle)@ha - lwz %r4, _C_LABEL(ppc_cpuidle)@l(%r4) - cmpwi %r4, 0 - beq 1f - /* enable interrupts disabled in cpu_idle_enter. */ - mfmsr %r3 - ori %r3,%r3,PSL_EE@l - mtmsr %r3 -1: - blr - -/* - * This code gets copied to all the trap vectors - * except ISI/DSI, ALI, and the interrupts - */ - .text - .globl _C_LABEL(trapcode),_C_LABEL(trapsize) - .type _C_LABEL(trapcode),@function - .type _C_LABEL(trapsize),@object -_C_LABEL(trapcode): - mtsprg 1,%r1 /* save SP */ -nop32_1s: - mfmsr %r1 - clrldi %r1,%r1,1 - mtmsrd %r1 -nop32_1e: - GET_CPUINFO(%r1) - stmw %r28,CI_TEMPSAVE(%r1) /* free r28-r31 */ - mflr %r28 /* save LR */ - mfcr %r29 /* save CR */ - mfsprg %r1,1 /* restore SP */ - - /* Test whether we already had PR set */ - mfsrr1 %r31 - mtcr %r31 - bc 4,17,1f /* branch if PSL_PR is clear */ - GET_CPUINFO(%r1) - lwz %r1,CI_CURPCB(%r1) - addi %r1,%r1,USPACE /* stack is top of user struct */ -1: - bla s_trap -_C_LABEL(trapsize) = .-_C_LABEL(trapcode) - -/* - * For ALI: has to save DSISR and DAR - */ - .globl _C_LABEL(alitrap),_C_LABEL(alisize) -_C_LABEL(alitrap): - mtsprg 1,%r1 /* save SP */ -nop32_2s: - mfmsr %r1 - clrldi %r1,%r1,1 - mtmsrd %r1 -nop32_2e: - GET_CPUINFO(%r1) - stmw %r28,CI_TEMPSAVE(%r1) /* free r28-r31 */ - mfdar %r30 - mfdsisr %r31 - stmw %r30,CI_TEMPSAVE+16(%r1) - mflr %r28 /* save LR */ - mfcr %r29 /* save CR */ - mfsprg %r1,1 /* restore SP */ - - /* Test whether we already had PR set */ - mfsrr1 %r31 - mtcr %r31 - bc 4,17,1f /* branch if PSL_PR is clear */ - GET_CPUINFO(%r1) - lwz %r1,CI_CURPCB(%r1) - addi %r1,%r1,USPACE /* stack is top of user struct */ -1: - bla s_trap -_C_LABEL(alisize) = .-_C_LABEL(alitrap) - -/* - * Similar to the above for DSI - * Has to handle BAT spills - * and standard pagetable spills - */ - .globl _C_LABEL(dsitrap),_C_LABEL(dsisize) - .type _C_LABEL(dsitrap),@function - .type _C_LABEL(dsisize),@object -_C_LABEL(dsitrap): - mtsprg 1,%r1 - GET_CPUINFO(%r1) - stmw %r28,CI_DISISAVE(%r1) /* free r28-r31 */ -nop32_3s: - mfmsr %r28 - clrldi %r28,%r28,1 - mtmsrd %r28 -nop32_3e: - mfsprg %r1,1 - mfcr %r29 /* save CR */ - mfxer %r30 /* save XER */ - mtsprg 2,%r30 /* in SPRG2 */ - mfsrr1 %r31 /* test kernel mode */ -nopbat_1s: - mtcr %r31 - bc 12,17,1f /* branch if PSL_PR is set */ - mfdar %r31 /* get fault address */ - rlwinm %r31,%r31,7,25,28 /* get segment * 8 */ - addis %r31,%r31,_C_LABEL(battable)@ha - lwz %r30,_C_LABEL(battable)@l(%r31) /* get batu */ - mtcr %r30 - bc 4,30,1f /* branch if supervisor valid is false */ - lwz %r31,_C_LABEL(battable)+4@l(%r31) /* get batl */ -/* We randomly use the highest two bat registers here */ - mftb %r28 - andi. %r28,%r28,1 - bne 2f - mtdbatu 2,%r30 - mtdbatl 2,%r31 - b 3f -2: - mtdbatu 3,%r30 - mtdbatl 3,%r31 -3: - mfsprg %r30,2 /* restore XER */ - mtxer %r30 - mtcr %r29 /* restore CR */ - mtsprg 1,%r1 - GET_CPUINFO(%r1) - lmw %r28,CI_DISISAVE(%r1) /* restore r28-r31 */ - mfsprg 1,%r1 - rfi /* return to trapped code */ -1: -nopbat_1e: - mflr %r28 /* save LR */ - bla s_dsitrap -_C_LABEL(dsisize) = .-_C_LABEL(dsitrap) - -/* - * Similar to the above for ISI - */ - .globl _C_LABEL(isitrap),_C_LABEL(isisize) - .type _C_LABEL(isitrap),@function - .type _C_LABEL(isisize),@object -_C_LABEL(isitrap): - mtsprg 1,%r1 /* save SP */ -nop32_4s: - mfmsr %r1 - clrldi %r1,%r1,1 - mtmsrd %r1 -nop32_4e: - GET_CPUINFO(%r1) - stmw %r28,CI_DISISAVE(%r1) /* free r28-r31 */ - mflr %r28 /* save LR */ - mfcr %r29 /* save CR */ - mfsrr1 %r31 /* test kernel mode */ - mfsprg %r1,1 /* restore SP */ - bla s_isitrap -_C_LABEL(isisize) = .-_C_LABEL(isitrap) - -/* - * This one for the external interrupt handler. - */ - .globl _C_LABEL(extint),_C_LABEL(extsize) - .type _C_LABEL(extint),@function - .type _C_LABEL(extsize),@object -_C_LABEL(extint): - mtsprg 1,%r1 /* save SP */ -nop32_5s: - mfmsr %r1 - clrldi %r1,%r1,1 - mtmsrd %r1 -nop32_5e: - GET_CPUINFO(%r1) - stmw %r28,CI_TEMPSAVE(%r1) /* free r28-r31 */ - mflr %r28 /* save LR */ - mfcr %r29 /* save CR */ - mfxer %r30 /* save XER */ - lwz %r31,CI_INTRDEPTH(%r1) /* were we already running on intstk? */ - addic. %r31,%r31,1 - stw %r31,CI_INTRDEPTH(%r1) - lwz %r1,CI_INTSTK(%r1) /* get interrupt stack */ - beq 1f - mfsprg %r1,1 /* yes, get old SP */ -1: - ba extintr -_C_LABEL(extsize) = .-_C_LABEL(extint) - -/* - * And this one for the decrementer interrupt handler. - */ - .globl _C_LABEL(decrint),_C_LABEL(decrsize) - .type _C_LABEL(decrint),@function - .type _C_LABEL(decrsize),@object -_C_LABEL(decrint): - mtsprg 1,%r1 /* save SP */ -nop32_6s: - mfmsr %r1 - clrldi %r1,%r1,1 - mtmsrd %r1 -nop32_6e: - GET_CPUINFO(%r1) - stmw %r28,CI_TEMPSAVE(%r1) /* free r28-r31 */ - mflr %r28 /* save LR */ - mfcr %r29 /* save CR */ - mfxer %r30 /* save XER */ - lwz %r31,CI_INTRDEPTH(%r1) /* were we already running on intstk? */ - addic. %r31,%r31,1 - stw %r31,CI_INTRDEPTH(%r1) - lwz %r1,CI_INTSTK(%r1) /* get interrupt stack */ - beq 1f - mfsprg %r1,1 /* yes, get old SP */ -1: - ba decrintr -_C_LABEL(decrsize) = .-_C_LABEL(decrint) - -/* - * Now the tlb software load for 603 processors: - * (Code essentially from the 603e User Manual, Chapter 5) - */ -#define DMISS 976 -#define DCMP 977 -#define HASH1 978 -#define HASH2 979 -#define IMISS 980 -#define ICMP 981 -#define RPA 982 - -#define bdneq bdnzf 2, -#define tlbli .long 0x7c0007e4+0x800* -#define tlbld .long 0x7c0007a4+0x800* - - .globl _C_LABEL(tlbimiss),_C_LABEL(tlbimsize) - .type _C_LABEL(tlbimiss),@function - .type _C_LABEL(tlbimsize),@object -_C_LABEL(tlbimiss): - mfspr %r2,HASH1 /* get first pointer */ - li %r1,8 - mfctr %r0 /* save counter */ - mfspr %r3,ICMP /* get first compare value */ - addi %r2,%r2,-8 /* predec pointer */ -1: - mtctr %r1 /* load counter */ -2: - lwzu %r1,8(%r2) /* get next pte */ - cmpl 0,%r1,%r3 /* see if found pte */ - bdneq 2b /* loop if not eq */ - bne 3f /* not found */ - lwz %r1,4(%r2) /* load tlb entry lower word */ - andi. %r3,%r1,8 /* check G-bit */ - bne 4f /* if guarded, take ISI */ - mtctr %r0 /* restore counter */ - mfspr %r0,IMISS /* get the miss address for the tlbli */ - mfsrr1 %r3 /* get the saved cr0 bits */ - mtcrf 0x80,%r3 /* and restore */ - ori %r1,%r1,0x100 /* set the reference bit */ - mtspr RPA,%r1 /* set the pte */ - srwi %r1,%r1,8 /* get byte 7 of pte */ - tlbli 0 /* load the itlb */ - stb %r1,6(%r2) /* update page table */ - rfi - -3: /* not found in pteg */ - andi. %r1,%r3,0x40 /* have we already done second hash? */ - bne 5f - mfspr %r2,HASH2 /* get the second pointer */ - ori %r3,%r3,0x40 /* change the compare value */ - li %r1,8 - addi %r2,%r2,-8 /* predec pointer */ - b 1b -4: /* guarded */ - mfsrr1 %r3 - andi. %r2,%r3,0xffff /* clean upper srr1 */ - addis %r2,%r2,0x800 /* set srr<4> to flag prot violation */ - b 6f -5: /* not found anywhere */ - mfsrr1 %r3 - andi. %r2,%r3,0xffff /* clean upper srr1 */ - addis %r2,%r2,0x4000 /* set srr1<1> to flag pte not found */ -6: - mtctr %r0 /* restore counter */ - mtsrr1 %r2 - mfmsr %r0 - xoris %r0,%r0,2 /* flip the msr bit */ - mtcrf 0x80,%r3 /* restore cr0 */ - mtmsr %r0 /* now with native gprs */ - isync - ba EXC_ISI -_C_LABEL(tlbimsize) = .-_C_LABEL(tlbimiss) - - .globl _C_LABEL(tlbdlmiss),_C_LABEL(tlbdlmsize) - .type _C_LABEL(tlbdlmiss),@function - .type _C_LABEL(tlbdlmsize),@object -_C_LABEL(tlbdlmiss): - mfspr %r2,HASH1 /* get first pointer */ - li %r1,8 - mfctr %r0 /* save counter */ - mfspr %r3,DCMP /* get first compare value */ - addi %r2,%r2,-8 /* predec pointer */ -1: - mtctr %r1 /* load counter */ -2: - lwzu %r1,8(%r2) /* get next pte */ - cmpl 0,%r1,%r3 /* see if found pte */ - bdneq 2b /* loop if not eq */ - bne 3f /* not found */ - lwz %r1,4(%r2) /* load tlb entry lower word */ - mtctr %r0 /* restore counter */ - mfspr %r0,DMISS /* get the miss address for the tlbld */ - mfsrr1 %r3 /* get the saved cr0 bits */ - mtcrf 0x80,%r3 /* and restore */ - ori %r1,%r1,0x100 /* set the reference bit */ - mtspr RPA,%r1 /* set the pte */ - srwi %r1,%r1,8 /* get byte 7 of pte */ - tlbld 0 /* load the dtlb */ - stb %r1,6(%r2) /* update page table */ - rfi - -3: /* not found in pteg */ - andi. %r1,%r3,0x40 /* have we already done second hash? */ - bne 5f - mfspr %r2,HASH2 /* get the second pointer */ - ori %r3,%r3,0x40 /* change the compare value */ - li %r1,8 - addi %r2,%r2,-8 /* predec pointer */ - b 1b -5: /* not found anywhere */ - mfsrr1 %r3 - lis %r1,0x4000 /* set dsisr<1> to flag pte not found */ - mtctr %r0 /* restore counter */ - andi. %r2,%r3,0xffff /* clean upper srr1 */ - mtsrr1 %r2 - mtdsisr %r1 /* load the dsisr */ - mfspr %r1,DMISS /* get the miss address */ - mtdar %r1 /* put in dar */ - mfmsr %r0 - xoris %r0,%r0,2 /* flip the msr bit */ - mtcrf 0x80,%r3 /* restore cr0 */ - mtmsr %r0 /* now with native gprs */ - isync - ba EXC_DSI -_C_LABEL(tlbdlmsize) = .-_C_LABEL(tlbdlmiss) - - .globl _C_LABEL(tlbdsmiss),_C_LABEL(tlbdsmsize) - .type _C_LABEL(tlbdsmiss),@function - .type _C_LABEL(tlbdsmsize),@object -_C_LABEL(tlbdsmiss): - mfspr %r2,HASH1 /* get first pointer */ - li %r1,8 - mfctr %r0 /* save counter */ - mfspr %r3,DCMP /* get first compare value */ - addi %r2,%r2,-8 /* predec pointer */ -1: - mtctr %r1 /* load counter */ -2: - lwzu %r1,8(%r2) /* get next pte */ - cmpl 0,%r1,%r3 /* see if found pte */ - bdneq 2b /* loop if not eq */ - bne 3f /* not found */ - lwz %r1,4(%r2) /* load tlb entry lower word */ - andi. %r3,%r1,0x80 /* check the C-bit */ - beq 4f -5: - mtctr %r0 /* restore counter */ - mfspr %r0,DMISS /* get the miss address for the tlbld */ - mfsrr1 %r3 /* get the saved cr0 bits */ - mtcrf 0x80,%r3 /* and restore */ - mtspr RPA,%r1 /* set the pte */ - tlbld 0 /* load the dtlb */ - rfi - -3: /* not found in pteg */ - andi. %r1,%r3,0x40 /* have we already done second hash? */ - bne 5f - mfspr %r2,HASH2 /* get the second pointer */ - ori %r3,%r3,0x40 /* change the compare value */ - li %r1,8 - addi %r2,%r2,-8 /* predec pointer */ - b 1b -4: /* found, but C-bit = 0 */ - rlwinm. %r3,%r1,30,0,1 /* test PP */ - bge- 7f - andi. %r3,%r1,1 - beq+ 8f -9: /* found, but protection violation (PP==00)*/ - mfsrr1 %r3 - lis %r1,0xa00 /* indicate protection violation on store */ - b 1f -7: /* found, PP=1x */ - mfspr %r3,DMISS /* get the miss address */ - mfsrin %r1,%r3 /* get the segment register */ - mfsrr1 %r3 - rlwinm %r3,%r3,18,31,31 /* get PR-bit */ - rlwnm. %r1,%r1,%r3,1,1 /* get the key */ - bne- 9b /* protection violation */ -8: /* found, set reference/change bits */ - lwz %r1,4(%r2) /* reload tlb entry */ - ori %r1,%r1,0x180 - sth %r1,6(%r2) - b 5b -5: /* not found anywhere */ - mfsrr1 %r3 - lis %r1,0x4200 /* set dsisr<1> to flag pte not found */ - /* dsisr<6> to flag store */ -1: - mtctr %r0 /* restore counter */ - andi. %r2,%r3,0xffff /* clean upper srr1 */ - mtsrr1 %r2 - mtdsisr %r1 /* load the dsisr */ - mfspr %r1,DMISS /* get the miss address */ - mtdar %r1 /* put in dar */ - mfmsr %r0 - xoris %r0,%r0,2 /* flip the msr bit */ - mtcrf 0x80,%r3 /* restore cr0 */ - mtmsr %r0 /* now with native gprs */ - isync - ba EXC_DSI -_C_LABEL(tlbdsmsize) = .-_C_LABEL(tlbdsmiss) - -#ifdef DDB -/* - * In case of DDB we want a separate trap catcher for it - */ - .globl _C_LABEL(ddblow),_C_LABEL(ddbsize) -_C_LABEL(ddblow): - mtsprg 1,%r1 /* save SP */ -nop32_7s: - mfmsr %r1 - clrldi %r1,%r1,1 - mtmsrd %r1 -nop32_7e: - GET_CPUINFO(%r1) - stmw %r28,CI_DDBSAVE(%r1) /* free r28-r31 */ - mflr %r28 /* save LR */ - mfcr %r29 /* save CR */ - GET_CPUINFO(%r30) - lwz %r30,CI_INTSTK(%r30) /* get interrupt stack */ - addi %r1,%r30,8192 /* 7k for ddb */ - bla ddbtrap -_C_LABEL(ddbsize) = .-_C_LABEL(ddblow) -#endif /* DDB */ - -/* - * If this interrupt occured between the runqueue check and the setting - * of the POW bit, do no enter to sleep. We do that in order to process - * the result of this interrupt directly and not when coming back from - * sleep, when the next clock tick or interrupt will fire. - */ -#define CPU_IDLE_CHECK(sr1,sr2,sr3,rSRR0,flag) \ - GET_CPUINFO(sr1); \ - lwz sr2,CI_FLAGS(sr1); \ - andi. sr3,sr2,flag@l; \ - beq 1f; \ - andi. sr2,sr2,~flag@l; \ - stw sr2,CI_FLAGS(sr1); \ - lis rSRR0,_C_LABEL(idledone)@ha; \ - addi rSRR0,rSRR0,_C_LABEL(idledone)@l; \ -1: - -/* - * FRAME_SETUP assumes: - * SPRG1 SP (1) - * savearea r28-r31,DAR,DSISR (DAR & DSISR only for DSI traps) - * 28 LR - * 29 CR - * 1 kernel stack - * LR trap type - * SRR0/1 as at start of trap - */ -#define FRAME_SETUP(savearea) FRAME_SETUP_FLAG(savearea, CI_FLAGS_SLEEPING) - -#define FRAME_SETUP_FLAG(savearea, flag) \ -/* Have to enable translation to allow access of kernel stack: */ \ - GET_CPUINFO(%r31); \ - mfsrr0 %r30; \ - stw %r30,savearea+24(%r31); \ - mfsrr1 %r30; \ - stw %r30,savearea+28(%r31); \ - /* load all kernel segment registers. */ \ - lis %r31,_C_LABEL(kernel_pmap_)@ha; \ - addi %r31,%r31,_C_LABEL(kernel_pmap_)@l; \ - lwz %r30,0(%r31); mtsr 0,%r30; \ - lwz %r30,4(%r31); mtsr 1,%r30; \ - lwz %r30,8(%r31); mtsr 2,%r30; \ - lwz %r30,12(%r31); mtsr 3,%r30; \ - lwz %r30,16(%r31); mtsr 4,%r30; \ - lwz %r30,20(%r31); mtsr 5,%r30; \ - lwz %r30,24(%r31); mtsr 6,%r30; \ - lwz %r30,28(%r31); mtsr 7,%r30; \ - lwz %r30,32(%r31); mtsr 8,%r30; \ - lwz %r30,36(%r31); mtsr 9,%r30; \ - lwz %r30,40(%r31); mtsr 10,%r30; \ - lwz %r30,44(%r31); mtsr 11,%r30; \ - lwz %r30,48(%r31); mtsr 12,%r30; \ -/* lwz %r30,52(%r31); mtsr 13,%r30; - dont load user SR - XXX? */ \ - lwz %r30,56(%r31); mtsr 14,%r30; \ - lwz %r30,60(%r31); mtsr 15,%r30; \ - mfmsr %r30; \ - ori %r30,%r30,(PSL_DR|PSL_IR); \ - mtmsr %r30; \ - isync; \ - mfsprg %r31,1; \ - stwu %r31,-FRAMELEN(%r1); \ - stw %r0,FRAME_0+8(%r1); \ - stw %r31,FRAME_1+8(%r1); \ - stw %r2,FRAME_2+8(%r1); \ - stw %r28,FRAME_LR+8(%r1); \ - stw %r29,FRAME_CR+8(%r1); \ - GET_CPUINFO(%r2); \ - lmw %r28,savearea(%r2); \ - stmw %r3,FRAME_3+8(%r1); \ - lmw %r28,savearea+16(%r2); \ - mfxer %r3; \ - mfctr %r4; \ - mflr %r5; \ - andi. %r5,%r5,0xff00; \ - stw %r3,FRAME_XER+8(%r1); \ - stw %r4,FRAME_CTR+8(%r1); \ - stw %r5,FRAME_EXC+8(%r1); \ - stw %r28,FRAME_DAR+8(%r1); \ - stw %r29,FRAME_DSISR+8(%r1); \ - CPU_IDLE_CHECK(%r5,%r6,%r0,%r30,flag) \ - stw %r30,FRAME_SRR0+8(%r1); \ - stw %r31,FRAME_SRR1+8(%r1) - -#define FRAME_LEAVE(savearea) \ -/* Now restore regs: */ \ - lwz %r2,FRAME_SRR0+8(%r1); \ - lwz %r3,FRAME_SRR1+8(%r1); \ - lwz %r4,FRAME_CTR+8(%r1); \ - lwz %r5,FRAME_XER+8(%r1); \ - lwz %r6,FRAME_LR+8(%r1); \ - GET_CPUINFO(%r7); \ - stw %r2,savearea(%r7); \ - stw %r3,savearea+4(%r7); \ - lwz %r7,FRAME_CR+8(%r1); \ - mtctr %r4; \ - mtxer %r5; \ - mtlr %r6; \ - mtsprg 1,%r7; /* save cr */ \ - lmw %r2,FRAME_2+8(%r1); \ - lwz %r0,FRAME_0+8(%r1); \ - lwz %r1,FRAME_1+8(%r1); \ - mtsprg 2,%r2; /* save r2 & r3 */ \ - mtsprg 3,%r3; \ -/* Disable translation, machine check and recoverability: */ \ - mfmsr %r2; \ - lis %r3,(PSL_DR|PSL_IR|PSL_ME|PSL_RI)@ha; \ - addi %r3,%r3,(PSL_DR|PSL_IR|PSL_ME|PSL_RI)@l; \ - andc %r2,%r2,%r3; \ - mtmsr %r2; \ - isync; \ -/* Decide whether we return to user mode: */ \ - GET_CPUINFO(%r2); \ - lwz %r3,savearea+4(%r2); \ - mtcr %r3; \ - bc 4,17,1f; /* branch if PSL_PR is false */ \ -/* Restore user & kernel access SR: */ \ - lwz %r2,CI_CURPM(%r2); /* get real address of pmap */ \ - lwz %r3,0(%r2); mtsr 0,%r3; \ - lwz %r3,4(%r2); mtsr 1,%r3; \ - lwz %r3,8(%r2); mtsr 2,%r3; \ - lwz %r3,12(%r2); mtsr 3,%r3; \ - lwz %r3,16(%r2); mtsr 4,%r3; \ - lwz %r3,20(%r2); mtsr 5,%r3; \ - lwz %r3,24(%r2); mtsr 6,%r3; \ - lwz %r3,28(%r2); mtsr 7,%r3; \ - lwz %r3,32(%r2); mtsr 8,%r3; \ - lwz %r3,36(%r2); mtsr 9,%r3; \ - lwz %r3,40(%r2); mtsr 10,%r3; \ - lwz %r3,44(%r2); mtsr 11,%r3; \ - lwz %r3,48(%r2); mtsr 12,%r3; \ - lwz %r3,52(%r2); mtsr 13,%r3; \ - lwz %r3,56(%r2); mtsr 14,%r3; \ - lwz %r3,60(%r2); mtsr 15,%r3; \ -1: mfsprg %r2,1; /* restore cr */ \ - mtcr %r2; \ - GET_CPUINFO(%r2); \ - lwz %r3,savearea(%r2); \ - mtsrr0 %r3; \ - lwz %r3,savearea+4(%r2); \ - mtsrr1 %r3; \ - mfsprg %r2,2; /* restore r2 & r3 */ \ - mfsprg %r3,3 - -/* - * Preamble code for DSI/ISI traps - */ -disitrap: - GET_CPUINFO(%r1) - lmw %r30,CI_DISISAVE(%r1) - stmw %r30,CI_TEMPSAVE(%r1) - lmw %r30,CI_DISISAVE+8(%r1) - stmw %r30,CI_TEMPSAVE+8(%r1) - mfdar %r30 - mfdsisr %r31 - stmw %r30,CI_TEMPSAVE+16(%r1) -realtrap: - /* Test whether we already had PR set */ - mfsrr1 %r1 - mtcr %r1 - /* restore SP (might have been overwritten) */ - mfsprg %r1,1 - bc 4,17,s_trap /* branch if PSL_PR is false */ - GET_CPUINFO(%r1) - lwz %r1,CI_CURPCB(%r1) - addi %r1,%r1,USPACE /* stack is top of user struct */ -/* - * Now the common trap catching code. - */ - .globl s_trap -s_trap: - FRAME_SETUP(CI_TEMPSAVE) -/* Now we can recover interrupts again: */ - mfmsr %r7 - mfsrr1 %r31 - andi. %r31,%r31,PSL_EE /* restore EE from previous context */ - or %r7,%r7,%r31 - ori %r7,%r7,(PSL_ME|PSL_RI) - mtmsr %r7 - isync -/* Call C trap code: */ -trapagain: - addi %r3,%r1,8 - bl _C_LABEL(trap) - - .globl trapexit -trapexit: -/* Disable interrupts: */ - mfmsr %r3 - andi. %r3,%r3,~PSL_EE@l - mtmsr %r3 - isync -/* Test AST pending: */ - lwz %r5,FRAME_SRR1+8(%r1) - mtcr %r5 - bc 4,17,1f /* branch if PSL_PR is false */ - GET_CPUINFO(%r3) - lwz %r4,CI_CURPROC(%r3) - lwz %r4,P_MD_ASTPENDING(%r4) - andi. %r4,%r4,1 - beq 1f - li %r6,EXC_AST - stw %r6,FRAME_EXC+8(%r1) - b trapagain -1: - FRAME_LEAVE(CI_TEMPSAVE) -rfi1: rfi - -/* - * Child comes here at the end of a fork. - * Mostly similar to the above. - */ - .globl _C_LABEL(fork_trampoline) - .type _C_LABEL(fork_trampoline),@function -_C_LABEL(fork_trampoline): -#ifdef MULTIPROCESSOR - bl _C_LABEL(proc_trampoline_mp) -#endif - li %r3,0 - bl _C_LABEL(lcsplx) - mtlr %r31 - mr %r3,%r30 - blrl /* jump indirect to r31 */ - b trapexit - -/* - * DSI second stage fault handler - */ -s_dsitrap: - mfdsisr %r31 /* test if this is spill fault */ - mtcr %r31 - mtsprg 1,%r1 /* save SP */ - bc 4,1,disitrap /* branch if table miss is false */ - GET_CPUINFO(%r30) - lwz %r30,CI_INTSTK(%r30) /* get interrupt stack */ - addi %r1,%r30,1024 - stwu %r1,-52(%r1) - stw %r0,48(%r1) /* save non-volatile registers */ - stw %r3,44(%r1) - stw %r4,40(%r1) - stw %r5,36(%r1) - stw %r6,32(%r1) - stw %r7,28(%r1) - stw %r8,24(%r1) - stw %r9,20(%r1) - stw %r10,16(%r1) - stw %r11,12(%r1) - stw %r12,8(%r1) - mfxer %r30 /* save XER */ - mtsprg 2,%r30 - mflr %r30 /* save trap type */ - mfctr %r31 /* & CTR */ - mfdar %r7 - mfsrr1 %r4 - mfdsisr %r5 - li %r6, 0 -s_pte_spill: - andi. %r0,%r4,PSL_PR - li %r3,0 - bne 1f - mr %r3,%r7 - bl _C_LABEL(pte_spill_r) /* try a spill */ -1: - cmpwi 0,%r3,0 - mtctr %r31 /* restore CTR */ - mtlr %r30 /* and trap type */ - mfsprg %r31,2 /* get saved XER */ - mtxer %r31 /* restore XER */ - lwz %r12,8(%r1) /* restore non-volatile registers */ - lwz %r11,12(%r1) - lwz %r10,16(%r1) - lwz %r9,20(%r1) - lwz %r8,24(%r1) - lwz %r7,28(%r1) - lwz %r6,32(%r1) - lwz %r5,36(%r1) - lwz %r4,40(%r1) - lwz %r3,44(%r1) - lwz %r0,48(%r1) - beq disitrap - mtcr %r29 /* restore CR */ - mtlr %r28 /* restore LR */ - GET_CPUINFO(%r1) - lmw %r28,CI_DISISAVE(%r1) /* restore r28-r31 */ - mfsprg %r1,1 /* restore SP */ -rfi2: rfi /* return to trapped code */ - -/* - * ISI second stage fault handler - */ -s_isitrap: - mfsrr1 %r31 /* test if this may be a spill fault */ - mtcr %r31 - mtsprg 1,%r1 /* save SP */ - bc 4,1,disitrap /* branch if table miss is false */ - GET_CPUINFO(%r30) - lwz %r30,CI_INTSTK(%r30) /* get interrupt stack */ - addi %r1,%r30,1024 - stwu %r1,-52(%r1) - stw %r0,48(%r1) /* save non-volatile registers */ - stw %r3,44(%r1) - stw %r4,40(%r1) - stw %r5,36(%r1) - stw %r6,32(%r1) - stw %r7,28(%r1) - stw %r8,24(%r1) - stw %r9,20(%r1) - stw %r10,16(%r1) - stw %r11,12(%r1) - stw %r12,8(%r1) - mfxer %r30 /* save XER */ - mtsprg 2,%r30 - mflr %r30 /* save trap type */ - mfctr %r31 /* & ctr */ - mfsrr0 %r7 - mfsrr1 %r4 - li %r5, 0 - li %r6, 1 - b s_pte_spill /* above */ - -/* - * External interrupt second level handler - */ -#define INTRENTER \ -/* Save non-volatile registers: */ \ - stwu %r1,-88(%r1); /* temporarily */ \ - stw %r0,84(%r1); \ - mfsprg %r0,1; /* get original SP */ \ - stw %r0,0(%r1); /* and store it */ \ - stw %r3,80(%r1); \ - stw %r4,76(%r1); \ - stw %r5,72(%r1); \ - stw %r6,68(%r1); \ - stw %r7,64(%r1); \ - stw %r8,60(%r1); \ - stw %r9,56(%r1); \ - stw %r10,52(%r1); \ - stw %r11,48(%r1); \ - stw %r12,44(%r1); \ - stw %r28,40(%r1); /* saved LR */ \ - stw %r29,36(%r1); /* saved CR */ \ - stw %r30,32(%r1); /* saved XER */ \ - GET_CPUINFO(%r4); \ - lmw %r28,CI_TEMPSAVE(%r4); /* restore r28-r31 */ \ - mfctr %r6; \ - lwz %r5,CI_INTRDEPTH(%r4); \ - mfsrr0 %r4; \ - mfsrr1 %r3; \ - stw %r6,28(%r1); \ - stw %r5,20(%r1); \ - stw %r4,12(%r1); \ - stw %r3,8(%r1); \ -/* load all kernel segment registers. */ \ - lis 3,_C_LABEL(kernel_pmap_)@ha; \ - addi 3,3,_C_LABEL(kernel_pmap_)@l; \ - lwz %r5,0(%r3); mtsr 0,%r5; \ - lwz %r5,4(%r3); mtsr 1,%r5; \ - lwz %r5,8(%r3); mtsr 2,%r5; \ - lwz %r5,12(%r3); mtsr 3,%r5; \ - lwz %r5,16(%r3); mtsr 4,%r5; \ - lwz %r5,20(%r3); mtsr 5,%r5; \ - lwz %r5,24(%r3); mtsr 6,%r5; \ - lwz %r5,28(%r3); mtsr 7,%r5; \ - lwz %r5,32(%r3); mtsr 8,%r5; \ - lwz %r5,36(%r3); mtsr 9,%r5; \ - lwz %r5,40(%r3); mtsr 10,%r5; \ - lwz %r5,44(%r3); mtsr 11,%r5; \ - lwz %r5,48(%r3); mtsr 12,%r5; \ -/* lwz %r5,52(%r3); mtsr 13,%r5; - dont load user SR - XXX? */ \ - lwz %r5,56(%r3); mtsr 14,%r5; \ - lwz %r5,60(%r3); mtsr 15,%r5; \ -/* interrupts are recoverable here, and enable translation */ \ - mfmsr %r5; \ - ori %r5,%r5,(PSL_IR|PSL_DR|PSL_RI); \ - mtmsr %r5; \ - isync - - .globl _C_LABEL(extint_call) - .type _C_LABEL(extint_call),@function -extintr: - INTRENTER -_C_LABEL(extint_call): - bl _C_LABEL(ext_intr) /* to be filled in later */ -intr_exit: -/* Disable interrupts (should already be disabled) and MMU here: */ - mfmsr %r3 - andi. %r3,%r3,~(PSL_EE|PSL_ME|PSL_RI|PSL_DR|PSL_IR)@l - mtmsr %r3 - isync -/* restore possibly overwritten registers: */ - lwz %r12,44(%r1) - lwz %r11,48(%r1) - lwz %r10,52(%r1) - lwz %r9,56(%r1) - lwz %r8,60(%r1) - lwz %r7,64(%r1) - lwz %r6,8(%r1) - lwz %r5,12(%r1) - lwz %r4,28(%r1) - lwz %r3,32(%r1) - mtsrr1 %r6 - mtsrr0 %r5 - mtctr %r4 - mtxer %r3 - - GET_CPUINFO(%r5) - lwz %r4,CI_INTRDEPTH(%r5) - addi %r4,%r4,-1 /* adjust reentrancy count */ - stw %r4,CI_INTRDEPTH(%r5) - -/* Returning to user mode? */ - mtcr %r6 /* saved SRR1 */ - bc 4,17,1f /* branch if PSL_PR is false */ - lwz %r3,CI_CURPM(%r5) /* get current pmap real address */ - /* reload all segment registers. */ - lwz %r4,0(3); mtsr 0,%r4; - lwz %r4,4(3); mtsr 1,%r4; - lwz %r4,8(3); mtsr 2,%r4; - lwz %r4,12(3); mtsr 3,%r4; - lwz %r4,16(3); mtsr 4,%r4; - lwz %r4,20(3); mtsr 5,%r4; - lwz %r4,24(3); mtsr 6,%r4; - lwz %r4,28(3); mtsr 7,%r4; - lwz %r4,32(3); mtsr 8,%r4; - lwz %r4,36(3); mtsr 9,%r4; - lwz %r4,40(3); mtsr 10,%r4; - lwz %r4,44(3); mtsr 11,%r4; - lwz %r4,48(3); mtsr 12,%r4; - lwz %r4,52(3); mtsr 13,%r4; - lwz %r4,56(3); mtsr 14,%r4; - lwz %r4,60(3); mtsr 15,%r4; - lwz %r4,CI_CURPROC(%r5) - lwz %r4,P_MD_ASTPENDING(%r4) /* Test AST pending */ - andi. %r4,%r4,1 - beq 1f -/* Setup for entry to realtrap: */ - lwz %r3,0(%r1) /* get saved SP */ - mtsprg 1,%r3 - li %r6,EXC_AST - stmw %r28,CI_TEMPSAVE(%r5) /* establish tempsave again */ - mtlr %r6 - lwz %r28,40(%r1) /* saved LR */ - lwz %r29,36(%r1) /* saved CR */ - lwz %r6,68(%r1) - lwz %r5,72(%r1) - lwz %r4,76(%r1) - lwz %r3,80(%r1) - lwz %r0,84(%r1) - b realtrap -1: -/* Here is the normal exit of extintr: */ - lwz %r5,36(%r1) - lwz %r6,40(%r1) - mtcr %r5 - mtlr %r6 - lwz %r6,68(%r1) - lwz %r5,72(%r1) - lwz %r4,76(%r1) - lwz %r3,80(%r1) - lwz %r0,84(%r1) - lwz %r1,0(%r1) -rfi3: rfi - -/* - * Decrementer interrupt second level handler - */ - .globl decrintr -decrintr: - INTRENTER - addi %r3,%r1,8 /* intr frame */ - bl _C_LABEL(decr_intr) - b intr_exit - - -/* - * int setfault() - * - * Similar to setjmp to setup for handling faults on accesses to user memory. - * Any routine using this may only call bcopy, either the form below, - * or the (currently used) C code optimized, so it doesn't use any non-volatile - * registers. - */ - .globl _C_LABEL(setfault) - .type _C_LABEL(setfault),@function -_C_LABEL(setfault): - mflr %r0 - mfcr %r12 - GET_CPUINFO(%r4) - lwz %r4,CI_CURPCB(%r4) - stw %r3,PCB_FAULT(%r4) - stw %r0,0(%r3) - stw %r1,4(%r3) - stmw %r12,8(%r3) - li %r3,0 - blr - -/* - * The following code gets copied to the top of the user stack on process - * execution. It does signal trampolining on signal delivery. - * - * On entry r1 points to a struct sigframe at bottom of current stack. - * All other registers are unchanged. - */ - .section .rodata - .globl _C_LABEL(sigcode),_C_LABEL(esigcode) - .type _C_LABEL(sigcode),@function - .type _C_LABEL(esigcode),@function -_C_LABEL(sigcode): - addi %r1,%r1,-((16+FPSIG_SIZEOF+15)& ~0xf) /* reserved space for callee */ - addi %r6,%r1,8 - stfd %f0,0(%r6) - stfd %f1,8(%r6) - stfd %f2,16(%r6) - stfd %f3,24(%r6) - stfd %f4,32(%r6) - stfd %f5,40(%r6) - stfd %f6,48(%r6) - stfd %f7,56(%r6) - stfd %f8,64(%r6) - stfd %f9,72(%r6) - stfd %f10,80(%r6) - stfd %f11,88(%r6) - stfd %f12,96(%r6) - stfd %f13,104(%r6) - mffs %f0 - stfd %f0,112(%r6) - lfd %f0,0(%r6) /* restore the clobbered register */ - blrl - addi %r6,%r1,8 - lfd %f0,112(%r6) - mtfsf 0xff,%f0 - lfd %f0,0(%r6) - lfd %f1,8(%r6) - lfd %f2,16(%r6) - lfd %f3,24(%r6) - lfd %f4,32(%r6) - lfd %f5,40(%r6) - lfd %f6,48(%r6) - lfd %f7,56(%r6) - lfd %f8,64(%r6) - lfd %f9,72(%r6) - lfd %f10,80(%r6) - lfd %f11,88(%r6) - lfd %f12,96(%r6) - lfd %f13,104(%r6) - addi %r3,%r1,((16+FPSIG_SIZEOF+15)&~0xf)+SF_SC /* compute &sf_sc */ - li %r0,SYS_sigreturn - sc /* sigreturn(scp) */ - .globl _C_LABEL(sigcoderet) -_C_LABEL(sigcoderet): - li %r0,SYS_exit - sc /* exit(errno) */ -_C_LABEL(esigcode): - - .globl _C_LABEL(sigfill) -_C_LABEL(sigfill): - .long 0 # illegal -_C_LABEL(esigfill): - .align 4 - .globl _C_LABEL(sigfillsiz) -_C_LABEL(sigfillsiz): - .long _C_LABEL(esigfill) - _C_LABEL(sigfill) - - .text - -#ifdef DDB -/* - * Deliberate entry to ddbtrap - */ - .globl _C_LABEL(ddb_trap) -_C_LABEL(ddb_trap): - mtsprg 1,%r1 - mfmsr %r3 - mtsrr1 %r3 - andi. %r3,%r3,~(PSL_EE|PSL_ME)@l - mtmsr %r3 /* disable interrupts */ - isync - GET_CPUINFO(%r3) - stmw %r28,CI_DDBSAVE(%r3) - - mflr %r28 - li %r29,EXC_BPT - mtlr %r29 - mfcr %r29 - mtsrr0 %r28 - -/* - * Now the ddb trap catching code. - */ -ddbtrap: - /* - * Do not let FRAME_SETUP() change the return address of, and - * corrupt, this frame. - */ - FRAME_SETUP_FLAG(CI_DDBSAVE, 0) -/* Call C trap code: */ - addi %r3,%r1,8 - bl _C_LABEL(db_trap_glue) - or. %r3,%r3,%r3 - bne ddbleave -/* This wasn't for DDB, so switch to real trap: */ - lwz %r3,FRAME_EXC+8(%r1) /* save exception */ - GET_CPUINFO(%r4) - stw %r3,CI_DDBSAVE+8(%r4) - FRAME_LEAVE(CI_DDBSAVE) - mtsprg 1,%r1 /* prepare for entrance to realtrap */ - GET_CPUINFO(%r1) - stmw %r28,CI_TEMPSAVE(%r1) - mflr %r28 - mfcr %r29 - lwz %r31,CI_DDBSAVE+8(%r1) - mtlr %r31 - b realtrap -ddbleave: - FRAME_LEAVE(CI_DDBSAVE) -rfi4: rfi -#endif /* DDB */ - - .globl _C_LABEL(rfi_inst) -_C_LABEL(rfi_inst): - rfi - .globl _C_LABEL(rfid_inst) -_C_LABEL(rfid_inst): - rfid - .globl _C_LABEL(nop_inst) - _C_LABEL(nop_inst): - nop - - .globl _C_LABEL(rfi_start) -_C_LABEL(rfi_start): - .long rfi1, rfi1 + 4 - .long rfi2, rfi2 + 4 - .long rfi3, rfi3 + 4 -#ifdef DDB - .long rfi4, rfi4 + 4 -#endif - .long 0, 0 - - - .globl _C_LABEL(nopbat_start) -_C_LABEL(nopbat_start): - .long nopbat_1s, nopbat_1e - .long 0, 0 - - .globl _C_LABEL(nop32_start) -_C_LABEL(nop32_start): - .long nop32_1s, nop32_1e - .long nop32_2s, nop32_2e - .long nop32_3s, nop32_3e - .long nop32_4s, nop32_4e - .long nop32_5s, nop32_5e - .long nop32_6s, nop32_6e -#ifdef DDB - .long nop32_7s, nop32_7e -#endif - .long 0, 0 diff --git a/sys/arch/socppc/socppc/machdep.c b/sys/arch/socppc/socppc/machdep.c deleted file mode 100644 index c5e39b94d31..00000000000 --- a/sys/arch/socppc/socppc/machdep.c +++ /dev/null @@ -1,771 +0,0 @@ -/* $OpenBSD: machdep.c,v 1.77 2019/04/01 07:00:52 tedu Exp $ */ -/* $NetBSD: machdep.c,v 1.4 1996/10/16 19:33:11 ws Exp $ */ - -/* - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - -#include - -#include - -#include - -#ifdef DDB -#include -#include -#endif - -/* - * Global variables used here and there - */ -extern struct user *proc0paddr; - -struct uvm_constraint_range dma_constraint = { 0x0, (paddr_t)-1 }; -struct uvm_constraint_range *uvm_md_constraints[] = { NULL }; - -struct vm_map *exec_map = NULL; -struct vm_map *phys_map = NULL; - -/* - * safepri is a safe priority for sleep to set for a spin-wait - * during autoconfiguration or after a panic. - */ -int safepri = 0; - -int ppc_malloc_ok = 0; - -char *bootpath; -char bootpathbuf[512]; - -struct bd_info { - unsigned long bi_memstart; - unsigned long bi_memsize; - unsigned long bi_flashstart; - unsigned long bi_flashsize; - unsigned long bi_flashoffset; - unsigned long bi_sramstart; - unsigned long bi_sramsize; - unsigned long bi_immr_base; - unsigned long bi_bootflags; - unsigned long bi_ip_addr; - unsigned char bi_enetaddr[6]; - unsigned long bi_ethspeed; -} bootinfo; - -extern struct bd_info **fwargsave; -extern struct fdt_head *fwfdtsave; - -#ifdef APERTURE -int allowaperture = 0; -#endif - -void dumpsys(void); -int lcsplx(int ipl); -void myetheraddr(u_char *); - -/* - * Extent maps to manage I/O. Allocate storage for 8 regions in each, - * initially. Later devio_malloc_safe will indicate that it's safe to - * use malloc() to dynamically allocate region descriptors. - */ -static long devio_ex_storage[EXTENT_FIXED_STORAGE_SIZE(8) / sizeof (long)]; -struct extent *devio_ex; -static int devio_malloc_safe = 0; - -void initppc(u_int, u_int, char *); - -void prom_printf(const char *, ...); - -extern struct ppc_bus_space mainbus_bus_space; - -void -initppc(u_int startkernel, u_int endkernel, char *args) -{ - extern void *trapcode; extern int trapsize; - extern void *extint; extern int extsize; - extern void *dsitrap; extern int dsisize; - extern void *isitrap; extern int isisize; - extern void *alitrap; extern int alisize; - extern void *decrint; extern int decrsize; - extern void *tlbimiss; extern int tlbimsize; - extern void *tlbdlmiss; extern int tlbdlmsize; - extern void *tlbdsmiss; extern int tlbdsmsize; -#ifdef DDB - extern void *ddblow; extern int ddbsize; -#endif - extern void *msgbuf_addr; - int exc; - void *node; - - extern char __bss_start[], __end[]; - bzero(__bss_start, __end - __bss_start); - - /* Make a copy of the args! */ - strlcpy(bootpathbuf, args ? args : "wd0a", sizeof bootpathbuf); - - if (fwfdtsave && fwfdtsave->fh_magic == FDT_MAGIC) { - /* - * Save the FDT firmware blob passed by the bootloader - * before we zero all memory. - * - */ - void *fdt = (void *)endkernel; - memcpy(fdt, fwfdtsave, fwfdtsave->fh_size); - endkernel += fwfdtsave->fh_size; - - fdt_init(fdt); - - /* - * XXX Create a fake bootinfo structure if we were - * loaded by RouterBOOT. - */ - node = fdt_find_node("/memory"); - if (node) { - char *reg; - - if (fdt_node_property(node, "reg", ®)) { - bootinfo.bi_memstart = *(u_int32_t *)reg; - bootinfo.bi_memsize = *((u_int32_t *)reg + 1); - } - } - node = fdt_find_node("/soc8343"); - if (node) { - char *reg; - - if (fdt_node_property(node, "reg", ®)) - bootinfo.bi_immr_base = *(u_int32_t *)reg; - } - node = fdt_find_node("/soc8343/ethernet"); - if (node) { - char *addr; - - if (fdt_node_property(node, "mac-address", &addr)) - memcpy(bootinfo.bi_enetaddr, addr, 6); - } - } else { - /* - * We were loaded by an old U-Boot that didn't provide - * a flattened device tree. It should have provided a - * valid bootinfo structure which we'll use to build - * such a device tree ourselves. - * - * XXX We don't build a flattened device tree yet. - */ - memcpy(&bootinfo, *fwargsave, sizeof bootinfo); - - extern uint8_t dt_blob_start[]; - fdt_init(&dt_blob_start); - } - - proc0.p_cpu = &cpu_info[0]; - proc0.p_addr = proc0paddr; - bzero(proc0.p_addr, sizeof *proc0.p_addr); - - curpcb = &proc0paddr->u_pcb; - - curpm = curpcb->pcb_pmreal = curpcb->pcb_pm = pmap_kernel(); - - cpu_bootstrap(); - - /* - * Initialize pmap module. - */ - pmap_bootstrap(startkernel, endkernel); - - /* - * Set up trap vectors - */ - for (exc = EXC_RSVD; exc <= EXC_LAST; exc += 0x100) { - switch (exc) { - default: - bcopy(&trapcode, (void *)exc, (size_t)&trapsize); - break; - case EXC_EXI: - bcopy(&extint, (void *)EXC_EXI, (size_t)&extsize); - break; - case EXC_DSI: - bcopy(&dsitrap, (void *)EXC_DSI, (size_t)&dsisize); - break; - case EXC_ISI: - bcopy(&isitrap, (void *)EXC_ISI, (size_t)&isisize); - break; - case EXC_ALI: - bcopy(&alitrap, (void *)EXC_ALI, (size_t)&alisize); - break; - case EXC_DECR: - bcopy(&decrint, (void *)EXC_DECR, (size_t)&decrsize); - break; - case EXC_IMISS: - bcopy(&tlbimiss, (void *)EXC_IMISS, (size_t)&tlbimsize); - break; - case EXC_DLMISS: - bcopy(&tlbdlmiss, (void *)EXC_DLMISS, (size_t)&tlbdlmsize); - break; - case EXC_DSMISS: - bcopy(&tlbdsmiss, (void *)EXC_DSMISS, (size_t)&tlbdsmsize); - break; - case EXC_PGM: - case EXC_TRC: - case EXC_BPT: -#if defined(DDB) - bcopy(&ddblow, (void *)exc, (size_t)&ddbsize); -#endif - break; - } - } - - syncicache((void *)EXC_RST, EXC_LAST - EXC_RST + 0x100); - - - /* - * Now enable translation (and machine checks/recoverable interrupts). - */ - pmap_enable_mmu(); - - /* - * use the memory provided by pmap_bootstrap for message buffer - */ - initmsgbuf(msgbuf_addr, MSGBUFSIZE); - - /* - * Look at arguments passed to us and compute boothowto. - */ - boothowto = RB_AUTOBOOT; - - /* - * Parse arg string. - */ - bootpath = &bootpathbuf[0]; - while (*++bootpath && *bootpath != ' '); - if (*bootpath) { - *bootpath++ = 0; - while (*bootpath) { - switch (*bootpath++) { - case 'a': - boothowto |= RB_ASKNAME; - break; - case 's': - boothowto |= RB_SINGLE; - break; - case 'd': - boothowto |= RB_KDB; - break; - case 'c': - boothowto |= RB_CONFIG; - break; - default: - break; - } - } - } - bootpath = &bootpathbuf[0]; - -#ifdef DDB - ddb_init(); -#endif - - /* - * Adjust base of internal memory mapped registers. - */ - mainbus_bus_space.bus_base = bootinfo.bi_immr_base; - - devio_ex = extent_create("devio", 0x80000000, 0xffffffff, M_DEVBUF, - (caddr_t)devio_ex_storage, sizeof(devio_ex_storage), - EX_NOCOALESCE|EX_NOWAIT); - - /* - * Initialize console. - */ - extern int comconsrate; - comconsfreq = 266666666; - comconsrate = 115200; - comconsaddr = 0x00004500; - comconsiot = &mainbus_bus_space; - - node = fdt_find_node("/chosen"); - if (node) { - char *console; - - fdt_node_property(node, "linux,stdout-path", &console); - node = fdt_find_node(console); - if (node) { - char *freq; - char *reg; - - if (fdt_node_property(node, "clock-frequency", &freq)) - comconsfreq = *(u_int32_t *)freq; - if (fdt_node_property(node, "reg", ®)) - comconsaddr = *(u_int32_t *)reg; - } - } - - consinit(); - -#ifdef DDB - if (boothowto & RB_KDB) - db_enter(); -#endif - - if (boothowto & RB_CONFIG) { -#ifdef BOOT_CONFIG - user_config(); -#else - printf("kernel does not support -c; continuing..\n"); -#endif - } -} - -void -dumpsys(void) -{ -} - -int cpu_imask[IPL_NUM]; - -int -lcsplx(int ipl) -{ - return spllower(ipl); -} - -/* - * Machine dependent startup code. - */ -void -cpu_startup() -{ - vaddr_t minaddr, maxaddr; - - proc0.p_addr = proc0paddr; - - printf("%s", version); - - printf("real mem = %lu (%luMB)\n", ptoa(physmem), - ptoa(physmem)/1024/1024); - - /* - * Allocate a submap for exec arguments. This map effectively - * limits the number of processes exec'ing at any time. - */ - minaddr = vm_map_min(kernel_map); - exec_map = uvm_km_suballoc(kernel_map, &minaddr, &maxaddr, 16 * NCARGS, - VM_MAP_PAGEABLE, FALSE, NULL); - - /* - * Allocate a submap for physio - */ - phys_map = uvm_km_suballoc(kernel_map, &minaddr, &maxaddr, - VM_PHYS_SIZE, 0, FALSE, NULL); - ppc_malloc_ok = 1; - - printf("avail mem = %lu (%luMB)\n", ptoa(uvmexp.free), - ptoa(uvmexp.free) / 1024 / 1024); - - /* - * Set up the buffers. - */ - bufinit(); - - devio_malloc_safe = 1; -} - -/* - * consinit - * Initialize system console. - */ -void -consinit() -{ - static int cons_initted = 0; - - if (cons_initted) - return; - cninit(); - cons_initted = 1; -} - -/* - * Clear registers on exec - */ -void -setregs(struct proc *p, struct exec_package *pack, u_long stack, - register_t *retval) -{ - u_int32_t newstack; - u_int32_t pargs; - u_int32_t args[4]; - - struct trapframe *tf = trapframe(p); - pargs = -roundup(-stack + 8, 16); - newstack = (u_int32_t)(pargs - 32); - - copyin ((void *)p->p_p->ps_strings, &args, 0x10); - - bzero(tf, sizeof *tf); - tf->fixreg[1] = newstack; - tf->fixreg[3] = retval[0] = args[1]; /* XXX */ - tf->fixreg[4] = retval[1] = args[0]; /* XXX */ - tf->fixreg[5] = args[2]; /* XXX */ - tf->fixreg[6] = args[3]; /* XXX */ - tf->srr0 = pack->ep_entry; - tf->srr1 = PSL_MBO | PSL_USERSET | PSL_FE_DFLT; - p->p_addr->u_pcb.pcb_flags = 0; -} - -/* - * Send a signal to process. - */ -void -sendsig(sig_t catcher, int sig, sigset_t mask, const siginfo_t *ksip) -{ - struct proc *p = curproc; - struct trapframe *tf; - struct sigframe *fp, frame; - struct sigacts *psp = p->p_p->ps_sigacts; - - bzero(&frame, sizeof(frame)); - frame.sf_signum = sig; - - tf = trapframe(p); - - /* - * Allocate stack space for signal handler. - */ - if ((p->p_sigstk.ss_flags & SS_DISABLE) == 0 && - !sigonstack(tf->fixreg[1]) && - (psp->ps_sigonstack & sigmask(sig))) - fp = (struct sigframe *) - trunc_page((vaddr_t)p->p_sigstk.ss_sp + p->p_sigstk.ss_size); - else - fp = (struct sigframe *)tf->fixreg[1]; - - fp = (struct sigframe *)((int)(fp - 1) & ~0xf); - - /* - * Generate signal context for SYS_sigreturn. - */ - frame.sf_sc.sc_mask = mask; - frame.sf_sip = NULL; - bcopy(tf, &frame.sf_sc.sc_frame, sizeof *tf); - if (psp->ps_siginfo & sigmask(sig)) { - frame.sf_sip = &fp->sf_si; - frame.sf_si = *ksip; - } - frame.sf_sc.sc_cookie = (long)&fp->sf_sc ^ p->p_p->ps_sigcookie; - if (copyout(&frame, fp, sizeof frame) != 0) - sigexit(p, SIGILL); - - tf->fixreg[1] = (int)fp; - tf->lr = (int)catcher; - tf->fixreg[3] = (int)sig; - tf->fixreg[4] = (psp->ps_siginfo & sigmask(sig)) ? (int)&fp->sf_si : 0; - tf->fixreg[5] = (int)&fp->sf_sc; - tf->srr0 = p->p_p->ps_sigcode; - -#if WHEN_WE_ONLY_FLUSH_DATA_WHEN_DOING_PMAP_ENTER - pmap_extract(vm_map_pmap(&p->p_vmspace->vm_map),tf->srr0, &pa); - syncicache(pa, (p->p_p->ps_emul->e_esigcode - - p->p_p->ps_emul->e_sigcode)); -#endif -} - -/* - * System call to cleanup state after a signal handler returns. - */ -int -sys_sigreturn(struct proc *p, void *v, register_t *retval) -{ - struct sys_sigreturn_args /* { - syscallarg(struct sigcontext *) sigcntxp; - } */ *uap = v; - struct sigcontext ksc, *scp = SCARG(uap, sigcntxp); - struct trapframe *tf; - int error; - - if (PROC_PC(p) != p->p_p->ps_sigcoderet) { - sigexit(p, SIGILL); - return (EPERM); - } - - if ((error = copyin(scp, &ksc, sizeof ksc))) - return error; - - if (ksc.sc_cookie != ((long)scp ^ p->p_p->ps_sigcookie)) { - sigexit(p, SIGILL); - return (EFAULT); - } - - /* Prevent reuse of the sigcontext cookie */ - ksc.sc_cookie = 0; - (void)copyout(&ksc.sc_cookie, (caddr_t)scp + - offsetof(struct sigcontext, sc_cookie), sizeof (ksc.sc_cookie)); - - tf = trapframe(p); - if ((ksc.sc_frame.srr1 & PSL_USERSTATIC) != (tf->srr1 & PSL_USERSTATIC)) - return EINVAL; - bcopy(&ksc.sc_frame, tf, sizeof *tf); - p->p_sigmask = ksc.sc_mask & ~sigcantmask; - return EJUSTRETURN; -} - -/* - * Machine dependent system variables. - * None for now. - */ -int -cpu_sysctl(int *name, u_int namelen, void *oldp, size_t *oldlenp, void *newp, - size_t newlen, struct proc *p) -{ - /* all sysctl names at this level are terminal */ - if (namelen != 1) - return ENOTDIR; - switch (name[0]) { - case CPU_ALLOWAPERTURE: -#ifdef APERTURE - if (securelevel > 0) - return (sysctl_int_lower(oldp, oldlenp, newp, newlen, - &allowaperture)); - else - return (sysctl_int(oldp, oldlenp, newp, newlen, - &allowaperture)); -#else - return (sysctl_rdint(oldp, oldlenp, newp, 0)); -#endif - case CPU_ALTIVEC: - return (sysctl_rdint(oldp, oldlenp, newp, 0)); - default: - return EOPNOTSUPP; - } -} - -u_long dumpmag = 0x04959fca; /* magic number */ -int dumpsize = 0; /* size of dump in pages */ -long dumplo = -1; /* blocks */ - -/* - * This is called by configure to set dumplo and dumpsize. - * Dumps always skip the first CLBYTES of disk space - * in case there might be a disk label stored there. - * If there is extra space, put dump at the end to - * reduce the chance that swapping trashes it. - */ -void dumpconf(void); - -void -dumpconf(void) -{ - int nblks; /* size of dump area */ - int i; - - if (dumpdev == NODEV || - (nblks = (bdevsw[major(dumpdev)].d_psize)(dumpdev)) == 0) - return; - if (nblks <= ctod(1)) - return; - - /* Always skip the first block, in case there is a label there. */ - if (dumplo < ctod(1)) - dumplo = ctod(1); - - for (i = 0; i < ndumpmem; i++) - dumpsize = max(dumpsize, dumpmem[i].end); - - /* Put dump at end of partition, and make it fit. */ - if (dumpsize > dtoc(nblks - dumplo - 1)) - dumpsize = dtoc(nblks - dumplo - 1); - if (dumplo < nblks - ctod(dumpsize) - 1) - dumplo = nblks - ctod(dumpsize) - 1; - -} - -#define BYTES_PER_DUMP (PAGE_SIZE) /* must be a multiple of pagesize */ -static vaddr_t dumpspace; - -int -reserve_dumppages(caddr_t p) -{ - dumpspace = (vaddr_t)p; - return BYTES_PER_DUMP; -} - -/* - * Halt or reboot the machine after syncing/dumping according to howto. - */ -__dead void -boot(int howto) -{ - static int syncing; - - if ((howto & RB_RESET) != 0) - goto doreset; - - if (cold) { - if ((howto & RB_USERREQ) == 0) - howto |= RB_HALT; - goto haltsys; - } - - boothowto = howto; - if ((howto & RB_NOSYNC) == 0 && !syncing) { - syncing = 1; - vfs_shutdown(curproc); - - if ((howto & RB_TIMEBAD) == 0) { - resettodr(); - } else { - printf("WARNING: not updating battery clock\n"); - } - } - if_downall(); - - uvm_shutdown(); - splhigh(); - cold = 1; - - if ((howto & RB_DUMP) != 0) - dumpsys(); - -haltsys: - config_suspend_all(DVACT_POWERDOWN); - - if ((howto & RB_HALT) != 0) { - if ((howto & RB_POWERDOWN) != 0) { - ; - } - - printf("halted\n\n"); - for (;;) - continue; - /* NOTREACHED */ - } -doreset: - printf("rebooting\n\n"); - - { - volatile int32_t *reset; - int32_t v; - - reset = mapiodev(0xe0000900, 0x100); - reset[6] = 0x52535445; - v = reset[6]; - reset[7] = 0x00000002; - } - - printf("boot failed, spinning\n"); - for (;;) - continue; - /* NOTREACHED */ -} - -/* - * Notify the current process (p) that it has a signal pending, - * process as soon as possible. - */ -void -signotify(struct proc *p) -{ - aston(p); -} - -/* bcopy(), error on fault */ -int -kcopy(const void *from, void *to, size_t size) -{ - faultbuf env; - void *oldh = curproc->p_addr->u_pcb.pcb_onfault; - - if (setfault(&env)) { - curproc->p_addr->u_pcb.pcb_onfault = oldh; - return EFAULT; - } - bcopy(from, to, size); - curproc->p_addr->u_pcb.pcb_onfault = oldh; - - return 0; -} - -struct mem_region uboot_mem[2], uboot_avail[4]; - -void -ppc_mem_regions(struct mem_region **memp, struct mem_region **availp) -{ - uboot_mem[0].start = bootinfo.bi_memstart; - uboot_mem[0].size = bootinfo.bi_memsize; - - /* Reserve memory used for exception vectors. */ - uboot_avail[0] = uboot_mem[0]; - if (uboot_mem[0].start < EXC_LAST + 0x100) { - uboot_avail[0].size -= (EXC_LAST + 0x100 - uboot_mem[0].start); - uboot_avail[0].start = EXC_LAST + 0x100; - } - - *memp = uboot_mem; - *availp = uboot_avail; -} - -void -myetheraddr(u_char *cp) -{ - bcopy(bootinfo.bi_enetaddr, cp, sizeof bootinfo.bi_enetaddr); - bootinfo.bi_enetaddr[5]++; -} - -/* prototype for locore function */ -void cpu_switchto_asm(struct proc *oldproc, struct proc *newproc); - -void cpu_switchto(struct proc *oldproc, struct proc *newproc) -{ - cpu_switchto_asm(oldproc, newproc); -} diff --git a/sys/arch/socppc/socppc/mainbus.c b/sys/arch/socppc/socppc/mainbus.c deleted file mode 100644 index 805128a1b19..00000000000 --- a/sys/arch/socppc/socppc/mainbus.c +++ /dev/null @@ -1,118 +0,0 @@ -/* $OpenBSD: mainbus.c,v 1.6 2015/01/24 20:59:42 kettenis Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include - -#include - -#include - -int mainbus_match(struct device *, void *, void *); -void mainbus_attach(struct device *, struct device *, void *); - -struct cfattach mainbus_ca = { - sizeof(struct device), mainbus_match, mainbus_attach -}; - -struct cfdriver mainbus_cd = { - NULL, "mainbus", DV_DULL -}; - -struct ppc_bus_space mainbus_bus_space = { 0xff400000, 0x00100000, 0 }; - -struct powerpc_bus_dma_tag mainbus_bus_dma_tag = { - NULL, - _dmamap_create, - _dmamap_destroy, - _dmamap_load, - _dmamap_load_mbuf, - _dmamap_load_uio, - _dmamap_load_raw, - _dmamap_unload, - _dmamap_sync, - _dmamem_alloc, - _dmamem_alloc_range, - _dmamem_free, - _dmamem_map, - _dmamem_unmap, - _dmamem_mmap -}; - -int mainbus_print(void *, const char *); - -int -mainbus_match(struct device *parent, void *cfdata, void *aux) -{ - return (1); -} - -void -mainbus_attach(struct device *parent, struct device *self, void *aux) -{ - struct mainbus_attach_args ma; - char name[32]; - int node; - - printf("\n"); - - ncpusfound = 0; - node = OF_finddevice("/cpus"); - if (node != -1) { - for (node = OF_child(node); node != 0; node = OF_peer(node)) { - if (OF_getprop(node, "name", name, sizeof(name)) <= 0) - continue; - - bzero(&ma, sizeof(ma)); - ma.ma_name = name; - ma.ma_node = node; - config_found(self, &ma, mainbus_print); - ncpusfound++; - } - } - - for (node = OF_child(OF_peer(0)); node != 0; node = OF_peer(node)) { - if (OF_getprop(node, "name", name, sizeof(name)) <= 0) - continue; - - if (strcmp(name, "aliases") == 0 || - strcmp(name, "chosen") == 0 || - strcmp(name, "cpus") == 0 || - strcmp(name, "memory") == 0) - continue; - - bzero(&ma, sizeof(ma)); - ma.ma_iot = &mainbus_bus_space; - ma.ma_dmat = &mainbus_bus_dma_tag; - ma.ma_name = name; - ma.ma_node = node; - config_found(self, &ma, mainbus_print); - } -} - -int -mainbus_print(void *aux, const char *name) -{ - struct mainbus_attach_args *ma = aux; - - if (name) - printf("\"%s\" at %s", ma->ma_name, name); - - return (UNCONF); -} diff --git a/sys/arch/socppc/socppc/mem.c b/sys/arch/socppc/socppc/mem.c deleted file mode 100644 index 90abc1d6a0c..00000000000 --- a/sys/arch/socppc/socppc/mem.c +++ /dev/null @@ -1,184 +0,0 @@ -/* $OpenBSD: mem.c,v 1.9 2018/02/19 08:59:52 mpi Exp $ */ -/* $NetBSD: mem.c,v 1.1 1996/09/30 16:34:50 ws Exp $ */ - -/* - * Copyright (c) 1988 University of Utah. - * Copyright (c) 1982, 1986, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)mem.c 8.3 (Berkeley) 1/12/94 - */ - -/* - * Memory special file - */ - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include - -int -mmopen(dev_t dev, int flag, int mode, struct proc *p) -{ - extern int allowkmem; - - switch (minor(dev)) { - case 0: - case 1: - if (securelevel <= 0 || allowkmem) - break; - return (EPERM); - case 2: - case 12: - break; -#ifdef xAPERTURE - case 4: - if (suser(p) != 0 || !allowaperture) - return (EPERM); - - /* authorize only one simultaneous open() */ - if (ap_open_count > 0) - return(EPERM); - ap_open_count++; - break; -#endif - default: - return (ENXIO); - } - return (0); -} - -int -mmclose(dev_t dev, int flag, int mode, struct proc *p) -{ -#ifdef xAPERTURE - if (minor(dev) == 4) - ap_open_count = 0; -#endif - return 0; -} - -int -mmrw(dev_t dev, struct uio *uio, int flags) -{ - vaddr_t v; - vsize_t c; - struct iovec *iov; - int error = 0; - static caddr_t zeropage; - - while (uio->uio_resid > 0 && error == 0) { - iov = uio->uio_iov; - if (iov->iov_len == 0) { - uio->uio_iov++; - uio->uio_iovcnt--; - if (uio->uio_iovcnt < 0) - panic("mmrw"); - continue; - } - switch (minor(dev)) { - - /* minor device 0 is physical memory */ - case 0: - v = uio->uio_offset; - c = uio->uio_resid; - /* This doesn't allow device mapping! XXX */ - pmap_real_memory(&v, &c); - error = uiomove((caddr_t)v, c, uio); - continue; - - /* minor device 1 is kernel memory */ - case 1: - v = uio->uio_offset; - c = ulmin(iov->iov_len, MAXPHYS); - error = uiomove((caddr_t)v, c, uio); - continue; - - /* minor device 2 is /dev/null */ - case 2: - if (uio->uio_rw == UIO_WRITE) - uio->uio_resid = 0; - return 0; - - /* minor device 12 is /dev/zero */ - case 12: - if (uio->uio_rw == UIO_WRITE) { - c = iov->iov_len; - break; - } - if (zeropage == NULL) - zeropage = malloc(PAGE_SIZE, M_TEMP, - M_WAITOK | M_ZERO); - c = ulmin(iov->iov_len, PAGE_SIZE); - error = uiomove(zeropage, c, uio); - continue; - - default: - return ENXIO; - } - if (error) - break; - iov->iov_base += c; - iov->iov_len -= c; - uio->uio_offset += c; - uio->uio_resid -= c; - } - return error; -} - -paddr_t -mmmmap(dev_t dev, off_t off, int prot) -{ - return (-1); -} - -int -mmioctl(dev_t dev, u_long cmd, caddr_t data, int flags, struct proc *p) -{ - switch (cmd) { - case FIONBIO: - case FIOASYNC: - /* handled by fd layer */ - return 0; - } - - return (EOPNOTSUPP); -} diff --git a/sys/arch/socppc/socppc/n1200.dts b/sys/arch/socppc/socppc/n1200.dts deleted file mode 100644 index e0f0c07466f..00000000000 --- a/sys/arch/socppc/socppc/n1200.dts +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (c) Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -/dts-v1/; - -/ { - model = "Thecus N1200"; - #address-cells = <1>; - #size-cells = <1>; - - cpus { - #address-cells = <1>; - #size-cells = <0>; - - PowerPC,8347@0 { - device_type = "cpu"; - reg = <0x0>; - d-cache-line-size = <32>; - i-cache-line-size = <32>; - d-cache-size = <32768>; - i-cache-size = <32768>; - timebase-frequency = <66666666>; - bus-frequency = <0>; // XXX - clock-frequency = <266666666>; - }; - }; - - memory { - device_type = "memory"; - reg = <0x00000000 0x08000000>; // 128MB at 0 - }; - - soc8347@e0000000 { - #address-cells = <1>; - #size-cells = <1>; - device_type = "soc"; - compatible = "simple-bus"; - ranges = <0x0 0xe0000000 0x00100000>; - reg = <0xe0000000 0x00000200>; - bus-frequency = <0>; - - wdt@200 { - device_type = "watchdog"; - compatible = "mpc83xx_wdt"; - reg = <0x200 0x100>; - }; - - i2c@3000 { - #address-cells = <1>; - #size-cells = <0>; - cell-index = <0>; - compatible = "fsl-i2c"; - reg = <0x3000 0x100>; - interrupts = <14 0x8>; - interrupt-parent = <&ipic>; - dfsrr; - - rtc@32 { - compatible = "ricoh,rs5c372a"; - reg = <0x32>; - }; - - fan@2e { - compatible = "fintek,f75375"; - reg = <0x2e>; - }; - }; - - i2c@3100 { - #address-cells = <1>; - #size-cells = <0>; - cell-index = <1>; - compatible = "fsl-i2c"; - reg = <0x3100 0x100>; - interrupts = <15 0x8>; - interrupt-parent = <&ipic>; - dfsrr; - }; - - usb@22000 { - compatible = "fsl-usb2-mph"; - reg = <0x22000 0x1000>; - #address-cells = <1>; - #size-cells = <0>; - interrupt-parent = <&ipic>; - interrupts = <39 0x8>; - phy_type = "ulpi"; - port0; - port1; - }; - - ethernet@24000 { - #address-cells = <1>; - #size-cells = <1>; - cell-index = <0>; - device_type = "network"; - model = "TSEC"; - compatible = "gianfar"; - reg = <0x24000 0x1000>; - ranges = <0x0 0x24000 0x1000>; - local-mac-address = [ 00 00 00 00 00 00 ]; - interrupts = <32 0x8 33 0x8 34 0x8>; - interrupt-parent = <&ipic>; - phy-handle = <&phy0>; - - mdio@520 { - #address-cells = <1>; - #size-cells = <0>; - compatible = "fsl,gianfar-mdio"; - reg = <0x520 0x20>; - - phy0: ethernet-phy@11 { - reg = <0x11>; - device_type = "ethernet-phy"; - }; - - phy1: ethernet-phy@5 { - reg = <0x5>; - device_type = "ethernet-phy"; - }; - }; - }; - - ethernet@25000 { - #address-cells = <1>; - #size-cells = <1>; - cell-index = <1>; - device_type = "network"; - model = "TSEC"; - compatible = "gianfar"; - reg = <0x25000 0x1000>; - ranges = <0x0 0x25000 0x1000>; - local-mac-address = [ 00 00 00 00 00 00 ]; - interrupts = <35 0x8 36 0x8 37 0x8>; - interrupt-parent = <&ipic>; - phy-handle = <&phy1>; - }; - - serial0: serial@4500 { - cell-index = <0>; - device_type = "serial"; - compatible = "ns16550"; - reg = <0x4500 0x100>; - clock-frequency = <266666666>; - interrupts = <9 0x8>; - interrupt-parent = <&ipic>; - }; - - ipic: pic@700 { - interrupt-controller; - #address-cells = <0>; - #interrupt-cells = <2>; - reg = <0x700 0x100>; - device_type = "ipic"; - }; - }; - - pci@e0008500 { - cell-index = <1>; - interrupt-map-mask = <0xf800 0x0 0x0 0x7>; - interrupt-map = <0x8000 0x0 0x0 0x1 &ipic 20 0x8>; - interrupt-parent = <&ipic>; - interrupts = <66 0x8>; - bus-range = <0 0>; - ranges = <0x02000000 0x0 0x80000000 0x80000000 0x0 0x20000000 - 0x01000000 0x0 0x00000000 0xe2000000 0x0 0x00100000>; - clock-frequency = <66666666>; - #interrupt-cells = <1>; - #size-cells = <2>; - #address-cells = <3>; - reg = <0xe0008500 0x100 - 0xe0008300 0x8>; - compatible = "fsl,mpc8349-pci"; - device_type = "pci"; - }; - - chosen { - linux,stdout-path = &serial0; - }; -}; diff --git a/sys/arch/socppc/socppc/n1200_dts.S b/sys/arch/socppc/socppc/n1200_dts.S deleted file mode 100644 index 351614be9c0..00000000000 --- a/sys/arch/socppc/socppc/n1200_dts.S +++ /dev/null @@ -1,1052 +0,0 @@ -/* autogenerated by dtc, do not edit */ - - .globl dt_blob_start -dt_blob_start: -_dt_blob_start: - .globl dt_header -dt_header: -_dt_header: - /* magic */ - .byte 0xd0; .byte 0x0d; .byte 0xfe; .byte 0xed - /* totalsize */ - .byte ((_dt_blob_abs_end - _dt_blob_start) >> 24) & 0xff - .byte ((_dt_blob_abs_end - _dt_blob_start) >> 16) & 0xff - .byte ((_dt_blob_abs_end - _dt_blob_start) >> 8) & 0xff - .byte (_dt_blob_abs_end - _dt_blob_start) & 0xff - /* off_dt_struct */ - .byte ((_dt_struct_start - _dt_blob_start) >> 24) & 0xff - .byte ((_dt_struct_start - _dt_blob_start) >> 16) & 0xff - .byte ((_dt_struct_start - _dt_blob_start) >> 8) & 0xff - .byte (_dt_struct_start - _dt_blob_start) & 0xff - /* off_dt_strings */ - .byte ((_dt_strings_start - _dt_blob_start) >> 24) & 0xff - .byte ((_dt_strings_start - _dt_blob_start) >> 16) & 0xff - .byte ((_dt_strings_start - _dt_blob_start) >> 8) & 0xff - .byte (_dt_strings_start - _dt_blob_start) & 0xff - /* off_mem_rsvmap */ - .byte ((_dt_reserve_map - _dt_blob_start) >> 24) & 0xff - .byte ((_dt_reserve_map - _dt_blob_start) >> 16) & 0xff - .byte ((_dt_reserve_map - _dt_blob_start) >> 8) & 0xff - .byte (_dt_reserve_map - _dt_blob_start) & 0xff - /* version */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x10 - /* last_comp_version */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x10 - /* boot_cpuid_phys */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - /* size_dt_strings */ - .byte ((_dt_strings_end - _dt_strings_start) >> 24) & 0xff - .byte ((_dt_strings_end - _dt_strings_start) >> 16) & 0xff - .byte ((_dt_strings_end - _dt_strings_start) >> 8) & 0xff - .byte (_dt_strings_end - _dt_strings_start) & 0xff - .balign 8 - .globl dt_reserve_map -dt_reserve_map: -_dt_reserve_map: -/* Memory reserve map from source file */ - .long 0, 0 - .long 0, 0 - .globl dt_struct_start -dt_struct_start: -_dt_struct_start: - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x54; .byte 0x68; .byte 0x65; .byte 0x63 - .byte 0x75; .byte 0x73; .byte 0x20; .byte 0x4e - .byte 0x31; .byte 0x32; .byte 0x30; .byte 0x30 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "cpus" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "PowerPC,8347@0" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x63; .byte 0x70; .byte 0x75; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x31 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x20 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x43 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x20 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x55 - .byte 0x00; .byte 0x00; .byte 0x80; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x62 - .byte 0x00; .byte 0x00; .byte 0x80; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x6f - .byte 0x03; .byte 0xf9; .byte 0x40; .byte 0xaa - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x82 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x90 - .byte 0x0f; .byte 0xe5; .byte 0x02; .byte 0xaa - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "memory" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x07 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x6d; .byte 0x65; .byte 0x6d; .byte 0x6f - .byte 0x72 - .byte 0x79 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x08; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "soc8347@e0000000" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x73; .byte 0x6f; .byte 0x63; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0b - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x73; .byte 0x69; .byte 0x6d; .byte 0x70 - .byte 0x6c; .byte 0x65; .byte 0x2d; .byte 0x62 - .byte 0x75 - .byte 0x73 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0c - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xab - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0xe0; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x10; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0xe0; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x02; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x82 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "wdt@200" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x09 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x77; .byte 0x61; .byte 0x74; .byte 0x63 - .byte 0x68; .byte 0x64; .byte 0x6f; .byte 0x67 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0c - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x6d; .byte 0x70; .byte 0x63; .byte 0x38 - .byte 0x33; .byte 0x78; .byte 0x78; .byte 0x5f - .byte 0x77; .byte 0x64; .byte 0x74; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x02; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x00 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "i2c@3000" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xb2 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x66; .byte 0x73; .byte 0x6c; .byte 0x2d - .byte 0x69; .byte 0x32; .byte 0x63; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x30; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xbd - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0e - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xc8 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xd9 - .balign 4 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "rtc@32" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0f - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x72; .byte 0x69; .byte 0x63; .byte 0x6f - .byte 0x68; .byte 0x2c; .byte 0x72; .byte 0x73 - .byte 0x35; .byte 0x63; .byte 0x33; .byte 0x37 - .byte 0x32 - .byte 0x61 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x32 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "fan@2e" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0e - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x66; .byte 0x69; .byte 0x6e; .byte 0x74 - .byte 0x65; .byte 0x6b; .byte 0x2c; .byte 0x66 - .byte 0x37; .byte 0x35; .byte 0x33; .byte 0x37 - .byte 0x35 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2e - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "i2c@3100" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xb2 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x66; .byte 0x73; .byte 0x6c; .byte 0x2d - .byte 0x69; .byte 0x32; .byte 0x63; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x31; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xbd - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0f - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xc8 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xd9 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "usb@22000" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x66; .byte 0x73; .byte 0x6c; .byte 0x2d - .byte 0x75; .byte 0x73; .byte 0x62; .byte 0x32 - .byte 0x2d; .byte 0x6d; .byte 0x70; .byte 0x68 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x02; .byte 0x20; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x10; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xc8 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xbd - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x27 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x05 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xdf - .byte 0x75; .byte 0x6c; .byte 0x70; .byte 0x69 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xe8 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xee - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "ethernet@24000" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xb2 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x6e; .byte 0x65; .byte 0x74; .byte 0x77 - .byte 0x6f; .byte 0x72; .byte 0x6b; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x05 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x54; .byte 0x53; .byte 0x45; .byte 0x43 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x67; .byte 0x69; .byte 0x61; .byte 0x6e - .byte 0x66; .byte 0x61; .byte 0x72; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x02; .byte 0x40; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x10; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0c - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xab - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x02; .byte 0x40; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x10; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xf4 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x0 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x18 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xbd - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x20 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x22 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xc8 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .balign 4 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "mdio@520" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x11 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x66; .byte 0x73; .byte 0x6c; .byte 0x2c - .byte 0x67; .byte 0x69; .byte 0x61; .byte 0x6e - .byte 0x66; .byte 0x61; .byte 0x72; .byte 0x2d - .byte 0x6d; .byte 0x64; .byte 0x69; .byte 0x6f - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x05; .byte 0x20 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x20 - .balign 4 - .globl phy0 -phy0: - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "ethernet-phy@11" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x11 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x65; .byte 0x74; .byte 0x68; .byte 0x65 - .byte 0x72; .byte 0x6e; .byte 0x65; .byte 0x74 - .byte 0x2d; .byte 0x70; .byte 0x68; .byte 0x79 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x11 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .globl phy0_end -phy0_end: - .globl phy1 -phy1: - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "ethernet-phy@5" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x05 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0d - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x65; .byte 0x74; .byte 0x68; .byte 0x65 - .byte 0x72; .byte 0x6e; .byte 0x65; .byte 0x74 - .byte 0x2d; .byte 0x70; .byte 0x68; .byte 0x79 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x11 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .globl phy1_end -phy1_end: - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "ethernet@25000" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xb2 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x6e; .byte 0x65; .byte 0x74; .byte 0x77 - .byte 0x6f; .byte 0x72; .byte 0x6b; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x05 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x54; .byte 0x53; .byte 0x45; .byte 0x43 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x67; .byte 0x69; .byte 0x61; .byte 0x6e - .byte 0x66; .byte 0x61; .byte 0x72; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x02; .byte 0x50; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x10; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x0c - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xab - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x02; .byte 0x50; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x10; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xf4 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x0 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x18 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xbd - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x23 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x24 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x25 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xc8 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .globl serial0 -serial0: - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "serial@4500" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xb2 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x07 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x73; .byte 0x65; .byte 0x72; .byte 0x69 - .byte 0x61 - .byte 0x6c - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x6e; .byte 0x73; .byte 0x31; .byte 0x36 - .byte 0x35; .byte 0x35; .byte 0x30; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x45; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x90 - .byte 0x0f; .byte 0xe5; .byte 0x02; .byte 0xaa - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xbd - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x09 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xc8 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .globl serial0_end -serial0_end: - .globl ipic -ipic: - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "pic@700" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x1f - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x34 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0x00; .byte 0x00; .byte 0x07; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x05 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x69; .byte 0x70; .byte 0x69; .byte 0x63 - .byte 0x0 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x11 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .globl ipic_end -ipic_end: - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "pci@e0008500" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xb2 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x10 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x45 - .byte 0x00; .byte 0x00; .byte 0xf8; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x07 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x1c - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x58 - .byte 0x00; .byte 0x00; .byte 0x80; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x14 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xc8 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xbd - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x42 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x66 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x30 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xab - .byte 0x02; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x80; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x80; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x20; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x01; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0xe2; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x00 - .byte 0x00; .byte 0x10; .byte 0x00; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x90 - .byte 0x03; .byte 0xf9; .byte 0x40; .byte 0xaa - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x34 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x15 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x06 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x10 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x2d - .byte 0xe0; .byte 0x00; .byte 0x85; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x00 - .byte 0xe0; .byte 0x00; .byte 0x83; .byte 0x00 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x08 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x10 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0xa0 - .byte 0x66; .byte 0x73; .byte 0x6c; .byte 0x2c - .byte 0x6d; .byte 0x70; .byte 0x63; .byte 0x38 - .byte 0x33; .byte 0x34; .byte 0x39; .byte 0x2d - .byte 0x70; .byte 0x63; .byte 0x69; .byte 0x00 - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x04 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x21 - .byte 0x70; .byte 0x63; .byte 0x69; .byte 0x00 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_BEGIN_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x01 - .string "chosen" - .balign 4 - /* FDT_PROP */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x03 - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x1e - .byte 0x00; .byte 0x00; .byte 0x01; .byte 0x70 - .byte 0x2f; .byte 0x73; .byte 0x6f; .byte 0x63 - .byte 0x38; .byte 0x33; .byte 0x34; .byte 0x37 - .byte 0x40; .byte 0x65; .byte 0x30; .byte 0x30 - .byte 0x30; .byte 0x30; .byte 0x30; .byte 0x30 - .byte 0x30; .byte 0x2f; .byte 0x73; .byte 0x65 - .byte 0x72; .byte 0x69; .byte 0x61; .byte 0x6c - .byte 0x40; .byte 0x34; .byte 0x35; .byte 0x30 - .byte 0x30 - .byte 0x0 - .balign 4 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_END_NODE */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x02 - /* FDT_END */ - .byte 0x00; .byte 0x00; .byte 0x00; .byte 0x09 - .globl dt_struct_end -dt_struct_end: -_dt_struct_end: - .globl dt_strings_start -dt_strings_start: -_dt_strings_start: - .string "model" - .string "#address-cells" - .string "#size-cells" - .string "device_type" - .string "reg" - .string "d-cache-line-size" - .string "i-cache-line-size" - .string "d-cache-size" - .string "i-cache-size" - .string "timebase-frequency" - .string "bus-frequency" - .string "clock-frequency" - .string "compatible" - .string "ranges" - .string "cell-index" - .string "interrupts" - .string "interrupt-parent" - .string "dfsrr" - .string "phy_type" - .string "port0" - .string "port1" - .string "local-mac-address" - .string "phy-handle" - .string "linux,phandle" - .string "interrupt-controller" - .string "#interrupt-cells" - .string "interrupt-map-mask" - .string "interrupt-map" - .string "bus-range" - .string "linux,stdout-path" - .globl dt_strings_end -dt_strings_end: -_dt_strings_end: - .globl dt_blob_end -dt_blob_end: -_dt_blob_end: - .globl dt_blob_abs_end -dt_blob_abs_end: -_dt_blob_abs_end: diff --git a/sys/arch/socppc/stand/Makefile b/sys/arch/socppc/stand/Makefile deleted file mode 100644 index 0e65f68daf7..00000000000 --- a/sys/arch/socppc/stand/Makefile +++ /dev/null @@ -1,5 +0,0 @@ -# $OpenBSD: Makefile,v 1.4 2010/02/15 13:44:57 kettenis Exp $ - -SUBDIR= mkboot mbr boot - -.include diff --git a/sys/arch/socppc/stand/Makefile.inc b/sys/arch/socppc/stand/Makefile.inc deleted file mode 100644 index 94b5969b0cc..00000000000 --- a/sys/arch/socppc/stand/Makefile.inc +++ /dev/null @@ -1,10 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.3 2008/06/09 15:01:56 deraadt Exp $ - -.if exists(${STANDIR}/mkboot/mkboot) -MKBOOT=${STANDIR}/mkboot/mkboot -.else -MKBOOT=${STANDIR}/mkboot/${__objdir}/mkboot -.endif - -BINDIR=/usr/mdec -MANSUBDIR=socppc diff --git a/sys/arch/socppc/stand/boot/Makefile b/sys/arch/socppc/stand/boot/Makefile deleted file mode 100644 index ea8c0af367a..00000000000 --- a/sys/arch/socppc/stand/boot/Makefile +++ /dev/null @@ -1,73 +0,0 @@ -# $OpenBSD: Makefile,v 1.18 2016/11/06 16:42:00 tb Exp $ - -.include "${.CURDIR}/../Makefile.inc" - -MAN= boot.8 - -.if ${MACHINE} == "socppc" -PROG= boot -S= ${.CURDIR}/../../../.. - -.PATH: ${S}/stand/boot -.PATH: ${S}/lib/libsa - -CPPFLAGS+= -D_STANDALONE -CPPFLAGS+= -nostdinc -I../.. -I. -I${.CURDIR} -I${S} -CPPFLAGS+= -DCONADDR=0xe0004500UL -DCONSPEED=115200 -CPPFLAGS+= -DNS16550_FREQ=266000000 -DMACHINE_CMD=cmd_machine - -COPTS+= -ffreestanding -fno-stack-protector -ffixed-r29 -msoft-float -COPTS+= -fno-pie - -SRCS= start.S -SRCS+= boot.c cmd.c vars.c -SRCS+= conf.c devopen.c exec.c machdep.c dev_socppc.c time.c -SRCS+= clock.c ns16550.c wd.c wdc.c pciide.c wdc_obio.c fdt.c -SRCS+= ctime.c strtol.c cmd_socppc.c - -.PATH: ${S}/lib/libkern/arch/powerpc ${S}/lib/libkern -SRCS+= getchar.c putchar.c strlcpy.c strlen.c ashrdi3.c moddi3.c - -### find out what to use for libz -Z_AS= library -.include "${S}/lib/libz/Makefile.inc" -LIBZ= ${ZLIB} - -### find out what to use for libsa -SA_AS= library -SAREL= -SA_ZLIB= yes -USE_LOADFILE= yes -.include "${S}/lib/libsa/Makefile.inc" -LIBSA= ${SALIB} - -STANDIR= ${.CURDIR}/.. - -RELOC= 0x100000 -LDFLAGS= -Ttext ${RELOC} -nopie -znorelro -OBJCOPY?= objcopy - -${PROG}: ${OBJS} ${LIBSA} ${LIBZ} - ${LD} ${LDFLAGS} -o ${PROG}.elf ${OBJS} ${LIBSA} ${LIBZ} - ${OBJCOPY} -O binary ${PROG}.elf ${PROG}.bin - ${MKBOOT} -e ${RELOC} -l ${RELOC} ${PROG}.bin ${PROG} - -realinstall: - ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} \ - -m ${BINMODE} ${PROG} ${DESTDIR}${BINDIR}/${PROG} - ${INSTALL} ${INSTALL_COPY} ${INSTALL_STRIP} -o ${BINOWN} -g ${BINGRP} \ - -m ${BINMODE} ${PROG}.elf ${DESTDIR}${BINDIR}/${PROG}.elf - -.if !make(clean) && !make(cleandir) && !make(includes) && !make(obj) -.BEGIN: - @([ -h machine ] || ln -s ${.CURDIR}/../../../${MACHINE}/include machine) - @([ -h powerpc ] || ln -s ${.CURDIR}/../../../powerpc/include powerpc) -.NOPATH: machine powerpc -CLEANFILES+= machine powerpc -.endif - -.else -NOPROG= -.endif - -.include diff --git a/sys/arch/socppc/stand/boot/boot.8 b/sys/arch/socppc/stand/boot/boot.8 deleted file mode 100644 index 5d286b402ff..00000000000 --- a/sys/arch/socppc/stand/boot/boot.8 +++ /dev/null @@ -1,285 +0,0 @@ -.\" $OpenBSD: boot.8,v 1.9 2019/01/02 21:20:41 anton Exp $ -.\" -.\" Copyright (c) 1997-2001 Michael Shalayeff -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT, -.\" INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -.\" SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -.\" IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -.\" THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" -.Dd $Mdocdate: January 2 2019 $ -.Dt BOOT 8 socppc -.Os -.Sh NAME -.Nm boot , -.Nm boot.conf -.Nd socppc-specific bootstrap -.Sh DESCRIPTION -The main purpose of this program is to load the system kernel. -.Pp -This program is loaded by the -firmware -and provides a convenient way to load the kernel. -This program acts as an enhanced boot monitor for socppc systems, providing -a common interface for the kernel to start from. -.Pp -Basic operations include: -.Pp -.Bl -bullet -compact -.It -Loading kernels from hard disk. -.It -Loading kernels compressed by -.Xr gzip 1 . -.It -Providing an interactive command line. -.El -.Pp -The sequence of its operation is as follows: initialization, -parsing the configuration file, then an interactive command line. -While at the command line you have 5 seconds to type any commands, if needed. -If time expires, the kernel will be loaded according to -the current variable settings (see the -.Ic set -command). -Each time a kernel load fails, the timeout is increased by one second. -The sequence of -.Nm -operations is as follows: -.Bl -enum -.It -If the file -.Pa /etc/boot.conf -.\" XXX BEWARE! wd0 only, so text change... -.\" exists on the filesystem -.\" .Nm -.\" was loaded from, open and parse it. -exists on the filesystem in slice -.Sq a -on the first disk drive -.Pq wd0 , -open and parse it. -Lines beginning with the -.Sq # -character, -as well as whitespace at the beginning of lines, -are ignored. -The file may contain any commands -.Nm -accepts at the interactive prompt. -Though default settings usually suffice, they can be changed here. -.\" XXX CHECK_SKIP_CONF is not defined... -.\" .Pp -.\" .Pa boot.conf -.\" processing can be skipped by holding down either Control key as -.\" .Nm -.\" starts. -.It -The header line -.Pp -.Dl >> OpenBSD/socppc BOOT [x.xx] -.Pp -is displayed to the active console, where -.Ar x.xx -is the version number of the -.Nm -program, followed by the -.Pp -.Dl boot> -.Pp -prompt, which means you are in interactive mode and may enter commands. -If you do not, -.Nm -will proceed to load the kernel with the current parameters after the -timeout period has expired. -.El -.Pp -By default, -.Nm -attempts to load the kernel executable -.Pa /bsd . -If it fails to find the kernel and no alternative kernel image has -been specified, the system will be unable to boot. -.Sh COMMANDS -The following commands are accepted at the -.Nm -prompt: -.Bl -tag -width shorten -.It Ic boot Oo Oo Ar device : Oc Ns Ar image Oc Op Fl acds -Boots the specified kernel image -with any options given. -If -.Ar device -or -.Ar image -are omitted, values from -.Nm -variables will be used. -.Pp -The only bootable devices, at the moment, are IDE devices connected to -the internal controller; -they are detected as -.Sq wd -devices. -Therefore, to boot kernel -.Pa /bsd -from slice -.Sq a -on the first hard drive, -specify -.Dq boot wd0a:/bsd . -.Bl -tag -width _a_ -.It Fl a -Causes the kernel to ask for the -.Nm root -device to use. -.It Fl c -Causes the kernel to go into -.Xr boot_config 8 -before performing -.Xr autoconf 4 -procedures. -.It Fl d -Causes the kernel to drop into -.Xr ddb 4 -at the earliest convenient point. -.It Fl s -Causes the kernel to boot single-user. -.El -.It Ic echo Op Ar args -Displays -.Ar args -on the console device. -.It Ic help -Prints a list of available commands. -.It Ic ls Op Ar directory -Prints contents of the specified -.Ar directory -in long format including: attributes and file type, owner, group, -size, filename. -.It Ic reboot -Reboots the machine by initiating a warm boot procedure. -.It Ic set Op Ar varname Op Ar value -If invoked without arguments, prints a list of variables and their values. -If only -.Ar varname -is specified, displays contents of that variable. -If -.Ar varname -and -.Ar value -are both specified, sets that variable to the given value. -Variables include: -.Pp -.Bl -tag -compact -width boothow -.It Ic addr -Address at which to load the kernel. -.It Ic debug -Debug flag if -.Nm -was compiled with DEBUG defined. -.It Ic device -Boot device name (e.g., -.Li wd0a , -.Li wd1a ) . -.It Ic howto -Options to pass to the loaded kernel. -.It Ic image -File name containing the kernel image. -.It Ic timeout -Number of seconds boot will wait for human intervention before -booting the default kernel image. -.\" .It Nm tty -.\" Active console device name (e.g., -.\" .Li com0 ) . -.\" Currently, only the first serial port -.\" .Pq Li com0 -.\" is supported for console on socppc. -.El -.\" XXX ignored, so don't document it. -.\" .It stty Op Ar device Op Ar speed -.\" Displays or sets the -.\" .Ar speed -.\" for a console -.\" .Ar device . -.\" If changing the baudrate for the currently active console, -.\" .Nm -.\" offers you five seconds of grace time before committing the change -.\" to allow you to change your terminal's speed to match. -.\" If changing speed -.\" .Em not -.\" for the active console, the baudrate is set for the -.\" .Em next -.\" time you switch to a serial console. -.\" .Pp -.\" The default baudrate is 9600bps. -.It Ic time -Displays system time and date. -.El -.Sh FILES -.Bl -tag -width /etc/boot.conf -compact -.It Pa /usr/mdec/boot -system bootstrap -.It Pa /etc/boot.conf -system bootstrap's startup file -.It Pa /bsd -kernel image -.It Pa /bsd.rd -kernel image for installation/recovery -.El -.Sh EXAMPLES -Boot the default kernel: -.Pp -.Dl boot> boot -.Pp -Remove the 5 second pause at boot-time permanently, causing -.Nm -to load the kernel immediately without prompting: -.Pp -.Dl # echo \&"boot\&" > /etc/boot.conf -.Pp -Boot the kernel named -.Pa /bsd -from the second hard disk in -.Dq User Kernel Configuration -mode (see -.Xr boot_config 8 ) . -This mechanism allows for the explicit enabling and disabling of devices -during the current boot sequence, as well as the modification -of device parameters. -Once booted, such changes can be made permanent by using -.Xr config 8 Ns 's -.Fl e -option. -.Pp -.Dl boot> boot wd1a:/bsd -c -.Sh SEE ALSO -.Xr gzip 1 , -.Xr autoconf 4 , -.Xr ddb 4 , -.Xr boot_config 8 , -.Xr fdisk 8 , -.Xr reboot 8 -.Sh HISTORY -This program was written by Michael Shalayeff for -.Ox 2.1 -on the i386 platform, and was later ported to the socppc platform for -.Ox 4.4 . diff --git a/sys/arch/socppc/stand/boot/clock.c b/sys/arch/socppc/stand/boot/clock.c deleted file mode 100644 index e3a43be295e..00000000000 --- a/sys/arch/socppc/stand/boot/clock.c +++ /dev/null @@ -1,48 +0,0 @@ -/* $OpenBSD: clock.c,v 1.2 2008/06/26 05:42:13 ray Exp $ */ -/* $NetBSD: clock.c,v 1.1 2003/06/25 17:24:22 cdi Exp $ */ - -/*- - * Copyright (c) 2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Manuel Bouyer. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include - -#include "libsa.h" - -#define DELAY_CALIBRATE 1000 - -void -delay(int ms) -{ - /* - * XXX need *real* clock calibration. - */ - volatile register int N = ms * DELAY_CALIBRATE; - for (; --N;) - ; -} diff --git a/sys/arch/socppc/stand/boot/cmd_socppc.c b/sys/arch/socppc/stand/boot/cmd_socppc.c deleted file mode 100644 index 3060f6e68bc..00000000000 --- a/sys/arch/socppc/stand/boot/cmd_socppc.c +++ /dev/null @@ -1,40 +0,0 @@ -/* $OpenBSD: cmd_socppc.c,v 1.1 2009/09/11 17:45:01 dms Exp $ */ - -/* - * Copyright (c) 2009 Dariusz Swiderski - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include "fdt.h" -#include "stand/boot/cmd.h" - -int Xfdt(void); -int Xbats(void); - -const struct cmd_table cmd_machine[] = { - { "fdt", CMDT_CMD, Xfdt }, - { NULL, 0 } -}; - -int -Xfdt(void) -{ - extern int fdtaddrsave; - if (fdtaddrsave) - fdt_print_tree(); - else - printf("FDT blob not available\n"); - return 0; -} diff --git a/sys/arch/socppc/stand/boot/conf.c b/sys/arch/socppc/stand/boot/conf.c deleted file mode 100644 index e4d2ee06fda..00000000000 --- a/sys/arch/socppc/stand/boot/conf.c +++ /dev/null @@ -1,69 +0,0 @@ -/* $OpenBSD: conf.c,v 1.10 2019/04/10 04:19:32 deraadt Exp $ */ -/* $NetBSD: conf.c,v 1.4 2005/12/11 12:17:06 christos Exp $ */ - -/* - * Copyright (c) 1982, 1986, 1990, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)conf.c 8.1 (Berkeley) 6/10/93 - */ - -#include - -#include - -#include "libsa.h" -#include - -const char version[] = "1.4"; -int debug = 0; - -/* - * Device configuration - */ -struct devsw devsw[] = { - { "wd", wdstrategy, wdopen, wdclose, noioctl }, -}; -int ndevs = nitems(devsw); - -/* - * Filesystem configuration - */ -struct fs_ops file_system[] = { - { ufs_open, ufs_close, ufs_read, ufs_write, ufs_seek, - ufs_stat, ufs_readdir } -}; -int nfsys = nitems(file_system); - -/* - * Console configuration - */ -struct consdev constab[] = { - { com_probe, com_init, com_getc, com_putc }, - { NULL } -}; -struct consdev *cn_tab; diff --git a/sys/arch/socppc/stand/boot/dev_socppc.c b/sys/arch/socppc/stand/boot/dev_socppc.c deleted file mode 100644 index 7cf9401c51e..00000000000 --- a/sys/arch/socppc/stand/boot/dev_socppc.c +++ /dev/null @@ -1,67 +0,0 @@ -/* $OpenBSD: dev_socppc.c,v 1.4 2014/07/13 09:26:08 jasper Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include - -#include "libsa.h" - -const char cdevs[][4] = { - "cn", "", "", "", "", "", "", "", - "", "", "", "", "com" -}; -const int ncdevs = nitems(cdevs); - -void -devboot(dev_t dev, char *p) -{ - strlcpy(p, "wd0a", 5); -} - -int -cnspeed(dev_t dev, int sp) -{ - return CONSPEED; -} - -char ttyname_buf[8]; - -char * -ttyname(int fd) -{ - snprintf(ttyname_buf, sizeof ttyname_buf, "%s%d", - cdevs[major(cn_tab->cn_dev)], minor(cn_tab->cn_dev)); - - return ttyname_buf; -} - -dev_t -ttydev(char *name) -{ - int i, unit = -1; - char *no = name + strlen(name) - 1; - - while (no >= name && *no >= '0' && *no <= '9') - unit = (unit < 0 ? 0 : (unit * 10)) + *no-- - '0'; - if (no < name || unit < 0) - return NODEV; - for (i = 0; i < ncdevs; i++) - if (strncmp(name, cdevs[i], no - name + 1) == 0) - return (makedev(i, unit)); - return NODEV; -} diff --git a/sys/arch/socppc/stand/boot/devopen.c b/sys/arch/socppc/stand/boot/devopen.c deleted file mode 100644 index 801f390ec73..00000000000 --- a/sys/arch/socppc/stand/boot/devopen.c +++ /dev/null @@ -1,122 +0,0 @@ -/* $OpenBSD: devopen.c,v 1.2 2008/06/26 05:42:13 ray Exp $ */ -/* $NetBSD: devopen.c,v 1.1 2003/06/25 17:24:22 cdi Exp $ */ - -/*- - * Copyright (c) 2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Rolf Grossmann. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include "libsa.h" - -#define MAXDEVNAME 16 - -/* - * Parse a device spec. - * - * [A-Za-z]*[0-9]*[A-Za-z]:file - * dev uint part - */ -int -devparse(const char *fname, int *dev, int *unit, int *part, const char **file) -{ - const char *s; - - *unit = 0; /* default to wd0a */ - *part = 0; - *dev = 0; - - s = strchr(fname, ':'); - if (s != NULL) { - int devlen; - int i, u, p; - struct devsw *dp; - char devname[MAXDEVNAME]; - - devlen = s - fname; - if (devlen > MAXDEVNAME) - return (EINVAL); - - /* extract device name */ - for (i = 0; isalpha(fname[i]) && (i < devlen); i++) - devname[i] = fname[i]; - devname[i] = 0; - - if (!isdigit(fname[i])) - return (EUNIT); - - /* device number */ - for (u = 0; isdigit(fname[i]) && (i < devlen); i++) - u = u * 10 + (fname[i] - '0'); - - if (!isalpha(fname[i])) - return (EPART); - - /* partition number */ - if (i < devlen) - p = fname[i++] - 'a'; - - if (i != devlen) - return (ENXIO); - - /* check device name */ - for (dp = devsw, i = 0; i < ndevs; dp++, i++) { - if (dp->dv_name && !strcmp(devname, dp->dv_name)) - break; - } - - if (i >= ndevs) - return (ENXIO); - - *unit = u; - *part = p; - *dev = i; - fname = ++s; - } - - *file = fname; - - return (0); -} - -int -devopen(struct open_file *f, const char *fname, char **file) -{ - struct devsw *dp; - int dev, unit, part, error; - - error = devparse(fname, &dev, &unit, &part, (const char **)file); - if (error) - return (error); - - dp = &devsw[dev]; - if ((void *)dp->dv_open == (void *)nodev) - return (ENXIO); - - f->f_dev = dp; - - return (*dp->dv_open)(f, unit, part); -} diff --git a/sys/arch/socppc/stand/boot/exec.c b/sys/arch/socppc/stand/boot/exec.c deleted file mode 100644 index 5f41774587a..00000000000 --- a/sys/arch/socppc/stand/boot/exec.c +++ /dev/null @@ -1,74 +0,0 @@ -/* $OpenBSD: exec.c,v 1.4 2019/04/10 04:17:37 deraadt Exp $ */ - -/* - * Copyright (c) 2006 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include - -#include -#include - -#include -#include - -typedef void (*startfuncp)(int, int, u_int32_t, char *, int) __dead; - -void -run_loadfile(uint64_t *marks, int howto) -{ - char args[512]; /* Should check size? */ - u_int32_t entry; - char *cp; - void *ssym, *esym; - int l; - - snprintf(args, sizeof(args), "%s:%s -", cmd.bootdev, cmd.image); - cp = args + strlen(args); - - *cp++ = ' '; - *cp = '-'; - if (howto & RB_ASKNAME) - *++cp = 'a'; - if (howto & RB_CONFIG) - *++cp = 'c'; - if (howto & RB_SINGLE) - *++cp = 's'; - if (howto & RB_KDB) - *++cp = 'd'; - if (*cp == '-') - *--cp = 0; - else - *++cp = 0; - - entry = marks[MARK_ENTRY]; - ssym = (void *)marks[MARK_SYM]; - esym = (void *)marks[MARK_END]; - - /* - * Stash pointer to end of symbol table after the argument - * strings. - */ - l = strlen(args) + 1; - bcopy(&ssym, args + l, sizeof(ssym)); - l += sizeof(ssym); - bcopy(&esym, args + l, sizeof(esym)); - l += sizeof(esym); - extern int fdtaddrsave; - - (*(startfuncp)(marks[MARK_ENTRY]))(fdtaddrsave, 0, entry, args, l); - - /* NOTREACHED */ -} diff --git a/sys/arch/socppc/stand/boot/fdt.c b/sys/arch/socppc/stand/boot/fdt.c deleted file mode 100644 index f788e3d5094..00000000000 --- a/sys/arch/socppc/stand/boot/fdt.c +++ /dev/null @@ -1,415 +0,0 @@ -/* $OpenBSD: fdt.c,v 1.7 2017/09/08 05:36:52 deraadt Exp $ */ - -/* - * Copyright (c) 2009 Dariusz Swiderski - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - - -#include - -#include "fdt.h" -#include "libsa.h" - - -unsigned int fdt_check_head(void *); -char *fdt_get_str(u_int32_t); -void *skip_property(u_int32_t *); -void *skip_props(u_int32_t *); -void *skip_node_name(u_int32_t *); -void *fdt_parent_node_recurse(void *, void *); -void *fdt_find_node_recurse(void *, char *); -void fdt_print_node_recurse(void *, int); - -static int tree_inited = 0; -static struct fdt tree; - -unsigned int -fdt_check_head(void *fdt) -{ - struct fdt_head *fh; - u_int32_t *ptr; - - fh = fdt; - ptr = (u_int32_t *)fdt; - - if (fh->fh_magic != FDT_MAGIC) - return 0; - - if (fh->fh_version > FDT_CODE_VERSION) - return 0; - - if (*(ptr + (fh->fh_struct_off / 4)) != FDT_NODE_BEGIN) - return 0; - - /* check for end signature on version 17 blob */ - if ((fh->fh_version >= 17) & (*(ptr + fh->fh_struct_size) != FDT_END)) - return 0; - - return fh->fh_version; -} - -/* - * Initializes internal structures of module. - * Has to be called once, preferably in machdep.c. - */ -int -fdt_init(void *fdt) -{ - int version; - - bzero(&tree, sizeof(struct fdt)); - tree_inited = 0; - - if (!fdt) - return 0; - - if (!(version = fdt_check_head(fdt))) - return 0; - - tree.header = (struct fdt_head *)fdt; - tree.tree = (char *)fdt + tree.header->fh_struct_off; - tree.strings = (char *)fdt + tree.header->fh_strings_off; - tree.memory = (char *)fdt + tree.header->fh_reserve_off; - tree.version = version; - - if (version < 3) { - if ((tree.strings < tree.tree) && (tree.tree < tree.memory)) - tree.strings_size = tree.tree - tree.strings; - else if ((tree.strings < tree.memory) && (tree.memory < - tree.tree)) - tree.strings_size = tree.memory - tree.strings; - else if ((tree.strings < tree.tree) && (tree.memory < - tree.strings)) - tree.strings_size = tree.tree - tree.strings; - else if ((tree.strings < tree.memory) && (tree.tree < - tree.strings)) - tree.strings_size = tree.memory - tree.strings; - else - tree.strings_size = tree.header->fh_size - - (int)tree.strings; - } else - tree.strings_size = tree.header->fh_strings_size; - - tree.strings_size = tree.header->fh_strings_size; - tree_inited = 1; - - return version; -} - -/* - * Retrieve string pointer from srtings table. - */ -char * -fdt_get_str(u_int32_t num) -{ - if (num > tree.strings_size) - return NULL; - return (tree.strings) ? (tree.strings + num) : NULL; -} - -/* - * Utility functions for skipping parts of tree. - */ -void * -skip_property(u_int32_t *ptr) -{ - u_int32_t size; - - size = *(ptr + 1); - /* move forward by magic + size + nameid + rounded up property size */ - ptr += 3 + roundup(size, sizeof(u_int32_t)) / sizeof(u_int32_t); - - return ptr; -} - -void * -skip_props(u_int32_t *ptr) -{ - while (*ptr == FDT_PROPERTY) { - ptr = skip_property(ptr); - } - return ptr; -} - -void * -skip_node_name(u_int32_t *ptr) -{ - /* skip name, aligned to 4 bytes, this is NULL term., so must add 1 */ - return ptr + roundup(strlen((char *)ptr) + 1, - sizeof(u_int32_t)) / sizeof(u_int32_t); -} - -/* - * Retrieves node property, the returned pointer is inside the fdt tree, - * so we should not modify content pointed by it directly. - */ -int -fdt_node_property(void *node, char *name, char **out) -{ - u_int32_t *ptr; - u_int32_t nameid; - char *tmp; - - if (!tree_inited) - return 0; - - ptr = (u_int32_t *)node; - - if (*ptr != FDT_NODE_BEGIN) - return 0; - - ptr = skip_node_name(ptr + 1); - - while (*ptr == FDT_PROPERTY) { - nameid = *(ptr + 2); /* id of name in strings table */ - tmp = fdt_get_str(nameid); - if (!strcmp(name, tmp)) { - *out = (char *)(ptr + 3); /* beginning of the value */ - return *(ptr + 1); /* size of value */ - } - ptr = skip_property(ptr); - } - return 0; -} - -/* - * Retrieves next node, skipping all the children nodes of the pointed node - * if passed 0 wil return first node of the tree (root) - */ -void * -fdt_next_node(void *node) -{ - u_int32_t *ptr; - - if (!tree_inited) - return NULL; - - ptr = node; - - if (!node) { - ptr = tree.tree; - return (*ptr == FDT_NODE_BEGIN) ? ptr : NULL; - } - - if (*ptr != FDT_NODE_BEGIN) - return NULL; - - ptr++; - - ptr = skip_node_name(ptr); - ptr = skip_props(ptr); - - /* skip children */ - while (*ptr == FDT_NODE_BEGIN) - ptr = fdt_next_node(ptr); - - return (*ptr == FDT_NODE_END) ? (ptr + 1) : NULL; -} - -/* - * Retrieves next node, skipping all the children nodes of the pointed node - */ -void * -fdt_child_node(void *node) -{ - u_int32_t *ptr; - - if (!tree_inited) - return NULL; - - ptr = node; - - if (*ptr != FDT_NODE_BEGIN) - return NULL; - - ptr++; - - ptr = skip_node_name(ptr); - ptr = skip_props(ptr); - /* check if there is a child node */ - return (*ptr == FDT_NODE_BEGIN) ? (ptr) : NULL; -} - -/* - * Retrieves node name. - */ -char * -fdt_node_name(void *node) -{ - u_int32_t *ptr; - - if (!tree_inited) - return NULL; - - ptr = node; - - if (*ptr != FDT_NODE_BEGIN) - return NULL; - - return (char *)(ptr + 1); -} - -void * -fdt_find_node(char *name) -{ - void *node = fdt_next_node(0); - const char *p = name; - - if (!tree_inited) - return NULL; - - if (*p != '/') - return NULL; - - while (*p) { - void *child; - const char *q; - - while (*p == '/') - p++; - if (*p == 0) - return node; - q = strchr(p, '/'); - if (q == NULL) - q = p + strlen(p); - - for (child = fdt_child_node(node); child; - child = fdt_next_node(child)) { - if (strncmp(p, fdt_node_name(child), q - p) == 0) { - node = child; - break; - } - } - - p = q; - } - - return node; -} - -void * -fdt_parent_node_recurse(void *pnode, void *child) -{ - void *node = fdt_child_node(pnode); - void *tmp; - - while (node && (node != child)) { - if ((tmp = fdt_parent_node_recurse(node, child))) - return tmp; - node = fdt_next_node(node); - } - return (node) ? pnode : NULL; -} - -void * -fdt_parent_node(void *node) -{ - void *pnode = fdt_next_node(0); - - if (!tree_inited) - return NULL; - - return fdt_parent_node_recurse(pnode, node); -} - -/* - * Debug methods for printing whole tree, particular odes and properies - */ -void * -fdt_print_property(void *node, int level) -{ - u_int32_t *ptr; - char *tmp, *value; - int cnt; - u_int32_t nameid, size; - - ptr = (u_int32_t *)node; - - if (!tree_inited) - return NULL; - - if (*ptr != FDT_PROPERTY) - return ptr; /* should never happen */ - - /* extract property name_id and size */ - size = *++ptr; - nameid = *++ptr; - - for (cnt = 0; cnt < level; cnt++) - printf("\t"); - - tmp = fdt_get_str(nameid); - printf("\t%s : ", tmp ? tmp : "NO_NAME"); - - ptr++; - value = (char *)ptr; - - if (!strcmp(tmp, "device_type") || !strcmp(tmp, "compatible") || - !strcmp(tmp, "model") || !strcmp(tmp, "bootargs") || - !strcmp(tmp, "linux,stdout-path")) { - printf("%s", value); - } else if (!strcmp(tmp, "clock-frequency") || - !strcmp(tmp, "timebase-frequency")) { - printf("%d", *((unsigned int *)value)); - } else { - for (cnt = 0; cnt < size; cnt++) { - if ((cnt % sizeof(u_int32_t)) == 0) - printf(" "); - printf("%x", value[cnt]); - } - } - ptr += roundup(size, sizeof(u_int32_t)) / sizeof(u_int32_t); - printf("\n"); - - return ptr; -} - -void -fdt_print_node(void *node, int level) -{ - u_int32_t *ptr; - int cnt; - - ptr = (u_int32_t *)node; - - if (*ptr != FDT_NODE_BEGIN) - return; - - ptr++; - - for (cnt = 0; cnt < level; cnt++) - printf("\t"); - printf("%s :\n", fdt_node_name(node)); - ptr = skip_node_name(ptr); - - while (*ptr == FDT_PROPERTY) - ptr = fdt_print_property(ptr, level); -} - -void -fdt_print_node_recurse(void *node, int level) -{ - void *child; - - fdt_print_node(node, level); - for (child = fdt_child_node(node); child; child = fdt_next_node(child)) - fdt_print_node_recurse(child, level + 1); -} - -void -fdt_print_tree(void) -{ - fdt_print_node_recurse(fdt_next_node(0), 0); -} diff --git a/sys/arch/socppc/stand/boot/fdt.h b/sys/arch/socppc/stand/boot/fdt.h deleted file mode 100644 index 88927157997..00000000000 --- a/sys/arch/socppc/stand/boot/fdt.h +++ /dev/null @@ -1,59 +0,0 @@ -/* $OpenBSD: fdt.h,v 1.3 2009/10/01 20:21:05 dms Exp $ */ - -/* - * Copyright (c) 2009 Dariusz Swiderski - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -struct fdt_head { - u_int32_t fh_magic; - u_int32_t fh_size; - u_int32_t fh_struct_off; - u_int32_t fh_strings_off; - u_int32_t fh_reserve_off; - u_int32_t fh_version; - u_int32_t fh_comp_ver; /* last compatible version */ - u_int32_t fh_boot_cpu_id; /* fh_version >=2 */ - u_int32_t fh_strings_size; /* fh_version >=3 */ - u_int32_t fh_struct_size; /* fh_version >=17 */ -}; - -struct fdt { - struct fdt_head *header; - void * tree; - void * strings; - void * memory; - int version; - int strings_size; -}; - -#define FDT_MAGIC 0xd00dfeed -#define FDT_NODE_BEGIN 0x01 -#define FDT_NODE_END 0x02 -#define FDT_PROPERTY 0x03 -#define FDT_NOP 0x04 -#define FDT_END 0x09 - -#define FDT_CODE_VERSION 0x11 - -int fdt_init(void *); -void *fdt_next_node(void *); -void *fdt_child_node(void *); -char *fdt_node_name(void *); -void *fdt_find_node(char *); -int fdt_node_property(void *, char *, char **); -void *fdt_parent_node(void *); -void *fdt_print_property(void *, int); -void fdt_print_node(void *, int); -void fdt_print_tree(void); diff --git a/sys/arch/socppc/stand/boot/libsa.h b/sys/arch/socppc/stand/boot/libsa.h deleted file mode 100644 index e283b7d71a7..00000000000 --- a/sys/arch/socppc/stand/boot/libsa.h +++ /dev/null @@ -1,42 +0,0 @@ -/* $OpenBSD: libsa.h,v 1.2 2011/03/13 00:13:53 deraadt Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include - -#define DEFAULT_KERNEL_ADDRESS 0 - -#ifdef DEBUG -#define DPRINTF(x) printf x; -#else -#define DPRINTF(x) -#endif - -/* - * com - */ -void com_probe(struct consdev *); -void com_init(struct consdev *); -int com_getc(dev_t); -void com_putc(dev_t, int); - -/* - * wd - */ -int wdstrategy(void *, int, daddr32_t, size_t, void *, size_t *); -int wdopen(struct open_file *, ...); -int wdclose(struct open_file *); diff --git a/sys/arch/socppc/stand/boot/machdep.c b/sys/arch/socppc/stand/boot/machdep.c deleted file mode 100644 index 71980f8a73c..00000000000 --- a/sys/arch/socppc/stand/boot/machdep.c +++ /dev/null @@ -1,155 +0,0 @@ -/* $OpenBSD: machdep.c,v 1.7 2016/10/09 11:25:40 tom Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include - -#include "libsa.h" -#include "wdvar.h" -#include "fdt.h" - -/* - * RouterBOOT firmware puts its FDT at an address that is low enough - * to conflict with bsd.rd. So we need to relocate the FDT. As long - * as we have at least 32MB of memory, the 16MB boundary should be - * fine, and leave us plenty of room for future kernel growth. - */ -#define FDTADDRSTART 0x01000000 - -#define RPR 0xe0000918 -#define RPR_RSTE 0x52535445 -#define RCR 0xe000091c -#define RCR_SWSR 0x00000001 -#define RCR_SWHR 0x00000002 - -/* defines from pciide.c and wdc_obio.c */ -int pciide_init (struct wdc_channel*, u_int); -int wdc_obio_init (struct wdc_channel*, u_int); - -void -machdep(void) -{ - void *node; - char *tmp; - int len; - - extern int consfreq; - extern uint8_t *consaddr; - - /* set default values */ - consfreq = NS16550_FREQ; - consaddr = (uint8_t *)CONADDR; - - /* lookup FTD for informations about console */ - node = fdt_find_node("/chosen"); - if (node) { - char *console; - fdt_node_property(node, "linux,stdout-path", &console); - node = fdt_find_node(console); - if (node) { - len = fdt_node_property(node, "clock-frequency", &tmp); - if (len == 4) - consfreq = *(int *)tmp; - - len = fdt_node_property(node, "reg", &tmp); - if (len == 8) - consaddr = (uint8_t *)*(int *)tmp; - } - if (node = fdt_parent_node(node)) { - fdt_node_property(node, "device_type", &tmp); - if (strncmp(tmp, "soc", 3) == 0) { - /* we are on a soc */ - len = fdt_node_property(node, "reg", &tmp); - if (len == 8) - consaddr += *(int *)tmp; - } - } - } - - cninit(); -{ - extern int (*controller_init)(struct wdc_channel *chp, u_int chan); - extern u_int32_t pciide_base_addr; - extern u_int32_t wdc_base_addr[]; - int *addr; - int chnum; - - /* Thecus defaults */ - controller_init = pciide_init; - pciide_base_addr = 0xe2000000; - - /* lookup the FDT, may have some CF there */ - chnum = 0; - wdc_base_addr[0] = 0; - wdc_base_addr[1] = 0; - node = fdt_find_node("/"); - for (node = fdt_child_node(node); node; node = fdt_next_node(node)) { - len = fdt_node_property(node, "device_type", &tmp); - if (len && (strcmp(tmp, "rb,cf") == 0) && (chnum < 2)) { - len = fdt_node_property(node, "reg", (char **)&addr); - if (len == 8) { - wdc_base_addr[chnum] = *addr; - chnum++; - } - } - } - if (chnum) - controller_init = wdc_obio_init; -} - -} - -int -main(void) -{ - extern char __bss_start[], _end[]; - extern int fdtaddrsave; - - bzero(__bss_start, _end - __bss_start); - - /* initialize FDT if the blob is available */ - if (fdtaddrsave) { - if (fdt_init((void *)fdtaddrsave) == 0) - fdtaddrsave = 0; /* no usable blob there */ - } - - /* relocate FDT */ - if (fdtaddrsave && fdtaddrsave < FDTADDRSTART) { - struct fdt_head *fh = (void *)fdtaddrsave; - - bcopy((void *)fdtaddrsave, (void *)FDTADDRSTART, fh->fh_size); - fdtaddrsave = FDTADDRSTART; - } - - boot(0); - return 0; -} - -void -_rtt(void) -{ - uint32_t v; - - *((volatile uint32_t *)(RPR)) = RPR_RSTE; - __asm volatile("eieio"); - *((volatile uint32_t *)(RCR)) = RCR_SWHR; - - printf("RESET FAILED\n"); - for (;;) - continue; - /* NOTREACHED */ -} diff --git a/sys/arch/socppc/stand/boot/ns16550.c b/sys/arch/socppc/stand/boot/ns16550.c deleted file mode 100644 index 5345cccb878..00000000000 --- a/sys/arch/socppc/stand/boot/ns16550.c +++ /dev/null @@ -1,136 +0,0 @@ -/* $OpenBSD: ns16550.c,v 1.2 2009/09/07 21:16:57 dms Exp $ */ -/* $NetBSD: ns16550.c,v 1.3 2005/12/24 20:07:03 perry Exp $ */ - -/* - * Copyright (c) 2002 Wasabi Systems, Inc. - * All rights reserved. - * - * Written by Jason R. Thorpe for Wasabi Systems, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the NetBSD Project by - * Wasabi Systems, Inc. - * 4. The name of Wasabi Systems, Inc. may not be used to endorse - * or promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -/* - * This file provides console I/O routines for boards that use - * 16550-compatible UARTs. - */ - -#include - -#include -#include - -#include "libsa.h" - -uint8_t *consaddr; -uint32_t consspeed; -uint32_t consfreq; - -#define INB(x) *((volatile uint8_t *) (consaddr + (x))) -#define OUTB(x, v) *((volatile uint8_t *) (consaddr + (x))) = (v) -#define ISSET(t,f) ((t) & (f)) - -static int -comspeed(int speed) -{ -#define divrnd(n, q) (((n)*2/(q)+1)/2) /* divide and round off */ - - int x, err; - - if (speed <= 0) - return (-1); - x = divrnd((consfreq / 16), speed); - if (x <= 0) - return (-1); - err = divrnd((((quad_t)consfreq) / 16) * 1000, speed * x) - 1000; - if (err < 0) - err = -err; - if (err > COM_TOLERANCE) - return (-1); - return (x); -#undef divrnd -} - -void -com_probe(struct consdev *cn) -{ - cn->cn_pri = CN_LOWPRI; - cn->cn_dev = makedev(12, 0); -} - -void -com_init(struct consdev *cn) -{ - int rate; - - OUTB(com_cfcr, LCR_DLAB); - rate = comspeed(CONSPEED); - OUTB(com_dlbl, rate); - OUTB(com_dlbh, rate >> 8); - OUTB(com_cfcr, LCR_8BITS); - OUTB(com_mcr, MCR_DTR | MCR_RTS); - OUTB(com_fifo, - FIFO_ENABLE | FIFO_RCV_RST | FIFO_XMT_RST | FIFO_TRIGGER_1); - OUTB(com_ier, 0); -} - -int -com_getc(dev_t dev) -{ - uint8_t stat; - - if (dev & 0x80) - return ISSET(stat = INB(com_lsr), LSR_RXRDY); - - while (!ISSET(stat = INB(com_lsr), LSR_RXRDY)) - /* spin */ ; - return (INB(com_data)); -} - -void -com_putc(dev_t dev, int c) -{ - uint8_t stat; - int timo; - - /* Wait for any pending transmission to finish. */ - timo = 50000; - while (!ISSET(stat = INB(com_lsr), LSR_TXRDY) && --timo) - /* spin */ ; - - OUTB(com_data, c); - - /* Wait for this transmission to complete. */ - timo = 1500000; - while (!ISSET(stat = INB(com_lsr), LSR_TXRDY) && --timo) - /* spin */ ; - - /* Clear any interrupts generated by this transmission. */ - (void) INB(com_iir); -} diff --git a/sys/arch/socppc/stand/boot/pciide.c b/sys/arch/socppc/stand/boot/pciide.c deleted file mode 100644 index 7b3ffb7dda6..00000000000 --- a/sys/arch/socppc/stand/boot/pciide.c +++ /dev/null @@ -1,103 +0,0 @@ -/* $OpenBSD: pciide.c,v 1.3 2009/09/07 21:16:57 dms Exp $ */ -/* $NetBSD: pciide.c,v 1.5 2005/12/11 12:17:06 christos Exp $ */ - -/*- - * Copyright (c) 2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include - -#include "libsa.h" -#include "wdvar.h" - -u_int8_t pciide_read_cmdreg(struct wdc_channel *, u_int8_t); -void pciide_write_cmdreg(struct wdc_channel *, u_int8_t, u_int8_t); -u_int8_t pciide_read_ctlreg(struct wdc_channel *, u_int8_t); -void pciide_write_ctlreg(struct wdc_channel *, u_int8_t, u_int8_t); - -u_int32_t pciide_base_addr = 0; - -int -pciide_init(struct wdc_channel *chp, u_int chan) -{ - u_int32_t cmdreg, ctlreg; - int i; - - /* - * two channels per chip, one drive per channel - */ - if (chan >= PCIIDE_NUM_CHANNELS || pciide_base_addr == 0) - return (ENXIO); - chp->ndrives = 1; - - DPRINTF(("[pciide] channel: %d\n", chan)); - - /* - * XXX map? - */ - cmdreg = pciide_base_addr + chan * 0x10; - ctlreg = pciide_base_addr+0x8 + chan * 0x10; - - /* set up cmd regsiters */ - chp->c_cmdbase = (u_int8_t *)cmdreg; - chp->c_data = (u_int16_t *)(cmdreg + wd_data); - for (i = 0; i < WDC_NPORTS; i++) - chp->c_cmdreg[i] = chp->c_cmdbase + i; - /* set up shadow registers */ - chp->c_cmdreg[wd_status] = chp->c_cmdreg[wd_command]; - chp->c_cmdreg[wd_features] = chp->c_cmdreg[wd_precomp]; - /* set up ctl registers */ - chp->c_ctlbase = (u_int8_t *)ctlreg; - - chp->read_cmdreg = pciide_read_cmdreg; - chp->write_cmdreg = pciide_write_cmdreg; - chp->read_ctlreg = pciide_read_ctlreg; - chp->write_ctlreg = pciide_write_ctlreg; - return (0); -} - -u_int8_t -pciide_read_cmdreg(struct wdc_channel *chp, u_int8_t reg) -{ - return *chp->c_cmdreg[reg]; -} - -void -pciide_write_cmdreg(struct wdc_channel *chp, u_int8_t reg, u_int8_t val) -{ - *chp->c_cmdreg[reg] = val; -} - -u_int8_t -pciide_read_ctlreg(struct wdc_channel *chp, u_int8_t reg) -{ - return chp->c_ctlbase[reg]; -} - -void -pciide_write_ctlreg(struct wdc_channel *chp, u_int8_t reg, u_int8_t val) -{ - chp->c_ctlbase[reg] = val; -} diff --git a/sys/arch/socppc/stand/boot/start.S b/sys/arch/socppc/stand/boot/start.S deleted file mode 100644 index 94b44424ae3..00000000000 --- a/sys/arch/socppc/stand/boot/start.S +++ /dev/null @@ -1,21 +0,0 @@ -#include - -#define STACKSIZE 8192 - - .globl _C_LABEL(fdtaddrsave) - .type _C_LABEL(fdtaddrsave),@object - .data -_C_LABEL(fdtaddrsave): .long 0 - -ENTRY(_start) - lis %r1, fdtaddrsave@ha - stw %r3, fdtaddrsave@l(%r1) - - lis %r1, stack@ha - addi %r1, %r1, stack@l - addi %r1, %r1, STACKSIZE - - b _C_LABEL(main) - - .data -.lcomm stack,STACKSIZE,8 diff --git a/sys/arch/socppc/stand/boot/time.c b/sys/arch/socppc/stand/boot/time.c deleted file mode 100644 index 18c702193cc..00000000000 --- a/sys/arch/socppc/stand/boot/time.c +++ /dev/null @@ -1,13 +0,0 @@ -/* $OpenBSD: time.c,v 1.3 2015/01/20 04:41:01 krw Exp $ */ -#include - -#include "libsa.h" - -time_t -getsecs(void) -{ - uint32_t count; - - __asm volatile ("mftb %0" : "=r" (count)); - return (count / 66666666); -} diff --git a/sys/arch/socppc/stand/boot/wd.c b/sys/arch/socppc/stand/boot/wd.c deleted file mode 100644 index 1a5369aafda..00000000000 --- a/sys/arch/socppc/stand/boot/wd.c +++ /dev/null @@ -1,311 +0,0 @@ -/* $OpenBSD: wd.c,v 1.10 2017/09/08 05:36:52 deraadt Exp $ */ -/* $NetBSD: wd.c,v 1.5 2005/12/11 12:17:06 christos Exp $ */ - -/*- - * Copyright (c) 2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Manuel Bouyer. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include -#include - -#include "libsa.h" -#include "wdvar.h" - -void wdprobe(void); -int wd_get_params(struct wd_softc *wd); -int wdgetdisklabel(struct wd_softc *wd); -void wdgetdefaultlabel(struct wd_softc *wd, struct disklabel *lp); - -struct wd_softc wd_devs[NUNITS]; -int wd_ndevs = -1; - -void -wdprobe(void) -{ - struct wd_softc *wd = wd_devs; - u_int chan, drive, unit = 0; - - for (chan = 0; chan < PCIIDE_NUM_CHANNELS; chan++) { - if (wdc_init(wd, chan) != 0) - continue; - for (drive = 0; drive < wd->sc_channel.ndrives; drive++) { - wd->sc_unit = unit; - wd->sc_drive = drive; - - if (wd_get_params(wd) != 0) - continue; - - DPRINTF(("wd%d: channel %d drive %d\n", - unit, chan, drive)); - unit++; - wd++; - } - } - - wd_ndevs = unit; -} - -/* - * Get drive parameters through 'device identify' command. - */ -int -wd_get_params(wd) - struct wd_softc *wd; -{ - int error; - unsigned char buf[DEV_BSIZE]; - - if ((error = wdc_exec_identify(wd, buf)) != 0) - return (error); - -#if BYTE_ORDER == BIG_ENDIAN - /* - * All the fields in the params structure are 16-bit integers - * except for the ID strings which are char strings. The - * 16-bit integers are currently in memory in little-endian, - * regardless of architecture. So, they need to be swapped on - * big-endian architectures before they are accessed through - * the ataparams structure. - * - * The swaps below avoid touching the char strings. - */ - swap16_multi((u_int16_t *)buf, 10); - swap16_multi((u_int16_t *)buf + 20, 3); - swap16_multi((u_int16_t *)buf + 47, DEV_BSIZE / 2 - 47); -#endif - - wd->sc_params = *(struct ataparams *)buf; - - /* 48-bit LBA addressing */ - if ((wd->sc_params.atap_cmd2_en & ATAPI_CMD2_48AD) != 0) { - DPRINTF(("Drive supports LBA48.\n")); -#if defined(_ENABLE_LBA48) - wd->sc_flags |= WDF_LBA48; -#endif - } - - /* Prior to ATA-4, LBA was optional. */ - if ((wd->sc_params.atap_capabilities1 & WDC_CAP_LBA) != 0) { - DPRINTF(("Drive supports LBA.\n")); - wd->sc_flags |= WDF_LBA; - } - - return (0); -} - -/* - * Initialize disk label to the default value. - */ -void -wdgetdefaultlabel(wd, lp) - struct wd_softc *wd; - struct disklabel *lp; -{ - memset(lp, 0, sizeof(struct disklabel)); - - lp->d_secsize = DEV_BSIZE; - lp->d_ntracks = wd->sc_params.atap_heads; - lp->d_nsectors = wd->sc_params.atap_sectors; - lp->d_ncylinders = wd->sc_params.atap_cylinders; - lp->d_secpercyl = lp->d_ntracks * lp->d_nsectors; - - if (strcmp(wd->sc_params.atap_model, "ST506") == 0) - lp->d_type = DTYPE_ST506; - else - lp->d_type = DTYPE_ESDI; - - strncpy(lp->d_typename, wd->sc_params.atap_model, 16); - strncpy(lp->d_packname, "fictitious", 16); - if (wd->sc_capacity > UINT32_MAX) - DL_SETDSIZE(lp, UINT32_MAX); - else - DL_SETDSIZE(lp, wd->sc_capacity); - lp->d_flags = 0; - - DL_SETPOFFSET(&lp->d_partitions[RAW_PART], 0); - DL_SETPSIZE(&lp->d_partitions[RAW_PART], DL_GETDSIZE(lp)); - lp->d_partitions[RAW_PART].p_fstype = FS_UNUSED; - lp->d_npartitions = MAXPARTITIONS; - - lp->d_magic = DISKMAGIC; - lp->d_magic2 = DISKMAGIC; - lp->d_checksum = dkcksum(lp); -} - -/* - * Read disk label from the device. - */ -int -wdgetdisklabel(wd) - struct wd_softc *wd; -{ - char *msg; - int sector; - size_t rsize; - struct disklabel *lp; - unsigned char buf[DEV_BSIZE]; - u_int16_t sig; - - wdgetdefaultlabel(wd, &wd->sc_label); - - /* - * Find OpenBSD Partition in DOS partition table. - */ - sector = 0; - if (wdstrategy(wd, F_READ, DOSBBSECTOR, DEV_BSIZE, buf, &rsize)) - return EOFFSET; - - sig = letoh16(*(u_int16_t *)&buf[DOSMBR_SIGNATURE_OFF]); - if (sig == DOSMBR_SIGNATURE) { - int i; - struct dos_partition *dp = (struct dos_partition *)buf; - - /* - * Lookup OpenBSD slice. If there is none, go ahead - * and try to read the disklabel off sector #0. - */ - - memcpy(dp, &buf[DOSPARTOFF], NDOSPART * sizeof(*dp)); - for (i = 0; i < NDOSPART; i++) { - if (dp[i].dp_typ == DOSPTYP_OPENBSD) { - sector = letoh32(dp[i].dp_start); - break; - } - } - } - - if (wdstrategy(wd, F_READ, sector + DOS_LABELSECTOR, DEV_BSIZE, - buf, &rsize)) - return EOFFSET; - - if ((msg = getdisklabel(buf + LABELOFFSET, &wd->sc_label))) - printf("wd%d: getdisklabel: %s\n", wd->sc_unit, msg); - - lp = &wd->sc_label; - - /* check partition */ - if ((wd->sc_part >= lp->d_npartitions) || - (lp->d_partitions[wd->sc_part].p_fstype == FS_UNUSED)) { - DPRINTF(("illegal partition\n")); - return (EPART); - } - - DPRINTF(("label info: d_secsize %d, d_nsectors %d, d_ncylinders %d," - "d_ntracks %d, d_secpercyl %d\n", - wd->sc_label.d_secsize, - wd->sc_label.d_nsectors, - wd->sc_label.d_ncylinders, - wd->sc_label.d_ntracks, - wd->sc_label.d_secpercyl)); - - return (0); -} - -/* - * Open device (read drive parameters and disklabel) - */ -int -wdopen(struct open_file *f, ...) -{ - int error; - va_list ap; - u_int unit, part, drive; - struct wd_softc *wd; - - va_start(ap, f); - unit = va_arg(ap, u_int); - part = va_arg(ap, u_int); - va_end(ap); - - DPRINTF(("wdopen: wd%d%c\n", unit, 'a' + part)); - - if (unit < 0 || unit >= NUNITS) - return (ENXIO); - - if (wd_ndevs == -1) - wdprobe(); - - if (unit >= wd_ndevs) - return (ENXIO); - - wd = &wd_devs[unit]; - wd->sc_part = part; - - if ((error = wdgetdisklabel(wd)) != 0) - return (error); - - f->f_devdata = wd; - return (0); -} - -/* - * Close device. - */ -int -wdclose(struct open_file *f) -{ - return 0; -} - -/* - * Read some data. - */ -int -wdstrategy(f, rw, dblk, size, buf, rsize) - void *f; - int rw; - daddr32_t dblk; - size_t size; - void *buf; - size_t *rsize; -{ - int i, nsect; - daddr32_t blkno; - struct wd_softc *wd = f; - - if (size == 0) - return (0); - - if (rw != F_READ) - return EOPNOTSUPP; - - nsect = howmany(size, wd->sc_label.d_secsize); - blkno = dblk + wd->sc_label.d_partitions[wd->sc_part].p_offset; - - for (i = 0; i < nsect; i++, blkno++) { - int error; - - if ((error = wdc_exec_read(wd, WDCC_READ, blkno, buf)) != 0) - return (error); - - buf += wd->sc_label.d_secsize; - } - - *rsize = size; - return (0); -} diff --git a/sys/arch/socppc/stand/boot/wdc.c b/sys/arch/socppc/stand/boot/wdc.c deleted file mode 100644 index e584d55ce84..00000000000 --- a/sys/arch/socppc/stand/boot/wdc.c +++ /dev/null @@ -1,379 +0,0 @@ -/* $OpenBSD: wdc.c,v 1.5 2013/03/24 18:43:47 deraadt Exp $ */ -/* $NetBSD: wdc.c,v 1.7 2005/12/11 12:17:06 christos Exp $ */ - -/*- - * Copyright (c) 2003 The NetBSD Foundation, Inc. - * All rights reserved. - * - * This code is derived from software contributed to The NetBSD Foundation - * by Manuel Bouyer. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS - * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#include - -#include "libsa.h" -#include "wdvar.h" - -#define WDCDELAY 100 -#define WDCNDELAY_RST 31000 * 10 - -static int wdcprobe(struct wdc_channel *chp); -static int wdc_wait_for_ready(struct wdc_channel *chp); -static int wdc_read_block(struct wd_softc *sc, struct wdc_command *wd_c); -static int __wdcwait_reset(struct wdc_channel *chp, int drv_mask); - -int (*controller_init)(struct wdc_channel *, u_int) = 0; - -/* - * Reset the controller. - */ -static int -__wdcwait_reset(chp, drv_mask) - struct wdc_channel *chp; - int drv_mask; -{ - int timeout; - u_int8_t st0, st1; - - /* wait for BSY to deassert */ - for (timeout = 0; timeout < WDCNDELAY_RST; timeout++) { - WDC_WRITE_REG(chp, wd_sdh, WDSD_IBM); /* master */ - delay(10); - st0 = WDC_READ_REG(chp, wd_status); - WDC_WRITE_REG(chp, wd_sdh, WDSD_IBM | 0x10); /* slave */ - delay(10); - st1 = WDC_READ_REG(chp, wd_status); - - if ((drv_mask & 0x01) == 0) { - /* no master */ - if ((drv_mask & 0x02) != 0 && (st1 & WDCS_BSY) == 0) { - /* No master, slave is ready, it's done */ - goto end; - } - } else if ((drv_mask & 0x02) == 0) { - /* no slave */ - if ((drv_mask & 0x01) != 0 && (st0 & WDCS_BSY) == 0) { - /* No slave, master is ready, it's done */ - goto end; - } - } else { - /* Wait for both master and slave to be ready */ - if ((st0 & WDCS_BSY) == 0 && (st1 & WDCS_BSY) == 0) { - goto end; - } - } - - delay(WDCDELAY); - } - - /* Reset timed out. Maybe it's because drv_mask was not right */ - if (st0 & WDCS_BSY) - drv_mask &= ~0x01; - if (st1 & WDCS_BSY) - drv_mask &= ~0x02; - -end: - return (drv_mask); -} - -/* Test to see controller with at last one attached drive is there. - * Returns a bit for each possible drive found (0x01 for drive 0, - * 0x02 for drive 1). - * Logic: - * - If a status register is at 0xff, assume there is no drive here - * (ISA has pull-up resistors). Similarly if the status register has - * the value we last wrote to the bus (for IDE interfaces without pullups). - * If no drive at all -> return. - * - reset the controller, wait for it to complete (may take up to 31s !). - * If timeout -> return. - */ -static int -wdcprobe(chp) - struct wdc_channel *chp; -{ - u_int8_t st0, st1, sc, sn, cl, ch; - u_int8_t ret_value = 0x03; - u_int8_t drive; - int found; - - /* - * Sanity check to see if the wdc channel responds at all. - */ - WDC_WRITE_REG(chp, wd_sdh, WDSD_IBM); - delay(10); - st0 = WDC_READ_REG(chp, wd_status); - WDC_WRITE_REG(chp, wd_sdh, WDSD_IBM | 0x10); - delay(10); - st1 = WDC_READ_REG(chp, wd_status); - - if (st0 == 0xff || st0 == WDSD_IBM) - ret_value &= ~0x01; - if (st1 == 0xff || st1 == (WDSD_IBM | 0x10)) - ret_value &= ~0x02; - if (ret_value == 0) - return (ENXIO); - - /* assert SRST, wait for reset to complete */ - WDC_WRITE_REG(chp, wd_sdh, WDSD_IBM); - delay(10); - WDC_WRITE_CTLREG(chp, wd_aux_ctlr, WDCTL_RST | WDCTL_IDS); - delay(1000); - WDC_WRITE_CTLREG(chp, wd_aux_ctlr, WDCTL_IDS); - delay(1000); - (void) WDC_READ_REG(chp, wd_error); - WDC_WRITE_CTLREG(chp, wd_aux_ctlr, WDCTL_4BIT); - delay(10); - - ret_value = __wdcwait_reset(chp, ret_value); - - /* if reset failed, there's nothing here */ - if (ret_value == 0) - return (ENXIO); - - /* - * Test presence of drives. First test register signatures looking for - * ATAPI devices. If it's not an ATAPI and reset said there may be - * something here assume it's ATA or OLD. Ghost will be killed later in - * attach routine. - */ - found = 0; - for (drive = 0; drive < 2; drive++) { - if ((ret_value & (0x01 << drive)) == 0) - continue; - return (0); - } - return (ENXIO); -} - -/* - * Initialize the device. - */ -int -wdc_init(sc, unit) - struct wd_softc *sc; - u_int unit; -{ - if (!controller_init) - return (ENXIO); - if ((*controller_init)(&sc->sc_channel, unit) != 0) - return (ENXIO); - if (wdcprobe(&sc->sc_channel) != 0) - return (ENXIO); - return (0); -} - -/* - * Wait until the device is ready. - */ -int -wdc_wait_for_ready(chp) - struct wdc_channel *chp; -{ - u_int timeout; - for (timeout = WDC_TIMEOUT; timeout > 0; --timeout) { - if ((WDC_READ_REG(chp, wd_status) & (WDCS_BSY | WDCS_DRDY)) - == WDCS_DRDY) - return (0); - } - return (ENXIO); -} - -/* - * Read one block off the device. - */ -int -wdc_read_block(sc, wd_c) - struct wd_softc *sc; - struct wdc_command *wd_c; -{ - int i; - struct wdc_channel *chp = &sc->sc_channel; - u_int16_t *ptr = (u_int16_t*)wd_c->data; - - if (ptr == NULL) - return (0); - - for (i = wd_c->bcount; i > 0; i -= sizeof(u_int16_t)) - *ptr++ = WDC_READ_DATA(chp); - - return (0); -} - -/* - * Send a command to the device (CHS and LBA addressing). - */ -int -wdccommand(wd, wd_c) - struct wd_softc *wd; - struct wdc_command *wd_c; -{ - u_int8_t err; - struct wdc_channel *chp = &wd->sc_channel; - -#if 0 - DPRINTF(("wdccommand(%d, %d, %d, %d, %d, %d, %d)\n", - wd_c->drive, wd_c->r_command, wd_c->r_cyl, - wd_c->r_head, wd_c->r_sector, wd_c->bcount, - wd_c->r_precomp)); -#endif - - WDC_WRITE_REG(chp, wd_precomp, wd_c->r_precomp); - WDC_WRITE_REG(chp, wd_seccnt, wd_c->r_count); - WDC_WRITE_REG(chp, wd_sector, wd_c->r_sector); - WDC_WRITE_REG(chp, wd_cyl_lo, wd_c->r_cyl); - WDC_WRITE_REG(chp, wd_cyl_hi, wd_c->r_cyl >> 8); - WDC_WRITE_REG(chp, wd_sdh, - WDSD_IBM | (wd_c->drive << 4) | wd_c->r_head); - WDC_WRITE_REG(chp, wd_command, wd_c->r_command); - - if (wdc_wait_for_ready(chp) != 0) - return (ENXIO); - - if (WDC_READ_REG(chp, wd_status) & WDCS_ERR) { - DPRINTF(("wd%d: error %x\n", wd->sc_unit, - WDC_READ_REG(chp, wd_error))); - return (ENXIO); - } - - return (0); -} - -/* - * Send a command to the device (LBA48 addressing). - */ -int -wdccommandext(wd, wd_c) - struct wd_softc *wd; - struct wdc_command *wd_c; -{ - u_int8_t err; - struct wdc_channel *chp = &wd->sc_channel; - - /* Select drive, head, and addressing mode. */ - WDC_WRITE_REG(chp, wd_sdh, (wd_c->drive << 4) | WDSD_LBA); - - /* previous */ - WDC_WRITE_REG(chp, wd_features, 0); - WDC_WRITE_REG(chp, wd_seccnt, wd_c->r_count >> 8); - WDC_WRITE_REG(chp, wd_lba_hi, wd_c->r_blkno >> 40); - WDC_WRITE_REG(chp, wd_lba_mi, wd_c->r_blkno >> 32); - WDC_WRITE_REG(chp, wd_lba_lo, wd_c->r_blkno >> 24); - - /* current */ - WDC_WRITE_REG(chp, wd_features, 0); - WDC_WRITE_REG(chp, wd_seccnt, wd_c->r_count); - WDC_WRITE_REG(chp, wd_lba_hi, wd_c->r_blkno >> 16); - WDC_WRITE_REG(chp, wd_lba_mi, wd_c->r_blkno >> 8); - WDC_WRITE_REG(chp, wd_lba_lo, wd_c->r_blkno); - - /* Send command. */ - WDC_WRITE_REG(chp, wd_command, wd_c->r_command); - - if (wdc_wait_for_ready(chp) != 0) - return (ENXIO); - - if (WDC_READ_REG(chp, wd_status) & WDCS_ERR) { - DPRINTF(("wd%d: error %x\n", wd->sc_unit, - WDC_READ_REG(chp, wd_error))); - return (ENXIO); - } - - return (0); -} - -/* - * Issue 'device identify' command. - */ -int -wdc_exec_identify(wd, data) - struct wd_softc *wd; - void *data; -{ - int error; - struct wdc_command wd_c; - - memset(&wd_c, 0, sizeof(wd_c)); - - wd_c.drive = wd->sc_drive; - wd_c.r_command = WDCC_IDENTIFY; - wd_c.bcount = DEV_BSIZE; - wd_c.data = data; - - if ((error = wdccommand(wd, &wd_c)) != 0) - return (error); - - return wdc_read_block(wd, &wd_c); -} - -/* - * Issue 'read' command. - */ -int -wdc_exec_read(wd, cmd, blkno, data) - struct wd_softc *wd; - u_int8_t cmd; - daddr32_t blkno; - void *data; -{ - int error; - struct wdc_command wd_c; - - memset(&wd_c, 0, sizeof(wd_c)); - - if (wd->sc_flags & WDF_LBA48) { - /* LBA48 */ - wd_c.r_blkno = blkno; - } else if (wd->sc_flags & WDF_LBA) { - /* LBA */ - wd_c.r_sector = (blkno >> 0) & 0xff; - wd_c.r_cyl = (blkno >> 8) & 0xffff; - wd_c.r_head = (blkno >> 24) & 0x0f; - wd_c.r_head |= WDSD_LBA; - } else { - /* LHS */ - wd_c.r_sector = blkno % wd->sc_label.d_nsectors; - wd_c.r_sector++; /* Sectors begin with 1, not 0. */ - blkno /= wd->sc_label.d_nsectors; - wd_c.r_head = blkno % wd->sc_label.d_ntracks; - blkno /= wd->sc_label.d_ntracks; - wd_c.r_cyl = blkno; - wd_c.r_head |= WDSD_CHS; - } - - wd_c.data = data; - wd_c.r_count = 1; - wd_c.drive = wd->sc_drive; - wd_c.r_command = cmd; - wd_c.bcount = wd->sc_label.d_secsize; - - if (wd->sc_flags & WDF_LBA48) - error = wdccommandext(wd, &wd_c); - else - error = wdccommand(wd, &wd_c); - - if (error != 0) - return (error); - - return wdc_read_block(wd, &wd_c); -} diff --git a/sys/arch/socppc/stand/boot/wdc_obio.c b/sys/arch/socppc/stand/boot/wdc_obio.c deleted file mode 100644 index 480e83731ab..00000000000 --- a/sys/arch/socppc/stand/boot/wdc_obio.c +++ /dev/null @@ -1,99 +0,0 @@ -/* $OpenBSD: wdc_obio.c,v 1.1 2009/09/07 21:16:57 dms Exp $ */ - -/* - * Copyright (c) 2009 Dariusz Swiderski - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include - -#include "libsa.h" -#include "wdvar.h" - -#define WDC_OBIO_REG_OFFSET (8 << 17) -#define WDC_OBIO_AUXREG_OFFSET (6 << 16) - -u_int8_t wdc_read_cmdreg(struct wdc_channel *, u_int8_t); -void wdc_write_cmdreg(struct wdc_channel *, u_int8_t, u_int8_t); -u_int8_t wdc_read_ctlreg(struct wdc_channel *, u_int8_t); -void wdc_write_ctlreg(struct wdc_channel *, u_int8_t, u_int8_t); - -u_int32_t wdc_base_addr[2]; - -int -wdc_obio_init(struct wdc_channel *chp, u_int chan) -{ - u_int32_t cmdreg, ctlreg; - int i; - - /* - * two channels per chip, one drive per channel - */ - if (chan >= 2 || !wdc_base_addr[chan]) - return (ENXIO); - chp->ndrives = 1; - - cmdreg = wdc_base_addr[chan] + WDC_OBIO_REG_OFFSET; - ctlreg = wdc_base_addr[chan] + WDC_OBIO_AUXREG_OFFSET; - - /* set up cmd regsiters */ - chp->c_cmdbase = (u_int8_t *)cmdreg; - chp->c_data = (u_int16_t *)(cmdreg + wd_data); - for (i = 0; i < WDC_NPORTS; i++) - chp->c_cmdreg[i] = chp->c_cmdbase + (i<<16); - /* set up shadow registers */ - chp->c_cmdreg[wd_status] = chp->c_cmdreg[wd_command]; - chp->c_cmdreg[wd_features] = chp->c_cmdreg[wd_precomp]; - /* set up ctl registers */ - chp->c_ctlbase = (u_int8_t *)ctlreg; - - chp->read_cmdreg = wdc_read_cmdreg; - chp->write_cmdreg = wdc_write_cmdreg; - chp->read_ctlreg = wdc_read_ctlreg; - chp->write_ctlreg = wdc_write_ctlreg; - - return (0); -} - -u_int8_t -wdc_read_cmdreg(struct wdc_channel *chp, u_int8_t reg) -{ - u_int8_t val; - val = *chp->c_cmdreg[reg]; - if (val == 0xf9 && reg == wd_status) - val = 0x7f; - return val; -} - -void -wdc_write_cmdreg(struct wdc_channel *chp, u_int8_t reg, u_int8_t val) -{ - *chp->c_cmdreg[reg] = val; -} - -u_int8_t -wdc_read_ctlreg(struct wdc_channel *chp, u_int8_t reg) -{ - u_int8_t val; - val = chp->c_ctlbase[reg]; - if (val == 0xf9 && reg == wd_aux_altsts) - val = 0x7f; - return val; -} - -void -wdc_write_ctlreg(struct wdc_channel *chp, u_int8_t reg, u_int8_t val) -{ - chp->c_ctlbase[reg] = val; -} diff --git a/sys/arch/socppc/stand/boot/wdvar.h b/sys/arch/socppc/stand/boot/wdvar.h deleted file mode 100644 index aa7b997df71..00000000000 --- a/sys/arch/socppc/stand/boot/wdvar.h +++ /dev/null @@ -1,138 +0,0 @@ -/* $OpenBSD: wdvar.h,v 1.3 2011/03/13 00:13:53 deraadt Exp $ */ -/* $NetBSD: wdvar.h,v 1.6 2005/12/11 12:17:06 christos Exp $ */ - -/*- - * Copyright (c) 2003 The NetBSD Foundation, Inc. - * Copyright (c) 2001 Dynarc AB, Sweden. All rights reserved. - * - * This code is derived from software written by Anders Magnusson, - * ragge@ludd.luth.se - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef _STAND_WDVAR_H -#define _STAND_WDVAR_H - -#include - -#include -#include -#include - -/* - * WD1003 / ATA Disk Controller register definitions. - */ - -/* offsets of registers in the 'regular' register region */ -#define wd_data 0 /* data register (R/W - 16 bits) */ -#define wd_error 1 /* error register (R) */ -#define wd_precomp 1 /* write precompensation (W) */ -#define wd_seccnt 2 /* sector count (R/W) */ -#define wd_ireason 2 /* interrupt reason (R/W) (for atapi) */ -#define wd_sector 3 /* first sector number (R/W) */ -#define wd_cyl_lo 4 /* cylinder address, low byte (R/W) */ -#define wd_cyl_hi 5 /* cylinder address, high byte (R/W) */ -#define wd_sdh 6 /* sector size/drive/head (R/W) */ -#define wd_command 7 /* command register (W) */ -#define wd_lba_lo 3 /* lba address, low byte (RW) */ -#define wd_lba_mi 4 /* lba address, middle byte (RW) */ -#define wd_lba_hi 5 /* lba address, high byte (RW) */ - -/* "shadow" registers; these may or may not overlap regular registers */ -#define wd_status 8 /* immediate status (R) */ -#define wd_features 9 /* features (W) */ - -/* offsets of registers in the auxiliary register region */ -#define wd_aux_altsts 0 /* alternate fixed disk status (R) */ -#define wd_aux_ctlr 0 /* fixed disk controller control (W) */ -#define WDCTL_4BIT 0x08 /* use four head bits (wd1003) */ -#define WDCTL_RST 0x04 /* reset the controller */ -#define WDCTL_IDS 0x02 /* disable controller interrupts */ - -#define WDC_TIMEOUT 2000000 -#define PCIIDE_CHANNEL_NDEV 2 -#define NUNITS (PCIIDE_CHANNEL_NDEV * PCIIDE_NUM_CHANNELS) -#define WDC_NPORTS 8 /* XXX */ -#define WDC_NSHADOWREG 2 /* XXX */ - -struct wdc_channel { - volatile u_int8_t *c_cmdbase; - volatile u_int8_t *c_ctlbase; - volatile u_int8_t *c_cmdreg[WDC_NPORTS + WDC_NSHADOWREG]; - volatile u_int16_t *c_data; - - u_int8_t ndrives; - - u_int8_t (*read_cmdreg)(struct wdc_channel *chp, u_int8_t reg); - void (*write_cmdreg)(struct wdc_channel *chp, u_int8_t reg, u_int8_t val); - u_int8_t (*read_ctlreg)(struct wdc_channel *chp, u_int8_t reg); - void (*write_ctlreg)(struct wdc_channel *chp, u_int8_t reg, u_int8_t val); -}; - -#define WDC_READ_REG(chp, reg) (chp)->read_cmdreg(chp, reg) -#define WDC_WRITE_REG(chp, reg, val) (chp)->write_cmdreg(chp, reg, val) -#define WDC_READ_CTLREG(chp, reg) (chp)->read_ctlreg(chp, reg) -#define WDC_WRITE_CTLREG(chp, reg, val) (chp)->write_ctlreg(chp, reg, val) -#define WDC_READ_DATA(chp) *(chp)->c_data - -struct wd_softc { -#define WDF_LBA 0x0001 -#define WDF_LBA48 0x0002 - u_int16_t sc_flags; - - u_int sc_part; - u_int sc_unit; - - u_int64_t sc_capacity; - - struct ataparams sc_params; - struct disklabel sc_label; - struct wdc_channel sc_channel; - u_int sc_drive; -}; - -struct wdc_command { - u_int8_t drive; /* drive id */ - - u_int8_t r_command; /* Parameters to upload to registers */ - u_int8_t r_head; - u_int16_t r_cyl; - u_int8_t r_sector; - u_int8_t r_count; - u_int8_t r_precomp; - - u_int16_t bcount; - void *data; - - u_int64_t r_blkno; -}; - -int wdc_init (struct wd_softc*, u_int); -int wdccommand (struct wd_softc*, struct wdc_command*); -int wdccommandext (struct wd_softc*, struct wdc_command*); -int wdc_exec_read (struct wd_softc*, u_int8_t, daddr32_t, void*); -int wdc_exec_identify (struct wd_softc*, void*); - - -#endif /* _STAND_WDVAR_H */ diff --git a/sys/arch/socppc/stand/mbr/Makefile b/sys/arch/socppc/stand/mbr/Makefile deleted file mode 100644 index 07bc52c4b7c..00000000000 --- a/sys/arch/socppc/stand/mbr/Makefile +++ /dev/null @@ -1,31 +0,0 @@ -# $OpenBSD: Makefile,v 1.4 2016/07/30 03:25:49 guenther Exp $ - -.include - -NOMAN= -#MAN= mbr.8 - -.if ${MACHINE} == "socppc" -PROG= mbr -SRCS= mbr.S -AFLAGS+=-I${.OBJDIR} -I${.CURDIR}/../../.. #-Wa,a -LDFLAGS+=-N -e start -Ttext 0 -nopie -znorelro -OBJCOPY?=objcopy - -INSTALL_STRIP= -S= ${.CURDIR}/../../../.. - -${PROG}: $(OBJS) $(DPADD) - $(LD) $(LDFLAGS) -o $(PROG) $(OBJS) $(LDADD) - @size $(PROG) - @if [ -x ${.OBJDIR}/${PROG} ]; then \ - ${OBJCOPY} -O binary ${PROG} ${.OBJDIR}/.tmp;\ - mv -f ${.OBJDIR}/.tmp ${.OBJDIR}/${PROG}; \ - ls -l ${.OBJDIR}/${PROG}; \ - fi - -.else -NOPROG= -.endif - -.include diff --git a/sys/arch/socppc/stand/mbr/mbr.S b/sys/arch/socppc/stand/mbr/mbr.S deleted file mode 100644 index b71472d8840..00000000000 --- a/sys/arch/socppc/stand/mbr/mbr.S +++ /dev/null @@ -1,34 +0,0 @@ -#include - -ENTRY(start) - nop - -/* space for mbr_dsn */ - . = _C_LABEL(start) + 0x1b4 - .long 0 - -/* mbr_bootsel_magic */ - . = _C_LABEL(start) + 0x1b8 - .word 0 - -/* - * MBR partition table - */ - . = _C_LABEL(start) + 0x1be -_pbr_part0: - .byte 0x80, 0, 0, 0, 0x27, 0, 0, 0 - .byte 0x3f, 0, 0, 0, 0, 0x02, 0, 0 -_pbr_part1: - .byte 0, 0, 0, 0, 0, 0, 0, 0 - .byte 0, 0, 0, 0, 0, 0, 0, 0 -_pbr_part2: - .byte 0, 0, 0, 0, 0, 0, 0, 0 - .byte 0, 0, 0, 0, 0, 0, 0, 0 -_pbr_part3: - .byte 0, 0, 0, 0, 0, 0, 0, 0 - .byte 0, 0, 0, 0, 0, 0, 0, 0 - - . = _C_LABEL(start) + 0x1fe -magic: - .word 0x55aa -mbr_end: diff --git a/sys/arch/socppc/stand/mkboot/Makefile b/sys/arch/socppc/stand/mkboot/Makefile deleted file mode 100644 index 9fc8ddefe30..00000000000 --- a/sys/arch/socppc/stand/mkboot/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -# $OpenBSD: Makefile,v 1.4 2012/09/02 17:22:53 pascal Exp $ - -.include "${.CURDIR}/../Makefile.inc" - -MAN= mkboot.8 - -.if ${MACHINE} == "socppc" -PROG= mkboot -DPADD= ${LIBZ} -LDADD= -lz -.else -NOPROG= -.endif - -.include diff --git a/sys/arch/socppc/stand/mkboot/mkboot.8 b/sys/arch/socppc/stand/mkboot/mkboot.8 deleted file mode 100644 index 08dd6664950..00000000000 --- a/sys/arch/socppc/stand/mkboot/mkboot.8 +++ /dev/null @@ -1,46 +0,0 @@ -.\" $OpenBSD: mkboot.8,v 1.3 2009/01/31 21:10:09 grange Exp $ -.\" -.\" Copyright (c) 2008 Mark Kettenis -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.Dd $Mdocdate: January 31 2009 $ -.Dt MKBOOT 8 socppc -.Os -.Sh NAME -.Nm mkboot -.Nd create U-Boot files -.Sh SYNOPSIS -.Nm mkboot -.Op Fl e Ar entry -.Op Fl l Ar loadaddr -.Ar infile outfile -.Sh DESCRIPTION -The -.Nm -utility creates images suitable for loading using the U-Boot bootloader. -.Pp -The options are as follows: -.Bl -tag -width Ds -.It Fl e Ar entry -Sets the entry point to -.Ar entry . -.It Fl l Ar loadaddr -Sets the load address to -.Ar loadaddr . -.El -.Sh HISTORY -A -.Nm -utility first appeared in -.Ox 4.4 . diff --git a/sys/arch/socppc/stand/mkboot/mkboot.c b/sys/arch/socppc/stand/mkboot/mkboot.c deleted file mode 100644 index 55bf01935c4..00000000000 --- a/sys/arch/socppc/stand/mkboot/mkboot.c +++ /dev/null @@ -1,145 +0,0 @@ -/* $OpenBSD: mkboot.c,v 1.2 2009/01/31 21:10:09 grange Exp $ */ - -/* - * Copyright (c) 2008 Mark Kettenis - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define IH_OS_OPENBSD 1 /* OpenBSD */ - -#define IH_CPU_PPC 7 /* PowerPC */ - -#define IH_TYPE_STANDALONE 1 /* Standalone */ - -#define IH_COMP_NONE 0 /* No compression */ - -#define IH_MAGIC 0x27051956 /* Image Magic Number */ -#define IH_NMLEN 32 /* Image Name Length */ - -struct image_header { - uint32_t ih_magic; - uint32_t ih_hcrc; - uint32_t ih_time; - uint32_t ih_size; - uint32_t ih_load; - uint32_t ih_ep; - uint32_t ih_dcrc; - uint8_t ih_os; - uint8_t ih_arch; - uint8_t ih_type; - uint8_t ih_comp; - uint8_t ih_name[IH_NMLEN]; -}; - -extern char *__progname; - -void usage(void); - -int -main(int argc, char *argv[]) -{ - struct image_header ih; - const char *iname, *oname; - int ifd, ofd; - u_long crc; - ssize_t nbytes; - char buf[BUFSIZ]; - int c, ep, load; - - ep = load = 0; - while ((c = getopt(argc, argv, "e:l:")) != -1) { - switch (c) { - case 'e': - sscanf(optarg, "0x%x", &ep); - break; - case 'l': - sscanf(optarg, "0x%x", &load); - break; - default: - usage(); - } - } - if (argc - optind != 2) - usage(); - - iname = argv[optind++]; - oname = argv[optind++]; - - /* Initialize U-Boot header. */ - bzero(&ih, sizeof ih); - ih.ih_magic = IH_MAGIC; - ih.ih_time = time(NULL); - ih.ih_load = load; - ih.ih_ep = ep; - ih.ih_os = IH_OS_OPENBSD; - ih.ih_arch = IH_CPU_PPC; - ih.ih_type = IH_TYPE_STANDALONE; - ih.ih_comp = IH_COMP_NONE; - strlcpy(ih.ih_name, "boot", sizeof ih.ih_name); - - ifd = open(iname, O_RDONLY); - if (ifd < 0) - err(1, "%s", iname); - - ofd = open(oname, O_RDWR | O_TRUNC | O_CREAT, 0644); - if (ofd < 0) - err(1, "%s", oname); - - /* Write initial header. */ - if (write(ofd, &ih, sizeof ih) != sizeof ih) - err(1, "%s", oname); - - /* Copy data, calculating the data CRC as we go. */ - crc = crc32(0L, Z_NULL, 0); - while ((nbytes = read(ifd, buf, sizeof buf)) != 0) { - if (nbytes == -1) - err(1, "%s", iname); - if (write(ofd, buf, nbytes) != nbytes) - err(1, "%s", oname); - crc = crc32(crc, buf, nbytes); - ih.ih_size += nbytes; - } - ih.ih_dcrc = htonl(crc); - - /* Calculate header CRC. */ - crc = crc32(0, (void *)&ih, sizeof ih); - ih.ih_hcrc = htonl(crc); - - /* Write finalized header. */ - if (lseek(ofd, 0, SEEK_SET) != 0) - err(1, "%s", oname); - if (write(ofd, &ih, sizeof ih) != sizeof ih) - err(1, "%s", oname); - - return(0); -} - -void -usage(void) -{ - (void)fprintf(stderr, - "usage: %s [-e entry] [-l loadaddr] infile outfile\n", __progname); - exit(1); -} diff --git a/sys/kern/Makefile b/sys/kern/Makefile index 6255212a96b..d6aacd8a443 100644 --- a/sys/kern/Makefile +++ b/sys/kern/Makefile @@ -1,10 +1,10 @@ -# $OpenBSD: Makefile,v 1.48 2017/01/25 03:18:06 deraadt Exp $ +# $OpenBSD: Makefile,v 1.49 2019/05/11 07:18:16 deraadt Exp $ # Makefile for kernel tags files, init_sysent, etc. ARCH= alpha amd64 armv7 arm64 \ hppa i386 landisk loongson \ - luna88k macppc octeon sgi socppc \ + luna88k macppc octeon sgi \ sparc64 all: diff --git a/usr.bin/mandoc/arch.c b/usr.bin/mandoc/arch.c index 18970285ef3..68a20bb51c7 100644 --- a/usr.bin/mandoc/arch.c +++ b/usr.bin/mandoc/arch.c @@ -1,4 +1,4 @@ -/* $OpenBSD: arch.c,v 1.10 2019/03/04 13:01:52 schwarze Exp $ */ +/* $OpenBSD: arch.c,v 1.11 2019/05/11 07:18:17 deraadt Exp $ */ /* * Copyright (c) 2017, 2019 Ingo Schwarze * @@ -24,7 +24,7 @@ arch_valid(const char *arch, enum mandoc_os os) const char *openbsd_arch[] = { "alpha", "amd64", "arm64", "armv7", "hppa", "i386", "landisk", "loongson", "luna88k", "macppc", "mips64", - "octeon", "sgi", "socppc", "sparc64", NULL + "octeon", "sgi", "sparc64", NULL }; const char *netbsd_arch[] = { "acorn26", "acorn32", "algor", "alpha", "amiga", diff --git a/usr.sbin/hotplugd/Makefile b/usr.sbin/hotplugd/Makefile index b042c3cce49..b5660434546 100644 --- a/usr.sbin/hotplugd/Makefile +++ b/usr.sbin/hotplugd/Makefile @@ -1,11 +1,11 @@ -# $OpenBSD: Makefile,v 1.20 2017/01/23 03:12:25 jsg Exp $ +# $OpenBSD: Makefile,v 1.21 2019/05/11 07:18:17 deraadt Exp $ .if ${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \ ${MACHINE} == "arm64" || ${MACHINE} == "armv7" || \ ${MACHINE} == "hppa" || ${MACHINE} == "i386" || \ ${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \ ${MACHINE} == "macppc" || ${MACHINE} == "sgi" || \ - ${MACHINE} == "socppc" || ${MACHINE} == "sparc64" + ${MACHINE} == "sparc64" PROG= hotplugd SRCS= hotplugd.c diff --git a/usr.sbin/pcidump/Makefile b/usr.sbin/pcidump/Makefile index c5ab5648c7a..374d0cd7fc4 100644 --- a/usr.sbin/pcidump/Makefile +++ b/usr.sbin/pcidump/Makefile @@ -1,12 +1,11 @@ -# $OpenBSD: Makefile,v 1.10 2018/07/10 03:07:15 jsg Exp $ +# $OpenBSD: Makefile,v 1.11 2019/05/11 07:18:17 deraadt Exp $ .if ${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \ ${MACHINE} == "arm64" || ${MACHINE} == "armv7" || \ ${MACHINE} == "hppa" || ${MACHINE} == "i386" || \ ${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \ ${MACHINE} == "macppc" || ${MACHINE} == "octeon" || \ - ${MACHINE} == "sgi" || ${MACHINE} == "socppc" || \ - ${MACHINE} == "sparc64" + ${MACHINE} == "sgi" || ${MACHINE} == "sparc64" PROG= pcidump -- cgit v1.2.3