workarounds. Some of them will soon stand in the way of armv7.
Off to the attic you go.
-# $OpenBSD: Makefile.cross,v 1.85 2016/05/11 21:52:48 deraadt Exp $
+# $OpenBSD: Makefile.cross,v 1.86 2016/08/10 14:27:15 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
# Have to compute TARGET_ARCH directly in the Makefile, for .if tests involving
# this variable to work.
-.if (${TARGET} == "armish" || ${TARGET} == "armv7" || \
- ${TARGET} == "zaurus")
+.if (${TARGET} == "armv7" || ${TARGET} == "zaurus")
TARGET_ARCH= arm
.elif (${TARGET} == "luna88k")
TARGET_ARCH= m88k
-# $OpenBSD: Makefile,v 1.47 2016/03/09 16:28:45 deraadt Exp $
+# $OpenBSD: Makefile,v 1.48 2016/08/10 14:27:15 deraadt Exp $
SUBDIR= special notes
.if make(obj)
-SUBDIR+=alpha amd64 armish armv7 hppa i386 \
+SUBDIR+=alpha amd64 armv7 hppa i386 \
landisk loongson luna88k macppc \
octeon sgi socppc sparc sparc64 zaurus
.elif exists(${MACHINE})
+++ /dev/null
-# $OpenBSD: Makefile,v 1.1 2006/06/06 00:01:49 drahn Exp $
-
-SUBDIR= ramdisk
-
-.include <bsd.subdir.mk>
+++ /dev/null
-# $OpenBSD: Makefile,v 1.13 2013/10/15 22:46:49 deraadt Exp $
-
-REV= ${OSrev}
-
-TOP= ${.CURDIR}/..
-
-BSD_RD= bsd.rd
-IMAGE= mr.fs
-CBIN?= instbin
-CRUNCHCONF?= ${CBIN}.conf
-CRUNCHCONFS?= ${.CURDIR}/../common/crunch.conf
-LISTS= ${.CURDIR}/list
-UTILS?= ${.CURDIR}/../../miniroot
-
-MOUNT_POINT= /mnt
-MTREE= ${UTILS}/mtree.conf
-
-VND?= vnd0
-VND_DEV= /dev/${VND}a
-VND_RDEV= /dev/r${VND}a
-VND_CRDEV= /dev/r${VND}c
-PID!= echo $$$$
-
-
-DISKTYPE= rdroot2.5M
-#NBLKS= 8192
-NBLKS= 5120
-# minfree, opt, b/i trks, sects, cpg
-NEWFSARGS= -m 0 -o space -i 4096
-
-.ifndef DESTDIR
-all ${IMAGE}:
- @echo setenv DESTDIR before making a ramdisk!
- @false
-.else
-
-# mix config is not needed.
-all: ${BSD_RD}
-
-${BSD_RD}: ${CBIN} ${IMAGE} bsd rdsetroot
- cp bsd ${BSD_RD}
- awk 'BEGIN { printf("%c", 192); }' < /dev/null | dd of=${BSD_RD} bs=1 count=1 seek=95 conv=notrunc 2>/dev/null;
- awk 'BEGIN { printf("%c", 192); }' < /dev/null | dd of=${BSD_RD} bs=1 count=1 seek=127 conv=notrunc 2>/dev/null;
- awk 'BEGIN { printf("%c", 192); }' < /dev/null | dd of=${BSD_RD} bs=1 count=1 seek=159 conv=notrunc 2>/dev/null;
- ${.OBJDIR}/rdsetroot ${BSD_RD} ${IMAGE}
- dd if=/dev/zero of=${BSD_RD} bs=1 count=1 seek=95 conv=notrunc 2>/dev/null;
- dd if=/dev/zero of=${BSD_RD} bs=1 count=1 seek=127 conv=notrunc 2>/dev/null;
- dd if=/dev/zero of=${BSD_RD} bs=1 count=1 seek=159 conv=notrunc 2>/dev/null;
-
-${IMAGE}: rd_setup do_files rd_teardown
-
-.endif
-
-bsd:
- cd ${TOP}/../../sys/arch/armish/conf && config RAMDISK
- cd ${TOP}/../../sys/arch/armish/compile/RAMDISK && \
- ${MAKE} clean && exec ${MAKE}
- cp ${TOP}/../../sys/arch/armish/compile/RAMDISK/bsd bsd
-
-rd_setup:
- dd if=/dev/zero of=${IMAGE} bs=512 count=${NBLKS}
- vnconfig -v -c ${VND} ${IMAGE}
- disklabel -w ${VND} ${DISKTYPE}
- newfs ${NEWFSARGS} ${VND_RDEV}
- fsck ${VND_RDEV}
- mount ${VND_DEV} ${MOUNT_POINT}
-
-rd_teardown:
- @df -i ${MOUNT_POINT}
- -umount ${MOUNT_POINT}
- -vnconfig -u ${VND}
-
-rdsetroot: ${TOP}/../common/elfrdsetroot.c
- ${HOSTCC} ${HOSTCFLAGS} -o rdsetroot \
- ${TOP}/../common/elfrdsetroot.c ${TOP}/../common/elf32.c \
- ${TOP}/../common/elf64.c
-
-unconfig:
- -umount -f ${MOUNT_POINT}
- -vnconfig -u ${VND}
-
-.PRECIOUS: ${IMAGE}
-
-${CBIN}.mk ${CBIN}.cache ${CBIN}.c: ${CRUNCHCONF}
- crunchgen -E -D ${.CURDIR}/../../.. -L ${DESTDIR}/usr/lib ${.ALLSRC}
-
-${CBIN}: ${CBIN}.mk ${CBIN}.cache ${CBIN}.c
- ${MAKE} -f ${CBIN}.mk SRCLIBDIR=${.CURDIR}/../../../lib all
-
-${CRUNCHCONF}: ${LISTS}
- awk -f ${UTILS}/makeconf.awk CBIN=${CBIN} ${LISTS} > ${CBIN}.conf
-
-do_files:
- cat ${MTREE} | mtree -de -p ${MOUNT_POINT}/ -u
- TOPDIR=${TOP} CURDIR=${.CURDIR} OBJDIR=${.OBJDIR} \
- REV=${REV} TARGDIR=${MOUNT_POINT} UTILS=${UTILS} \
- RELEASEDIR=${RELEASEDIR} sh ${UTILS}/runlist.sh ${LISTS}
- rm ${MOUNT_POINT}/${CBIN}
-
-clean cleandir:
- /bin/rm -f *.core ${IMAGE} ${CBIN} ${CBIN}.mk ${CBIN}.cache \
- lib*.a lib*.olist ${CBIN}.map \
- *.o *.lo *.c bsd ${BSD_RD} rdsetroot
- rm -f instbin.conf
- rm -rf cd-dir
-
-.ifdef RELEASEDIR
-install:
- cp ${BSD_RD} ${RELEASEDIR}
-.endif
-
-.include <bsd.obj.mk>
-.include <bsd.subdir.mk>
+++ /dev/null
-# $OpenBSD: Makefile.inc,v 1.2 2014/07/16 19:59:30 okan Exp $
-
-CRUNCHGENOPTS= -E
+++ /dev/null
-# $OpenBSD: install.md,v 1.26 2016/02/08 17:28:08 krw 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() {
-}
-
-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/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() {
-}
+++ /dev/null
-# $OpenBSD: list,v 1.31 2016/04/02 12:23:46 rpe 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/bioctl
-LINK instbin sbin/dhclient
-LINK instbin sbin/disklabel
-LINK instbin sbin/dmesg
-LINK instbin sbin/fdisk
-LINK instbin sbin/fsck
-LINK instbin sbin/fsck_ext2fs
-LINK instbin sbin/fsck_ffs
-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_ext2fs
-LINK instbin sbin/mount_ffs
-LINK instbin sbin/mount_msdos
-LINK instbin sbin/mount_nfs
-LINK instbin sbin/newfs
-LINK instbin sbin/newfs_msdos
-LINK instbin sbin/ping
-LINK instbin sbin/ping6
-LINK instbin sbin/reboot sbin/halt
-LINK instbin sbin/route
-LINK instbin sbin/sysctl
-LINK instbin sbin/umount
-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
-
-# various files that we need in /etc for the install
-COPY ${DESTDIR}/etc/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-${REV}-base.pub etc/signify/openbsd-${REV}-base.pub
-COPY ${CURDIR}/../../miniroot/protocols etc/protocols
-COPY ${CURDIR}/../../miniroot/services etc/services
-SYMLINK /tmp/fstab.shadow etc/fstab
-SYMLINK /tmp/resolv.conf.shadow etc/resolv.conf
-SYMLINK /tmp/hosts etc/hosts
-TERMCAP vt100,vt220,dumb usr/share/misc/termcap
-
-# 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
-# $OpenBSD: Makefile,v 1.43 2016/03/09 16:28:45 deraadt Exp $
+# $OpenBSD: Makefile,v 1.44 2016/08/10 14:27:15 deraadt Exp $
NOPROG=
NOMAN=
allarchs:
@cd $(.CURDIR); \
- for arch in alpha amd64 armish armv7 hppa i386 landisk \
+ for arch in alpha amd64 armv7 hppa i386 landisk \
loongson luna88k macppc octeon sgi socppc \
sparc sparc64 zaurus; \
do ${MAKE} M=$$arch; done
+++ /dev/null
-dnl $OpenBSD: contents,v 1.15 2015/12/30 23:48:59 rpe Exp $
-TopPart
-
-OpenBSDdistsets
-
-OpenBSDbsd
-
-OpenBSDrd
-dnl not yet...
-dnl OpenBSDcd
-
-DistributionDescription(eight)
-
-OpenBSDbase(60353738,167375252)
-
-OpenBSDcomp(49063560,148527971)
-
-OpenBSDgame(2677073,6022047)
-
-OpenBSDman(10074475,39147329)
-
-OpenBSDxbase(12620087,33609504)
-
-OpenBSDxfont(39937782,52169245)
-
-OpenBSDxserv(5950122,14983727)
-
-OpenBSDxshare(4406953,24364104)
+++ /dev/null
-dnl $OpenBSD: features,v 1.3 2013/02/25 20:16:03 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/armish/ramdisk/install.md
-dnl and the list files in
-dnl src/distrib/armish/ramdisk/list
-dnl
-dnl ====
-dnl
-dnl architecture name (for the packages directory)
-define({:-MACHINE_ARCH-:},arm)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
+++ /dev/null
-dnl $OpenBSD: hardware,v 1.10 2014/02/27 18:48:15 deraadt Exp $
-dnl When more than one model is supported, turn this into a list...
-OpenBSD/MACHINE runs on the Thecus N2100 and IOData HDL-G models at the moment.
+++ /dev/null
-dnl $OpenBSD: install,v 1.10 2013/12/04 23:20:19 jmc Exp $
-OpenBSDInstallPrelude
-
-OpenBSDInstallPart2
-
-OpenBSDInstallPart3(,"wd0")
-
-OpenBSDInstallPart4
-
-OpenBSDInstallMBRPart1
-
-OpenBSDInstallMBRPart2(indeed)
-
-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 -:},,{:-, Linux (ext2) or MS-DOS-:})
-
-OpenBSDCommonInstall
-
-OpenBSDInstallWrapup
-
-OpenBSDCongratulations
-
-
-
-OpenBSDUnattendedInstallation
+++ /dev/null
-dnl $OpenBSD: prep,v 1.17 2014/02/28 00:47:14 afresh1 Exp $
-To be able to boot the OpenBSD/MACHINE installation program, you will need
-to learn a bit about RedBoot, the low-level process that controls the
-microprocessor after hardware initialization.
-The enabled features between IOData HDL-G and Thecus N2100 vary, so
-different methods will be needed on both machines.
-
-All these machines use RedBoot as their firmware and boot loader interface,
-with varying limitations. Thecus systems cannot load a file from disk, but
-can load an image from flash or network. IOData systems however are more
-restricted, and can only load an image from ext2fs partitions on disk, while
-the commands to load from flash are not available, and network booting does
-not appear to work.
-
-Thecus N2100 setup:
-
- Talking to the Thecus
-
- The Thecus N2100 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.
-
- On the Thecus N2100, it is also necessary to move jumper J3 to J4 to
- properly route the serial port interrupt to allow serial to work under
- OpenBSD. This jumper is located under the disk drives, so you may wish
- to ensure its correct setting while you are installing the disk(s).
- For instructions on assembling/disassembling your N2100, see the N2100
- Manual at
- http://www.thecus.com/download/manual/N2100%20UM%20EN.pdf
-
-
- Booting Thecus N2100
-
- 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:
-
- == Executing boot script in 3.000 seconds - enter ^C to abort
-
- To enter interactive RedBoot, it is necessary to press ^C within the
- given number of seconds of the prompt. It will typically accept the
- ^C if typed during the diagnostics that precede this prompt.
-
- The recommended way to boot OpenBSD on Thecus is to configure
- networking and load bsd.rd from a TFTP server or HTTP server.
-
- Update the IP address, netmask and server address with the commands
- listed below to allow booting from the network. TFTP and HTTP are
- supported. (BOOTP configuration _may_ not work)
-
- Using ip_address only allows you to set the local IP address and
- the IP address of the server where bsd.rd is located. This command
- takes effect immediately but will not persist across a reboot.
-
- RedBoot> ip_address -l 10.0.0.21 -h 10.0.0.7
- IP: 10.0.0.21/255.255.255.0, Gateway: 0.0.0.0
- Default server: 10.0.0.7, DNS server IP: 0.0.0.0
-
- 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.
-
- RedBoot> load /bsd.rd
- Using default protocol (TFTP)
- Entry point: 0x00200000, address range: 0x00200000-0x0066a49c
- RedBoot> go
-
- Once OpenBSD is installed on the hard disk, you will only need to
- load the OpenBSD/MACHINE boot loader (/boot) the same way, 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.
- Doing so disables the devices' built-in Linux kernel, however, and
- makes it difficult or impossible to apply future RedBoot firmware
- upgrades. There are two general approaches:
- 1) Just change the boot configuration (using 'fconfig') to automate
- the above booting (your TFTP or HTTP boot server will still be
- needed).
- 2) Remove a file from the flash and replace it with OpenBSD's /boot;
- this configuration can then be booted standalone.
-
- Thecus RedBoot provides the 'fconfig' (not ifconfig) command to
- change the boot configuration of the device. Also 'fis' is provided
- to perform flash operations.
-
- Due to a change made by Thecus to the firmware, fconfig does not
- work with Thecus firmware version "1.93 (Feb 2007)" or later, and
- *it is thus not possible to make the Thecus auto-boot into OpenBSD*
- (worse, it will let you enter the "script" commands below, but
- ignore them on boot). To correct this, you must "upgrade" your
- Thecus down to firmware version "1.93 Nov 29 2005" using the file
- n2100-downgrade-reboot.rom *before* you remove any files from flash.
- You can get this file from Thecus; they have given permission for
- it to be mirrored at
- http://www.darwinsys.com/openbsd/thecus.html
- However, if you have removed files from flash before running this
- downgrade, it is not believed to be possible to get your machine
- to auto-boot.
-
- Once the downgrade is done, if your TFTP machine will always be
- around, you can autoboot just by changing the boot script with
- fconfig, as follows: (in this example, 192.168.1.254 is both the
- default IP gateway and also the TFTP server):
-
- RedBoot> fconfig
- Run script at boot: true
- Boot script:
- .. load /boot.armish
- .. go
- Enter script, terminate with empty line
- >> load /boot.armish
- >> go
- >>
- Boot script timeout (1000ms resolution): 3
- Use BOOTP for network configuration: false
- Gateway IP address: 192.168.1.254
- Local IP address: 192.168.1.253
- Local IP address mask: 255.255.255.0
- Default server IP address: 192.168.1.254
- Console baud rate: 115200
- DNS server IP address:
- GDB connection port: 9000
- HW Status: 0
- Force console for special debug messages: false
- MAC address: 0x00:0x14:0xFD:0x30:0x25:0x14
- MAC address 2: 0x00:0x14:0xFD:0x30:0x25:0x15
- Network debug at boot time: false
- Reset default: Normal
- Serial number: N2100 V2.1.06
- ... Unlock from 0xf0fc0000-0xf0fc1000: .
- ... Erase from 0xf0fc0000-0xf0fc1000: .
- ... Program from 0x07fd2000-0x07fd3000 at 0xf0fc0000: .
- ... Lock from 0xf0fc0000-0xf0fc1000: .
- RedBoot>
-
- This configuration can easily be set back to the default, as the
- Linux system does not get erased from the flash memory. To set it
- back, just change the boot script with fconfig back to what it was,
- for example:
-
- thecus_setip
- fis load ramdisk
- fis load kernel
- exec -c "console=ttyS0,115200 root=/dev/ram0 initrd=0xa0800000,42M mem=128M@0xa0000000"
-
- You could also remove the boot script altogether by not re-entering
- it, so you would be dropped to the RedBoot shell by default.
-
- Recheck the new values and issue the 'reset' command.
-
- For the standalone booting option, you will have to load /boot into
- the flash memory. To overwrite the Thecus ROM behaviour, it is
- necessary to delete a 'rom file' and load the OpenBSD bootloader image
- there. With networking configured (as above), remove a region and
- load the 'boot' program.
-
- Initially the machine will contain much like the following:
-
- RedBoot> fis list
- Name FLASH addr Mem addr Length Entry point
- RedBoot 0xF0000000 0xF0000000 0x00040000 0x00000000
- RedBoot config 0xF0FC0000 0xF0FC0000 0x00001000 0x00000000
- FIS directory 0xF0FE0000 0xF0FE0000 0x00020000 0x00000000
- ramdisk 0xF0040000 0x00800000 0x00D00000 0x00800000
- kernel 0xF0D40000 0x00200000 0x00160000 0x00200000
- user 0xF0EA0000 0xF0EA0000 0x00120000 0x00200000
-
- There is no free space in the rom for the 'boot' program, so something
- must be removed.
- WARNING: this will make the machine unbootable into the original
- Thecus server mode and it is quite difficult to restore to the
- original software.
- EXTREME WARNING: Do not touch the RedBoot, RedBoot config, or FIS
- directory regions, as doing so will probably brick the device.
-
- Remove (with confirmation) a region to make space, eg 'user' (the
- non-root files needed to run Linux from Flash Memory).
-
- RedBoot> fis delete user
- Delete image 'user' - continue (y/n)? y
- ... Erase from 0xf0ea0000-0xf0fc0000: .........
- ... Unlock from 0xf0fe0000-0xf1000000: .
- ... Erase from 0xf0fe0000-0xf1000000: .
- ... Program from 0x07fdf000-0x07fff000 at 0xf0fe0000: .
- ... Lock from 0xf0fe0000-0xf1000000: .
-
- Load the OpenBSD/MACHINE bootloader 'boot' via TFTP or HTTP:
-
- RedBoot> load -m http /boot
- Entry point: 0x00100000, address range: 0x00100000-0x001067e0
-
- Save that loaded file to flash:
-
- RedBoot> fis create boot
- ... Erase from 0xf0ea0000-0xf0ec0000: .
- ... Program from 0x00100000-0x001067e0 at 0xf0ea0000: .
- ... Unlock from 0xf0fe0000-0xf1000000: .
- ... Erase from 0xf0fe0000-0xf1000000: .
- ... Program from 0x07fdf000-0x07fff000 at 0xf0fe0000: .
- ... Lock from 0xf0fe0000-0xf1000000: .
-
- Confirm its addition:
-
- RedBoot> fis list
- Name FLASH addr Mem addr Length Entry point
- RedBoot 0xF0000000 0xF0000000 0x00040000 0x00000000
- RedBoot config 0xF0FC0000 0xF0FC0000 0x00001000 0x00000000
- FIS directory 0xF0FE0000 0xF0FE0000 0x00020000 0x00000000
- ramdisk 0xF0040000 0x00800000 0x00D00000 0x00800000
- kernel 0xF0D40000 0x00200000 0x00160000 0x00200000
- boot 0xF0EA0000 0x00100000 0x00020000 0x00100000
-
- Now that the bootloader is in place, update fconfig to autoboot
- OpenBSD:
-
- RedBoot> fconfig
- Run script at boot: true
- Boot script:
- .. fis load ramdisk
- .. fis load kernel
- .. exec ...
- Enter script, terminate with empty line
- >> fis load boot
- >> go
- >>
- Boot script timeout (1000ms resolution): 1
- ...
- Update RedBoot non-volatile configuration - continue (y/n)? y
- ... Unlock from 0xf0fc0000-0xf0fc1000: .
- ... Erase from 0xf0fc0000-0xf0fc1000: .
- ... Program from 0x0ffd2000-0x0ffd3000 at 0xf0fc0000: .
- ... Lock from 0xf0fc0000-0xf0fc1000: .
-
- The important part is that 'Run script' is true and that the commands
- are 'fis load boot' followed with 'go' ('boot' being the file created
- by 'fis create boot' earlier). Confirm the update and type 'reset'
- to auto boot.
-
- The bootloader is command driven with timeout like many other OpenBSD
- architectures.
-
-
-IOData HDL-G setup:
-
- The hda1 partition is the boot partition for Linux; it contains
- zImage and initrd. Since RedBoot on this machine can only boot from
- the ext2fs partition, it is very important that this partition be
- preserved and not be reformatted. If this partition is destroyed, it
- will be necessary to remove the disk drive and recreate the partition
- on another machine. (RedBoot should be able to boot from the network,
- however that has been unsuccessful on IODATA HDL-G so far)
-
- To install OpenBSD, boot linux, and copy 'boot' and 'bsd.rd' into the
- partition mounted on /dev/hda1. After that has been done, it is
- possible to reboot into OpenBSD and install the device. Installation
- can then proceed as on other machines, however care must be take to
- not remove wd0i/hda1 partition (fdisk partition 0). DO NOT chose the
- 'full disk installation' option.
-
- Unfortunately, since IODATA did not provide the 'fconfig' command, it
- is not possible to change the boot commands run when RedBoot starts,
- thus it not possible to autoboot OpenBSD; the OpenBSD/MACHINE
- bootloader is currently unable to work when loaded as `zImage'.
- Futhermore, to disable autobooting into Linux, at least one of the
- zImage and initrd files need to be renamed or removed. This can be
- done from the shell in bsd.rd.
-
- To load the ramdisk kernel to install use the commands
-
- RedBoot> load -m disk hda1:/bsd.rd
- RedBoot> go
-
- to boot normally, load the bootloader which will give options to boot
- other kernels.
-
- RedBoot> load -m disk hda1:/boot
- RedBoot> go
-
- Since this bootloader is able to boot any kernel from the OpenBSD
- root partition, it is not necessary to keep bsd.rd on the hda
- partition after OpenBSD is installed.
+++ /dev/null
-dnl $OpenBSD: upgrade,v 1.1 2006/06/06 04:06:08 drahn Exp $
-dnl OpenBSDUpgrade({:-the CD-ROM-:})
-OpenBSDUpgrade({:-your usual boot device-:})
+++ /dev/null
-dnl $OpenBSD: whatis,v 1.2 2008/03/10 21:34:14 miod Exp $
-
-OpenBSD/MACHINE runs on the Thecus N2100 and IODATA HDL-G ARM-based
-network disk appliances.
+++ /dev/null
-dnl $OpenBSD: xfer,v 1.4 2015/06/10 06:38:39 jasper Exp $
-Installation is supported from several media types, including:
-
- CD-ROM
- FFS partitions
- DOS (FAT) partitions
- EXT2 partitions
- HTTP
-
-OpenBSDXferShortPrelude
-
-OpenBSDXferFFS
+++ /dev/null
-./etc/examples/wsconsctl.conf
-./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/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/rum-license
-./etc/firmware/rum-rt2573
-./etc/firmware/run-license
-./etc/firmware/run-rt2870
-./etc/firmware/run-rt3071
-./etc/firmware/tusb3410
-./etc/firmware/tusb3410-license
-./etc/firmware/udl_huffman
-./etc/firmware/zd1211
-./etc/firmware/zd1211-license
-./etc/firmware/zd1211b
-./sbin/kbd
-./sbin/wsconsctl
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0/4.2.1
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0/4.2.1/collect2
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0/4.2.1/libgcc.a
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0/4.2.1/specs
-./usr/libdata/perl5/arm-openbsd
-./usr/libdata/perl5/arm-openbsd/5.20.3
-./usr/libdata/perl5/arm-openbsd/5.20.3/.packlist
-./usr/libdata/perl5/arm-openbsd/5.20.3/B
-./usr/libdata/perl5/arm-openbsd/5.20.3/B.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/B/Concise.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/B/Showlex.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/B/Terse.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/B/Xref.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/EXTERN.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/INTERN.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/XSUB.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/av.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/bitcount.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/charclass_invlists.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/config.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/cop.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/cv.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/dosish.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/embed.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/embedvar.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/fakesdio.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/feature.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/form.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/git_version.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/gv.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/handy.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/hv.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/hv_func.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/inline.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/intrpvar.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/iperlsys.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/keywords.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/l1_char_class_tab.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/malloc_ctl.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/metaconfig.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/mg.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/mg_data.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/mg_raw.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/mg_vtable.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/mydtrace.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/nostdio.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/op.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/op_reg_common.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/opcode.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/opnames.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/overload.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/pad.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/parser.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/patchlevel.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/perl.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/perlapi.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/perlio.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/perliol.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/perlsdio.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/perlvars.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/perly.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/pp.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/pp_proto.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/proto.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/reentr.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/regcharclass.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/regcomp.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/regexp.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/regnodes.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/scope.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/sv.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/thread.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/time64.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/time64_config.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/uconfig.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/unicode_constants.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/unixish.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/utf8.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/utfebcdic.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/util.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/uudmap.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/vutil.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/vxs.inc
-./usr/libdata/perl5/arm-openbsd/5.20.3/CORE/warnings.h
-./usr/libdata/perl5/arm-openbsd/5.20.3/Compress
-./usr/libdata/perl5/arm-openbsd/5.20.3/Compress/Raw
-./usr/libdata/perl5/arm-openbsd/5.20.3/Compress/Raw/Bzip2.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Compress/Raw/Zlib.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Compress/Zlib.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Config.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Config.pod
-./usr/libdata/perl5/arm-openbsd/5.20.3/Config_git.pl
-./usr/libdata/perl5/arm-openbsd/5.20.3/Config_heavy.pl
-./usr/libdata/perl5/arm-openbsd/5.20.3/Cwd.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/DB_File.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Data
-./usr/libdata/perl5/arm-openbsd/5.20.3/Data/Dumper.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Devel
-./usr/libdata/perl5/arm-openbsd/5.20.3/Devel/PPPort.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Devel/Peek.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Digest
-./usr/libdata/perl5/arm-openbsd/5.20.3/Digest/MD5.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Digest/SHA.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/DynaLoader.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Alias.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Byte.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/CJKConstants.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/CN
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/CN.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/CN/HZ.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Config.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/EBCDIC.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Encoder.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Encoding.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/GSM0338.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Guess.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/JP
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/JP.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/JP/H2Z.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/JP/JIS7.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/KR
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/KR.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/KR/2022_KR.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/MIME
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/MIME/Header
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/MIME/Header.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/MIME/Header/ISO_2022_JP.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/MIME/Name.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Symbol.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/TW.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Unicode
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Unicode.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Encode/Unicode/UTF7.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Errno.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Fcntl.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/DosGlob.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Glob.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/GlobMapper.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec/Cygwin.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec/Epoc.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec/Functions.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec/Mac.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec/OS2.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec/Unix.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec/VMS.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/File/Spec/Win32.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Filter
-./usr/libdata/perl5/arm-openbsd/5.20.3/Filter/Util
-./usr/libdata/perl5/arm-openbsd/5.20.3/Filter/Util/Call.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Hash
-./usr/libdata/perl5/arm-openbsd/5.20.3/Hash/Util
-./usr/libdata/perl5/arm-openbsd/5.20.3/Hash/Util.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Hash/Util/FieldHash.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/I18N
-./usr/libdata/perl5/arm-openbsd/5.20.3/I18N/Langinfo.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Adapter
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Adapter/Bzip2.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Adapter/Deflate.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Adapter/Identity.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Base
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Base.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Base/Common.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Bzip2.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Deflate.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Gzip
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Gzip.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Gzip/Constants.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/RawDeflate.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Zip
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Zip.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Zip/Constants.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Zlib
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Zlib/Constants.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Compress/Zlib/Extra.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Dir.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/File.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Handle.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Pipe.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Poll.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Seekable.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Select.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Socket
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Socket.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Socket/INET.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Socket/UNIX.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Adapter
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Adapter/Bunzip2.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Adapter/Identity.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Adapter/Inflate.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/AnyInflate.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/AnyUncompress.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Base.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Bunzip2.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Gunzip.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Inflate.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/RawInflate.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IO/Uncompress/Unzip.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IPC
-./usr/libdata/perl5/arm-openbsd/5.20.3/IPC/Msg.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IPC/Semaphore.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IPC/SharedMem.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/IPC/SysV.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/List
-./usr/libdata/perl5/arm-openbsd/5.20.3/List/Util
-./usr/libdata/perl5/arm-openbsd/5.20.3/List/Util.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/List/Util/XS.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/MIME
-./usr/libdata/perl5/arm-openbsd/5.20.3/MIME/Base64.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/MIME/QuotedPrint.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Math
-./usr/libdata/perl5/arm-openbsd/5.20.3/Math/BigInt
-./usr/libdata/perl5/arm-openbsd/5.20.3/Math/BigInt/FastCalc.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/NDBM_File.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/O.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Opcode.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/OpenBSD
-./usr/libdata/perl5/arm-openbsd/5.20.3/OpenBSD/MkTemp.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/OpenBSD/Pledge.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/POSIX.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/POSIX.pod
-./usr/libdata/perl5/arm-openbsd/5.20.3/PerlIO
-./usr/libdata/perl5/arm-openbsd/5.20.3/PerlIO/encoding.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/PerlIO/mmap.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/PerlIO/scalar.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/PerlIO/via.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/SDBM_File.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Scalar
-./usr/libdata/perl5/arm-openbsd/5.20.3/Scalar/Util.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Socket.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Storable.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Sys
-./usr/libdata/perl5/arm-openbsd/5.20.3/Sys/Hostname.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Sys/Syslog.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Term
-./usr/libdata/perl5/arm-openbsd/5.20.3/Term/ReadKey.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Tie
-./usr/libdata/perl5/arm-openbsd/5.20.3/Tie/Hash
-./usr/libdata/perl5/arm-openbsd/5.20.3/Tie/Hash/NamedCapture.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Time
-./usr/libdata/perl5/arm-openbsd/5.20.3/Time/HiRes.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Time/Piece.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Time/Seconds.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Unicode
-./usr/libdata/perl5/arm-openbsd/5.20.3/Unicode/Collate
-./usr/libdata/perl5/arm-openbsd/5.20.3/Unicode/Collate.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Unicode/Collate/Locale.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/Unicode/Normalize.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/arybase.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/attributes.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/B
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/B/B.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Compress
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Compress/Raw
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Compress/Raw/Bzip2
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Compress/Raw/Bzip2/Bzip2.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Compress/Raw/Zlib
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Compress/Raw/Zlib/Zlib.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Cwd
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Cwd/Cwd.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/DB_File
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/DB_File/DB_File.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Data
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Data/Dumper
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Data/Dumper/Dumper.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Devel
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Devel/PPPort
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Devel/PPPort/PPPort.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Devel/Peek
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Devel/Peek/Peek.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Digest
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Digest/MD5
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Digest/MD5/MD5.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Digest/SHA
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Digest/SHA/SHA.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/Byte
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/Byte/Byte.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/CN
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/CN/CN.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/EBCDIC
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/EBCDIC/EBCDIC.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/Encode.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/JP
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/JP/JP.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/KR
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/KR/KR.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/Symbol
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/Symbol/Symbol.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/TW
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/TW/TW.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/Unicode
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Encode/Unicode/Unicode.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Fcntl
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Fcntl/Fcntl.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/File
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/File/DosGlob
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/File/DosGlob/DosGlob.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/File/Glob
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/File/Glob/Glob.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Filter
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Filter/Util
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Filter/Util/Call
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Filter/Util/Call/Call.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Hash
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Hash/Util
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Hash/Util/FieldHash
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Hash/Util/FieldHash/FieldHash.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Hash/Util/Util.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/I18N
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/I18N/Langinfo
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/I18N/Langinfo/Langinfo.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/IO
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/IO/IO.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/IPC
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/IPC/SysV
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/IPC/SysV/SysV.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/List
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/List/Util
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/List/Util/Util.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/MIME
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/MIME/Base64
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/MIME/Base64/Base64.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Math
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Math/BigInt
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Math/BigInt/FastCalc
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Math/BigInt/FastCalc/FastCalc.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/NDBM_File
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/NDBM_File/NDBM_File.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Opcode
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Opcode/Opcode.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/OpenBSD
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/OpenBSD/MkTemp
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/OpenBSD/MkTemp/MkTemp.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/OpenBSD/Pledge
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/OpenBSD/Pledge/Pledge.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/POSIX
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/POSIX/POSIX.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO/encoding
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO/encoding/encoding.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO/mmap
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO/mmap/mmap.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO/scalar
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO/scalar/scalar.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO/via
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/PerlIO/via/via.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/SDBM_File
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/SDBM_File/SDBM_File.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Socket
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Socket/Socket.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Storable
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Storable/Storable.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Sys
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Sys/Hostname
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Sys/Hostname/Hostname.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Sys/Syslog
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Sys/Syslog/Syslog.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Term
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Term/ReadKey
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Term/ReadKey/ReadKey.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Term/ReadKey/autosplit.ix
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Tie
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Tie/Hash
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Tie/Hash/NamedCapture
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Tie/Hash/NamedCapture/NamedCapture.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Time
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Time/HiRes
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Time/HiRes/HiRes.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Time/Piece
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Time/Piece/Piece.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Unicode
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Unicode/Collate
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Unicode/Collate/Collate.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Unicode/Normalize
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/Unicode/Normalize/Normalize.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/arybase
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/arybase/arybase.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/attributes
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/attributes/attributes.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/mro
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/mro/mro.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/re
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/re/re.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/sdbm
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/sdbm/extralibs.ld
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/threads
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/threads/shared
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/threads/shared/shared.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/auto/threads/threads.so
-./usr/libdata/perl5/arm-openbsd/5.20.3/encoding.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/lib.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/mro.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/ops.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/re.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/threads
-./usr/libdata/perl5/arm-openbsd/5.20.3/threads.pm
-./usr/libdata/perl5/arm-openbsd/5.20.3/threads/shared.pm
-./usr/libdata/perl5/site_perl/arm-openbsd
-./usr/libdata/perl5/site_perl/arm-openbsd/_h2ph_pre.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/a.out.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/_float.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/_types.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/apmvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/armreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/asm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/atomic.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/bus.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/cdefs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/conf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/cpu.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/cpuconf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/cpufunc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/db_machdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/disklabel.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/endian.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/exec.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/fdt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/fenv.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/fiq.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/fp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/frame.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/ieee.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/ieeefp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/isa_machdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/kcore.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/limits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/lock.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/machdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/mutex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/openpromio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/param.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/pcb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/pci_machdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/pio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/pmap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/proc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/profile.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/pte.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/ptrace.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/reloc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/setjmp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/signal.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/softintr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/spinlock.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/stdarg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/swi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/sysarch.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/sysreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/tcb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/trap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/undefined.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arm/vmparam.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/_float.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/_types.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/apmvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/armish_intr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/asm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/atomic.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/bootconfig.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/bus.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/cdefs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/conf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/cpu.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/db_machdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/disklabel.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/endian.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/exec.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/fenv.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/fp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/frame.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/ieee.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/ieeefp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/intr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/limits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/loadfile_machdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/lock.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/mutex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/param.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/pcb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/pci_machdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/pio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/pmap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/proc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/profile.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/ptrace.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/reloc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/setjmp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/signal.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/spinlock.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/stdarg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/sysarch.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/tcb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/trap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/armish/vmparam.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arpa
-./usr/libdata/perl5/site_perl/arm-openbsd/arpa/ftp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arpa/inet.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arpa/nameser.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arpa/telnet.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/arpa/tftp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/asr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/assert.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/bitstring.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/blf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/bsd_auth.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/complex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/cpio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/arc4.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/blf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/cast.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/castsb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/chacha_private.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/chachapoly.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/cmac.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/cryptodev.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/cryptosoft.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/des_locl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/gmac.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/hmac.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/idgen.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/key_wrap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/md5.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/michael.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/podd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/poly1305.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/rijndael.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/rmd160.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/sha1.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/sha2.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/siphash.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/sk.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/spr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/crypto/xform.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ctype.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/curses.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/db.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_access.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_break.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_command.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_extern.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_interface.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_lex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_output.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_run.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_sym.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_variables.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ddb/db_watch.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/acpi
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/acpi/acpidebug.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/acpi/acpidev.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/acpi/acpireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/acpi/acpivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/acpi/amltypes.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/acpi/dsdt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/adb
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/adb/adb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/adb/akbdmap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/adb/akbdvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/adb/amsvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/adb/keyboard.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ata
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ata/atareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ata/atascsi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ata/atavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ata/pmreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ata/satareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ata/wdvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/audio_if.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/biovar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/cardbus
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/cardbus/cardbus_exrom.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/cardbus/cardbusvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/cardbus/cardslotvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/cardbus/rbus.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/clock_subr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/cons.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/dec
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/dec/clockvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/dec/mcclockvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/eisa
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/eisa/eisadevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/eisa/eisadevs_data.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/eisa/eisareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/eisa/eisavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/flashvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/gpio
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/gpio/gpiovar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hid
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hid/hid.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hid/hidkbdsc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hid/hidkbdvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hid/hidmsvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hid/hidmtvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hil
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hil/hildevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hil/hildevs_data.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hil/hilkbdmap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hil/hilreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/hil/hilvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/i2c
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/i2c/i2c_bitbang.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/i2c/i2c_io.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/i2c/i2cvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/i2c/ihidev.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/i2c/wm8750reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aac_tables.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aacreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aacvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ac97.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/acxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/acxvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ad1843reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ad1848reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/adv.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/advlib.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/adw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/adwlib.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ahcireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ahcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic6250reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic6250var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic6360reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic6360var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic6915.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic79xx.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic79xx_inline.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic79xx_openbsd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic7xxx_cam.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic7xxx_inline.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic7xxx_openbsd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/aic7xxxvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/am7930reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/am7930var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/am79900reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/am79900var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/am7990reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/am7990var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/amireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/amivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/anreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/anvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/apcdmareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5008reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5210reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5210var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5211reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5211var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5212reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5212var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5416reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar5xxx.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar9003reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar9280reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar9285reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar9287reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ar9380reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/arcofivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/athnreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/athnvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/athvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/atwreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/atwvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/atxxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ax88190reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ax88190var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bhareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bhavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bt458reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bt463reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bt463var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bt485reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bt485var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bt8xx.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bwireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/bwivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/cacreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/cacvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/cd1190reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/cd1400reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/cissreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/cissvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/comreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/comvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/cs4231reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/cyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dc21040reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dc503reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dcreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dl10019reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dl10019var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dp8390reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dp8390var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dp8573areg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dptreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/dptvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ds1286reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ds1687reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/elink3reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/elink3var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/espreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/fxpreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/fxpvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/gdtreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/gdtvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/gemreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/gemvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/hayespreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/hmereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/hmevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i8042reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i82365reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i82365var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i8237reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i8253reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i82586reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i82595reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i82596reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i82596var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i8259reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i82802reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/i82810reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ibm525reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ibm561reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ibm561var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ics2101reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/if_wi_hostap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/if_wi_ieee.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/if_wireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/if_wivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/iha.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/intersil7170.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lancereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lancevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lemacreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lemacvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lm700x.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lm78var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lptreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lptvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lsi64854reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/lsi64854var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/m41t8xreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/malo.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/max2820reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mc146818reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mc6845.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mc6845reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mc68681reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mc68681var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mfireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mfivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mk48txxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/monitors.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mpireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mpivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mpuvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mtd8xxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/mtd8xxvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ncr5380reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ncr5380var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ncr53c9xreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ncr53c9xvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ne2000reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ne2000var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/nec765reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ns16450reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ns16550reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/nvmereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/nvmevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/oosiopreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/oosiopvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/osiopreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/osiopvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/p9000.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/pcdisplay.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/pcdisplayvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/pcf8584var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/pckbcvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/pgtreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/pgtvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/pt2254a.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/qlareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/qlavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/qlwreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/qlwvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/r92creg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/ramdac.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/revar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rf3000reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rt2560reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rt2560var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rt2661reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rt2661var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rt2860reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rt2860var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtl80x9reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtl80x9var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtl81x9reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtl8225reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtsxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtsxvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtwnvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtwreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/rtwvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/s3_617.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/sa2400reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/seeq8003reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/si4136reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/silireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/silivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/siopreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/siopvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/siopvar_common.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/slireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/slivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/smc83c170reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/smc83c170var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/smc91cxxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/smc91cxxvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/smc93cx6var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/stireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/stivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/tc921x.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/tcic2reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/tcic2var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/tea5757.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/tireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/tivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/trm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/twereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/twevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/uhareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/uhavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/vgareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/vgavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/w83l518d_sdmmc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/w83l518dreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/w83l518dvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/wd33c93reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/wd33c93var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/wdcevent.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/wdcreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/wdcvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/xlreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/z8530reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/z8530sc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ic/z8536reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ipmi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ipmivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/ad1848var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/ahareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/cs4231var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/elink.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/essreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/essvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/fdlink.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/fdreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/gscsioreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/gusreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/gusvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/i82365_isavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/ics2101var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_ecreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_egreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_elreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_exreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_ie507.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_ieatt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_iee16.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_levar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/if_wereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/isadmareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/isadmavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/isapnpreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/isareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/isavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/itvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/madreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/pasreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/pcdisplayvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/pcppireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/pcppivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/pnpdevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/rtreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/rtvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/sbdspvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/sbreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/sbvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/spkrio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/vga_isavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/viasioreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/wbsioreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/wdsreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/wssreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/wssvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/isa/ymvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/midi_if.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/midivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/acphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/amphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/bmtphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/brgphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/ciphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/eephyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/icsphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/inphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/iophyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/ipgphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/jmphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/lxtphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/mii.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/mii_bitbang.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/miidevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/miivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/mtdphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/nsgphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/nsphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/nsphyterreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/qsphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/rgephyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/sqphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/tlphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/tlphyvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/tqphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/txphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/urlphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mii/xmphyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/mulaw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ofw
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ofw/fdt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ofw/ofw_gpio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ofw/ofw_pci.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ofw/ofw_pinctrl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/ofw/openfirm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/onewire
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/onewire/onewiredevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/onewire/onewiredevs_data.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/onewire/onewirereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/onewire/onewirevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/agpreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/agpvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/amas.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/auacerreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/auixpreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/auixpvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/autrireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/autrivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/auviavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/azalia.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/bktr
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/bktr/bktr_audio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/bktr/bktr_card.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/bktr/bktr_core.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/bktr/bktr_os.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/bktr/bktr_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/bktr/bktr_tuner.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/bt8370reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/cmpcireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/cmpcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/cs4280reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/cs4281reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/cy82c693reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/cy82c693var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/czreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/eapreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/emuxkireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/emuxkivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/envyreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/envyvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/esareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/esavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/esoreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/esovar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/fmsreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/fmsvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/gcu_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/gcu_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/glxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/glxvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/hifn7751reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/hifn7751var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/i82365_pcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ichreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_agereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_alcreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_alereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_bcereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_bgereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_bnxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_casreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_casvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_devar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_em.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_em_hw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_em_osdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_em_soc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_etreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_ipwreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_ipwvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_iwireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_iwivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_iwmreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_iwmvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_iwnreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_iwnvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_ix.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_ixgb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_ixgb_osdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_jmereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_jmevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_lgereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_liireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_mskvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_myxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_nfereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_nfevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_ngereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_ocereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_sereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_sisreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_skreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_skvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_stereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_stgereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_tlreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_txpreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_vgereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_vgevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_vmxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_vrreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_vtereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_wbreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_wpireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_wpivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/if_xgereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ixgb_ee.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ixgb_hw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ixgb_ids.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ixgbe.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ixgbe_type.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/mpiireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/neoreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pccbbreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pccbbvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pcidevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pcidevs_data.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_acard_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_acer_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_amd_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_apollo_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_cmd_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_cy693_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_hpt_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_i31244_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_ite_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_ixp_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_jmicron_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_natsemi_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_nforce_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_opti_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_pdc202xx_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_piix_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_rdc_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_sii3112_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_sis_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciide_svwsata_reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciidereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pciidevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pcireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pcscpreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/piixreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/plx9060reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/plx9060var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ppbreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/pucvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/qlereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/safereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/safevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/siop_pci_common.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/tgareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/tgavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ubsecreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ubsecvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/vga_pcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/vioblkreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/vioscsireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/virtioreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/virtiovar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ydsreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pci/ydsvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pckbc
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pckbc/pckbdreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pckbc/pckbdvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pckbc/pmsreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pckbc/wskbdmap_mfii.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/cfxgareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/gprio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/if_cnwreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/if_maloreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/if_malovar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/if_xereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/pcmciachip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/pcmciadevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/pcmciareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pcmcia/pcmciavar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv/hypervreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv/hypervvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv/if_hvnreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv/pvreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv/pvvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv/rndisreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv/xenreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/pv/xenvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/radio_if.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/radiovar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/rasops
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/rasops/rasops.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/rasops/rasops_bitops.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/rasops/rasops_masks.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/rndvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/asioreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/bereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/bppreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/cgsixreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/cgtwelvereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/cs4231var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/lebuffervar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/magmareg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/qecreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/qecvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/qereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/sbusvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/spifreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/spifvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/stp4020reg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/stp4020var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/uperf_sbusreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/xboxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/xboxvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sbus/zxreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc/sdhcreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc/sdhcvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc/sdmmc_ioreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc/sdmmc_scsi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc/sdmmcchip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc/sdmmcdevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc/sdmmcreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sdmmc/sdmmcvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/softraidvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/spdmemvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sun
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sun/disklabel.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sun/sunkbdreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sun/sunkbdvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sun/sunmsvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/sun/uperfio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/ascvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/if_levar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/ioasicreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/ioasicvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/tcdevs_data.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/tcdsreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/tcdsvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/tcreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/tc/tcvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/dwc2
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/dwc2/dwc2.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/dwc2/dwc2_core.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/dwc2/dwc2_hcd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/dwc2/dwc2_hw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/dwc2/dwc2var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/ehcireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/ehcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_athn_usb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_atureg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_auereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_axenreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_axereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_cdcereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_cuereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_kuereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_kuevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_mosreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_otusreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_ralreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_ralvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_rsureg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_rumreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_rumvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_runvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_smscreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_uathreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_uathvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_udavreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_umb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_upgtvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_urereg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_urlreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_urndisreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_urtwreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_wi_usb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/if_zydreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/mbim.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/ohcireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/ohcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uaudioreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/ucomvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/udl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/udlio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uftdireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uhcireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uhcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uhid_rdesc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uhidev.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/ukbdvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/umass_quirks.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/umass_scsi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/umassvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/umcs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/umct.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/umidi_quirks.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/umidireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/umidivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uoak.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uowreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usb_mem.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usb_quirks.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbcdc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbdevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbdevs_data.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbdi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbdi_util.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbdivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbfvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/usbhid.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uslhcomreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/utvfu.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/uvideo.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/xhcireg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/usb/xhcivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/video_if.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/videomode
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/videomode/ediddevs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/videomode/ediddevs_data.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/videomode/edidreg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/videomode/edidvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/videomode/vesagtf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/videomode/videomode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/vndioctl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/vscsivar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/ascii.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/unicode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wscons_callbacks.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wscons_features.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsconsio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsdisplay_usl_io.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsdisplayvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsemul_vt100var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsemulvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wseventvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wskbdraw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wskbdvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsksymdef.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsksymvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsmoused.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsmouseinput.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsmousevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wscons/wsmuxvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/bold8x16-iso1.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/bold8x16.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/gallant12x22.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/lucida16x29.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/omron12x20.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/qvss8x15.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/sony12x24.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/sony8x16.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/vt220l8x10.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/vt220l8x8.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/wsfont/wsfont.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/x86emu
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/x86emu/x86emu.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dev/x86emu/x86emu_regs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dirent.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/disktab.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/dlfcn.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/elf_abi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/endian.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/err.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/errno.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/eti.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/event.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/evutil.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/expat.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/expat_external.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/fcntl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/fenv.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/float.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/fnmatch.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/form.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/frame.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/fstab.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/fts.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ftw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/fuse.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/fuse_opt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/FlexLexer.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/atomic_word.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/basic_file.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/c++allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/c++config.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/c++io.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/c++locale.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/c++locale_internal.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/compatibility.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/cpu_defines.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/ctype_base.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/ctype_inline.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/ctype_noninline.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/cxxabi_tweaks.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/gthr-default.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/gthr-posix.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/gthr-single.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/gthr-tpf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/gthr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/messages_members.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/os_defines.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/arm-unknown-openbsd6.0/bits/time_members.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/algo.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/algobase.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/alloc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/backward_warning.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/bvector.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/complex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/defalloc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/deque.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/fstream.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/function.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/hash_map.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/hash_set.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/hashtable.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/heap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/iomanip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/iostream.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/istream.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/iterator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/list.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/map.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/multimap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/multiset.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/new.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/ostream.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/pair.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/queue.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/rope.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/set.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/slist.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/stack.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/stream.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/streambuf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/tempbuf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/tree.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/backward/vector.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/basic_ios.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/basic_string.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/boost_concept_check.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/char_traits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/codecvt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/concept_check.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/cpp_type_traits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/functexcept.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/gslice.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/gslice_array.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/indirect_array.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/ios_base.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/locale_classes.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/locale_facets.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/localefwd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/mask_array.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/ostream_insert.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/postypes.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/slice_array.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_algo.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_algobase.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_bvector.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_construct.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_deque.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_function.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_heap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_iterator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_iterator_base_funcs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_iterator_base_types.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_list.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_map.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_multimap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_multiset.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_numeric.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_pair.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_queue.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_raw_storage_iter.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_relops.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_set.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_stack.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_tempbuf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_tree.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_uninitialized.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stl_vector.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stream_iterator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/streambuf_iterator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/stringfwd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/valarray_after.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/valarray_array.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/bits/valarray_before.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/cxxabi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/debug.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/formatter.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/functions.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/hash_map.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/hash_multimap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/hash_multiset.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/hash_set.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/macros.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/map.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/multimap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/multiset.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/safe_base.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/safe_iterator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/safe_sequence.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/debug/set.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/exception_defines.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/array_allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/atomicity.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/bitmap_allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/codecvt_specializations.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/concurrence.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/debug_allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/hash_fun.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/hashtable.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/malloc_allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/mt_allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/new_allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/numeric_traits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/pod_char_traits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/pool_allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/rc_string_base.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/ropeimpl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/sso_string_base.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/stdio_filebuf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/stdio_sync_filebuf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/throw_allocator.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/type_traits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/typelist.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/vstring.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/vstring_fwd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/ext/vstring_util.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/bind_iterate.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/bind_repeat.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/boost_shared_ptr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/common.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/ctype.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/fenv.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/float.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/functional_hash.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/functional_iterate.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/hashtable_policy.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/inttypes.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/limits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/math.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/mu_iterate.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/ref_fwd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/ref_wrap_iterate.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/repeat.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/stdarg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/stdbool.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/stdint.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/stdio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/stdlib.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/tgmath.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/tuple_defs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/tuple_iterate.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/type_traits_fwd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/wchar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/g++/tr1/wctype.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/getopt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/glob.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/grp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/histedit.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/icdb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ieeefp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ifaddrs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/imsg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/inttypes.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/iso646.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/cd9660
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/cd9660/cd9660_extern.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/cd9660/cd9660_node.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/cd9660/cd9660_rrip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/cd9660/iso.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/cd9660/iso_rrip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/udf
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/udf/ecma167-udf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/udf/udf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/isofs/udf/udf_extern.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/keynote.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/kvm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/langinfo.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/libgen.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/limits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/link.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/link_elf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/locale.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/login_cap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/machine
-./usr/libdata/perl5/site_perl/arm-openbsd/math.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/md5.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/memory.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/menu.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/miscfs
-./usr/libdata/perl5/site_perl/arm-openbsd/miscfs/fifofs
-./usr/libdata/perl5/site_perl/arm-openbsd/miscfs/fifofs/fifo.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/miscfs/fuse
-./usr/libdata/perl5/site_perl/arm-openbsd/miscfs/fuse/fusefs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/miscfs/fuse/fusefs_node.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/mmintrin.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/msdosfs
-./usr/libdata/perl5/site_perl/arm-openbsd/msdosfs/bootsect.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/msdosfs/bpb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/msdosfs/denode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/msdosfs/direntry.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/msdosfs/fat.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/msdosfs/msdosfsmount.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ncurses.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ndbm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net
-./usr/libdata/perl5/site_perl/arm-openbsd/net/art.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/bpf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/bpfdesc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/ethertypes.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/hfsc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_arp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_bridge.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_dl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_enc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_etherip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_gif.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_gre.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_llc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_media.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_pflog.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_pflow.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_pfsync.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_ppp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_pppoe.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_pppvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_sppp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_trunk.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_tun.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_types.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_vlan_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/if_vxlan.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/ifq.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/netisr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/pfkeyv2.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/pfvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/pipex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/pipex_local.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/ppp-comp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/ppp_defs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/radix.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/radix_mpath.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/raw_cb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/route.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/rtable.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/slcompress.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/slip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net/trunklacp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_amrr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_crypto.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_ioctl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_node.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_priv.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_proto.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_radiotap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_regdomain.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_rssadapt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/net80211/ieee80211_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netdb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netgroup.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/icmp6.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/icmp_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/if_ether.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/igmp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/igmp_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/in.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/in_pcb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/in_systm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/in_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip6.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_ah.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_carp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_divert.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_ecn.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_esp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_ether.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_gre.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_icmp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_ipcomp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_ipip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_ipsp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_mroute.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/ip_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/pim.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/pim_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/tcp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/tcp_debug.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/tcp_fsm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/tcp_seq.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/tcp_timer.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/tcp_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/tcpip.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/udp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet/udp_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/in6.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/in6_ifattach.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/in6_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/ip6_divert.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/ip6_mroute.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/ip6_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/ip6protosw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/mld6.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/mld6_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/nd6.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/pim6.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/pim6_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/raw_ip6.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netinet6/tcpipv6.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/netmpls
-./usr/libdata/perl5/site_perl/arm-openbsd/netmpls/mpls.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/krpc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/nfs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/nfs_var.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/nfsdiskless.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/nfsm_subs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/nfsmount.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/nfsnode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/nfsproto.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/nfsrvcache.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/rpcv2.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nfs/xdr_subs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nl_types.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/nlist.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ntfs
-./usr/libdata/perl5/site_perl/arm-openbsd/ntfs/ntfs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ntfs/ntfs_compr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ntfs/ntfs_ihash.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ntfs/ntfs_inode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ntfs/ntfs_subr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ntfs/ntfs_vfsops.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ntfs/ntfsmount.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/NXConstStr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/Object.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/Protocol.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/encoding.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/hash.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/objc-api.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/objc-decls.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/objc-list.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/objc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/runtime.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/sarray.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/thr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/objc/typedstream.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ohash.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/aes.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/asn1.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/asn1_mac.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/asn1t.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/bio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/blowfish.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/bn.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/buffer.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/camellia.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/cast.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/chacha.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/cmac.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/cms.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/comp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/conf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/conf_api.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/crypto.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/des.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/dh.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/dsa.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/dso.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/dtls1.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ec.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ecdh.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ecdsa.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/engine.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/err.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/evp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/gost.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/hmac.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/idea.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/krb5_asn.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/lhash.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/md4.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/md5.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/modes.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/obj_mac.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/objects.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ocsp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/opensslconf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/opensslfeatures.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/opensslv.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ossl_typ.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/pem.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/pem2.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/pkcs12.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/pkcs7.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/poly1305.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/rand.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/rc2.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/rc4.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ripemd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/rsa.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/safestack.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/sha.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/srtp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ssl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ssl2.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ssl23.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ssl3.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/stack.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/tls1.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ts.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/txt_db.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ui.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/ui_compat.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/whrlpool.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/x509.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/x509_vfy.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/openssl/x509v3.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/panel.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/paths.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/pcap-namedb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/pcap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/poll.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/protocols
-./usr/libdata/perl5/site_perl/arm-openbsd/protocols/dumprestore.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/protocols/routed.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/protocols/rwhod.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/protocols/talkd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/protocols/timed.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/pthread.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/pthread_np.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/pwd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/radius.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ranlib.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readline
-./usr/libdata/perl5/site_perl/arm-openbsd/readline/chardefs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readline/history.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readline/keymaps.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readline/readline.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readline/rlconf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readline/rlstdc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readline/rltypedefs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readline/tilde.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/readpassphrase.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/regex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/resolv.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rmd160.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/auth.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/auth_unix.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/clnt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/pmap_clnt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/pmap_prot.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/pmap_rmt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/rpc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/rpc_des.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/rpc_msg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/svc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/svc_auth.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/types.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpc/xdr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/bootparam_prot.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/klm_prot.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/mount.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/nfs_prot.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/nlm_prot.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/rex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/rnusers.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/rquota.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/rstat.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/rusers.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/rwall.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/sm_inter.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/spray.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/yp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/yp_prot.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/ypclnt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/rpcsvc/yppasswd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sched.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/cd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/iscsi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/mpathvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/safte.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/scsi_all.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/scsi_changer.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/scsi_debug.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/scsi_disk.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/scsi_message.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/scsi_scanner.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/scsi_tape.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/scsiconf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/sdvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/scsi/ses.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/search.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/semaphore.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/setjmp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sha1.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sha2.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/signal.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/siphash.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/skey.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sndio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/soundcard.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/spawn.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sqlite3.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sqlite3ext.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ssl
-./usr/libdata/perl5/site_perl/arm-openbsd/stdarg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/stdbool.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/stddef.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/stdint.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/stdio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/stdlib.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/string.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/strings.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/struct.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/_endian.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/_time.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/_types.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/acct.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ataio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/atomic.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/audioio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/buf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/cdefs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/cdio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/chio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/conf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/core.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/device.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/dir.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/dirent.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/disk.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/disklabel.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/dkbad.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/dkio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/domain.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/endian.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/errno.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/evcount.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/event.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/eventvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/exec.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/exec_elf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/exec_script.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/extent.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/fcntl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/file.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/filedesc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/filio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/fusebuf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/gmon.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/gpio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/hibernate.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/hotplug.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ioccom.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ioctl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ipc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/kcore.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/kernel.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/kgdb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/kthread.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ktrace.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/limits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/lock.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/lockf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/malloc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/mbuf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/memrange.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/mman.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/mount.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/mplock.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/msg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/msgbuf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/mtio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/mutex.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/namei.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/param.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/pciio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/pipe.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/pledge.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/poll.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/pool.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/proc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/protosw.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ptrace.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/queue.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/radioio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/reboot.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/refcnt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/resource.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/resourcevar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/rwlock.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/scanio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/sched.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/scsiio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/select.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/selinfo.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/sem.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/sensors.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/shm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/siginfo.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/signal.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/signalvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/socket.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/socketvar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/sockio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/specdev.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/srp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/stat.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/statvfs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/stdarg.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/stdint.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/swap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/syscall.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/syscall_mi.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/syscallargs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/sysctl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/syslimits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/syslog.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/systm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/task.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/termios.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/time.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/timeout.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/times.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/timetc.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/tprintf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/tree.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/tty.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ttycom.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ttydefaults.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/types.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/ucred.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/uio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/un.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/unistd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/unpcb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/user.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/utsname.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/uuid.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/varargs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/videoio.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/vmmeter.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/vnode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sys/wait.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/sysexits.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/syslog.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/tar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/term.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/termcap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/termios.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/tgmath.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/tib.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/time.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/tls.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ttyent.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ext2fs
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ext2fs/ext2fs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ext2fs/ext2fs_dinode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ext2fs/ext2fs_dir.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ext2fs/ext2fs_extents.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ext2fs/ext2fs_extern.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ffs
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ffs/ffs_extern.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ffs/fs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ffs/softdep.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/mfs
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/mfs/mfs_extern.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/mfs/mfsnode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ufs
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ufs/dinode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ufs/dir.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ufs/dirhash.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ufs/inode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ufs/quota.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ufs/ufs_extern.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/ufs/ufs/ufsmount.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/unctrl.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/unistd.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/unwind.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/usbhid.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/util.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/utime.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/utmp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uuid.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_addr.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_amap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_anon.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_aobj.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_ddb.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_device.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_extern.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_fault.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_glue.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_km.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_map.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_object.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_page.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_pager.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_param.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_pmap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_pmemrange.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_swap.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_swap_encrypt.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvm_vnode.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/uvm/uvmexp.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/varargs.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/vis.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/wchar.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/wctype.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/zconf.ph
-./usr/libdata/perl5/site_perl/arm-openbsd/zlib.ph
-./usr/local/libdata/perl5/site_perl/arm-openbsd
-./usr/mdec/boot
-./usr/sbin/hotplugd
-./usr/sbin/pcidump
-./usr/sbin/wsconscfg
+++ /dev/null
-./usr/bin/addr2line
-./usr/bin/objcopy
-./usr/bin/readelf
-./usr/include/arm
-./usr/include/arm/_float.h
-./usr/include/arm/_types.h
-./usr/include/arm/apmvar.h
-./usr/include/arm/armreg.h
-./usr/include/arm/asm.h
-./usr/include/arm/atomic.h
-./usr/include/arm/bus.h
-./usr/include/arm/cdefs.h
-./usr/include/arm/conf.h
-./usr/include/arm/cpu.h
-./usr/include/arm/cpuconf.h
-./usr/include/arm/cpufunc.h
-./usr/include/arm/db_machdep.h
-./usr/include/arm/disklabel.h
-./usr/include/arm/endian.h
-./usr/include/arm/exec.h
-./usr/include/arm/fdt.h
-./usr/include/arm/fenv.h
-./usr/include/arm/fiq.h
-./usr/include/arm/fp.h
-./usr/include/arm/frame.h
-./usr/include/arm/ieee.h
-./usr/include/arm/ieeefp.h
-./usr/include/arm/isa_machdep.h
-./usr/include/arm/kcore.h
-./usr/include/arm/limits.h
-./usr/include/arm/lock.h
-./usr/include/arm/machdep.h
-./usr/include/arm/mutex.h
-./usr/include/arm/openpromio.h
-./usr/include/arm/param.h
-./usr/include/arm/pcb.h
-./usr/include/arm/pci_machdep.h
-./usr/include/arm/pio.h
-./usr/include/arm/pmap.h
-./usr/include/arm/proc.h
-./usr/include/arm/profile.h
-./usr/include/arm/pte.h
-./usr/include/arm/ptrace.h
-./usr/include/arm/reg.h
-./usr/include/arm/reloc.h
-./usr/include/arm/setjmp.h
-./usr/include/arm/signal.h
-./usr/include/arm/softintr.h
-./usr/include/arm/spinlock.h
-./usr/include/arm/stdarg.h
-./usr/include/arm/swi.h
-./usr/include/arm/sysarch.h
-./usr/include/arm/sysreg.h
-./usr/include/arm/tcb.h
-./usr/include/arm/trap.h
-./usr/include/arm/undefined.h
-./usr/include/arm/vmparam.h
-./usr/include/armish
-./usr/include/armish/_float.h
-./usr/include/armish/_types.h
-./usr/include/armish/apmvar.h
-./usr/include/armish/armish_intr.h
-./usr/include/armish/asm.h
-./usr/include/armish/atomic.h
-./usr/include/armish/bootconfig.h
-./usr/include/armish/bus.h
-./usr/include/armish/cdefs.h
-./usr/include/armish/conf.h
-./usr/include/armish/cpu.h
-./usr/include/armish/db_machdep.h
-./usr/include/armish/disklabel.h
-./usr/include/armish/endian.h
-./usr/include/armish/exec.h
-./usr/include/armish/fenv.h
-./usr/include/armish/fp.h
-./usr/include/armish/frame.h
-./usr/include/armish/ieee.h
-./usr/include/armish/ieeefp.h
-./usr/include/armish/intr.h
-./usr/include/armish/limits.h
-./usr/include/armish/loadfile_machdep.h
-./usr/include/armish/lock.h
-./usr/include/armish/mutex.h
-./usr/include/armish/param.h
-./usr/include/armish/pcb.h
-./usr/include/armish/pci_machdep.h
-./usr/include/armish/pio.h
-./usr/include/armish/pmap.h
-./usr/include/armish/proc.h
-./usr/include/armish/profile.h
-./usr/include/armish/ptrace.h
-./usr/include/armish/reg.h
-./usr/include/armish/reloc.h
-./usr/include/armish/setjmp.h
-./usr/include/armish/signal.h
-./usr/include/armish/spinlock.h
-./usr/include/armish/stdarg.h
-./usr/include/armish/sysarch.h
-./usr/include/armish/tcb.h
-./usr/include/armish/trap.h
-./usr/include/armish/vmparam.h
-./usr/include/g++/arm-unknown-openbsd6.0
-./usr/include/g++/arm-unknown-openbsd6.0/bits
-./usr/include/g++/arm-unknown-openbsd6.0/bits/atomic_word.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/basic_file.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/c++allocator.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/c++config.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/c++io.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/c++locale.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/c++locale_internal.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/compatibility.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/cpu_defines.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/ctype_base.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/ctype_inline.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/ctype_noninline.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/cxxabi_tweaks.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/gthr-default.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/gthr-posix.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/gthr-single.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/gthr-tpf.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/gthr.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/messages_members.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/os_defines.h
-./usr/include/g++/arm-unknown-openbsd6.0/bits/time_members.h
-./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++/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++/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++/ios
-./usr/include/g++/istream
-./usr/include/g++/limits
-./usr/include/g++/locale
-./usr/include/g++/ostream
-./usr/include/g++/streambuf
-./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/ieeefp.h
-./usr/include/mmintrin.h
-./usr/include/objc/objc-decls.h
-./usr/include/objc/runtime.h
-./usr/include/unwind.h
-./usr/lib/crtbegin.o
-./usr/lib/crtbeginS.o
-./usr/lib/crtend.o
-./usr/lib/crtendS.o
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0/4.2.1/cc1
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0/4.2.1/cc1obj
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0/4.2.1/cc1plus
-./usr/lib/gcc-lib/arm-unknown-openbsd6.0/4.2.1/libgcov.a
-./usr/lib/libarm.a
-./usr/lib/libarm_p.a
-./usr/lib/libstdc++_p.a
-./usr/lib/libsupc++.a
-./usr/lib/libsupc++_p.a
-./usr/libdata/ldscripts
-./usr/libdata/ldscripts/armelf_obsd.x
-./usr/libdata/ldscripts/armelf_obsd.xbn
-./usr/libdata/ldscripts/armelf_obsd.xc
-./usr/libdata/ldscripts/armelf_obsd.xn
-./usr/libdata/ldscripts/armelf_obsd.xr
-./usr/libdata/ldscripts/armelf_obsd.xs
-./usr/libdata/ldscripts/armelf_obsd.xsc
-./usr/libdata/ldscripts/armelf_obsd.xsw
-./usr/libdata/ldscripts/armelf_obsd.xu
-./usr/libdata/ldscripts/armelf_obsd.xw
-./usr/libdata/ldscripts/armelf_obsd.xz
-./usr/libdata/ldscripts/armelfb_obsd.x
-./usr/libdata/ldscripts/armelfb_obsd.xbn
-./usr/libdata/ldscripts/armelfb_obsd.xc
-./usr/libdata/ldscripts/armelfb_obsd.xn
-./usr/libdata/ldscripts/armelfb_obsd.xr
-./usr/libdata/ldscripts/armelfb_obsd.xs
-./usr/libdata/ldscripts/armelfb_obsd.xsc
-./usr/libdata/ldscripts/armelfb_obsd.xsw
-./usr/libdata/ldscripts/armelfb_obsd.xu
-./usr/libdata/ldscripts/armelfb_obsd.xw
-./usr/libdata/ldscripts/armelfb_obsd.xz
-./usr/share/info/bfd.info
./usr/share/man/man2/amd64
./usr/share/man/man2/amd64/amd64_get_fsbase.2
./usr/share/man/man2/amd64/amd64_iopl.2
-./usr/share/man/man2/armish
-./usr/share/man/man2/armish/arm_drain_writebuf.2
-./usr/share/man/man2/armish/arm_sync_icache.2
./usr/share/man/man2/bind.2
./usr/share/man/man2/brk.2
./usr/share/man/man2/chdir.2
./usr/share/man/man4/aps.4
./usr/share/man/man4/arc.4
./usr/share/man/man4/arcofi.4
-./usr/share/man/man4/armish
-./usr/share/man/man4/armish/autoconf.4
-./usr/share/man/man4/armish/intro.4
-./usr/share/man/man4/armish/mem.4
./usr/share/man/man4/armv7
./usr/share/man/man4/armv7/cpsw.4
./usr/share/man/man4/armv7/dmtimer.4
./usr/share/man/man5/aliases.5
./usr/share/man/man5/amd64
./usr/share/man/man5/ar.5
-./usr/share/man/man5/armish
./usr/share/man/man5/bgpd.conf.5
./usr/share/man/man5/bootparams.5
./usr/share/man/man5/bsd.port.arch.mk.5
./usr/share/man/man8/amd64/pxeboot.8
./usr/share/man/man8/amd64/wsmoused.8
./usr/share/man/man8/amq.8
-./usr/share/man/man8/armish
-./usr/share/man/man8/armish/MAKEDEV.8
-./usr/share/man/man8/armish/boot.8
./usr/share/man/man8/armv7
./usr/share/man/man8/armv7/MAKEDEV.8
./usr/share/man/man8/armv7/eeprom.8
-# $OpenBSD: Makefile,v 1.5 2016/03/09 16:28:45 deraadt Exp $
+# $OpenBSD: Makefile,v 1.6 2016/08/10 14:27:15 deraadt Exp $
PROG= disklabel
SRCS= disklabel.c dkcksum.c editor.c manual.c
CFLAGS+= -DSEEALSO="\"fdisk(8), installboot(8)\""
.endif
-.if (${MACHINE} == "armish") || (${MACHINE} == "loongson")
+.if (${MACHINE} == "armv7") || (${MACHINE} == "loongson")
CFLAGS+= -DSEEALSO="\"fdisk(8)\""
.endif
-# $OpenBSD: Makefile,v 1.6 2016/05/11 21:52:48 deraadt Exp $
+# $OpenBSD: Makefile,v 1.7 2016/08/10 14:27:15 deraadt Exp $
.PATH: ${.CURDIR}/../../../usr.sbin/installboot
SRCS += i386_softraid.c
.endif
-.if ${MACHINE} == "armish"
-SRCS += stubs.c
-.endif
-
.if ${MACHINE} == "armv7"
SRCS += stubs.c
.endif
-# $OpenBSD: Makefile,v 1.426 2016/08/09 21:24:31 halex Exp $
+# $OpenBSD: Makefile,v 1.427 2016/08/10 14:27:15 deraadt Exp $
TZDIR= /usr/share/zoneinfo
LOCALTIME= Canada/Mountain
release allarchs kernels release-sets m4 install-mtree \
bootblocks ${ALL_KERNELS}
-SUBDIR+= etc.alpha etc.amd64 etc.armish etc.armv7
+SUBDIR+= etc.alpha etc.amd64 etc.armv7
SUBDIR+= etc.hppa etc.i386 etc.landisk etc.loongson etc.luna88k
SUBDIR+= etc.macppc etc.octeon
SUBDIR+= etc.sgi etc.socppc etc.sparc etc.sparc64 etc.zaurus
+++ /dev/null
-#!/bin/sh -
-#
-# THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
-# generated from:
-#
-# OpenBSD: etc.armish/MAKEDEV.md,v 1.37 2016/04/28 18:17:31 natano Exp
-# OpenBSD: MAKEDEV.common,v 1.88 2016/05/21 15:17:49 deraadt Exp
-# OpenBSD: MAKEDEV.mi,v 1.82 2016/03/12 17:58:59 espie Exp
-# OpenBSD: MAKEDEV.sub,v 1.14 2005/02/07 06:14:18 david Exp
-#
-#
-# Copyright (c) 2001-2004 Todd T. Fries <todd@OpenBSD.org>
-#
-# 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
-# ch* SCSI media changers
-# rd* "rd" pseudo-disks
-# sd* SCSI disks, including flopticals
-# vnd* "file" pseudo-disk devices
-# wd* "winchester" disk drives (ST506, IDE, ESDI, RLL, ...)
-# Tapes:
-# 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
-# wsmouse* wscons mice
-# wsmux wscons keyboard/mouse mux devices
-# USB devices:
-# ttyU* USB serial ports
-# uall All USB devices
-# ugen* Generic USB devices
-# uhid* Generic HID devices
-# ulpt* Printer devices
-# usb* Bus control devices used by usbd for attach/detach
-# Special purpose devices:
-# apm Power management device
-# audio* Audio devices
-# bio ioctl tunnel pseudo-device
-# bktr* Video frame grabbers
-# 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
-# radio* FM tuner devices
-# *random In-kernel random data source
-# rmidi* Raw MIDI devices
-# tun* Network tunnel driver
-# tap* Ethernet tunnel driver
-# uk* Unknown SCSI devices
-# tuner* Tuner devices
-# video* Video V4L2 devices
-# vscsi* Virtual SCSI controller
-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
-ramdisk)
- R std bpf wd0 wd1 sd0 tty00 rd0 wsmouse
- R st0 ttyC0 wskbd0 apm bio diskmap random
- ;;
-
-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 7 0
- M stdout c 7 1
- M stderr c 7 2
- M ksyms c 8 0 640 kmem
- M klog c 6 0 600
- ;;
-
-vscsi*)
- M vscsi$U c 100 $U 600
- ;;
-
-video*)
- M video$U c 38 $U 600
- MKlist[${#MKlist[*]}]=";[ -e video ] || ln -s video$U video"
- ;;
-
-tuner*)
- M tuner$U c 75 $(($(($U*2))+16)) 644
- ;;
-
-uk*)
- M uk$U c 28 $U 640 operator
- ;;
-
-tap*)
- M tap$U c 104 $U 600
- ;;
-
-tun*)
- M tun$U c 33 $U 600
- ;;
-
-rmidi*)
- M rmidi$U c 57 $U 666
- ;;
-
-*random)
- n=0
- for pre in " " s u a
- do
- M ${pre}random c 40 $n 644
- n=$(($n+1))
- done
- ;;
-
-radio*)
- M radio$U c 97 $U
- MKlist[${#MKlist[*]}]=";[ -e radio ] || ln -s radio$U radio"
- ;;
-
-pppx*)
- M pppx$U c 103 $U 600
- ;;
-
-pf*)
- M pf c 46 0 600
- ;;
-
-pci*)
- M pci$U c 88 $U 600
- MKlist[${#MKlist[*]}]=";[ -h pci ] || ln -sf pci0 pci"
- ;;
-
-hotplug)
- M hotplug c 37 $U 400
- ;;
-
-fuse)
- M fuse$U c 77 $U 600
- ;;
-
-fd)
- RMlist[${#RMlist[*]}]=";mkdir -p fd;rm -f" n=0
- while [ $n -lt 64 ];do M fd/$n c 7 $n;n=$(($n+1));done
- MKlist[${#MKlist[*]}]=";chmod 555 fd"
- ;;
-
-diskmap)
- M diskmap c 102 0 640 operator
- ;;
-
-bpf)
- M bpf c 22 0 600
- M bpf0 c 22 0 600
- ;;
-
-bktr*)
- M bktr$U c 75 $U 644
- ;;
-
-bio)
- M bio c 52 0 600
- ;;
-
-audio*)
- M sound$U c 36 $U
- M mixer$U c 36 $(($U+16))
- M audio$U c 36 $(($U+128))
- M audioctl$U c 36 $(($U+192))
- MKlist[${#MKlist[*]}]=";[ -e audio ] || ln -s audio$U audio"
- MKlist[${#MKlist[*]}]=";[ -e mixer ] || ln -s mixer$U mixer"
- MKlist[${#MKlist[*]}]=";[ -e sound ] || ln -s sound$U sound"
- MKlist[${#MKlist[*]}]=";[ -e audioctl ] || ln -s audioctl$U audioctl"
- ;;
-
-apm*)
- M apm c 34 0 644
- M apmctl c 34 8 644
- ;;
-
-usb*)
- [ "$i" = "usb" ] && u= || u=$U
- M usb$u c 64 $U 660
- ;;
-
-ulpt*)
- M ulpt$U c 66 $U 660
- ;;
-
-uhid*)
- M uhid$U c 65 $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 70 $(($n+10#$j)) 660
- done
- ;;
-
-uall)
- R ttyU0 ttyU1 ttyU2 ttyU3 ugen0 ugen1 ugen2 ugen3 ugen4 ugen5
- R ugen6 ugen7 ulpt0 ulpt1 uhid0 uhid1 uhid2 uhid3 usb0 usb1
- R usb2 usb3 usb4 usb5 usb6 usb7
- ;;
-
-ttyU[0-9a-zA-Z])
- U=${i#ttyU*}
- o=$(alph2d $U)
- M ttyU$U c 68 $o 660 dialer uucp
- M cuaU$U c 68 $(($o+128)) 660 dialer uucp
- ;;
-
-wsmux|wsmouse|wskbd)
- M wsmouse c 63 0 600
- M wskbd c 63 1 600
- ;;
-
-wsmouse[0-9]*)
- M wsmouse$U c 62 $U 600
- ;;
-
-wskbd[0-9]*)
- M wskbd$U c 61 $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 60 $((16#$U+$m)) 600;;
- cfg) M tty${n}cfg c 60 $((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 98 0 666
- ;;
-
-tty[0-7][0-9a-f])
- U=${i#tty*}
- o=$(h2d $U)
- M tty$U c 12 $o 660 dialer uucp
- M cua$U c 12 $(($o+128)) 660 dialer uucp
- ;;
-
-st*)
- n=$(($U*16))
- for pre in " " n e en
- do
- M ${pre}st$U b 25 $n 660 operator
- M ${pre}rst$U c 25 $n 660 operator
- n=$(($n+1))
- done
- ;;
-
-vnd*)
- dodisk vnd $U 19 19 $U 0
- ;;
-
-rd*)
- dodisk2 rd $U 18 18 $U 0
- ;;
-
-ch*)
- M ch$U c 27 $U 660 operator
- ;;
-
-cd*)
- dodisk2 cd $U 26 26 $U 0
- ;;
-
-local)
- test -s $T.local && sh $T.local
- ;;
-
-all)
- R vnd0 vnd1 vnd2 vnd3 sd0 sd1 sd2 sd3 sd4 sd5 sd6 sd7 sd8 sd9
- R cd0 cd1 rd0 tap0 tap1 tap2 tap3 tun0 tun1 tun2 tun3 bio pty0
- R diskmap vscsi0 ch0 audio0 audio1 audio2 bpf fuse pppx
- R hotplug ptm local wscons pci0 pci1 pci2 pci3 uall rmidi0
- R rmidi1 rmidi2 rmidi3 rmidi4 rmidi5 rmidi6 rmidi7 tuner0
- R radio0 video0 video1 uk0 random tty00 tty01 tty02 tty03
- R tty04 tty05 tty06 tty07 tty08 tty09 tty0a tty0b apm pf wd0
- R wd1 wd2 wd3 std st0 st1 fd
- ;;
-
-wd*|sd*)
- case $i in
- wd*) dodisk wd $U 16 16 $U 0;;
- sd*) dodisk sd $U 24 24 $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
+++ /dev/null
-define(MACHINE,armish)dnl
-vers(__file__,
- {-$OpenBSD: MAKEDEV.md,v 1.37 2016/04/28 18:17:31 natano Exp $-},
-etc.MACHINE)dnl
-dnl
-dnl Copyright (c) 2001-2004 Todd T. Fries <todd@OpenBSD.org>
-dnl All rights reserved.
-dnl
-dnl Redistribution and use in source and binary forms, with or without
-dnl modification, are permitted provided that the following conditions
-dnl are met:
-dnl 1. Redistributions of source code must retain the above copyright
-dnl notice, this list of conditions and the following disclaimer.
-dnl 2. The name of the author may not be used to endorse or promote products
-dnl derived from this software without specific prior written permission.
-dnl
-dnl THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
-dnl INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
-dnl AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
-dnl THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-dnl EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-dnl PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-dnl OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-dnl WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-dnl OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-dnl ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-dnl
-dnl
-__devitem(apm, apm, Power management device)dnl
-_TITLE(make)
-_DEV(all)
-_DEV(ramdisk)
-_DEV(std)
-_DEV(local)
-_TITLE(dis)
-_DEV(cd, 26, 26)
-_DEV(ch, 27)
-_DEV(rd, 18, 18)
-_DEV(sd, 24, 24)
-_DEV(vnd, 19, 19)
-_DEV(wd, 16, 16)
-_TITLE(tap)
-_DEV(st, 25, 25)
-_TITLE(term)
-dnl _DEV(com, 12)
-dnl _DEV(fcom, 54)
-_DEV(com, 12)
-_TITLE(pty)
-_DEV(ptm, 98)
-_DEV(pty, 5)
-_DEV(tty, 4)
-_TITLE(cons)
-_DEV(wsdisp, 60)
-_DEV(wscons)
-_DEV(wskbd, 61)
-_DEV(wsmouse, 62)
-_DEV(wsmux, 63)
-_TITLE(usb)
-_DEV(ttyU, 68)
-_DEV(uall)
-_DEV(ugen, 70)
-_DEV(uhid, 65)
-_DEV(ulpt, 66)
-_DEV(usb, 64)
-_TITLE(spec)
-_DEV(apm, 34)
-_DEV(au, 36)
-_DEV(bio, 52)
-_DEV(bktr, 75)
-_DEV(bpf, 22)
-_DEV(diskmap, 102)
-_DEV(fdesc, 7)
-_DEV(fuse, 77)
-_DEV(hotplug, 37)
-_DEV(pci, 88)
-_DEV(pf, 46)
-_DEV(pppx, 103)
-_DEV(radio, 97)
-_DEV(rnd, 40)
-_DEV(rmidi, 57)
-_DEV(tun, 33)
-_DEV(tap, 104)
-_DEV(uk, 28)
-_DEV(tuner, 75)
-_DEV(vi, 38)
-_DEV(vscsi, 100)
-dnl
-divert(__mddivert)dnl
-dnl
-ramdisk)
- _recurse std bpf wd0 wd1 sd0 tty00 rd0 wsmouse
- _recurse st0 ttyC0 wskbd0 apm bio diskmap random
- ;;
-
-_std(1, 2, 8, 6)
- ;;
-dnl
-dnl *** armish 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
-twrget(all, flo, fd, 0, 0B, 0C, 0D, 0E, 0F, 0G, 0H)dnl
-twrget(all, flo, fd, 1, 1B, 1C, 1D, 1E, 1F, 1G, 1H)dnl
-target(all, pty, 0)dnl
-target(all, bio)dnl
-target(all, tun, 0, 1, 2, 3)dnl
-target(all, tap, 0, 1, 2, 3)dnl
-target(all, xy, 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
+++ /dev/null
-# $OpenBSD: Makefile,v 1.2 2008/06/15 01:51:55 todd Exp $
-
-all: MAKEDEV
-
-.include <bsd.prog.mk>
+++ /dev/null
-# $OpenBSD: Makefile.inc,v 1.9 2011/07/22 09:30:54 espie Exp $
-
-bootblocks:
- cp ${DESTDIR}/usr/mdec/boot ${RELEASEDIR}
-
-MDEXT= bsd.rd boot
+++ /dev/null
-# $OpenBSD: disktab,v 1.4 2015/08/14 23:45:55 krw Exp $
-
-# Leave nc=16; adjust size using: ns
-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:
-
-
-rdroot2.5M|ramdiskroot2.5M|RAM-disk root FS image:\
- :dt=rdroot:se#512:nc#16:nt#2:ns#160:\
- :oa#0:pa#5120:ta=4.2BSD:fa#512:ba#4096:\
- :ob#0:pb#0:tb=swap:\
- :oc#0:pc#5120:
-
-# pseudo-geometry taken from rd794
-miniroot:\
- :dt=rdroot:ns#16:nt#7:nc#968:\
- :pa#10240:ba#8192:fa#1024:
-
-floppy|floppy3|3in|3.5in High Density Floppy:\
- :dt=floppy:se#512:nt#2:ns#18:nc#80:\
- :pa#2880:oa#0:ba#4096:fa#512:\
- :pb#2880:ob#0:\
- :pc#2880:oc#0:
-
+++ /dev/null
-/dev/tty00 0600 /dev/console
+++ /dev/null
-# $OpenBSD: login.conf,v 1.5 2015/10/23 22:55:49 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-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-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-cur=512:\
- :tc=daemon:
-
-unbound:\
- :openfiles-cur=512:\
- :tc=daemon:
+++ /dev/null
-#
-# $OpenBSD: ttys,v 1.4 2008/01/09 17:39:42 miod 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
-# $OpenBSD: 4.4BSD.dist,v 1.282 2016/05/11 21:52:48 deraadt Exp $
+# $OpenBSD: 4.4BSD.dist,v 1.283 2016/08/10 14:27:16 deraadt Exp $
/set type=dir uname=root gname=wheel mode=0755
..
amd64
..
- armish
- ..
i386
..
zaurus
..
amd64
..
- armish
- ..
armv7
..
hppa
man5
amd64
..
- armish
- ..
hppa
..
i386
..
amd64
..
- armish
- ..
armv7
..
hppa
-# $OpenBSD: Makefile,v 1.6 2009/09/24 19:53:47 miod Exp $
+# $OpenBSD: Makefile,v 1.7 2016/08/10 14:27:16 deraadt Exp $
MAN+= arm_sync_icache.2 arm_drain_writebuf.2
-MANSUBDIR=armish zaurus
+MANSUBDIR=zaurus
.if ${MACHINE_ARCH} == "arm"
NOPIC=
-# $OpenBSD: Makefile,v 1.31 2016/05/11 21:52:49 deraadt Exp $
+# $OpenBSD: Makefile,v 1.32 2016/08/10 14:27:16 deraadt Exp $
-MAKEDEVARCHS+=alpha amd64 armish hppa i386 landisk
+MAKEDEVARCHS+=alpha amd64 armv7 hppa i386 landisk
MAKEDEVARCHS+=loongson luna88k macppc
MAKEDEVARCHS+=sgi socppc sparc sparc64 vax zaurus
-# $OpenBSD: Makefile,v 1.61 2016/03/09 16:28:47 deraadt Exp $
+# $OpenBSD: Makefile,v 1.62 2016/08/10 14:27:16 deraadt Exp $
PROG= disklabel
SRCS= disklabel.c dkcksum.c editor.c manual.c
CFLAGS+= -DSEEALSO="\"fdisk(8), installboot(8)\""
.endif
-.if (${MACHINE} == "armish") || (${MACHINE} == "loongson")
+.if (${MACHINE} == "armv7") || (${MACHINE} == "loongson")
CFLAGS+= -DSEEALSO="\"fdisk(8)\""
.endif
-# $OpenBSD: Makefile,v 1.629 2016/08/03 22:46:44 jcs Exp $
+# $OpenBSD: Makefile,v 1.630 2016/08/10 14:27:16 deraadt Exp $
MAN= aac.4 ac97.4 acphy.4 \
acpi.4 acpiac.4 acpials.4 acpiasus.4 acpibat.4 \
xe.4 xen.4 xf86.4 xge.4 xhci.4 xl.4 xmphy.4 xnf.4 xspd.4 \
yds.4 ym.4 zero.4 zyd.4
-SUBDIR= man4.alpha man4.amd64 man4.armish man4.armv7 \
+SUBDIR= man4.alpha man4.amd64 man4.armv7 \
man4.hppa man4.i386 man4.landisk man4.loongson man4.luna88k \
man4.macppc man4.octeon \
man4.sgi man4.socppc man4.sparc man4.sparc64 man4.zaurus
-.\" $OpenBSD: com.4,v 1.36 2016/04/10 04:04:26 visa Exp $
+.\" $OpenBSD: com.4,v 1.37 2016/08/10 14:27:16 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.
.\"
.\" from: @(#)dca.4 5.2 (Berkeley) 3/27/91
.\"
-.Dd $Mdocdate: April 10 2016 $
+.Dd $Mdocdate: August 10 2016 $
.Dt COM 4
.Os
.Sh NAME
.Cd "com0 at isa? port 0x3f8 irq 4"
.Cd "com1 at isa? port 0x2f8 irq 3"
.Pp
-.Cd "# armish"
-.Cd "com0 at obio? addr 0xfe800000 xint 3"
-.Pp
.Cd "# hppa"
.Cd "com0 at gsc? offset 0x5000 irq 5"
.Cd "com0 at gsc? offset 0x823000 irq 5"
-.\" $OpenBSD: iic.4,v 1.86 2016/05/16 14:58:29 kettenis Exp $
+.\" $OpenBSD: iic.4,v 1.87 2016/08/10 14:27:16 deraadt Exp $
.\"
.\" Copyright (c) 2004, 2006 Alexander Yurchenko <grange@openbsd.org>
.\"
.\" 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 16 2016 $
+.Dd $Mdocdate: August 10 2016 $
.Dt IIC 4
.Os
.Sh NAME
.Cd "iic* at glxpcib? # i386"
.Cd "iic* at gscsio? # i386"
.Cd "iic* at ichiic? # amd64 i386"
-.Cd "iic* at iopiic? # armish"
.Cd "iic* at nviic? # amd64 i386"
.Cd "iic* at pcfiic? # sparc64"
.Cd "iic* at piixpm? # amd64 i386"
+++ /dev/null
-# $OpenBSD: Makefile,v 1.2 2016/03/30 06:38:44 jmc Exp $
-
-# TODO: aupxa(eventually) cpu
-MAN= autoconf.4 intro.4 mem.4
-
-MANSUBDIR=armish
-
-.include <bsd.prog.mk>
+++ /dev/null
-.\" $OpenBSD: autoconf.4,v 1.2 2007/05/31 19:19:53 jmc 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 31 2007 $
-.Dt AUTOCONF 4 armish
-.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, mass storage, 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_armish 8 ,
-.Xr config 8
+++ /dev/null
-.\" $OpenBSD: intro.4,v 1.9 2014/09/19 12:24:37 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 armish
-.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 armish 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 autoconfiguration system is described in
-.Xr autoconf 4 .
-A list of the supported devices is given below.
-.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 "cardbus(4)XX" -offset 3n -compact
-.It Xr iic 4
-Inter IC (I2C) bus
-.It Xr onewire 4
-1-Wire bus
-.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
-armish
-.Nm intro
-first appeared in
-.Ox 4.0 .
+++ /dev/null
-.\" $OpenBSD: mem.4,v 1.2 2007/05/31 19:19:53 jmc Exp $
-.\"
-.\" Copyright (c) 1991 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.
-.\"
-.\" from: @(#)mem.4 5.3 (Berkeley) 5/2/91
-.\"
-.Dd $Mdocdate: May 31 2007 $
-.Dt MEM 4 armish
-.Os
-.Sh NAME
-.Nm mem ,
-.Nm kmem
-.Nd memory files
-.Sh DESCRIPTION
-The special 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.
-Only offsets within the bounds of
-.Pa /dev/mem
-are allowed.
-.Pp
-Kernel virtual memory is accessed through the interface
-.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 armish, physical memory is contiguous.
-The kernel virtual memory begins at address
-.Li 0xc0000000 .
-.Pp
-Writeability of these devices is controlled by the system
-.Xr securelevel 7 .
-.Sh FILES
-.Bl -tag -width Pa -compact
-.It Pa /dev/mem
-.It Pa /dev/kmem
-.El
-.Sh SEE ALSO
-.Xr securelevel 7
-.Sh HISTORY
-The
-.Pa /dev/mem
-and
-.Pa /dev/kmem
-files appeared in
-.At v6 .
-.\" $OpenBSD: pci.4,v 1.350 2016/08/09 23:27:33 czarkoff Exp $
+.\" $OpenBSD: pci.4,v 1.351 2016/08/10 14:27:16 deraadt Exp $
.\" $NetBSD: pci.4,v 1.29 2000/04/01 00:32:23 tsarna Exp $
.\"
.\" Copyright (c) 2000 Theo de Raadt. All rights reserved.
.\" (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: August 9 2016 $
+.Dd $Mdocdate: August 10 2016 $
.Dt PCI 4
.Os
.Sh NAME
.Cd "# amd64, i386"
.Cd "pci* at mainbus0"
.Pp
-.Cd "# armish"
-.Cd "pci* at iopxs0"
-.Pp
.Cd "# hppa"
.Cd "pci* at dino?"
.Cd "pci* at elroy?"
-# $OpenBSD: Makefile,v 1.93 2016/05/11 21:52:49 deraadt Exp $
+# $OpenBSD: Makefile,v 1.94 2016/08/10 14:27:16 deraadt Exp $
# $NetBSD: Makefile,v 1.13 1996/03/28 21:36:40 mark Exp $
# @(#)Makefile 8.1 (Berkeley) 6/5/93
rc.conf.8 rc.d.8 rc.shutdown.8 rc.subr.8 release.8 \
security.8 ssl.8 starttls.8 sticky.8 yp.8
-SUBDIR= man8.alpha man8.amd64 man8.armish man8.armv7 \
+SUBDIR= man8.alpha man8.amd64 man8.armv7 \
man8.hppa man8.i386 man8.landisk \
man8.loongson man8.luna88k man8.macppc \
man8.octeon man8.sgi man8.socppc man8.sparc man8.sparc64 \
+++ /dev/null
-.\" $OpenBSD: MAKEDEV.8,v 1.45 2016/04/28 18:17:31 natano Exp $
-.\"
-.\" THIS FILE AUTOMATICALLY GENERATED. DO NOT EDIT.
-.\" generated from:
-.\"
-.\" OpenBSD: etc.armish/MAKEDEV.md,v 1.36 2016/04/25 20:38:10 tedu Exp
-.\" OpenBSD: MAKEDEV.common,v 1.86 2016/04/25 20:39:42 tedu 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 <todd@OpenBSD.org>
-.\"
-.\" 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: April 28 2016 $
-.Dt MAKEDEV 8 armish
-.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.
-.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 armish supports the following devices:
-.Pp
-.Sy Special device names
-.Bl -tag -width tenletters -compact
-.It Ar all
-Creates special files for all devices on armish.
-.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 ch*
-SCSI media changers, see
-.Xr ch 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 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 wsmouse*
-wscons mice, see
-.Xr wsmouse 4 .
-.It Ar wsmux
-wscons keyboard/mouse mux devices, see
-.Xr wsmux 4 .
-.El
-.Pp
-.Sy USB devices
-.Bl -tag -width tenletters -compact
-.It Ar ttyU*
-USB serial ports, see
-.Xr ucom 4 .
-.It Ar uall
-All USB devices, see
-.Xr usb 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 apm
-Power management device, see
-.Xr apm 4 .
-.It Ar audio*
-Audio devices, see
-.Xr audio 4 .
-.It Ar bio
-ioctl tunnel pseudo-device, see
-.Xr bio 4 .
-.It Ar bktr*
-Video frame grabbers, see
-.Xr bktr 4 .
-.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 radio*
-FM tuner devices, see
-.Xr radio 4 .
-.It Ar *random
-In-kernel random data source, see
-.Xr random 4 .
-.It Ar rmidi*
-Raw MIDI devices, see
-.Xr midi 4 .
-.It Ar tun*
-Network tunnel driver, see
-.Xr tun 4 .
-.It Ar tap*
-Ethernet tunnel driver, see
-.Xr tap 4 .
-.It Ar uk*
-Unknown SCSI devices, see
-.Xr uk 4 .
-.It Ar tuner*
-Tuner devices, see
-.Xr bktr 4 .
-.It Ar video*
-Video V4L2 devices, see
-.Xr video 4 .
-.It Ar vscsi*
-Virtual SCSI controller, see
-.Xr vscsi 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
+++ /dev/null
-# $OpenBSD: Makefile,v 1.1 2006/06/06 00:01:50 drahn Exp $
-
-MAN= MAKEDEV.8
-MANSUBDIR=armish
-
-.include <bsd.prog.mk>
-# $OpenBSD: Makefile,v 1.45 2016/05/11 21:52:49 deraadt Exp $
+# $OpenBSD: Makefile,v 1.46 2016/08/10 14:27:16 deraadt Exp $
# $NetBSD: Makefile,v 1.5 1995/09/15 21:05:21 pk Exp $
SUBDIR= dev/microcode \
- arch/alpha arch/amd64 arch/armish arch/armv7 \
+ arch/alpha arch/amd64 arch/armv7 \
arch/hppa arch/i386 \
arch/landisk arch/loongson arch/luna88k \
arch/macppc arch/octeon \
+++ /dev/null
-# $OpenBSD: Makefile,v 1.7 2016/05/31 18:37:03 tedu Exp $
-
-S= ${.CURDIR}/../..
-KFILE= GENERIC
-.if exists(conf/GENERIC.MP)
-KFILE= GENERIC.MP
-.endif
-TDIRS= ${_arch} include
-TAGS= ${.CURDIR}/tags
-
-NOPROG=
-NOMAN=
-NOOBJ=
-SUBDIR= stand
-
-# 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 <bsd.prog.mk>
+++ /dev/null
-/* $OpenBSD: armish_machdep.c,v 1.40 2016/08/08 19:27:12 kettenis Exp $ */
-/* $NetBSD: lubbock_machdep.c,v 1.2 2003/07/15 00:25:06 lukem Exp $ */
-
-/*
- * Copyright (c) 2001, 2002, 2003 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.
- */
-
-/*
- * Copyright (c) 1997,1998 Mark Brinicombe.
- * Copyright (c) 1997,1998 Causality Limited.
- * 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 Mark Brinicombe
- * for the NetBSD Project.
- * 4. The name of the company nor the name of the author may 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 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 dependant functions for kernel setup for Intel IQ80321 evaluation
- * boards using RedBoot firmware.
- */
-
-/*
- * DIP switches:
- *
- * S19: no-dot: set RB_KDB. enter kgdb session.
- * S20: no-dot: set RB_SINGLE. don't go multi user mode.
- */
-
-#include <sys/param.h>
-#include <sys/device.h>
-#include <sys/systm.h>
-#include <sys/kernel.h>
-#include <sys/exec.h>
-#include <sys/proc.h>
-#include <sys/msgbuf.h>
-#include <sys/reboot.h>
-#include <sys/termios.h>
-#include <sys/kcore.h>
-
-#include <uvm/uvm_extern.h>
-
-#include <sys/conf.h>
-#include <sys/queue.h>
-#include <dev/cons.h>
-#include <sys/socket.h>
-
-#include <machine/db_machdep.h>
-#include <ddb/db_sym.h>
-#include <ddb/db_extern.h>
-
-#include <net/if.h>
-
-#include <machine/bootconfig.h>
-#include <machine/bus.h>
-#include <machine/cpu.h>
-#include <machine/frame.h>
-#include <arm/kcore.h>
-#include <arm/undefined.h>
-#include <arm/machdep.h>
-
-#include <arm/xscale/i80321reg.h>
-#include <arm/xscale/i80321var.h>
-
-#include <armish/dev/iq80321reg.h>
-#include <armish/dev/iq80321var.h>
-#include <armish/dev/obiovar.h>
-
-/* Kernel text starts 2MB in from the bottom of the kernel address space. */
-#define KERNEL_TEXT_BASE (KERNEL_BASE + 0x00200000)
-#define KERNEL_VM_BASE (KERNEL_BASE + 0x10000000)
-#define KERNEL_VM_SIZE VM_KERNEL_SPACE_SIZE
-
-/*
- * Address to call from cpu_reset() to reset the machine.
- * This is machine architecture dependant as it varies depending
- * on where the ROM appears when you turn the MMU off.
- */
-
-u_int cpu_reset_address = 0;
-
-/* Define various stack sizes in pages */
-#define IRQ_STACK_SIZE 1
-#define ABT_STACK_SIZE 1
-#define UND_STACK_SIZE 1
-
-BootConfig bootconfig; /* Boot config storage */
-char *boot_args = NULL;
-char *boot_file = NULL;
-
-paddr_t physical_start;
-paddr_t physical_freestart;
-paddr_t physical_freeend;
-paddr_t physical_end;
-u_int free_pages;
-paddr_t pagetables_start;
-int physmem = 0;
-
-/*int debug_flags;*/
-#ifndef PMAP_STATIC_L1S
-int max_processes = 64; /* Default number */
-#endif /* !PMAP_STATIC_L1S */
-
-/* Physical and virtual addresses for some global pages */
-pv_addr_t systempage;
-pv_addr_t irqstack;
-pv_addr_t undstack;
-pv_addr_t abtstack;
-extern pv_addr_t kernelstack;
-pv_addr_t minidataclean;
-
-paddr_t msgbufphys;
-
-extern u_int data_abort_handler_address;
-extern u_int prefetch_abort_handler_address;
-extern u_int undefined_handler_address;
-
-#ifdef PMAP_DEBUG
-extern int pmap_debug_level;
-#endif
-
-#define KERNEL_PT_SYS 0 /* L2 table for mapping zero page */
-
-#define KERNEL_PT_KERNEL 1 /* L2 table for mapping kernel */
-#define KERNEL_PT_KERNEL_NUM 32
-
- /* L2 table for mapping i80312 */
-//#define KERNEL_PT_IOPXS (KERNEL_PT_KERNEL + KERNEL_PT_KERNEL_NUM)
-
- /* L2 tables for mapping kernel VM */
-//#define KERNEL_PT_VMDATA (KERNEL_PT_IOPXS + 1)
-#define KERNEL_PT_VMDATA (KERNEL_PT_KERNEL + KERNEL_PT_KERNEL_NUM)
-#define KERNEL_PT_VMDATA_NUM 8 /* start with 16MB of KVM */
-#define NUM_KERNEL_PTS (KERNEL_PT_VMDATA + KERNEL_PT_VMDATA_NUM)
-
-pv_addr_t kernel_pt_table[NUM_KERNEL_PTS];
-
-extern struct user *proc0paddr;
-
-/*
- * safepri is a safe priority for sleep to set for a spin-wait
- * during autoconfiguration or after a panic.
- */
-int safepri = 0;
-
-/* Prototypes */
-
-#define BOOT_STRING_MAGIC 0x4f425344
-
-char bootargs[MAX_BOOT_STRING];
-void process_kernel_args(char *);
-
-void consinit(void);
-
-#include "com.h"
-#if NCOM > 0
-#include <dev/ic/comreg.h>
-#include <dev/ic/comvar.h>
-#endif
-
-#ifndef CONSPEED
-#define CONSPEED B115200 /* What RedBoot uses */
-#endif
-#ifndef CONMODE
-#define CONMODE ((TTYDEF_CFLAG & ~(CSIZE | CSTOPB | PARENB)) | CS8 | CLOCAL) /* 8N1 */
-#endif
-
-int comcnspeed = CONSPEED;
-int comcnmode = CONMODE;
-
-
-/*
- * void boot(int howto)
- *
- * Reboots the system
- *
- * Deal with any syncing, unmounting, dumping and shutdown hooks,
- * then reset the CPU.
- */
-void board_reset(void);
-void board_powerdown(void);
-__dead void
-boot(int howto)
-{
- if (cold) {
- if ((howto & RB_USERREQ) == 0)
- howto |= RB_HALT;
- goto haltsys;
- }
-
- /*
- * If RB_NOSYNC was not specified sync the discs.
- * Note: Unless cold is set to 1 here, syslogd will die during the
- * unmount. It looks like syslogd is getting woken up only to find
- * that it cannot page part of the binary in as the filesystem has
- * been unmounted.
- */
- if ((howto & RB_NOSYNC) == 0)
- bootsync(howto);
-
- if_downall();
-
- uvm_shutdown();
- splhigh();
- cold = 1;
-
- if ((howto & (RB_DUMP | RB_HALT)) == RB_DUMP)
- dumpsys();
-
-haltsys:
- config_suspend_all(DVACT_POWERDOWN);
-
- /* Make sure IRQ's are disabled */
- IRQdisable;
-
- if ((howto & RB_HALT) != 0) {
- if ((howto & RB_POWERDOWN) != 0) {
- board_powerdown();
- printf("WARNING: powerdown failed!\n");
- }
-
- printf("The operating system has halted.\n");
- printf("Please press any key to reboot.\n\n");
- cnpollc(1);
- cngetc();
- cnpollc(0);
- }
-
- printf("rebooting...\n");
-
- board_reset();
- cpu_reset();
- printf("reboot failed; spinning\n");
- for (;;) ;
- /* NOTREACHED */
-}
-
-/*
- * Mapping table for core kernel memory. These areas are mapped in
- * init time at fixed virtual address with section mappings.
- */
-const struct pmap_devmap iq80321_devmap[] = {
- /*
- * Map the on-board devices VA == PA so that we can access them
- * with the MMU on or off.
- */
- {
- IQ80321_OBIO_BASE,
- IQ80321_OBIO_BASE,
- 0x00100000 /* IQ80321_OBIO_SIZE, */,
- PROT_READ | PROT_WRITE,
- PTE_NOCACHE,
- },
- {0, 0, 0, 0, 0}
-};
-
-
-/*
- * u_int initarm(...)
- *
- * Initial entry point on startup. This gets called before main() is
- * entered.
- * It should be responsible for setting up everything that must be
- * in place when main is called.
- * This includes
- * Taking a copy of the boot configuration structure.
- * Initialising the physical console so characters can be printed.
- * Setting up page tables for the kernel
- * Relocating the kernel to the bottom of physical memory
- */
-u_int
-initarm(void *arg0, void *arg1, void *arg2)
-{
- extern vaddr_t xscale_cache_clean_addr;
- extern cpu_kcore_hdr_t cpu_kcore_hdr;
- int loop;
- int loop1;
- u_int l1pagetable;
- pv_addr_t kernel_l1pt;
- paddr_t memstart;
- psize_t memsize;
- extern u_int32_t esym; /* &_end if no symbols are loaded */
-
-#ifdef DIAGNOSTIC
- extern vsize_t xscale_minidata_clean_size; /* used in KASSERT */
-#endif
-
- /* setup a serial console for very early boot */
- consinit();
-
- /*
- * Heads up ... Setup the CPU / MMU / TLB functions
- */
- if (set_cpufuncs())
- panic("cpu not recognized!");
-
- /*
- * Examine the boot args string for options we need to know about
- * now.
- */
- /* XXX should really be done after setting up the console, but we
- * XXX need to parse the console selection flags right now. */
- process_kernel_args((char *)0xa0200000 - MAX_BOOT_STRING - 1);
-
- /* Calibrate the delay loop. */
-#if 1
- i80321_calibrate_delay();
-#endif
-
- /* Talk to the user */
- printf("\nOpenBSD/armish booting ...\n");
-
- /*
- * Reset the secondary PCI bus. RedBoot doesn't stop devices
- * on the PCI bus before handing us control, so we have to
- * do this.
- *
- * XXX This is arguably a bug in RedBoot, and doing this reset
- * XXX could be problematic in the future if we encounter an
- * XXX application where the PPB in the i80312 is used as a
- * XXX PPB.
- */
-//#define VERBOSE_INIT_ARM
-
- /*
- * Fetch the SDRAM start/size from the i80312 SDRAM configuration
- * registers.
- */
- i80321_sdram_bounds(&obio_bs_tag, VERDE_PMMR_BASE + VERDE_MCU_BASE,
- &memstart, &memsize);
-
-#define DEBUG
-#ifdef DEBUG
- printf("initarm: Configuring system ...\n");
-#endif
-
- /* Fake bootconfig structure for the benefit of pmap.c */
- /* XXX must make the memory description h/w independant */
- bootconfig.dramblocks = 1;
- bootconfig.dram[0].address = memstart;
- bootconfig.dram[0].pages = memsize / PAGE_SIZE;
-
- /*
- * Set up the variables that define the availablilty of
- * physical memory. For now, we're going to set
- * physical_freestart to 0xa0200000 (where the kernel
- * was loaded), and allocate the memory we need downwards.
- * If we get too close to the page tables that RedBoot
- * set up, we will panic. We will update physical_freestart
- * and physical_freeend later to reflect what pmap_bootstrap()
- * wants to see.
- *
- * XXX pmap_bootstrap() needs an enema.
- */
- physical_start = bootconfig.dram[0].address;
- physical_end = physical_start + (bootconfig.dram[0].pages * PAGE_SIZE);
-
- physical_freestart = 0xa0009000UL;
- physical_freeend = 0xa0200000UL;
-
- physmem = (physical_end - physical_start) / PAGE_SIZE;
-
-#ifdef DEBUG
- /* Tell the user about the memory */
- printf("physmemory: %d pages at 0x%08lx -> 0x%08lx\n", physmem,
- physical_start, physical_end - 1);
-#endif
-
- /*
- * Okay, the kernel starts 2MB in from the bottom of physical
- * memory. We are going to allocate our bootstrap pages downwards
- * from there.
- *
- * We need to allocate some fixed page tables to get the kernel
- * going. We allocate one page directory and a number of page
- * tables and store the physical addresses in the kernel_pt_table
- * array.
- *
- * The kernel page directory must be on a 16K boundary. The page
- * tables must be on 4K boundaries. What we do is allocate the
- * page directory on the first 16K boundary that we encounter, and
- * the page tables on 4K boundaries otherwise. Since we allocate
- * at least 3 L2 page tables, we are guaranteed to encounter at
- * least one 16K aligned region.
- */
-
-#ifdef VERBOSE_INIT_ARM
- printf("Allocating page tables\n");
-#endif
-
- free_pages = (physical_freeend - physical_freestart) / PAGE_SIZE;
-
-#ifdef VERBOSE_INIT_ARM
- printf("freestart = 0x%08lx, free_pages = %d (0x%08x)\n",
- physical_freestart, free_pages, free_pages);
-#endif
-
- /* Define a macro to simplify memory allocation */
-#define valloc_pages(var, np) \
- alloc_pages((var).pv_pa, (np)); \
- (var).pv_va = KERNEL_BASE + (var).pv_pa - physical_start;
-
-#define alloc_pages(var, np) \
- physical_freeend -= ((np) * PAGE_SIZE); \
- if (physical_freeend < physical_freestart) \
- panic("initarm: out of memory"); \
- (var) = physical_freeend; \
- free_pages -= (np); \
- memset((char *)(var), 0, ((np) * PAGE_SIZE));
-
- loop1 = 0;
- kernel_l1pt.pv_pa = 0;
- for (loop = 0; loop <= NUM_KERNEL_PTS; ++loop) {
- /* Are we 16KB aligned for an L1 ? */
- if (((physical_freeend - L1_TABLE_SIZE) & (L1_TABLE_SIZE - 1)) == 0
- && kernel_l1pt.pv_pa == 0) {
- valloc_pages(kernel_l1pt, L1_TABLE_SIZE / PAGE_SIZE);
- } else {
- valloc_pages(kernel_pt_table[loop1],
- L2_TABLE_SIZE / PAGE_SIZE);
- ++loop1;
- }
- }
-
- /* This should never be able to happen but better confirm that. */
- if (!kernel_l1pt.pv_pa || (kernel_l1pt.pv_pa & (L1_TABLE_SIZE-1)) != 0)
- panic("initarm: Failed to align the kernel page directory");
-
- /*
- * Allocate a page for the system page mapped to V0x00000000
- * This page will just contain the system vectors and can be
- * shared by all processes.
- */
- alloc_pages(systempage.pv_pa, 1);
-
- /* Allocate stacks for all modes */
- valloc_pages(irqstack, IRQ_STACK_SIZE);
- valloc_pages(abtstack, ABT_STACK_SIZE);
- valloc_pages(undstack, UND_STACK_SIZE);
- valloc_pages(kernelstack, UPAGES);
-
- /* Allocate enough pages for cleaning the Mini-Data cache. */
- KASSERT(xscale_minidata_clean_size <= PAGE_SIZE);
- valloc_pages(minidataclean, 1);
-
-#ifdef VERBOSE_INIT_ARM
- printf("IRQ stack: p0x%08lx v0x%08lx\n", irqstack.pv_pa,
- irqstack.pv_va);
- printf("ABT stack: p0x%08lx v0x%08lx\n", abtstack.pv_pa,
- abtstack.pv_va);
- printf("UND stack: p0x%08lx v0x%08lx\n", undstack.pv_pa,
- undstack.pv_va);
- printf("SVC stack: p0x%08lx v0x%08lx\n", kernelstack.pv_pa,
- kernelstack.pv_va);
-#endif
-
- /*
- * XXX Defer this to later so that we can reclaim the memory
- * XXX used by the RedBoot page tables.
- */
- alloc_pages(msgbufphys, round_page(MSGBUFSIZE) / PAGE_SIZE);
-
- /*
- * Ok we have allocated physical pages for the primary kernel
- * page tables
- */
-
-#ifdef VERBOSE_INIT_ARM
- printf("Creating L1 page table at 0x%08lx\n", kernel_l1pt.pv_pa);
-#endif
-
- /*
- * Now we start construction of the L1 page table
- * We start by mapping the L2 page tables into the L1.
- * This means that we can replace L1 mappings later on if necessary
- */
- l1pagetable = kernel_l1pt.pv_pa;
-
-#ifdef HIGH_VECT
- /* Map the L2 pages tables in the L1 page table */
- pmap_link_l2pt(l1pagetable, ARM_VECTORS_HIGH & ~(0x00400000 - 1),
- &kernel_pt_table[KERNEL_PT_SYS]);
-#else
- /* Map the L2 pages tables in the L1 page table */
- pmap_link_l2pt(l1pagetable, 0x00000000,
- &kernel_pt_table[KERNEL_PT_SYS]);
-#endif
- for (loop = 0; loop < KERNEL_PT_KERNEL_NUM; loop++)
- pmap_link_l2pt(l1pagetable, KERNEL_BASE + loop * 0x00400000,
- &kernel_pt_table[KERNEL_PT_KERNEL + loop]);
- for (loop = 0; loop < KERNEL_PT_VMDATA_NUM; loop++)
- pmap_link_l2pt(l1pagetable, KERNEL_VM_BASE + loop * 0x00400000,
- &kernel_pt_table[KERNEL_PT_VMDATA + loop]);
-#if 0
- pmap_link_l2pt(l1pagetable, IQ80321_IOPXS_VBASE,
- &kernel_pt_table[KERNEL_PT_IOPXS]);
-#endif
-
- /* update the top of the kernel VM */
- pmap_curmaxkvaddr =
- KERNEL_VM_BASE + (KERNEL_PT_VMDATA_NUM * 0x00400000);
-
-#ifdef VERBOSE_INIT_ARM
- printf("Mapping kernel\n");
-#endif
-
- /* Now we fill in the L2 pagetable for the kernel static code/data
- * and the symbol table. */
- {
- extern char etext[];
-#ifdef VERBOSE_INIT_ARM
- extern char _end[];
-#endif
- size_t textsize = (u_int32_t) etext - KERNEL_TEXT_BASE;
- size_t totalsize = esym - KERNEL_TEXT_BASE;
- u_int logical;
-
-#ifdef VERBOSE_INIT_ARM
- printf("kernelsize text %x total %x end %xesym %x\n",
- textsize, totalsize, _end, esym);
-#endif
-
- textsize = round_page(textsize);
- totalsize = round_page(totalsize);
-
- logical = 0x00200000; /* offset of kernel in RAM */
-
- /* Update dump information */
- cpu_kcore_hdr.kernelbase = KERNEL_BASE;
- cpu_kcore_hdr.kerneloffs = logical;
- cpu_kcore_hdr.staticsize = totalsize;
-
- logical += pmap_map_chunk(l1pagetable, KERNEL_BASE + logical,
- physical_start + logical, textsize,
- PROT_READ | PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, KERNEL_BASE + logical,
- physical_start + logical, totalsize - textsize,
- PROT_READ | PROT_WRITE, PTE_CACHE);
- }
-
-#ifdef VERBOSE_INIT_ARM
- printf("Constructing L2 page tables\n");
-#endif
-
- /* Map the stack pages */
- pmap_map_chunk(l1pagetable, irqstack.pv_va, irqstack.pv_pa,
- IRQ_STACK_SIZE * PAGE_SIZE, PROT_READ | PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, abtstack.pv_va, abtstack.pv_pa,
- ABT_STACK_SIZE * PAGE_SIZE, PROT_READ | PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, undstack.pv_va, undstack.pv_pa,
- UND_STACK_SIZE * PAGE_SIZE, PROT_READ | PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, kernelstack.pv_va, kernelstack.pv_pa,
- UPAGES * PAGE_SIZE, PROT_READ | PROT_WRITE, PTE_CACHE);
-
- pmap_map_chunk(l1pagetable, kernel_l1pt.pv_va, kernel_l1pt.pv_pa,
- L1_TABLE_SIZE, PROT_READ | PROT_WRITE, PTE_PAGETABLE);
-
- for (loop = 0; loop < NUM_KERNEL_PTS; ++loop) {
- pmap_map_chunk(l1pagetable, kernel_pt_table[loop].pv_va,
- kernel_pt_table[loop].pv_pa, L2_TABLE_SIZE,
- PROT_READ | PROT_WRITE, PTE_PAGETABLE);
- }
-
- /* Map the Mini-Data cache clean area. */
- xscale_setup_minidata(l1pagetable, minidataclean.pv_va,
- minidataclean.pv_pa);
-
- /* Map the vector page. */
-#ifdef HIGH_VECT
- pmap_map_entry(l1pagetable, ARM_VECTORS_HIGH, systempage.pv_pa,
- PROT_READ | PROT_WRITE, PTE_CACHE);
-#else
- pmap_map_entry(l1pagetable, vector_page, systempage.pv_pa,
- PROT_READ | PROT_WRITE, PTE_CACHE);
-#endif
-
- pmap_devmap_bootstrap(l1pagetable, iq80321_devmap);
-
- /*
- * Give the XScale global cache clean code an appropriately
- * sized chunk of unmapped VA space starting at 0xff000000
- * (our device mappings end before this address).
- */
- xscale_cache_clean_addr = 0xff000000U;
-
- /*
- * Now we have the real page tables in place so we can switch to them.
- * Once this is done we will be running with the REAL kernel page
- * tables.
- */
-
- /*
- * Update the physical_freestart/physical_freeend/free_pages
- * variables.
- */
- {
- physical_freestart = physical_start - KERNEL_BASE +
- round_page(esym);
- physical_freeend = physical_end;
- free_pages =
- (physical_freeend - physical_freestart) / PAGE_SIZE;
- }
-#ifdef VERBOSE_INIT_ARM
- printf("physical_freestart %x end %x\n", physical_freestart,
- physical_freeend);
-#endif
-
- /* be a client to all domains */
- cpu_domains(0x55555555);
- /* Switch tables */
-#ifdef VERBOSE_INIT_ARM
- printf("freestart = 0x%08lx, free_pages = %d (0x%x)\n",
- physical_freestart, free_pages, free_pages);
- printf("switching to new L1 page table @%#lx...", kernel_l1pt.pv_pa);
-#endif
-
-
- cpu_domains((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT);
- setttb(kernel_l1pt.pv_pa);
- cpu_tlb_flushID();
- cpu_domains(DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2));
-
- /*
- * Moved from cpu_startup() as data_abort_handler() references
- * this during uvm init
- */
- proc0paddr = (struct user *)kernelstack.pv_va;
- proc0.p_addr = proc0paddr;
-
-#ifdef VERBOSE_INIT_ARM
- printf("bootstrap done.\n");
-#endif
-
-#ifdef HIGH_VECT
- arm32_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL);
-#else
- arm32_vector_init(ARM_VECTORS_LOW, ARM_VEC_ALL);
-#endif
-
- /*
- * Pages were allocated during the secondary bootstrap for the
- * stacks for different CPU modes.
- * We must now set the r13 registers in the different CPU modes to
- * point to these stacks.
- * Since the ARM stacks use STMFD etc. we must set r13 to the top end
- * of the stack memory.
- */
-#ifdef VERBOSE_INIT_ARM
- printf("init subsystems: stacks ");
-#endif
-
- set_stackptr(PSR_IRQ32_MODE,
- irqstack.pv_va + IRQ_STACK_SIZE * PAGE_SIZE);
- set_stackptr(PSR_ABT32_MODE,
- abtstack.pv_va + ABT_STACK_SIZE * PAGE_SIZE);
- set_stackptr(PSR_UND32_MODE,
- undstack.pv_va + UND_STACK_SIZE * PAGE_SIZE);
-
- /*
- * Well we should set a data abort handler.
- * Once things get going this will change as we will need a proper
- * handler.
- * Until then we will use a handler that just panics but tells us
- * why.
- * Initialisation of the vectors will just panic on a data abort.
- * This just fills in a slightly better one.
- */
-#ifdef VERBOSE_INIT_ARM
- printf("vectors ");
-#endif
- data_abort_handler_address = (u_int)data_abort_handler;
- prefetch_abort_handler_address = (u_int)prefetch_abort_handler;
- undefined_handler_address = (u_int)undefinedinstruction_bounce;
-
- /* Initialise the undefined instruction handlers */
-#ifdef VERBOSE_INIT_ARM
- printf("undefined ");
-#endif
- undefined_init();
-
- /* Load memory into UVM. */
-#ifdef VERBOSE_INIT_ARM
- printf("page ");
-#endif
- uvm_setpagesize(); /* initialize PAGE_SIZE-dependent variables */
- uvm_page_physload(atop(physical_freestart), atop(physical_freeend),
- atop(physical_freestart), atop(physical_freeend), 0);
-
- /* Boot strap pmap telling it where the kernel page table is */
-#ifdef VERBOSE_INIT_ARM
- printf("pmap ");
-#endif
- pmap_bootstrap((pd_entry_t *)kernel_l1pt.pv_va, KERNEL_VM_BASE,
- KERNEL_VM_BASE + KERNEL_VM_SIZE);
-
- /* Update dump information */
- cpu_kcore_hdr.pmap_kernel_l1 = (u_int32_t)pmap_kernel()->pm_l1;
- cpu_kcore_hdr.pmap_kernel_l2 = (u_int32_t)&(pmap_kernel()->pm_l2);
-
- /* Setup the IRQ system */
-#ifdef VERBOSE_INIT_ARM
- printf("irq ");
-#endif
- i80321intc_intr_init();
-
-#ifdef VERBOSE_INIT_ARM
- printf("done.\n");
-#endif
-
-#ifdef DDB
- db_machine_init();
-
- /* Firmware doesn't load symbols. */
- ddb_init();
-
- if (boothowto & RB_KDB)
- Debugger();
-#endif
-
- cpu_setup();
-
- /* We return the new stack pointer address */
- return(kernelstack.pv_va + USPACE_SVC_STACK_TOP);
-}
-
-void
-process_kernel_args(char *args)
-{
- char *cp = args;
-
- if (cp == NULL || *(int *)cp != BOOT_STRING_MAGIC) {
- boothowto = RB_AUTOBOOT;
- return;
- }
-
- /* Eat the cookie */
- *(int *)cp = 0;
- cp += sizeof(int);
-
- boothowto = 0;
-
- /* Make a local copy of the bootargs */
- strncpy(bootargs, cp, MAX_BOOT_STRING - sizeof(int));
-
- cp = bootargs;
- boot_file = bootargs;
-
- /* Skip the kernel image filename */
- while (*cp != ' ' && *cp != 0)
- ++cp;
-
- if (*cp != 0)
- *cp++ = 0;
-
- while (*cp == ' ')
- ++cp;
-
- boot_args = cp;
-
-#if 0
- printf("bootfile: %s\n", boot_file);
- printf("bootargs: %s\n", boot_args);
-#endif
-
- /* Setup pointer to boot flags */
- while (*cp != '-')
- if (*cp++ == '\0')
- return;
-
- for (;*++cp;) {
- int fl;
-
- fl = 0;
- switch(*cp) {
- case 'a':
- fl |= RB_ASKNAME;
- break;
- case 'c':
- fl |= RB_CONFIG;
- break;
- case 'd':
- fl |= RB_KDB;
- break;
- case 's':
- fl |= RB_SINGLE;
- break;
- default:
- printf("unknown option `%c'\n", *cp);
- break;
- }
- boothowto |= fl;
- }
-}
-
-
-void
-consinit(void)
-{
- static const bus_addr_t comcnaddrs[] = {
- IQ80321_UART1 /* com0 */
- };
- static int consinit_called;
-
- if (consinit_called != 0)
- return;
-
- consinit_called = 1;
-
- /*
- * Console devices are mapped VA==PA. Our devmap reflects
- * this, so register it now so drivers can map the console
- * device.
- */
- pmap_devmap_register(iq80321_devmap);
-
-#if NCOM > 0
- if (comcnattach(&obio_bs_tag, comcnaddrs[0], comcnspeed,
- COM_FREQ, comcnmode))
- panic("can't init serial console @%lx", comcnaddrs[0]);
- comdefaultrate = comcnspeed;
-#else
- panic("serial console @%lx not configured", comcnaddrs[0]);
-#endif
-}
-
-void
-board_startup(void)
-{
- if (boothowto & RB_CONFIG) {
-#ifdef BOOT_CONFIG
- user_config();
-#else
- printf("kernel does not support -c; continuing..\n");
-#endif
- }
-}
+++ /dev/null
-/* $OpenBSD: armish_start.S,v 1.3 2016/04/25 04:46:56 jsg Exp $ */
-/* $NetBSD: iq80321_start.S,v 1.4 2002/10/14 22:32:54 bjh21 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.
- */
-
-#include <machine/asm.h>
-#include <arm/sysreg.h>
-#include <arm/armreg.h>
-#include <arm/pte.h>
-
- .section .start,"ax",%progbits
-
- .global _C_LABEL(iq80321_start)
-_C_LABEL(iq80321_start):
- /*
- * We will go ahead and disable the MMU here so that we don't
- * have to worry about flushing caches, etc.
- *
- * Note that we may not currently be running VA==PA, which means
- * we'll need to leap to the next insn after disabing the MMU.
- */
- adr r8, Lunmapped
- bic r8, r8, #0xff000000 /* clear upper 8 bits */
- orr r8, r8, #0xa0000000 /* OR in physical base address */
-
- mrc CP15_SCTLR(r2)
- bic r2, r2, #CPU_CONTROL_MMU_ENABLE
- mcr CP15_SCTLR(r2)
-
- nop
- nop
- nop
-
- mov pc, r8 /* Heave-ho! */
-
-Lunmapped:
- /*
- * We want to construct a memory map that maps us
- * VA==PA (SDRAM at 0xa0000000) and also double-maps
- * that space at 0xc0000000 (where the kernel address
- * space starts). We create these mappings uncached
- * and unbuffered to be safe.
- *
- * We also want to map the various devices we want to
- * talk to VA==PA during bootstrap.
- *
- * We just use section mappings for all of this to make it easy.
- *
- * We will put the L1 table to do all this at 0xa0004000, which
- * is also where RedBoot puts it.
- */
-
- /*
- * Step 1: Map the entire address space VA==PA.
- */
- adr r0, Ltable
- ldr r0, [r0] /* r0 = &l1table */
-
- mov r3, #(L1_S_AP(AP_KRW))
- orr r3, r3, #(L1_TYPE_S)
- mov r2, #0x100000 /* advance by 1MB */
- mov r1, #0x1000 /* 4096MB */
-1:
- str r3, [r0], #0x04
- add r3, r3, r2
- subs r1, r1, #1
- bgt 1b
-
- /*
- * Step 2: Map VA 0xc0000000->0xc3ffffff to PA 0xa0000000->0xa3ffffff.
- */
- adr r0, Ltable /* r0 = &l1table */
- ldr r0, [r0]
-
- mov r3, #(L1_S_AP(AP_KRW))
- orr r3, r3, #(L1_TYPE_S)
- orr r3, r3, #0xa0000000
- add r0, r0, #(0xc00 * 4) /* offset to 0xc00xxxxx */
- mov r1, #0x40 /* 64MB */
-1:
- str r3, [r0], #0x04
- add r3, r3, r2
- subs r1, r1, #1
- bgt 1b
-
- /* OK! Page table is set up. Give it to the CPU. */
- adr r0, Ltable
- ldr r0, [r0]
- mcr CP15_TTBR0(r0)
-
- /* Flush the old TLBs, just in case. */
- mcr CP15_TLBIALL(r0)
-
- /* Set the Domain Access register. Very important! */
- mov r0, #1
- mcr CP15_DACR(r0)
-
- /* Get ready to jump to the "real" kernel entry point... */
- ldr r0, Lstart
-
- /* OK, let's enable the MMU. */
- mrc CP15_SCTLR(r2)
- orr r2, r2, #CPU_CONTROL_MMU_ENABLE
- mcr CP15_SCTLR(r2)
-
- nop
- nop
- nop
-
- /* CPWAIT sequence to make sure the MMU is on... */
- mrc CP15_TTBR0(r2) /* arbitrary read of CP15 */
- mov r2, r2 /* force it to complete */
- mov pc, r0 /* leap to kernel entry point! */
-
-Ltable:
- .word 0xa0004000
-
-Lstart:
- .word start
+++ /dev/null
-/* $OpenBSD: autoconf.c,v 1.13 2016/06/08 17:24:44 tedu Exp $ */
-/* $NetBSD: autoconf.c,v 1.2 2001/09/05 16:17:36 matt Exp $ */
-
-/*
- * Copyright (c) 1994-1998 Mark Brinicombe.
- * Copyright (c) 1994 Brini.
- * 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 Mark Brinicombe for
- * the NetBSD project.
- * 4. The name of the company nor the name of the author may 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 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.
- *
- * RiscBSD kernel project
- *
- * autoconf.c
- *
- * Autoconfiguration functions
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/reboot.h>
-#include <sys/disklabel.h>
-#include <sys/device.h>
-#include <sys/conf.h>
-#include <sys/kernel.h>
-#include <sys/malloc.h>
-
-#include <uvm/uvm_extern.h>
-
-#include <machine/bootconfig.h>
-#include <machine/intr.h>
-#include <dev/cons.h>
-
-struct device *bootdv = NULL;
-
-void dumpconf(void);
-
-void
-device_register(struct device *dev, void *aux)
-{
-}
-
-/*
- * void cpu_configure()
- *
- * Configure all the root devices
- * The root devices are expected to configure their own children
- */
-void
-cpu_configure(void)
-{
- softintr_init();
-
- /*
- * Since various PCI interrupts could be routed via the ICU
- * (for PCI devices in the bridge) we need to set up the ICU
- * now so that these interrupts can be established correctly
- * i.e. This is a hack.
- */
-
- config_rootfound("mainbus", NULL);
-
- /*
- * We can not know which is our root disk, defer
- * until we can checksum blocks to figure it out.
- */
- cold = 0;
-
- /* Time to start taking interrupts so lets open the flood gates .... */
- (void)spl0();
-
-}
-
-/*
- * Now that we are fully operational, we can checksum the
- * disks, and using some heuristics, hopefully are able to
- * always determine the correct root disk.
- */
-void
-diskconf(void)
-{
- dev_t tmpdev;
-
-#if 0
- /*
- * Configure root, swap, and dump area. This is
- * currently done by running the same checksum
- * algorithm over all known disks, as was done in
- * /boot. Then we basically fixup the *dev vars
- * from the info we gleaned from this.
- */
- dkcsumattach();
-#endif
-
- /* Lookup boot device from boot if not set by configuration */
- if (bootdv == NULL) {
- int len;
- char *p;
-
- /* boot_file is of the form wd0a:/bsd, we want 'wd0a' */
- if ((p = strchr(boot_file, ':')) != NULL)
- len = p - boot_file;
- else
- len = strlen(boot_file);
-
- bootdv = parsedisk(boot_file, len, 0, &tmpdev);
- }
- if (bootdv == NULL)
- printf("boot device: lookup '%s' failed.\n", boot_file);
- else
- printf("boot device: %s\n", bootdv->dv_xname);
- setroot(bootdv, 0, RB_USERREQ);
- dumpconf();
-}
-
-struct nam2blk nam2blk[] = {
- { "wd", 16 },
- { "sd", 24 },
- { "cd", 26 },
- { "rd", 18 },
- { "vnd", 19 },
- { NULL, -1 }
-};
+++ /dev/null
-# $OpenBSD: genassym.cf,v 1.1 2010/04/26 22:11:38 deraadt Exp $
+++ /dev/null
-# $OpenBSD: GENERIC,v 1.61 2016/06/28 04:41:37 jmatthew 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 armish arm
-include "../../../conf/GENERIC"
-maxusers 32 # estimated number of users
-
-options ARM32
-
-makeoptions KERNEL_BASE_PHYS="0x00200000"
-makeoptions KERNEL_BASE_VIRT="0xc0200000"
-
-options CPU_XSCALE_80321 # Support the XScale core
-options XSCALE_CACHE_READ_WRITE_ALLOCATE
-#makeoptions CPUFLAGS="-mcpu=xscale"
-
-#options PERFCTRS # performance counters
-
-option PCIVERBOSE
-option USER_PCICONF # user-space PCI configuration
-
-config bsd swap generic
-
-# The main bus device
-mainbus0 at root
-cpu0 at mainbus?
-obio0 at mainbus?
-
-# On-board 16550 UART
-com0 at obio? addr 0xfe800000 xint 3
-
-puc* at pci? # PCI "universal" communication device
-com* at puc?
-lpt* at puc?
-
-# i80321 I/O Processor peripheral support
-iopxs0 at mainbus?
-#gpio* at iopxs0
-
-#iopaau* at iopxs? # Application Accelerator Unit
-iopiic* at iopxs? # I2C Controller Unit(s)
-iic0 at iopiic?
-iic1 at iopiic?
-ricohrtc0 at iic? addr 0x32 # Ricoh RTC
-pcaled0 at iic? addr 0x60 # led controller
-gpio* at pcaled0
-fintek0 at iic? flags 0x0001 # temp/fan controller
-spdmem* at iic? # SPD memory eeproms
-sdtemp* at iic? # SO-DIMM (JC-42.4) temperature
-
-#iopwdog* at iopxs? # Watchdog timer
-pci0 at iopxs? bus ? # PCI/PCI-X support
-
-
-siop* at pci? # NCR 538XX SCSI controllers(new)
-em* at pci?
-re* at pci?
-ral* at pci?
-bwi* at pci?
-# IDE controllers
-pciide* at pci? flags 0x0000
-wd* at pciide? flags 0x0000
-
-
-scsibus* at scsi?
-sd* at scsibus? # SCSI disk drives
-#st* at scsibus? # SCSI tape drives
-cd* at scsibus? # SCSI CD-ROM drives
-#ch* at scsibus? # SCSI autochangers
-#uk* at scsibus? # unknown SCSI
-
-# USB Controllers
-ohci* at pci? # Open Host Controller
-uhci* at pci? # Universal Host Controller
-ehci* at pci? # Enhanced Host Controller
-
-# USB bus support
-usb* at ohci?
-usb* at uhci?
-usb* at ehci?
-
-# USB devices
-uhub* at usb? # USB Hubs
-uhub* at uhub? # USB Hubs
-ualea* at uhub? # Araneus Alea II TRNG
-uonerng* at uhub? # Moonbase Otago OneRNG
-umodem* at uhub? # USB Modems/Serial
-ucom* at umodem?
-uvisor* at uhub? # Handspring Visor
-ucom* at uvisor?
-uvscom* at uhub? # SUNTAC Slipper U VS-10U serial
-ucom* at uvscom?
-ubsa* at uhub? # Belkin serial adapter
-ucom* at ubsa?
-uftdi* at uhub? # FTDI FT8U100AX serial adapter
-ucom* at uftdi?
-uplcom* at uhub? # I/O DATA USB-RSAQ2 serial adapter
-ucom* at uplcom?
-umct* at uhub? # MCT USB-RS232 serial adapter
-ucom* at umct?
-uslcom* at uhub? # Silicon Laboratories CP210x serial
-ucom* at uslcom?
-uark* at uhub? # Arkmicro ARK3116 serial
-ucom* at uark?
-uipaq* at uhub? # iPAQ serial adapter
-ucom* at uipaq?
-umsm* at uhub? # Qualcomm MSM EVDO
-ucom* at umsm?
-uchcom* at uhub? # WinChipHead CH341/340 serial
-ucom* at uchcom?
-uaudio* at uhub? # USB Audio
-audio* at uaudio?
-umidi* at uhub? # USB MIDI
-midi* at umidi?
-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
-udl* at uhub? # USB DisplayLink video
-wsdisplay* at udl?
-ucycom* at uhidev? # Cypress serial
-ucom* at ucycom?
-uslhcom* at uhidev? # Silicon Labs CP2110 USB HID UART
-ucom* at uslhcom?
-uhid* at uhidev? # USB generic HID support
-upd* at uhidev? # USB Power Devices sensors
-aue* at uhub? # ADMtek AN986 Pegasus Ethernet
-atu* at uhub? # Atmel AT76c50x based 802.11b
-axe* at uhub? # ASIX Electronics AX88172 USB Ethernet
-axen* at uhub? # ASIX Electronics AX88179 USB Ethernet
-cue* at uhub? # CATC USB-EL1201A based Ethernet
-kue* at uhub? # Kawasaki KL5KUSB101B based Ethernet
-smsc* at uhub? # SMSC LAN95xx Ethernet
-cdce* at uhub? # CDC Ethernet
-urndis* at uhub? # Remote NDIS Ethernet
-upl* at uhub? # Prolific PL2301/PL2302 host-to-host `network'
-ugl* at uhub? # Genesys Logic GL620USB-A host-to-host `network'
-udav* at uhub? # Davicom DM9601 based Ethernet
-url* at uhub? # Realtek RTL8150L based adapters
-ure* at uhub? # Realtek RTL8152 based adapters
-wi* at uhub? # WaveLAN IEEE 802.11DS
-udsbr* at uhub? # D-Link DSB-R100 radio
-radio* at udsbr? # USB radio
-ugen* at uhub? # USB Generic driver
-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
-athn* at uhub? # Atheros AR9002U
-#udcf* at uhub? # Gude Expert mouseCLOCK
-uthum* at uhidev? # TEMPerHUM sensor
-ugold* at uhidev? # gold TEMPer sensor
-utwitch* at uhidev? # YUREX BBU sensor
-uow* at uhub? # Maxim/Dallas DS2490 1-Wire adapter
-onewire* at uow?
-
-amphy* at mii? # AMD 79C873 PHYs
-dcphy* at mii? # Digital Clone PHYs
-exphy* at mii? # 3Com internal PHYs
-inphy* at mii? # Intel 82555 PHYs
-iophy* at mii? # Intel 82553 PHYs
-icsphy* at mii? # ICS1890 PHYs
-lxtphy* at mii? # Level One LXT-970 PHYs
-nsphy* at mii? # NS83840 PHYs
-#nsphyter* at mii? # NS83843 PHYs
-mtdphy* at mii? # Myson MTD972 PHYs
-acphy* at mii? # Altima AC101 PHYs
-qsphy* at mii? # Quality Semi QS6612 PHYs
-luphy* at mii? # Lucent LU6612 PHY
-sqphy* at mii? # Seeq 8022[013] PHYs
-rlphy* at mii? # Realtek 8139 internal PHYs
-#tlphy* at mii? # ThunderLAN PHYs
-tqphy* at mii? # TDK Semiconductor PHYs
-brgphy* at mii? # Broadcom 10/100/1000 PHYs
-bmtphy* at mii? # Broadcom 10/100 PHYs
-eephy* at mii? # Marvell 88E1000 Gigabit PHYs
-urlphy* at mii? # Realtek RTL8150L internal PHY
-rgephy* at mii? # Realtek 8169S/8110S PHY
-rlphy* at mii? # Realtek 8139 internal PHYs
-ciphy* at mii? # Cicada CS8201 10/100/1000 copper PHY
-ukphy* at mii? # generic unknown PHYs
-
-# 1-Wire devices
-option ONEWIREVERBOSE
-owid* at onewire? # ID
-owsbm* at onewire? # Smart Battery Monitor
-owtemp* at onewire? # Temperature
-owctr* at onewire? # Counter device
-
-# mouse & keyboard multiplexor pseudo-devices
-pseudo-device wsmux 2
-pseudo-device hotplug 1 # devices hot plugging
+++ /dev/null
-# $OpenBSD: Makefile.armish,v 1.52 2016/04/29 12:44:52 mpi 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 <bsd.own.mk>
-
-SIZE?= size
-STRIP?= strip
-
-# 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. -I$S/arch
-CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
- -Wno-main -Wno-uninitialized \
- -Wframe-larger-than=2047
-
-CMACHFLAGS= -ffreestanding -msoft-float # -march=armv4 -mtune=strongarm
-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
-
-COPTS?= -O2
-CFLAGS= ${DEBUG} ${CWARNFLAGS} ${CMACHFLAGS} ${COPTS} ${PIPE}
-AFLAGS= -D_LOCORE -x assembler-with-cpp ${CWARNFLAGS} ${CMACHFLAGS}
-LINKFLAGS= -T ldscript --warn-common -nopie
-
-.if ${IDENT:M-DDDB_STRUCT}
-DB_STRUCTINFO= db_structinfo.h
-.else
-DB_STRUCTINFO=
-.endif
-
-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= ${_mach}_start.o locore.o param.o ioconf.o
-SYSTEM_OBJ= ${SYSTEM_HEAD} ${OBJS}
-SYSTEM_DEP= Makefile ${SYSTEM_OBJ}
-SYSTEM_LD_HEAD= @rm -f $@
-SYSTEM_LD_HEAD+=; \
- cat ${_archdir}/conf/ldscript.head ${_archdir}/conf/ldscript.tail | \
- sed -e 's/@KERNEL_BASE_PHYS@/${KERNEL_BASE_PHYS}/' \
- -e 's/@KERNEL_BASE_VIRT@/${KERNEL_BASE_VIRT}/' > ldscript
-
-SYSTEM_LD= @echo ${LD} ${LINKFLAGS} -o $@ '$${SYSTEM_HEAD} vers.o $${OBJS}'; \
- ${LD} ${LINKFLAGS} -o $@ ${SYSTEM_HEAD} vers.o ${OBJS}
-SYSTEM_LD_TAIL= @${SIZE} $@; chmod 755 $@
-SYSTEM_LD_TAIL+=; \
- dd if=/dev/zero of=bsd bs=1 count=1 seek=95 conv=notrunc 2>/dev/null; \
- dd if=/dev/zero of=bsd bs=1 count=1 seek=127 conv=notrunc 2>/dev/null; \
- dd if=/dev/zero of=bsd bs=1 count=1 seek=159 conv=notrunc 2>/dev/null
-
-DEBUG?=
-.if ${DEBUG} == "-g"
-STRIPFLAGS= -S
-SYSTEM_LD_TAIL+=; \
- 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} ${SYSTEM_SWAP_DEP}
- sh $S/conf/newvers.sh
- ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
-
-clean::
- rm -f eddep *bsd *bsd.gdb tags *.[dio] [a-z]*.s \
- [Ee]rrs linterrs assym.h ${DB_STRUCTINFO}
-
-lint:
- @lint -hbxncez -Dvolatile= ${CPPFLAGS} -UKGDB \
- ${CFILES} ioconf.c param.c | \
- grep -v 'static function .* unused'
-
-depend:
- @touch $@
-
-tags:
- @echo "see $S/kern/Makefile for tags"
-
-db_structinfo.h: $S/ddb/db_structinfo.c $S/ddb/parse_structinfo.pl
- ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
- objdump -g db_structinfo.o | perl $S/ddb/parse_structinfo.pl > $@
- rm -f db_structinfo.o
-
-${_mach}_start.o: ${_machdir}/${_mach}/${_mach}_start.S
-locore.o: ${_archdir}/${_arch}/locore.S assym.h
-in_cksum_arm.o fiq_subr.o bcopyinout.o copystr.o sigcode.o: assym.h
-vectors.o cpuswitch.o exception.o bcopy_page.o irq_dispatch.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}:
- cmp -s bsd /bsd || ln -f /bsd /obsd
- cp bsd /nbsd
- mv /nbsd /bsd
-.endif
-
-# pull in the dependency information
-.if !empty(DB_STRUCTINFO) && !exists(${DB_STRUCTINFO})
- ${SYSTEM_OBJ}: ${DB_STRUCTINFO}
-.endif
-.ifnmake clean
-. for o in ${SYSTEM_OBJ} assym.h ${DB_STRUCTINFO}
-. if exists(${o:R}.d)
-. include "${o:R}.d"
-. elif exists($o)
- .PHONY: $o
-. endif
-. endfor
-.endif
-
-%RULES
+++ /dev/null
-# $OpenBSD: RAMDISK,v 1.35 2016/06/28 04:41:37 jmatthew Exp $
-
-machine armish arm
-maxusers 4
-
-option TIMEZONE=0
-option DST=0
-option SMALL_KERNEL
-option NO_PROPOLICE
-option BOOT_CONFIG
-
-option MINIROOTSIZE=5120
-option RAMDISK_HOOKS
-
-option PCIVERBOSE
-
-option FFS
-option FFS2
-option CD9660
-option MSDOSFS
-option EXT2FS
-option INET6
-option CRYPTO
-
-config bsd root on rd0a swap on rd0b
-
-option ARM32
-#makeoptions KERNEL_BASE_PHYS="0xa0200000"
-makeoptions KERNEL_BASE_PHYS="0x00200000"
-makeoptions KERNEL_BASE_VIRT="0xc0200000"
-option CPU_XSCALE_80321 # Support the XScale core
-option XSCALE_CACHE_READ_WRITE_ALLOCATE
-#makeoptions CPUFLAGS="-mcpu=xscale"
-
-mainbus0 at root
-cpu0 at mainbus?
-obio0 at mainbus?
-
-com0 at obio? addr 0xfe800000 xint 3
-
-iopxs0 at mainbus?
-
-iopiic* at iopxs? # I2C Controller Unit(s)
-iic0 at iopiic?
-iic1 at iopiic?
-pcaled0 at iic? addr 0x60 # led controller
-ricohrtc0 at iic? addr 0x32 # Ricoh RTC
-fintek0 at iic? flags 0x0001 # temp/fan controller
-
-pci0 at iopxs? bus ? # PCI/PCI-X support
-
-siop* at pci? # NCR 538XX SCSI controllers(new)
-em* at pci?
-re* at pci?
-ral* at pci?
-bwi* at pci?
-
-pciide* at pci? flags 0x0000
-wd* at pciide? flags 0x0000
-
-softraid0 at root
-
-scsibus* at scsi?
-sd* at scsibus? # SCSI disk drives
-cd* at scsibus? # SCSI CD-ROM drives
-
-ohci* at pci?
-uhci* at pci?
-ehci* at pci?
-usb* at ohci?
-usb* at uhci?
-usb* at ehci?
-
-uhub* at usb?
-uhub* at uhub?
-umodem* at uhub? # USB Modems/Serial
-ucom* at umodem?
-uvisor* at uhub? # Handspring Visor
-ucom* at uvisor?
-uvscom* at uhub? # SUNTAC Slipper U VS-10U serial
-ucom* at uvscom?
-ubsa* at uhub? # Belkin serial adapter
-ucom* at ubsa?
-uftdi* at uhub? # FTDI FT8U100AX serial adapter
-ucom* at uftdi?
-uplcom* at uhub? # I/O DATA USB-RSAQ2 serial adapter
-ucom* at uplcom?
-umct* at uhub? # MCT USB-RS232 serial adapter
-ucom* at umct?
-uipaq* at uhub? # iPAQ serial adapter
-ucom* at uipaq?
-umsm* at uhub? # Qualcomm MSM EVDO
-ucom* at umsm?
-umass* at uhub?
-uhidev* at uhub? # Human Interface Devices
-ukbd* at uhidev? # USB keyboard
-wskbd* at ukbd? mux 1
-uslhcom* at uhidev? # Silicon Labs CP2110 USB HID UART
-ucom* at uslhcom?
-uhid* at uhidev? # USB generic HID support
-aue* at uhub? # ADMtek AN986 Pegasus Ethernet
-atu* at uhub? # Atmel AT76c50x based 802.11b
-axe* at uhub? # ASIX Electronics AX88172 USB Ethernet
-axen* at uhub? # ASIX Electronics AX88179 USB Ethernet
-cue* at uhub? # CATC USB-EL1201A based Ethernet
-kue* at uhub? # Kawasaki KL5KUSB101B based Ethernet
-smsc* at uhub? # SMSC LAN95xx Ethernet
-cdce* at uhub? # CDC Ethernet
-upl* at uhub? # Prolific PL2301/PL2302 host-to-host
-ugl* at uhub? # Genesys Logic GL620USB-A host-to-host
-udav* at uhub? # Davicom DM9601 based Ethernet
-url* at uhub? # Realtek RTL8150L based adapters
-ure* at uhub? # Realtek RTL8152 based adapters
-wi* at uhub? # WaveLAN IEEE 802.11DS
-ugen* at uhub? # USB Generic driver
-ural* at uhub? # Ralink RT2500
-
-amphy* at mii? # AMD 79C873 PHYs
-dcphy* at mii? # Digital Clone PHYs
-exphy* at mii? # 3Com internal PHYs
-inphy* at mii? # Intel 82555 PHYs
-iophy* at mii? # Intel 82553 PHYs
-icsphy* at mii? # ICS1890 PHYs
-lxtphy* at mii? # Level One LXT-970 PHYs
-nsphy* at mii? # NS83840 PHYs
-mtdphy* at mii? # Myson MTD972 PHYs
-acphy* at mii? # Altima AC101 PHYs
-qsphy* at mii? # Quality Semi QS6612 PHYs
-luphy* at mii? # Lucent LU6612 PHY
-sqphy* at mii? # Seeq 8022[013] PHYs
-rlphy* at mii? # Realtek 8139 internal PHYs
-tqphy* at mii? # TDK Semiconductor PHYs
-brgphy* at mii? # Broadcom 10/100/1000 PHYs
-bmtphy* at mii? # Broadcom 10/100 PHYs
-eephy* at mii? # Marvell 88E1000 Gigabit PHYs
-urlphy* at mii? # Realtek RTL8150L internal PHY
-rgephy* at mii? # Realtek 8169S/8110S PHY
-rlphy* at mii? # Realtek 8139 internal PHYs
-ciphy* at mii? # Cicada CS8201 10/100/1000 copper PHY
-ukphy* at mii? # generic unknown PHYs
-
-pseudo-device wsmux 2
-pseudo-device bio 1
-pseudo-device loop 1
-pseudo-device bpfilter 1
-pseudo-device rd 1
+++ /dev/null
-# $OpenBSD: files.armish,v 1.20 2016/05/02 08:15:55 patrick Exp $
-
-maxpartitions 16
-maxusers 2 8 64
-
-major {wd = 16}
-major {sd = 24}
-major {cd = 26}
-major {rd = 18}
-
-file arch/arm/arm/conf.c
-file arch/armish/armish/armish_machdep.c
-
-file arch/armish/armish/autoconf.c
-file arch/arm/arm/disksubr.c disk
-
-include "scsi/files.scsi"
-
-# Use the generic ARM soft interrupt code.
-file arch/arm/arm/softintr.c
-file arch/arm/arm/irq_dispatch.S
-
-#file arch/armish/dev/iq80310_7seg.c
-#file arch/armish/dev/iq80310_intr.c
-#file arch/armish/dev/iq80310_timer.c
-
-# Machine-independent HID support
-include "dev/hid/files.hid"
-
-include "dev/i2c/files.i2c"
-
-# ARM i80321 files
-include "arch/arm/xscale/files.i80321"
-
-attach iopxs at fdt with iopxs_mainbus
-file arch/armish/dev/i80321_mainbus.c iopxs_mainbus
-file arch/armish/dev/pci_addr_fixup.c iopxs
-file arch/armish/dev/iq80321_pci.c iopxs
-
-# IQ80310 on-board devices (including CPLD)
-device obio {addr, [size = -1], [width = -1], [xint = -1]}: bus_space_generic
-attach obio at fdt
-file arch/armish/dev/obio.c obio
-file arch/armish/dev/obio_space.c obio
-
-# on-board XR 16550 UARTs
-attach com at obio with com_obio
-file arch/armish/dev/com_obio.c com_obio
-
-#
-# Machine-independent ATA drivers
-#
-include "dev/ata/files.ata"
-
-# Include WSCONS stuff
-include "dev/wscons/files.wscons"
-include "dev/wsfont/files.wsfont"
-include "dev/rasops/files.rasops"
-
-
-# Include USB stuff
-include "dev/usb/files.usb"
-
-# Media Independent Interface (mii)
-include "dev/mii/files.mii"
-
-# PCI
-include "dev/pci/files.pci"
-file arch/armish/dev/pciide_machdep.c pciide
-
-include "dev/atapiscsi/files.atapiscsi"
-
-
-#
-# Machine-independent GPIO drivers
-#
-include "dev/gpio/files.gpio"
-
-#
-# Machine-independent 1-Wire drivers
-#
-include "dev/onewire/files.onewire"
+++ /dev/null
-/* $OpenBSD: com_obio.c,v 1.5 2008/06/26 05:42:09 ray Exp $ */
-/* $NetBSD: com_obio.c,v 1.9 2005/12/11 12:17:09 christos Exp $ */
-
-/*-
- * Copyright (c) 2001 The NetBSD Foundation, Inc.
- * All rights reserved.
- *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Matt Thomas <matt@3am-software.com>.
- *
- * 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 <sys/param.h>
-#include <sys/systm.h>
-#include <sys/device.h>
-#include <sys/termios.h>
-
-#include <machine/bus.h>
-
-#include <arm/xscale/i80321var.h>
-#include <armish/dev/obiovar.h>
-
-#include <dev/ic/comreg.h>
-#include <dev/ic/comvar.h>
-
-struct com_obio_softc {
- struct com_softc sc_com;
-
- void *sc_ih;
-};
-
-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_obio_softc), com_obio_match, com_obio_attach
-};
-
-struct cfdriver com_obio_cd = {
- NULL, "com_obio", DV_DULL
-};
-
-int com_irq_override = -1;
-
-int
-com_obio_match(struct device *parent, void *cf, void *aux)
-{
- struct obio_attach_args *oba = aux;
-
- /* if the irq does not match, do not attach */
- if (com_irq_override != -1)
- oba->oba_irq = com_irq_override;
-
- /* We take it on faith that the device is there. */
- return (1);
-}
-
-
-void
-com_obio_attach(struct device *parent, struct device *self, void *aux)
-{
- struct obio_attach_args *oba = aux;
- struct com_obio_softc *osc = (void *) self;
- struct com_softc *sc = &osc->sc_com;
- int error;
-
- sc->sc_iot = oba->oba_st;
- sc->sc_iobase = oba->oba_addr;
- sc->sc_frequency = COM_FREQ;
-/* sc->sc_hwflags = COM_HW_NO_TXPRELOAD; */
- sc->sc_hwflags = 0;
- error = bus_space_map(sc->sc_iot, oba->oba_addr, 8, 0, &sc->sc_ioh);
-
- if (error) {
- printf(": failed to map registers: %d\n", error);
- return;
- }
-
- com_attach_subr(sc);
- osc->sc_ih = i80321_intr_establish(oba->oba_irq, IPL_TTY,
- comintr, sc, sc->sc_dev.dv_xname);
- if (osc->sc_ih == NULL)
- printf("%s: unable to establish interrupt at CPLD irq %d\n",
- sc->sc_dev.dv_xname, oba->oba_irq);
-}
+++ /dev/null
-/* $OpenBSD: i80321_mainbus.c,v 1.11 2016/05/02 08:15:55 patrick Exp $ */
-/* $NetBSD: i80321_mainbus.c,v 1.16 2005/12/15 01:44:00 briggs Exp $ */
-
-/*
- * Copyright (c) 2001, 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.
- */
-
-/*
- * IQ80321 front-end for the i80321 I/O Processor. We take care
- * of setting up the i80321 memory map, PCI interrupt routing, etc.,
- * which are all specific to the board the i80321 is wired up to.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/device.h>
-#include <sys/gpio.h>
-
-#include <machine/bus.h>
-
-#include <arm/mainbus/mainbus.h>
-#include <armish/dev/iq80321reg.h>
-#include <armish/dev/iq80321var.h>
-
-#include <arm/xscale/i80321reg.h>
-#include <arm/xscale/i80321var.h>
-
-#include <dev/pci/pcireg.h>
-#include <dev/pci/pcidevs.h>
-#include <dev/gpio/gpiovar.h>
-
-#include "gpio.h"
-
-int i80321_mainbus_match(struct device *, void *, void *);
-void i80321_mainbus_attach(struct device *, struct device *, void *);
-
-void i80321_gpio_init (struct i80321_softc *sc);
-int i80321_gpio_pin_read (void *, int);
-void i80321_gpio_pin_write (void *, int, int);
-void i80321_gpio_pin_ctl (void *, int, int);
-
-/* XXX */
-#define I80219_REG_GPOE 0x7C4
-#define I80219_REG_GPID 0x7C8
-#define I80219_REG_GPOD 0x7CC
-
-struct cfattach iopxs_mainbus_ca = {
- sizeof(struct i80321_softc), i80321_mainbus_match,
- i80321_mainbus_attach
-};
-
-struct cfdriver iopxs_cd = {
- NULL, "iopxs", DV_DULL
-};
-
-
-/* There can be only one. */
-int i80321_mainbus_found;
-
-int
-i80321_mainbus_match(struct device *parent, void *match, void *aux)
-{
- union mainbus_attach_args *ma = aux;
- struct cfdata *cf = match;
-
- if (i80321_mainbus_found)
- return (0);
-
- if (strcmp(cf->cf_driver->cd_name, ma->ma_name) == 0)
- return (1);
-
- return (0);
-}
-
-/* XXX */
-bus_space_handle_t sc_pld_sh;
-
-void
-i80321_mainbus_attach(struct device *parent, struct device *self, void *aux)
-{
- struct i80321_softc *sc = (void *) self;
- struct gpiobus_attach_args gba;
- pcireg_t b0u, b0l, b1u, b1l;
- paddr_t memstart;
- psize_t memsize;
- pcireg_t atumembase;
- pcireg_t atuiobase;
-
- i80321_mainbus_found = 1;
-
- /*
- * Fill in the space tag for the i80321's own devices,
- * and hand-craft the space handle for it (the device
- * was mapped during early bootstrap).
- */
- i80321_bs_init(&i80321_bs_tag, sc);
- sc->sc_st = &i80321_bs_tag;
- if (bus_space_map(sc->sc_st, VERDE_PMMR_BASE, VERDE_PMMR_SIZE, 0,
- &sc->sc_sh))
- panic("%s: unable to map VERDE registers", sc->sc_dev.dv_xname);
-
- /*
- * Slice off a subregion for the Memory Controller -- we need it
- * here in order read the memory size.
- */
- if (bus_space_subregion(sc->sc_st, sc->sc_sh, VERDE_MCU_BASE,
- VERDE_MCU_SIZE, &sc->sc_mcu_sh))
- panic("%s: unable to subregion MCU registers",
- sc->sc_dev.dv_xname);
-
- if (bus_space_subregion(sc->sc_st, sc->sc_sh, VERDE_ATU_BASE,
- VERDE_ATU_SIZE, &sc->sc_atu_sh))
- panic("%s: unable to subregion ATU registers",
- sc->sc_dev.dv_xname);
-
- if(bus_space_map(sc->sc_st, VERDE_OUT_XLATE_IO_WIN0_BASE,
- VERDE_OUT_XLATE_IO_WIN_SIZE, 0, &sc->sc_io_sh))
- panic("%s: unable to map IOW registers", sc->sc_dev.dv_xname);
-
-// printf ("PIRSR %x\n", bus_space_read_4(sc->sc_st, sc->sc_sh, ICU_PIRSR));
-
-// printf("mapping bus io to %x - %x\n", sc->sc_io_sh, sc->sc_io_sh+VERDE_OUT_XLATE_IO_WIN_SIZE);
-
- /*
- * Initialize the interrupt part of our PCI chipset tag.
- */
- iq80321_pci_init(&sc->sc_pci_chipset, sc);
-
- /* Initialize the PCI chipset tag. */
- i80321_pci_init(&sc->sc_pci_chipset, sc);
-
- iq80321_pci_init2(&sc->sc_pci_chipset, sc);
-
- atumembase = bus_space_read_4(sc->sc_st, sc->sc_atu_sh,
- PCI_MAPREG_START + 0x08);
- atuiobase = bus_space_read_4(sc->sc_st, sc->sc_atu_sh,
- ATU_OIOWTVR);
-
- sc->sc_membus_space.bus_base = PCI_MAPREG_MEM_ADDR(atumembase);
- sc->sc_membus_space.bus_size = 0x04000000;
- sc->sc_iobus_space.bus_base = PCI_MAPREG_IO_ADDR(atuiobase);
- sc->sc_iobus_space.bus_size = 0x00010000;
- pci_addr_fixup(sc, 2/*XXX*/);
-
- /*
- * Check the configuration of the ATU to see if another BIOS
- * has configured us. If a PC BIOS didn't configure us, then:
- * IQ80321: BAR0 00000000.0000000c BAR1 is 00000000.8000000c.
- * IQ31244: BAR0 00000000.00000004 BAR1 is 00000000.0000000c.
- * If a BIOS has configured us, at least one of those should be
- * different. This is pretty fragile, but it's not clear what
- * would work better.
- */
- b0l = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, PCI_MAPREG_START+0x0);
- b0u = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, PCI_MAPREG_START+0x4);
- b1l = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, PCI_MAPREG_START+0x8);
- b1u = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, PCI_MAPREG_START+0xc);
- b0l &= PCI_MAPREG_MEM_ADDR_MASK;
- b0u &= PCI_MAPREG_MEM_ADDR_MASK;
- b1l &= PCI_MAPREG_MEM_ADDR_MASK;
- b1u &= PCI_MAPREG_MEM_ADDR_MASK;
-
- printf(": i80321 I/O Processor\n");
-
- i80321_sdram_bounds(sc->sc_st, sc->sc_mcu_sh, &memstart, &memsize);
-
- /*
- * We set up the Inbound Windows as follows:
- *
- * 0 Access to i80321 PMMRs
- *
- * 1 Reserve space for private devices
- *
- * 2 RAM access
- *
- * 3 Unused.
- *
- * This chunk needs to be customized for each IOP321 application.
- */
-
- atumembase = bus_space_read_4(sc->sc_st, sc->sc_atu_sh,
- PCI_MAPREG_START + 0x08);
-
- if (atumembase == 0x8000000c) {
- /* iodata: intel std config */
-
- /* map device registers */
- sc->sc_iwin[0].iwin_base_lo = 0x00000004;
- sc->sc_iwin[0].iwin_base_hi = 0x00000000;
- sc->sc_iwin[0].iwin_xlate = 0xff000000;
- sc->sc_iwin[0].iwin_size = 0x01000000;
-
- /* Map PCI:Local 1:1. */
- sc->sc_iwin[1].iwin_base_lo = VERDE_OUT_XLATE_MEM_WIN0_BASE |
- PCI_MAPREG_MEM_PREFETCHABLE_MASK |
- PCI_MAPREG_MEM_TYPE_64BIT;
- sc->sc_iwin[1].iwin_base_hi = 0;
-
- sc->sc_iwin[1].iwin_xlate = VERDE_OUT_XLATE_MEM_WIN0_BASE;
- sc->sc_iwin[1].iwin_size = VERDE_OUT_XLATE_MEM_WIN_SIZE;
-
-
- sc->sc_iwin[2].iwin_base_lo = memstart |
- PCI_MAPREG_MEM_PREFETCHABLE_MASK |
- PCI_MAPREG_MEM_TYPE_64BIT;
- sc->sc_iwin[2].iwin_base_hi = 0;
-
- sc->sc_iwin[2].iwin_xlate = memstart;
- sc->sc_iwin[2].iwin_size = memsize;
-
- sc->sc_iwin[3].iwin_base_lo = 0;
-#if 0
- PCI_MAPREG_MEM_PREFETCHABLE_MASK |
- PCI_MAPREG_MEM_TYPE_64BIT;
-#endif
-
- sc->sc_iwin[3].iwin_base_hi = 0;
- sc->sc_iwin[3].iwin_xlate = 0;
- sc->sc_iwin[3].iwin_size = 0;
-
- /*
- * We set up the Outbound Windows as follows:
- *
- * 0 Access to private PCI space.
- *
- * 1 Unused.
- */
- sc->sc_owin[0].owin_xlate_lo =
- PCI_MAPREG_MEM_ADDR(sc->sc_iwin[1].iwin_base_lo);
- sc->sc_owin[0].owin_xlate_hi = sc->sc_iwin[1].iwin_base_hi;
-
- /*
- * Set the Secondary Outbound I/O window to map
- * to PCI address 0 for all 64K of the I/O space.
- */
- sc->sc_ioout_xlate = 0x90000000;
- sc->sc_ioout_xlate_offset = 0x1000;
- } else if (atumembase == 0x40000004) {
- /* thecus */
-
- /* dont map device registers */
- sc->sc_iwin[0].iwin_base_lo = 0;
- sc->sc_iwin[0].iwin_base_hi = 0;
- sc->sc_iwin[0].iwin_xlate = 0;
- sc->sc_iwin[0].iwin_size = 0;
-
- /* Map PCI:Local 1:1. */
- sc->sc_iwin[1].iwin_base_lo = 0x40000000 |
- #if 0
- PCI_MAPREG_MEM_PREFETCHABLE_MASK |
- PCI_MAPREG_MEM_TYPE_64BIT;
- #else
- 0;
- #endif
- sc->sc_iwin[1].iwin_base_hi = 0;
-
- sc->sc_iwin[1].iwin_xlate = 0;
- sc->sc_iwin[1].iwin_size = 0x08000000;
-
- sc->sc_iwin[2].iwin_base_lo = 0 |
- PCI_MAPREG_MEM_PREFETCHABLE_MASK |
- PCI_MAPREG_MEM_TYPE_64BIT;
- sc->sc_iwin[2].iwin_base_hi = 0;
-
- sc->sc_iwin[2].iwin_xlate = memstart;
- sc->sc_iwin[2].iwin_size = memsize;
-
- sc->sc_iwin[3].iwin_base_lo = 0;
- sc->sc_iwin[3].iwin_base_hi = 0;
- sc->sc_iwin[3].iwin_xlate = 0;
- sc->sc_iwin[3].iwin_size = 0;
-
- /*
- * We set up the Outbound Windows as follows:
- *
- * 0 Access to private PCI space.
- *
- * 1 Unused.
- */
- sc->sc_owin[0].owin_xlate_lo =
- PCI_MAPREG_MEM_ADDR(sc->sc_iwin[1].iwin_base_lo);
- sc->sc_owin[0].owin_xlate_hi = sc->sc_iwin[1].iwin_base_hi;
-
- /*
- * Set the Secondary Outbound I/O window to map
- * to PCI address 0 for all 64K of the I/O space.
- */
- sc->sc_ioout_xlate = 0x90000000;
- sc->sc_ioout_xlate_offset = 0x1000;
-
- }
-
- i80321_attach(sc);
-
- i80321_gpio_init (sc);
-
- /* if 80219 */ {
- gba.gba_name = "gpio";
- gba.gba_gc = &sc->sc_gpio_gc;
- gba.gba_pins = sc->sc_gpio_pins;
- gba.gba_npins = I80219_GPIO_NPINS;
-#if NGPIO > 0
- config_found(&sc->sc_dev, &gba, gpiobus_print);
-#endif
- }
- {
-#define I80321_PLD 0xfe8d0000UL
-#define I80321_PLD_SIZE 0x1000
-
-#define PLD_LED 0
-#define PLD_PLED 1
-#define PLD_BTN 2
-#define PLD_INTEN 3
-#define PLD_PWRMNG 4
-
-#if 0
- uint8_t val;
-#endif
-
- if (bus_space_map(sc->sc_st, I80321_PLD, I80321_PLD_SIZE, 0,
- /* &sc->sc_pld_sh */ &sc_pld_sh))
- panic("%s: unable to map PLD registers",
- sc->sc_dev.dv_xname);
-
-#if 0
- printf("dlectl %x\n", bus_space_read_1(sc->sc_st, sc_pld_sh,
- PLD_LED));
- val = bus_space_read_1(sc->sc_st, sc_pld_sh, PLD_LED);
- val |= 0x3;
- bus_space_write_1(sc->sc_st, sc_pld_sh, PLD_LED, val);
- printf("dlectl %x\n", bus_space_read_1(sc->sc_st, sc_pld_sh,
- PLD_PLED));
- printf("dlectl %x\n", bus_space_read_1(sc->sc_st, sc_pld_sh,
- PLD_BTN));
-#endif
- }
- {
- extern struct cfdriver pcaled_cd;
- void pcaled_gpio_pin_write(void *arg, int pin, int value);
- if (pcaled_cd.cd_ndevs > 0 && pcaled_cd.cd_devs[0] != NULL) {
- pcaled_gpio_pin_write(pcaled_cd.cd_devs[0], 13, 0);
- pcaled_gpio_pin_write(pcaled_cd.cd_devs[0], 14, 0);
- }
- }
-}
-
-void
-i80321_gpio_init (struct i80321_softc *sc)
-{
- int i;
- for (i = 0; i < I80219_GPIO_NPINS; i++) {
- sc->sc_gpio_pins[i].pin_num = i;
- sc->sc_gpio_pins[i].pin_caps = GPIO_PIN_INPUT | GPIO_PIN_OUTPUT;
-
- sc->sc_gpio_pins[i].pin_flags =
- bus_space_read_4(sc->sc_st, sc->sc_sh, I80219_REG_GPOE) &
- (1 << i) ? GPIO_PIN_INPUT : GPIO_PIN_OUTPUT;
- sc->sc_gpio_pins[i].pin_state = i80321_gpio_pin_read(sc, i) ?
- GPIO_PIN_HIGH : GPIO_PIN_LOW;
- }
- sc->sc_gpio_gc.gp_cookie = sc;
- sc->sc_gpio_gc.gp_pin_read = i80321_gpio_pin_read;
- sc->sc_gpio_gc.gp_pin_write = i80321_gpio_pin_write;
- sc->sc_gpio_gc.gp_pin_ctl = i80321_gpio_pin_ctl;
-}
-
-int
-i80321_gpio_pin_read (void *arg, int pin)
-{
- struct i80321_softc *sc = arg;
- u_int32_t regval;
- int reg;
-
- if (bus_space_read_4(sc->sc_st, sc->sc_sh, I80219_REG_GPOE)
- & (1 << pin)) {
- reg = I80219_REG_GPID;
- } else {
- reg = I80219_REG_GPOD;
- }
- regval = bus_space_read_4(sc->sc_st, sc->sc_sh, reg);
-#if 0
- printf("read %x gpio %x\n", reg);
- printf("gpio state %x %x %x\n",
- bus_space_read_4(sc->sc_st, sc->sc_sh, I80219_REG_GPID),
- bus_space_read_4(sc->sc_st, sc->sc_sh, I80219_REG_GPOD),
- bus_space_read_4(sc->sc_st, sc->sc_sh, I80219_REG_GPOE));
-#endif
- return ((regval >> pin) & 1);
-}
-
-void
-i80321_gpio_pin_write (void *arg, int pin, int value)
-{
- struct i80321_softc *sc = arg;
- u_int32_t regval;
-
- regval = bus_space_read_4(sc->sc_st, sc->sc_sh, I80219_REG_GPOD);
- regval = (regval & ~(1 << pin)) | ((value & 1) << pin);
-#if 0
- printf("writing %x to gpioO %x\n", regval);
-#endif
- bus_space_write_4(sc->sc_st, sc->sc_sh, I80219_REG_GPOD, regval);
-}
-void
-i80321_gpio_pin_ctl (void *arg, int pin, int flags)
-{
- struct i80321_softc *sc = arg;
- u_int32_t regval;
- int value = (flags == GPIO_PIN_INPUT) ? 1 : 0;
-
- regval = bus_space_read_4(sc->sc_st, sc->sc_sh, I80219_REG_GPOE);
- regval = (regval & ~(1 << pin)) | ((value & 1) << pin);
-#if 0
- printf("writing %x to ctl %x\n", regval, value);
-#endif
- bus_space_write_4(sc->sc_st, sc->sc_sh, I80219_REG_GPOE, regval);
-}
-
-
-void board_reset(void); /* XXX */
-void
-board_reset()
-{
- struct i80321_softc *sc = i80321_softc;
- uint32_t val;
-
- printf("attempting reset\n");
- val = bus_space_read_4(sc->sc_st, sc->sc_sh, 0x7CC);
- val &= ~0x10;
- bus_space_write_4(sc->sc_st, sc->sc_sh, 0x7CC, val);
- val = bus_space_read_4(sc->sc_st, sc->sc_sh, 0x7C4);
- val &= ~0x10;
- bus_space_write_4(sc->sc_st, sc->sc_sh, 0x7C4, val);
-
- bus_space_write_1(sc->sc_st, sc_pld_sh, PLD_PWRMNG, 0x2);
-
-}
-
-void board_powerdown(void); /* XXX */
-void
-board_powerdown(void)
-{
- void pcaled_gpio_pin_write(void *arg, int pin, int value);
- extern struct cfdriver pcaled_cd;
-
- if (pcaled_cd.cd_ndevs > 0 && pcaled_cd.cd_devs[0] != NULL) {
- pcaled_gpio_pin_write(pcaled_cd.cd_devs[0], 8, 1);
- delay(500000);
- }
-}
+++ /dev/null
-/* $OpenBSD: iq80321_pci.c,v 1.11 2014/05/08 21:17:01 miod Exp $ */
-/* $NetBSD: iq80321_pci.c,v 1.5 2005/12/11 12:17:09 christos Exp $ */
-
-/*
- * Copyright (c) 2001, 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.
- */
-
-/*
- * IQ80321 PCI interrupt support.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/device.h>
-
-#include <machine/bus.h>
-
-#include <armish/dev/iq80321reg.h>
-#include <armish/dev/iq80321var.h>
-
-#include <arm/xscale/i80321reg.h>
-#include <arm/xscale/i80321var.h>
-
-#include <dev/pci/pcidevs.h>
-#include <dev/pci/ppbreg.h>
-
-int iq80321_pci_intr_map(struct pci_attach_args *, pci_intr_handle_t *);
-const char *iq80321_pci_intr_string(void *, pci_intr_handle_t);
-void *iq80321_pci_intr_establish(void *, pci_intr_handle_t,
- int, int (*func)(void *), void *, const char *);
-void iq80321_pci_intr_disestablish(void *, void *);
-
-struct irq_map {
- uint8_t dev;
- uint8_t intrpin;
- uint8_t irq;
-};
-
-
-struct pci_id_list {
- uint8_t bus;
- uint8_t dev;
- pci_vendor_id_t vend;
- pci_product_id_t prod;
-};
-
-struct board_id {
- char *name;
- struct irq_map *irq_map;
- struct pci_id_list list[];
-};
-
-struct irq_map *iq80321_irq_map;
-
-struct irq_map iq80321_thecus_irq_map[] = {
- { 1, 1, ICU_INT_XINT(0) }, /* thecus re0 27 */
- { 2, 1, ICU_INT_XINT(3) }, /* thecus re1 30 */
- { 3, 1, ICU_INT_XINT(2) }, /* thecus sata 29 */
- { 4, 1, ICU_INT_XINT(0) }, /* thecus uhci0 27 ??? */
- { 4, 2, ICU_INT_XINT(0) }, /* thecus uhci1 27 */
- { 4, 3, ICU_INT_XINT(2) }, /* thecus ehci0 29 */
- { 5, 1, ICU_INT_XINT(3) }, /* thecus minipci slot */
- { 0, 0, 255}
-};
-
-struct irq_map iq80321_hdlg_irq_map[] = {
- { 1, 1, ICU_INT_XINT(0) }, /* em0 27 */
- { 2, 1, ICU_INT_XINT(1) }, /* wdc0 28 */
- { 3, 1, ICU_INT_XINT(2) }, /* ochi0 29 */
- { 3, 2, ICU_INT_XINT(2) }, /* ochi0 29 */
- { 3, 3, ICU_INT_XINT(2) }, /* echi0 29 */
- { 0, 0, 255}
-};
-struct irq_map certance_irq_map[] = {
- { 0, 1, ICU_INT_XINT(0) }, /* em0 27 */
- { 0, 2, ICU_INT_XINT(0) }, /* em0 27 */
- { 1, 1, ICU_INT_XINT(1) }, /* sata 28 */
-#if 0
- { 2, 1, ICU_INT_XINT(0) }, /* scsi 29 */
-#endif
- { 2, 2, ICU_INT_XINT(3) }, /* scsi 30 */
- { 0, 0, 255}
-};
-struct board_id thecus = {
- "Thecus Nx100",
- iq80321_thecus_irq_map,
- {
- { 0, 1, PCI_VENDOR_REALTEK, PCI_PRODUCT_REALTEK_RT8169 },
- /* fill in the rest of the devices */
- { 0, 0, 0, 0 }
- }
-};
-struct board_id iodata = {
- "I/O Data HDL-G",
- iq80321_hdlg_irq_map,
- {
- { 0, 1, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82541GI },
- /* fill in the rest of the devices */
- { 0, 0, 0, 0 }
- }
-};
-struct board_id certance = {
- "Certance CP3100",
- certance_irq_map,
- {
- { 0, 0, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82546EB_COPPER },
- { 0, 1, PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_31244 },
- { 0, 2, PCI_VENDOR_SYMBIOS, PCI_PRODUCT_SYMBIOS_1010_2 },
- /* fill in the rest of the devices */
- { 0, 0, 0, 0 }
- }
-};
-
-struct board_id *systems[] = {
- &thecus,
- &iodata,
- &certance,
- NULL
-};
-
-void
-iq80321_pci_init(pci_chipset_tag_t pc, void *cookie)
-{
- pc->pc_intr_v = cookie; /* the i80321 softc */
- pc->pc_intr_map = iq80321_pci_intr_map;
- pc->pc_intr_string = iq80321_pci_intr_string;
- pc->pc_intr_establish = iq80321_pci_intr_establish;
- pc->pc_intr_disestablish = iq80321_pci_intr_disestablish;
-
-}
-void
-iq80321_pci_init2(pci_chipset_tag_t pc, void *cookie)
-{
- pcitag_t tag;
- int i, j;
- struct board_id *sys;
- u_int32_t reg;
-
-
- for (i = 0; systems[i] != NULL; i++) {
- sys = systems[i];
- for (j = 0; sys->list[j].vend != 0; j++) {
- tag = pci_make_tag(pc, sys->list[j].bus,
- sys->list[j].dev, 0);
- reg = pci_conf_read(pc, tag, 0 /* ID */);
-#ifdef PROBE_NEW_BOARD
- printf("read %x expected %x\n", reg,
- (sys->list[j].vend | sys->list[j].prod << 16));
-#endif
- if ((sys->list[j].vend | sys->list[j].prod << 16) !=
- reg){
- sys = NULL;
- break;
- }
- }
- if (sys != NULL)
- break;
- }
- if (sys == NULL) {
- printf("board id failed\n");
-#ifdef PROBE_NEW_BOARD
- for (i = 0; i < 16; i++) {
- tag = pci_make_tag(pc, 0, i, 0);
- printf("bus 0, dev %d: %x\n", i,
- pci_conf_read(pc, tag, 0 /* ID */));
- }
-#endif
- } else
- printf(": %s", sys->name);
- iq80321_irq_map = sys->irq_map;
-
- /* XXX */
- if (sys == &thecus) {
- /*
- * thecus com irq appears to not be attached, override
- * it's irq here, it is tied to the tick timer, irq9
- * - yes this is a hack.
- */
- extern int com_irq_override;
- com_irq_override = 28;
- }
-}
-
-int
-iq80321_pci_intr_map(struct pci_attach_args *pa, pci_intr_handle_t *ihp)
-{
- struct i80321_softc *sc = pa->pa_pc->pc_intr_v;
- pci_chipset_tag_t pc = pa->pa_pc;
- pcitag_t tag = pa->pa_intrtag;
- int i;
-
- int b, d, f;
- uint32_t busno;
- uint32_t intr;
-
- busno = bus_space_read_4(sc->sc_st, sc->sc_atu_sh, ATU_PCIXSR);
- busno = PCIXSR_BUSNO(busno);
- if (busno == 0xff)
- busno = 0;
-
- pci_decompose_tag(pc, tag, &b, &d, &f);
-
- /* No mappings for devices not on our bus. */
- if (b != busno)
- goto no_mapping;
-
- for (i = 0; iq80321_irq_map[i].irq != 255; i++) {
- if (d == iq80321_irq_map[i].dev &&
- pa->pa_intrpin == iq80321_irq_map[i].intrpin) {
- *ihp = iq80321_irq_map[i].irq;
- intr = pci_conf_read(pa->pa_pc, pa->pa_intrtag,
- PCI_INTERRUPT_REG);
- intr = (intr & ~0xff) | iq80321_irq_map[i].irq;
- pci_conf_write(pa->pa_pc, pa->pa_intrtag,
- PCI_INTERRUPT_REG, intr);
- return (0);
- }
- }
-
- no_mapping:
- intr = pci_conf_read(pa->pa_pc, pa->pa_intrtag,
- PCI_INTERRUPT_REG);
-
- printf("iq80321_pci_intr_map: no mapping for %d/%d/%d (%d, %d, %d)\n",
- pa->pa_bus, pa->pa_device, pa->pa_function, d, pa->pa_intrpin, intr);
- return (1);
-}
-
-const char *
-iq80321_pci_intr_string(void *v, pci_intr_handle_t ih)
-{
- static char irqname[32];
-
- snprintf(irqname, sizeof irqname, "irq %ld", ih);
- return (irqname);
-}
-
-void *
-iq80321_pci_intr_establish(void *v, pci_intr_handle_t ih, int ipl,
- int (*func)(void *), void *arg, const char *name)
-{
-
- return (i80321_intr_establish(ih, ipl, func, arg, name));
-}
-
-void
-iq80321_pci_intr_disestablish(void *v, void *cookie)
-{
-
- i80321_intr_disestablish(cookie);
-}
+++ /dev/null
-/* $OpenBSD: iq80321reg.h,v 1.2 2006/05/29 17:30:26 drahn Exp $ */
-/* $NetBSD: iq80321reg.h,v 1.4 2003/05/14 19:46:39 thorpej 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.
- */
-
-#ifndef _IQ80321REG_H_
-#define _IQ80321REG_H_
-
-/*
- * Memory map and register definitions for the Intel IQ80321
- * Evaluation Board.
- */
-
-/*
- * The memory map of the IQ80321 looks like so:
- *
- * ------------------------------
- * Intel 80321 IOP Reserved
- * FFFF E900 ------------------------------
- * Peripheral Memory Mapped
- * Registers
- * FFFF E000 ------------------------------
- * On-board devices
- * FE80 0000 ------------------------------
- * SDRAM
- * A000 0000 ------------------------------
- * Reserved
- * 9100 0000 ------------------------------
- * Flash
- * 9080 0000 ------------------------------
- * Reserved
- * 9002 0000 ------------------------------
- * ATU Outbound Transaction
- * Windows
- * 8000 0000 ------------------------------
- * ATU Outbound Direct
- * Addressing Windows
- * 0000 1000 ------------------------------
- * Initialization Boot Code
- * from Flash
- * 0000 0000 ------------------------------
- */
-
-/*
- * We allocate a page table for VA 0xfe400000 (4MB) and map the
- * PCI I/O space (64K) and i80321 memory-mapped registers (4K) there.
- */
-#if 0
-#define IQ80321_IOPXS_VBASE 0xfe400000UL
-#define IQ80321_IOW_VBASE IQ80321_IOPXS_VBASE
-#define IQ80321_80321_VBASE (IQ80321_IOW_VBASE + \
- VERDE_OUT_XLATE_IO_WIN_SIZE)
-#endif
-
-/*
- * The IQ80321 on-board devices are mapped VA==PA during bootstrap.
- * Conveniently, the size of the on-board register space is 1 section
- * mapping.
- */
-#define IQ80321_OBIO_BASE 0xfe800000UL
-#define IQ80321_OBIO_SIZE 0x00100000UL /* 1MB */
-
-#define IQ80321_UART1 0xfe800000UL /* TI 16550 */
-
-#define IQ80321_7SEG_MSB 0xfe840000UL
-#define IQ80321_7SEG_LSB 0xfe850000UL
-
-#define IQ80321_ROT_SWITCH 0xfe8d0000UL
-
-#define IQ80321_BATTERY_STAT 0xfe8f0000UL
-#define BATTERY_STAT_PRES (1U << 0)
-#define BATTERY_STAT_CHRG (1U << 1)
-#define BATTERY_STAT_DISCHRG (1U << 2)
-
-#endif /* _IQ80321REG_H_ */
+++ /dev/null
-/* $OpenBSD: iq80321var.h,v 1.3 2006/05/31 05:49:54 drahn Exp $ */
-/* $NetBSD: iq80321var.h,v 1.1 2002/03/27 21:51:30 thorpej 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.
- */
-
-#ifndef _IQ80321_IQ80321VAR_H_
-#define _IQ80321_IQ80321VAR_H_
-
-#include <dev/pci/pcivar.h>
-
-void iq80321_7seg(char, char);
-void iq80321_7seg_snake(void);
-
-void iq80321_pci_init(pci_chipset_tag_t, void *);
-void iq80321_pci_init2(pci_chipset_tag_t, void *);
-void save_ref(void);
-void check_ref(void);
-
-void pci_addr_fixup(void *, int maxbus);
-
-#endif /* _IQ80321_IQ80321VAR_H_ */
+++ /dev/null
-/* $OpenBSD: obio.c,v 1.4 2016/05/02 08:15:55 patrick Exp $ */
-/* $NetBSD: obio.c,v 1.14 2005/12/11 12:17:09 christos Exp $ */
-
-/*
- * Copyright (c) 2001, 2002, 2003 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.
- */
-
-/*
- * On-board device autoconfiguration support for Intel IQ80321
- * evaluation boards.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/device.h>
-
-#include <machine/bus.h>
-
-#include <arm/mainbus/mainbus.h>
-#include <arm/xscale/i80321reg.h>
-#include <armish/dev/iq80321reg.h>
-#include <armish/dev/iq80321var.h>
-#include <armish/dev/obiovar.h>
-
-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_search(struct device *, void *, void *);
-
-/* there can be only one */
-int obio_found;
-
-int
-obio_match(struct device *parent, void *match, void *aux)
-{
- union mainbus_attach_args *ma = aux;
- struct cfdata *cf = match;
-
- if (obio_found)
- return (0);
-
- if (strcmp(cf->cf_driver->cd_name, ma->ma_name) == 0)
- return (1);
-
- return (0);
-}
-
-void
-obio_attach(struct device *parent, struct device *self, void *aux)
-{
- struct device *sc = self;
-
-
- obio_found = 1;
-
- printf("\n");
-
- /*
- * Attach all the on-board devices as described in the kernel
- * configuration file.
- */
- config_search(obio_search, self, sc);
-}
-
-int
-obio_print(void *aux, const char *pnp)
-{
- struct obio_attach_args *oba = aux;
-
- printf(" addr 0x%08lx", oba->oba_addr);
-
- if (oba->oba_irq != -1)
- printf(" intr %d", oba->oba_irq);
-
-
- return (UNCONF);
-}
-
-int
-obio_search(struct device *parent, void *v, void *aux)
-{
- struct obio_attach_args oba;
- struct cfdata *cf = v;
-
- oba.oba_st = &obio_bs_tag;
- oba.oba_addr = cf->cf_loc[0];
- oba.oba_size = cf->cf_loc[1];
- oba.oba_width = cf->cf_loc[2];
- if (cf->cf_loc[3] != -1)
- oba.oba_irq = ICU_INT_XINT(cf->cf_loc[3]);
- else
- oba.oba_irq = -1;
-
- config_found(parent, &oba, obio_print);
-
-
- return (0);
-}
+++ /dev/null
-/* $OpenBSD: obio_space.c,v 1.3 2014/11/16 12:30:56 deraadt Exp $ */
-/* $NetBSD: obio_space.c,v 1.9 2005/11/24 13:08:33 yamt Exp $ */
-
-
-/*
- * Copyright (c) 2001, 2002, 2003 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.
- */
-
-/*
- * bus_space functions for IQ80321 on-board devices
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-
-#include <uvm/uvm_extern.h>
-
-#include <machine/bus.h>
-
-/* Prototypes for all the bus_space structure functions */
-bs_protos(obio);
-bs_protos(generic);
-bs_protos(generic_armv4);
-bs_protos(bs_notimpl);
-
-/*
- * The obio bus space tag. This is constant for all instances, so
- * we never have to explicitly "create" it.
- */
-struct bus_space obio_bs_tag = {
- /* cookie */
- (void *) 0,
-
- /* mapping/unmapping */
- obio_bs_map,
- obio_bs_unmap,
- obio_bs_subregion,
-
- /* allocation/deallocation */
- obio_bs_alloc,
- obio_bs_free,
-
- /* get kernel virtual address */
- obio_bs_vaddr,
-
- /* mmap */
- bs_notimpl_bs_mmap,
-
- /* barrier */
- obio_bs_barrier,
-
- /* read (single) */
- generic_bs_r_1,
- generic_armv4_bs_r_2,
- generic_bs_r_4,
- bs_notimpl_bs_r_8,
-
- /* read multiple */
- generic_bs_rm_1,
- generic_armv4_bs_rm_2,
- bs_notimpl_bs_rm_4,
- bs_notimpl_bs_rm_8,
-
- /* read region */
- generic_bs_rr_1,
- bs_notimpl_bs_rr_2,
- bs_notimpl_bs_rr_4,
- bs_notimpl_bs_rr_8,
-
- /* write (single) */
- generic_bs_w_1,
- generic_armv4_bs_w_2,
- generic_bs_w_4,
- bs_notimpl_bs_w_8,
-
- /* write multiple */
- generic_bs_wm_1,
- generic_armv4_bs_wm_2,
- bs_notimpl_bs_wm_4,
- bs_notimpl_bs_wm_8,
-
- /* write region */
- bs_notimpl_bs_wr_1,
- bs_notimpl_bs_wr_2,
- bs_notimpl_bs_wr_4,
- bs_notimpl_bs_wr_8,
-
- /* set multiple */
- bs_notimpl_bs_sm_1,
- bs_notimpl_bs_sm_2,
- bs_notimpl_bs_sm_4,
- bs_notimpl_bs_sm_8,
-
- /* set region */
- bs_notimpl_bs_sr_1,
- bs_notimpl_bs_sr_2,
- bs_notimpl_bs_sr_4,
- bs_notimpl_bs_sr_8,
-
- /* copy */
- bs_notimpl_bs_c_1,
- bs_notimpl_bs_c_2,
- bs_notimpl_bs_c_4,
- bs_notimpl_bs_c_8,
-};
-
-int
-obio_bs_map(void *t, bus_addr_t bpa, bus_size_t size, int flag,
- bus_space_handle_t *bshp)
-{
- const struct pmap_devmap *pd;
- paddr_t startpa, endpa, pa;
- vaddr_t va;
- pt_entry_t *pte;
-
- if ((pd = pmap_devmap_find_pa(bpa, size)) != NULL) {
- /* Device was statically mapped. */
- *bshp = pd->pd_va + (bpa - pd->pd_pa);
- return (0);
- }
-
- endpa = round_page(bpa + size);
- startpa = trunc_page(bpa);
-
- va = uvm_km_valloc(kernel_map, endpa - startpa);
- if (va == 0)
- return(ENOMEM);
-
- *bshp = (bus_space_handle_t)(va + (bpa - startpa));
-
- for (pa = startpa; pa < endpa; pa += PAGE_SIZE, va += PAGE_SIZE) {
- pmap_kenter_pa(va, pa, PROT_READ | PROT_WRITE);
- if ((flag & BUS_SPACE_MAP_CACHEABLE) == 0) {
- pte = vtopte(va);
- *pte &= ~L2_S_CACHE_MASK;
- PTE_SYNC(pte);
- }
- }
- pmap_update(pmap_kernel());
-
- return (0);
-}
-
-int
-obio_bs_alloc(void *t, 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 *bpap,
- bus_space_handle_t *bshp)
-{
-
- panic("obio_bs_alloc(): not implemented");
-}
-
-
-void
-obio_bs_unmap(void *t, bus_space_handle_t bsh, bus_size_t size)
-{
- vaddr_t va, endva;
-
- if (pmap_devmap_find_va(bsh, size) != NULL) {
- /* Device was statically mapped; nothing to do. */
- return;
- }
-
- endva = round_page(bsh + size);
- va = trunc_page(bsh);
-
- pmap_kremove(va, endva - va);
- uvm_km_free(kernel_map, va, endva - va);
-}
-
-void
-obio_bs_free(void *t, bus_space_handle_t bsh, bus_size_t size)
-{
-
- panic("obio_bs_free(): not implemented");
-}
-
-int
-obio_bs_subregion(void *t, bus_space_handle_t bsh, bus_size_t offset,
- bus_size_t size, bus_space_handle_t *nbshp)
-{
-
- *nbshp = bsh + offset;
- return (0);
-}
-
-void *
-obio_bs_vaddr(void *t, bus_space_handle_t bsh)
-{
-
- return ((void *)bsh);
-}
-
-void
-obio_bs_barrier(void *t, bus_space_handle_t bsh, bus_size_t offset,
- bus_size_t len, int flags)
-{
-
- /* Nothing to do. */
-}
+++ /dev/null
-/* $OpenBSD: obiovar.h,v 1.2 2006/05/29 17:30:26 drahn Exp $ */
-/* $NetBSD: obiovar.h,v 1.4 2003/06/16 17:40:53 thorpej Exp $ */
-
-/*
- * Copyright (c) 2002, 2003 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.
- */
-
-#ifndef _IQ80321_OBIOVAR_H_
-#define _IQ80321_OBIOVAR_H_
-
-struct obio_attach_args {
- bus_space_tag_t oba_st; /* bus space tag */
- bus_addr_t oba_addr; /* address of device */
- bus_size_t oba_size; /* size of device */
- int oba_width; /* bus width */
- int oba_irq; /* XINT interrupt bit # */
-};
-
-extern struct bus_space obio_bs_tag;
-
-#endif /* _IQ80321_OBIOVAR_H_ */
+++ /dev/null
-/* $OpenBSD: pci_addr_fixup.c,v 1.5 2006/07/17 16:59:53 drahn Exp $ */
-/* $NetBSD: pci_addr_fixup.c,v 1.7 2000/08/03 20:10:45 nathanw Exp $ */
-
-/*-
- * Copyright (c) 2000 UCHIYAMA Yasushi. 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. 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 <sys/param.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-#include <sys/kernel.h>
-#include <sys/device.h>
-#include <sys/extent.h>
-
-#include <uvm/uvm_param.h>
-#include <machine/bus.h>
-
-#include <dev/pci/pcireg.h>
-#include <dev/pci/pcivar.h>
-#include <dev/pci/pcidevs.h>
-
-#include <arm/xscale/i80321var.h>
-#include <armish/dev/iq80321var.h>
-
-typedef int (*pciaddr_resource_manage_func_t)(struct i80321_softc *,
- pci_chipset_tag_t, pcitag_t, int, struct extent *, int, bus_addr_t *,
- bus_size_t);
-void pciaddr_resource_manage(struct i80321_softc *,
- pci_chipset_tag_t, pcitag_t, pciaddr_resource_manage_func_t);
-void pciaddr_resource_reserve(struct i80321_softc *,
- pci_chipset_tag_t, pcitag_t);
-void pciaddr_resource_reserve_disabled(struct i80321_softc *,
- pci_chipset_tag_t, pcitag_t);
-int pciaddr_do_resource_reserve(struct i80321_softc *,
- pci_chipset_tag_t, pcitag_t, int, struct extent *, int,
- bus_addr_t *, bus_size_t);
-int pciaddr_do_resource_reserve_disabled(struct i80321_softc *,
- pci_chipset_tag_t, pcitag_t, int, struct extent *, int,
- bus_addr_t *, bus_size_t);
-void pciaddr_resource_allocate(struct i80321_softc *,
- pci_chipset_tag_t, pcitag_t);
-int pciaddr_do_resource_allocate(struct i80321_softc *,
- pci_chipset_tag_t, pcitag_t, int, struct extent *, int, bus_addr_t *,
- bus_size_t);
-bus_addr_t pciaddr_ioaddr(u_int32_t);
-void pciaddr_print_devid(pci_chipset_tag_t, pcitag_t);
-
-int pciaddr_device_is_agp(pci_chipset_tag_t, pcitag_t);
-
-void pci_device_foreach(struct i80321_softc *sc, pci_chipset_tag_t pc,
- int maxbus,
- void (*func)(struct i80321_softc *, pci_chipset_tag_t, pcitag_t));
-
-#define PCIADDR_MEM_START 0x0
-#define PCIADDR_MEM_END 0xffffffff
-#define PCIADDR_PORT_START 0x0
-#define PCIADDR_PORT_END 0xffff
-
-int pcibr_flags = 0;
-#define PCIBR_VERBOSE 1
-#define PCIBR_ADDR_FIXUP 2
-
-#define PCIBIOS_PRINTV(x) if (pcibr_flags & PCIBR_VERBOSE) \
- printf x
-
-void
-pci_addr_fixup(void *v, int maxbus)
-{
- struct i80321_softc *sc = v;
-
- const char *verbose_header =
- "[%s]-----------------------\n"
- " device vendor product\n"
- " register space address size\n"
- "--------------------------------------------\n";
- const char *verbose_footer =
- "--------------------------[%3d devices bogus]\n";
-
- sc->extent_mem = extent_create("PCI I/O memory space",
- sc->sc_membus_space.bus_base,
- sc->sc_membus_space.bus_base + sc->sc_membus_space.bus_size,
- M_DEVBUF, 0, 0, EX_NOWAIT);
- KASSERT(sc->extent_mem);
- sc->extent_port = extent_create("PCI I/O port space",
- sc->sc_iobus_space.bus_base,
- sc->sc_iobus_space.bus_base + sc->sc_iobus_space.bus_size,
- M_DEVBUF, 0, 0, EX_NOWAIT);
- KASSERT(sc->extent_port);
-
- /*
- * 1. check & reserve system BIOS setting.
- */
- PCIBIOS_PRINTV((verbose_header, "System BIOS Setting"));
- pci_device_foreach(sc, &sc->sc_pci_chipset, maxbus,
- pciaddr_resource_reserve);
- pci_device_foreach(sc, &sc->sc_pci_chipset, maxbus,
- pciaddr_resource_reserve_disabled);
- PCIBIOS_PRINTV((verbose_footer, sc->nbogus));
-
- {
- struct extent_region *rp;
- struct extent *ex = sc->extent_mem;
- for (rp = LIST_FIRST(&ex->ex_regions);
- rp; rp = LIST_NEXT(rp, er_link)) {
- }
- }
- {
- struct extent_region *rp;
- struct extent *ex = sc->extent_port;
- for (rp = LIST_FIRST(&ex->ex_regions);
- rp; rp = LIST_NEXT(rp, er_link)) {
- }
- }
-
- /*
- * 4. do fixup
- */
- PCIBIOS_PRINTV((verbose_header, "PCIBIOS fixup stage"));
- sc->nbogus = 0;
- pci_device_foreach(sc, &sc->sc_pci_chipset, maxbus,
- pciaddr_resource_allocate);
- PCIBIOS_PRINTV((verbose_footer, sc->nbogus));
-
-}
-
-void
-pciaddr_resource_reserve(struct i80321_softc *sc, pci_chipset_tag_t pc,
- pcitag_t tag)
-{
- if (pcibr_flags & PCIBR_VERBOSE)
- pciaddr_print_devid(pc, tag);
- pciaddr_resource_manage(sc, pc, tag, pciaddr_do_resource_reserve);
-}
-void
-pciaddr_resource_reserve_disabled(struct i80321_softc *sc,
- pci_chipset_tag_t pc, pcitag_t tag)
-{
- if (pcibr_flags & PCIBR_VERBOSE)
- pciaddr_print_devid(pc, tag);
- pciaddr_resource_manage(sc, pc, tag,
- pciaddr_do_resource_reserve_disabled);
-}
-
-
-void
-pciaddr_resource_allocate(struct i80321_softc *sc, pci_chipset_tag_t pc,
- pcitag_t tag)
-{
- if (pcibr_flags & PCIBR_VERBOSE)
- pciaddr_print_devid(pc, tag);
- pciaddr_resource_manage(sc, pc, tag, pciaddr_do_resource_allocate);
-}
-
-void
-pciaddr_resource_manage(struct i80321_softc *sc, pci_chipset_tag_t pc,
- pcitag_t tag, pciaddr_resource_manage_func_t func)
-{
- struct extent *ex;
- pcireg_t val, mask;
- bus_addr_t addr;
- bus_size_t size;
- int error, mapreg, type, reg_start, reg_end, width;
-
- val = pci_conf_read(pc, tag, PCI_BHLC_REG);
- switch (PCI_HDRTYPE_TYPE(val)) {
- default:
- printf("WARNING: unknown PCI device header.\n");
- sc->nbogus++;
- return;
- case 0:
- reg_start = PCI_MAPREG_START;
- reg_end = PCI_MAPREG_END;
- break;
- case 1: /* PCI-PCI bridge */
- reg_start = PCI_MAPREG_START;
- reg_end = PCI_MAPREG_PPB_END;
- break;
- case 2: /* PCI-CardBus bridge */
- reg_start = PCI_MAPREG_START;
- reg_end = PCI_MAPREG_PCB_END;
- break;
- }
- error = 0;
-
- for (mapreg = reg_start; mapreg < reg_end; mapreg += width) {
- /* inquire PCI device bus space requirement */
- val = pci_conf_read(pc, tag, mapreg);
- pci_conf_write(pc, tag, mapreg, ~0);
-
- mask = pci_conf_read(pc, tag, mapreg);
- pci_conf_write(pc, tag, mapreg, val);
-
- type = PCI_MAPREG_TYPE(val);
- width = 4;
- if (type == PCI_MAPREG_TYPE_MEM) {
- if (PCI_MAPREG_MEM_TYPE(val) ==
- PCI_MAPREG_MEM_TYPE_64BIT) {
- /* XXX We could examine the upper 32 bits
- * XXX of the BAR here, but we are totally
- * XXX unprepared to handle a non-zero value,
- * XXX either here or anywhere else in
- * XXX i386-land.
- * XXX So just arrange to not look at the
- * XXX upper 32 bits, lest we misinterpret
- * XXX it as a 32-bit BAR set to zero.
- */
- width = 8;
- }
- addr = PCI_MAPREG_MEM_ADDR(val);
- size = PCI_MAPREG_MEM_SIZE(mask);
- ex = sc->extent_mem;
- } else {
- /* XXX some devices give 32bit value */
- if (sc->sc_iobus_space.bus_base != PCIADDR_PORT_START) {
- /*
- * if the bus base is not 0 skew all addresses
- */
- val &= PCIADDR_PORT_END;
- val |= sc->sc_iobus_space.bus_base;
- pci_conf_write(pc, tag, mapreg, val);
- }
- addr = PCI_MAPREG_IO_ADDR(val);
- size = PCI_MAPREG_IO_SIZE(mask);
- ex = sc->extent_port;
- }
-
- if (!size) /* unused register */
- continue;
-
- /* reservation/allocation phase */
- error += (*func) (sc, pc, tag, mapreg, ex, type, &addr, size);
-
- PCIBIOS_PRINTV(("\t%02xh %s 0x%08x 0x%08x\n",
- mapreg, type ? "port" : "mem ",
- (unsigned int)addr, (unsigned int)size));
- }
-
- if (error)
- sc->nbogus++;
-
- PCIBIOS_PRINTV(("\t\t[%s]\n", error ? "NG" : "OK"));
-}
-
-int
-pciaddr_do_resource_allocate(struct i80321_softc *sc, pci_chipset_tag_t pc,
- pcitag_t tag, int mapreg, struct extent *ex, int type, bus_addr_t *addr,
- bus_size_t size)
-{
- bus_addr_t start;
- int error;
-
- if (type == PCI_MAPREG_TYPE_IO) {
- if ((*addr & PCIADDR_PORT_END) != 0)
- return (0);
- } else if (*addr) /* no need to allocate */
- return (0);
-
- /* XXX Don't allocate if device is AGP device to avoid conflict. */
- if (pciaddr_device_is_agp(pc, tag))
- return (0);
-
- start = (type == PCI_MAPREG_TYPE_MEM ? sc->sc_membus_space.bus_base
- : sc->sc_iobus_space.bus_base);
- if (start < ex->ex_start || start + size - 1 >= ex->ex_end) {
- PCIBIOS_PRINTV(("No available resources. fixup failed\n"));
- return (1);
- }
- error = extent_alloc_subregion(ex, start, ex->ex_end, size, size, 0, 0,
- EX_FAST|EX_NOWAIT|EX_MALLOCOK, addr);
- if (error) {
- PCIBIOS_PRINTV(("No available resources. fixup failed\n"));
- return (1);
- }
-
- /* write new address to PCI device configuration header */
- pci_conf_write(pc, tag, mapreg, *addr);
- /* check */
- if (pcibr_flags & PCIBR_VERBOSE) {
- printf("pci_addr_fixup: ");
- pciaddr_print_devid(pc, tag);
- }
-
- if (pciaddr_ioaddr(pci_conf_read(pc, tag, mapreg)) != *addr) {
- pci_conf_write(pc, tag, mapreg, 0); /* clear */
- printf("fixup failed. (new address=%#lx)\n", *addr);
- return (1);
- }
- if (pcibr_flags & PCIBR_VERBOSE)
- printf("new address 0x%08lx\n", *addr);
-
- return (0);
-}
-
-int
-pciaddr_do_resource_reserve(struct i80321_softc *sc, pci_chipset_tag_t pc,
- pcitag_t tag, int mapreg, struct extent *ex, int type, bus_addr_t *addr,
- bus_size_t size)
-{
- pcireg_t val;
- int error;
-
- if ((type == PCI_MAPREG_TYPE_IO) && ((*addr & PCIADDR_PORT_END) == 0))
- return (0);
- if (*addr == 0)
- return (0);
-
- val = pci_conf_read(pc, tag, PCI_COMMAND_STATUS_REG);
- if (type == PCI_MAPREG_TYPE_MEM &&
- (val & PCI_COMMAND_MEM_ENABLE) != PCI_COMMAND_MEM_ENABLE)
- return (0);
- if (type == PCI_MAPREG_TYPE_IO &&
- (val & PCI_COMMAND_IO_ENABLE) != PCI_COMMAND_IO_ENABLE)
- return (0);
-
- error = extent_alloc_region(ex, *addr, size, EX_NOWAIT | EX_MALLOCOK);
- if (error) {
- PCIBIOS_PRINTV(("Resource conflict.\n"));
- pci_conf_write(pc, tag, mapreg, 0); /* clear */
- return (1);
- }
-
- return (0);
-}
-
-int
-pciaddr_do_resource_reserve_disabled(struct i80321_softc *sc,
- pci_chipset_tag_t pc, pcitag_t tag, int mapreg, struct extent *ex,
- int type, bus_addr_t *addr, bus_size_t size)
-{
- pcireg_t val;
- int error;
-
- if ((type == PCI_MAPREG_TYPE_IO) && ((*addr & PCIADDR_PORT_END) == 0))
- return (0);
- if (*addr == 0)
- return (0);
-
- val = pci_conf_read(pc, tag, PCI_COMMAND_STATUS_REG);
- if (type == PCI_MAPREG_TYPE_MEM &&
- (val & PCI_COMMAND_MEM_ENABLE) == PCI_COMMAND_MEM_ENABLE)
- return (0);
- if (type == PCI_MAPREG_TYPE_IO &&
- (val & PCI_COMMAND_IO_ENABLE) == PCI_COMMAND_IO_ENABLE)
- return (0);
-
- error = extent_alloc_region(ex, *addr, size, EX_NOWAIT | EX_MALLOCOK);
- if (error) {
- PCIBIOS_PRINTV(("Resource conflict.\n"));
- pci_conf_write(pc, tag, mapreg, 0); /* clear */
- return (1);
- }
-
- return (0);
-}
-
-bus_addr_t
-pciaddr_ioaddr(u_int32_t val)
-{
- return ((PCI_MAPREG_TYPE(val) == PCI_MAPREG_TYPE_MEM)
- ? PCI_MAPREG_MEM_ADDR(val)
- : (PCI_MAPREG_IO_ADDR(val)));
-}
-
-void
-pciaddr_print_devid(pci_chipset_tag_t pc, pcitag_t tag)
-{
- int bus, device, function;
- pcireg_t id;
-
- id = pci_conf_read(pc, tag, PCI_ID_REG);
- pci_decompose_tag(pc, tag, &bus, &device, &function);
- printf("%03d:%02d:%d %04x:%04x\n", bus, device, function,
- PCI_VENDOR(id), PCI_PRODUCT(id));
-}
-
-int
-pciaddr_device_is_agp(pci_chipset_tag_t pc, pcitag_t tag)
-{
- pcireg_t class, status, rval;
- int off;
-
- /* Check AGP device. */
- class = pci_conf_read(pc, tag, PCI_CLASS_REG);
- if (PCI_CLASS(class) == PCI_CLASS_DISPLAY) {
- status = pci_conf_read(pc, tag, PCI_COMMAND_STATUS_REG);
- if (status & PCI_STATUS_CAPLIST_SUPPORT) {
- rval = pci_conf_read(pc, tag, PCI_CAPLISTPTR_REG);
- for (off = PCI_CAPLIST_PTR(rval);
- off != 0;
- off = PCI_CAPLIST_NEXT(rval) ) {
- rval = pci_conf_read(pc, tag, off);
- if (PCI_CAPLIST_CAP(rval) == PCI_CAP_AGP)
- return (1);
- }
- }
- }
- return (0);
-}
-
-void
-pci_device_foreach(struct i80321_softc *sc, pci_chipset_tag_t pc, int maxbus,
- void (*func)(struct i80321_softc *, pci_chipset_tag_t, pcitag_t))
-{
- const struct pci_quirkdata *qd;
- int bus, device, function, maxdevs, nfuncs;
- pcireg_t id, bhlcr;
- pcitag_t tag;
-
- for (bus = 0; bus <= maxbus; bus++) {
- maxdevs = pci_bus_maxdevs(pc, bus);
- for (device = 0; device < maxdevs; device++) {
- tag = pci_make_tag(pc, bus, device, 0);
- id = pci_conf_read(pc, tag, PCI_ID_REG);
-
- /* Invalid vendor ID value? */
- if (PCI_VENDOR(id) == PCI_VENDOR_INVALID)
- continue;
- /* XXX Not invalid, but we've done this ~forever. */
- if (PCI_VENDOR(id) == 0)
- continue;
-
- qd = pci_lookup_quirkdata(PCI_VENDOR(id),
- PCI_PRODUCT(id));
-
- bhlcr = pci_conf_read(pc, tag, PCI_BHLC_REG);
- if (PCI_HDRTYPE_MULTIFN(bhlcr) ||
- (qd != NULL &&
- (qd->quirks & PCI_QUIRK_MULTIFUNCTION) != 0))
- nfuncs = 8;
- else
- nfuncs = 1;
-
- for (function = 0; function < nfuncs; function++) {
- tag = pci_make_tag(pc, bus, device, function);
- id = pci_conf_read(pc, tag, PCI_ID_REG);
-
- /* Invalid vendor ID value? */
- if (PCI_VENDOR(id) == PCI_VENDOR_INVALID)
- continue;
- /*
- * XXX Not invalid, but we've done this
- * ~forever.
- */
- if (PCI_VENDOR(id) == 0)
- continue;
- (*func)(sc, pc, tag);
- }
- }
- }
-}
+++ /dev/null
-/* $OpenBSD: pciide_machdep.c,v 1.2 2010/08/07 03:50:01 krw Exp $ */
-/* $NetBSD: pciide_machdep.c,v 1.2 1999/02/19 18:01:27 mycroft Exp $ */
-
-/*
- * Copyright (c) 1998 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
- * 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.
- */
-
-/*
- * PCI IDE controller driver (i386 machine-dependent portion).
- *
- * Author: Christopher G. Demetriou, March 2, 1998 (derived from NetBSD
- * sys/dev/pci/ppb.c, revision 1.16).
- *
- * See "PCI IDE Controller Specification, Revision 1.0 3/4/94" from the
- * PCI SIG.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/device.h>
-
-#include <dev/pci/pcireg.h>
-#include <dev/pci/pcivar.h>
-#include <dev/pci/pciidereg.h>
-#include <dev/pci/pciidevar.h>
-
-void *
-pciide_machdep_compat_intr_establish(struct device *dev,
- struct pci_attach_args *pa, int chan, int (*func)(void *), void *arg)
-{
- panic("pciide_machdep_compat_intr_establish called");
- return (NULL);
-}
-
-void
-pciide_machdep_compat_intr_disestablish(pci_chipset_tag_t pc, void *cookie)
-{
- panic("pciide_machdep_compat_intr_disestablish called");
-}
+++ /dev/null
-/* $OpenBSD: _float.h,v 1.1 2012/06/26 16:12:43 deraadt Exp $ */
-
-#include <arm/_float.h>
+++ /dev/null
-/* $OpenBSD: _types.h,v 1.7 2012/11/05 19:39:34 miod Exp $ */
-/* $NetBSD: types.h,v 1.4 2002/02/28 03:17:26 simonb Exp $ */
-
-#ifndef _MACHINE__TYPES_H_
-#define _MACHINE__TYPES_H_
-
-#include <arm/_types.h>
-
-#endif /* _MACHINE__TYPES_H_ */
+++ /dev/null
-/* $OpenBSD: apmvar.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-#include <arm/apmvar.h>
+++ /dev/null
-/* $OpenBSD: armish_intr.h,v 1.8 2014/03/29 18:09:28 guenther Exp $ */
-/* $NetBSD: i80321_intr.h,v 1.4 2003/07/05 06:53:08 dogcow Exp $ */
-
-/*
- * Copyright (c) 2001, 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.
- */
-
-#ifndef _MACHINE_ARMISH_INTR_H_
-#define _MACHINE_ARMISH_INTR_H_
-
-#define ARM_IRQ_HANDLER _C_LABEL(i80321_irq_handler)
-
-#ifndef _LOCORE
-
-#include <arm/armreg.h>
-#include <arm/cpufunc.h>
-#include <arm/softintr.h>
-
-extern volatile int current_ipl_level;
-extern volatile int softint_pending;
-extern int i80321_imask[];
-void i80321_do_pending(void);
-
-void i80321_setipl(int new);
-void i80321_splx(int new);
-int i80321_splraise(int ipl);
-int i80321_spllower(int ipl);
-void i80321_setsoftintr(int si);
-
-/*
- * An useful function for interrupt handlers.
- * XXX: This shouldn't be here.
- */
-static __inline int
-find_first_bit( uint32_t bits )
-{
- int count;
-
- /* since CLZ is available only on ARMv5, this isn't portable
- * to all ARM CPUs. This file is for I80321 processor.
- */
- asm( "clz %0, %1" : "=r" (count) : "r" (bits) );
- return 31-count;
-}
-
-
-int _splraise(int);
-int _spllower(int);
-void splx(int);
-void _setsoftintr(int);
-
-/*
- * This function *MUST* be called very early on in a port's
- * initarm() function, before ANY spl*() functions are called.
- *
- * The parameter is the virtual address of the I80321's Interrupt
- * Controller registers.
- */
-void i80321_intr_bootstrap(vaddr_t);
-
-void i80321_irq_handler(void *);
-void *i80321_intr_establish(int irqno, int level, int (*func)(void *),
- void *cookie, const char *name);
-void i80321_intr_disestablish(void *cookie);
-const char *i80321_intr_string(void *cookie);
-
-#ifdef DIAGNOSTIC
-/*
- * Although this function is implemented in MI code, it must be in this MD
- * header because we don't want this header to include MI includes.
- */
-void splassert_fail(int, int, const char *);
-extern int splassert_ctl;
-void i80321_splassert_check(int, const char *);
-#define splassert(__wantipl) do { \
- if (splassert_ctl > 0) { \
- i80321_splassert_check(__wantipl, __func__); \
- } \
-} while (0)
-#define splsoftassert(wantipl) splassert(wantipl)
-#else
-#define splassert(wantipl) do { /* nothing */ } while (0)
-#define splsoftassert(wantipl) do { /* nothing */ } while (0)
-#endif
-
-#endif /* ! _LOCORE */
-
-#endif /* _MACHINE_ARMISH_INTR_H_ */
-
+++ /dev/null
-/* $OpenBSD: asm.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: asm.h,v 1.3 2001/11/25 15:55:54 thorpej Exp $ */
-
-#include <arm/asm.h>
+++ /dev/null
-/* $OpenBSD: atomic.h,v 1.5 2011/03/23 16:54:34 pirofti Exp $ */
-
-/* Public Domain */
-
-#ifndef _MACHINE_ATOMIC_H_
-#define _MACHINE_ATOMIC_H_
-
-#include <arm/atomic.h>
-
-#endif /* _MACHINE_ATOMIC_H_ */
+++ /dev/null
-/* $OpenBSD: bootconfig.h,v 1.3 2011/09/20 22:02:13 miod Exp $ */
-/* $NetBSD: bootconfig.h,v 1.2 2001/06/21 22:08:28 chris Exp $ */
-
-/*
- * Copyright (c) 1994 Mark Brinicombe.
- * Copyright (c) 1994 Brini.
- * All rights reserved.
- *
- * This code is derived from software written for Brini by Mark Brinicombe
- *
- * 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 Mark Brinicombe
- * for the NetBSD Project.
- * 4. The name of the company nor the name of the author may 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 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.
- *
- * boot configuration structures
- *
- * Created : 12/09/94
- *
- * Based on kate/boot/bootconfig.h
- */
-
-#if defined(_KERNEL) || defined(_STANDALONE)
-
-typedef struct _PhysMem {
- u_int address;
- u_int pages;
-} PhysMem;
-
-#define DRAM_BLOCKS 1
-
-typedef struct _BootConfig {
- PhysMem dram[DRAM_BLOCKS];
- u_int dramblocks;
-} BootConfig;
-
-extern BootConfig bootconfig;
-#define MAX_BOOT_STRING 255
-
-#endif /* _KERNEL || _STANDALONE */
-#if defined(_KERNEL)
-extern char *boot_args;
-extern char *boot_file;
-#endif /* _KERNEL */
-
-/* End of bootconfig.h */
+++ /dev/null
-/* $OpenBSD: bus.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: bus.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */
-
-#include <arm/bus.h>
+++ /dev/null
-/* $OpenBSD: cdefs.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-
-#include <arm/cdefs.h>
+++ /dev/null
-/* $OpenBSD: conf.h,v 1.3 2011/03/23 16:54:34 pirofti Exp $ */
-/* $NetBSD: conf.h,v 1.8 2002/02/10 12:26:03 chris Exp $ */
-
-#ifndef _MACHINE_CONF_H_
-#define _MACHINE_CONF_H_
-
-#include <sys/conf.h>
-
-/*
- * ARMISH specific device includes go in here
- */
-
-#define CONF_HAVE_GPIO
-
-#include <arm/conf.h>
-
-#endif /* _MACHINE_CONF_H_ */
+++ /dev/null
-/* $OpenBSD: cpu.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: cpu.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */
-
-#include <arm/cpu.h>
+++ /dev/null
-/* $OpenBSD: db_machdep.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: db_machdep.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */
-
-#include <arm/db_machdep.h>
+++ /dev/null
-/* $OpenBSD: disklabel.h,v 1.2 2007/06/17 00:27:26 deraadt Exp $ */
-
-#include <arm/disklabel.h>
+++ /dev/null
-/* $OpenBSD: endian.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: endian.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */
-
-#include <arm/endian.h>
+++ /dev/null
-/* $OpenBSD: exec.h,v 1.2 2006/10/02 17:45:33 miod Exp $ */
-/* public domain */
-#include <arm/exec.h>
+++ /dev/null
-/* $OpenBSD: fenv.h,v 1.2 2013/06/01 21:20:54 jasper Exp $ */
-/* public domain */
-#include <arm/fenv.h>
+++ /dev/null
-/* $OpenBSD: fp.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: fp.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */
-
-#include <arm/fp.h>
+++ /dev/null
-/* $OpenBSD: frame.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: frame.h,v 1.1 2001/06/08 22:23:00 chris Exp $ */
-
-#include <arm/frame.h>
+++ /dev/null
-/* $OpenBSD: ieee.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: ieee.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */
-
-#include <arm/ieee.h>
+++ /dev/null
-/* $OpenBSD: ieeefp.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: ieeefp.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */
-
-#include <arm/ieeefp.h>
+++ /dev/null
-/* $OpenBSD: intr.h,v 1.9 2015/09/19 02:13:05 jsg Exp $ */
-/* $NetBSD: intr.h,v 1.12 2003/06/16 20:00:59 thorpej Exp $ */
-
-/*
- * Copyright (c) 2001, 2003 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.
- */
-
-#ifndef _MACHINE_INTR_H_
-#define _MACHINE_INTR_H_
-
-#ifdef _KERNEL
-
-/* Interrupt priority "levels". */
-#define IPL_NONE 0 /* nothing */
-#define IPL_SOFT 1 /* generic software interrupts */
-#define IPL_SOFTCLOCK 2 /* software clock interrupt */
-#define IPL_SOFTNET 3 /* software network interrupt */
-#define IPL_BIO 4 /* block I/O */
-#define IPL_NET 5 /* network */
-#define IPL_SOFTTTY 6 /* software serial interrupt */
-#define IPL_TTY 7 /* terminals */
-#define IPL_VM 8 /* memory allocation */
-#define IPL_AUDIO 9 /* audio device */
-#define IPL_CLOCK 10 /* clock interrupt */
-#define IPL_STATCLOCK 11 /* statistics clock interrupt */
-#define IPL_SCHED 12 /* everything */
-#define IPL_HIGH 12 /* everything */
-
-#define NIPL 13
-
-/* Interrupt priority "flags". */
-#define IPL_MPSAFE 0 /* no "mpsafe" interrupts */
-
-/* Interrupt sharing types. */
-#define IST_NONE 0 /* none */
-#define IST_PULSE 1 /* pulsed */
-#define IST_EDGE 2 /* edge-triggered */
-#define IST_LEVEL 3 /* level-triggered */
-
-#define IST_LEVEL_LOW IST_LEVEL
-#define IST_LEVEL_HIGH 4
-#define IST_EDGE_FALLING IST_EDGE
-#define IST_EDGE_RISING 5
-#define IST_EDGE_BOTH 6
-
-#ifndef _LOCORE
-
-#include <sys/device.h>
-#include <sys/queue.h>
-
-#define splhigh() _splraise(IPL_HIGH)
-#define splsoft() _splraise(IPL_SOFT)
-#define splsoftclock() _splraise(IPL_SOFTCLOCK)
-#define splsoftnet() _splraise(IPL_SOFTNET)
-#define splbio() _splraise(IPL_BIO)
-#define splnet() _splraise(IPL_NET)
-#define spltty() _splraise(IPL_TTY)
-#define splvm() _splraise(IPL_VM)
-#define splaudio() _splraise(IPL_AUDIO)
-#define splclock() _splraise(IPL_CLOCK)
-#define splstatclock() _splraise(IPL_STATCLOCK)
-
-#define spl0() _spllower(IPL_NONE)
-
-#define splsched() splhigh()
-#define spllock() splhigh()
-
-void intr_barrier(void *);
-
-#endif /* ! _LOCORE */
-
-#include <machine/armish_intr.h>
-
-#endif /* _KERNEL */
-
-#endif /* _MACHINE_INTR_H_ */
-
+++ /dev/null
-/* $OpenBSD: limits.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: limits.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/limits.h>
+++ /dev/null
-/* $OpenBSD: loadfile_machdep.h,v 1.4 2015/07/17 20:44:38 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)&0xfffffff)
-#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)
-
-void run_loadfile(u_long *, int);
+++ /dev/null
-/* $OpenBSD: lock.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: lock.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/lock.h>
+++ /dev/null
-/* $OpenBSD: mutex.h,v 1.2 2007/12/05 16:08:06 deraadt Exp $ */
-/* public domain */
-#include <arm/mutex.h>
+++ /dev/null
-/* $OpenBSD: param.h,v 1.3 2013/03/23 16:12:21 deraadt Exp $ */
-
-/*
- * Copyright (c) 1994,1995 Mark Brinicombe.
- * 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 the RiscBSD team.
- * 4. The name "RiscBSD" nor the name of the author may be used to
- * endorse or promote products derived from this software without specific
- * prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY RISCBSD ``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 RISCBSD 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.
- */
-
-#ifndef _MACHINE_PARAM_H_
-#define _MACHINE_PARAM_H_
-
-#include <arm/param.h>
-
-#define _MACHINE armish
-#define MACHINE "armish"
-
-#ifndef MSGBUFSIZE
-#define MSGBUFSIZE (1 * PAGE_SIZE)
-#endif
-
-#endif /* _MACHINE_PARAM_H_ */
+++ /dev/null
-/* $OpenBSD: pcb.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: pcb.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/pcb.h>
+++ /dev/null
-/* $OpenBSD: pci_machdep.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-#include <arm/pci_machdep.h>
+++ /dev/null
-/* $OpenBSD: pio.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: pio.h,v 1.3 2001/12/07 23:09:33 chris Exp $ */
-
-#include <arm/pio.h>
+++ /dev/null
-/* $OpenBSD: pmap.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: pmap.h,v 1.2 2001/11/23 17:29:01 thorpej Exp $ */
-
-#include <arm/pmap.h>
+++ /dev/null
-/* $OpenBSD: proc.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: proc.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/proc.h>
+++ /dev/null
-/* $OpenBSD: profile.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: profile.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/profile.h>
+++ /dev/null
-/* $OpenBSD: ptrace.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: ptrace.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/ptrace.h>
+++ /dev/null
-/* $OpenBSD: reg.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: reg.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/reg.h>
+++ /dev/null
-/* $OpenBSD: reloc.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-#include <arm/reloc.h>
+++ /dev/null
-/* $OpenBSD: setjmp.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: setjmp.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/setjmp.h>
+++ /dev/null
-/* $OpenBSD: signal.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: signal.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/signal.h>
+++ /dev/null
-
-/* $OpenBSD: spinlock.h,v 1.2 2011/03/23 16:54:34 pirofti Exp $ */
-#ifndef _MACHINE_SPINLOCK_H_
-#define _MACHINE_SPINLOCK_H_
-#include <arm/spinlock.h>
-#endif /* _MACHINE_SPINLOCK_H_ */
-
+++ /dev/null
-/* $OpenBSD: stdarg.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: stdarg.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/stdarg.h>
+++ /dev/null
-/* $OpenBSD: sysarch.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: sysarch.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/sysarch.h>
+++ /dev/null
-/* $OpenBSD: tcb.h,v 1.2 2013/06/01 21:20:54 jasper Exp $ */
-/* public domain */
-#include <arm/tcb.h>
+++ /dev/null
-/* $OpenBSD: trap.h,v 1.1 2006/05/29 17:13:19 drahn Exp $ */
-/* $NetBSD: trap.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/trap.h>
+++ /dev/null
-/* $OpenBSD: vmparam.h,v 1.10 2015/06/24 21:35:00 miod Exp $ */
-/* $NetBSD: vmparam.h,v 1.23 2003/05/22 05:47:07 thorpej Exp $ */
-
-/*
- * Copyright (c) 1988 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.
- */
-
-#ifndef _MACHINE_VMPARAM_H_
-#define _MACHINE_VMPARAM_H_
-
-#define ARM_KERNEL_BASE 0xc0000000U
-
-/* Allow armish to have bigger DSIZ than generic arm, allow user to override */
-#ifndef MAXDSIZ
-#define MAXDSIZ (1024*1024*1024) /* max data size */
-#endif
-#ifndef BRKSIZ
-#define BRKSIZ MAXDSIZ /* heap gap size */
-#endif
-
-#include <arm/vmparam.h>
-
-#ifdef _KERNEL
-/*
- * Address space constants
- */
-
-/*
- * The line between user space and kernel space
- * Mappings >= KERNEL_BASE are constant across all processes
- */
-#define KERNEL_BASE ARM_KERNEL_BASE
-
-#define VM_KERNEL_SPACE_SIZE 0x20000000
-
-/*
- * Override the default pager_map size, there's not enough KVA.
- */
-#define PAGER_MAP_SIZE (4 * 1024 * 1024)
-
-/*
- * Size of User Raw I/O map
- */
-
-#define USRIOSIZE 300
-
-/* virtual sizes (bytes) for various kernel submaps */
-
-#define VM_PHYS_SIZE (USRIOSIZE*PAGE_SIZE)
-
-/*
- * max number of non-contig chunks of physical RAM you can have
- */
-
-#define VM_PHYSSEG_MAX 1
-#define VM_PHYSSEG_STRAT VM_PSTRAT_RANDOM
-
-/*
- * this indicates that we can't add RAM to the VM system after the
- * vm system is init'd.
- */
-
-#define VM_PHYSSEG_NOADD
-
-#endif /* _KERNEL */
-
-#endif /* _MACHINE_VMPARAM_H_ */
+++ /dev/null
-# $OpenBSD: Makefile,v 1.2 2006/07/28 17:18:38 deraadt Exp $
-
-SUBDIR=boot
-
-.include <bsd.subdir.mk>
+++ /dev/null
-# $OpenBSD: Makefile.inc,v 1.4 2016/07/30 03:25:48 guenther Exp $
-
-BINDIR=/usr/mdec
-MANSUBDIR=armish
-
-CFLAGS+= -fno-pie
-LDFLAGS+= -nopie -znorelro
+++ /dev/null
-# $OpenBSD: Makefile,v 1.13 2016/03/30 06:38:45 jmc Exp $
-
-.include "${.CURDIR}/../Makefile.inc"
-
-MAN= boot.8
-
-.if ${MACHINE} == "armish"
-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=0xfe800000UL -DCONSPEED=115200 -fno-pie
-
-COPTS+= -ffreestanding -fno-stack-protector
-
-SRCS= start.S
-SRCS+= boot.c cmd.c vars.c
-SRCS+= conf.c devopen.c exec.c machdep.c dev_armish.c time.c
-SRCS+= clock.c ns16550.c wd.c wdc.c pciide.c
-SRCS+= ctime.c strtol.c getchar.c putchar.c
-
-.PATH: ${S}/lib/libkern/arch/arm ${S}/lib/libkern
-SRCS+= divsi3.S divdi3.c moddi3.c qdivrem.c strlcpy.c strlen.c ashrdi3.c
-
-### find out what to use for libsa
-SA_AS= library
-SAREL=
-USE_LOADFILE= yes
-.include "${S}/lib/libsa/Makefile.inc"
-LIBSA= ${SALIB}
-
-LDFLAGS= -T ${.CURDIR}/ldscript
-
-${PROG}: ${OBJS} ${LIBSA}
- ${LD} ${LDFLAGS} -o boot ${OBJS} ${LIBSA} ${LIBSA}
-
-.if !make(obj)
-.BEGIN:
- @([ -h machine ] || ln -s ${.CURDIR}/../../../${MACHINE}/include machine)
- @([ -h arm ] || ln -s ${.CURDIR}/../../../arm/include arm)
-.NOPATH: machine arm
-CLEANFILES+= machine arm
-.endif
-
-.else
-NOPROG=
-.endif
-
-.include <bsd.prog.mk>
+++ /dev/null
-.\" $OpenBSD: boot.8,v 1.6 2015/09/10 15:16:43 schwarze 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: September 10 2015 $
-.Dt BOOT 8 armish
-.Os
-.Sh NAME
-.Nm boot ,
-.Nm boot.conf
-.Nd armish-specific bootstrap
-.Sh DESCRIPTION
-The main purpose of this program is to load the system kernel.
-.Pp
-As described in
-.Xr boot_armish 8 ,
-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 armish 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
-.Nm 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/armish 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 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 echo Op Ar args
-Displays
-.Ar args
-on the console device.
-.It help
-Prints a list of available commands.
-.It ls Op Ar directory
-Prints contents of the specified
-.Ar directory
-in long format including: attributes and file type, owner, group,
-size, filename.
-.It reboot
-Reboots the machine by initiating a warm boot procedure.
-.It 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 Nm addr
-Address at which to load the kernel.
-.It Nm debug
-Debug flag if
-.Nm
-was compiled with DEBUG defined.
-.It Nm device
-Boot device name (e.g.,
-.Li wd0a ,
-.Li wd1a ) .
-.It Nm howto
-Options to pass to the loaded kernel.
-.It Nm image
-File name containing the kernel image.
-.It Nm 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 armish.
-.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 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_armish 8 ,
-.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 armish platform for
-.Ox 4.0 .
+++ /dev/null
-/* $OpenBSD: clock.c,v 1.3 2008/06/26 05:42:10 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 <sys/types.h>
-
-#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;)
- ;
-}
+++ /dev/null
-/* $OpenBSD: conf.c,v 1.6 2013/12/28 02:53:03 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 <sys/param.h>
-
-#include <dev/cons.h>
-
-#include "libsa.h"
-#include <lib/libsa/ufs.h>
-
-const char version[] = "1.2";
-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;
+++ /dev/null
-/* $OpenBSD: dev_armish.c,v 1.4 2014/07/13 09:26:08 jasper 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 <sys/param.h>
-#include <dev/cons.h>
-
-#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;
-}
+++ /dev/null
-/* $OpenBSD: devopen.c,v 1.4 2013/09/28 10:05:36 mlarkin 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 = 0;
- 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);
-}
+++ /dev/null
-/* $OpenBSD: exec.c,v 1.3 2006/07/30 21:38:12 drahn 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 <sys/param.h>
-
-#include <lib/libsa/loadfile.h>
-
-#ifdef BOOT_ELF
-#include <sys/exec_elf.h>
-#endif
-
-#include <sys/reboot.h>
-#include <stand/boot/cmd.h>
-#include <machine/bootconfig.h>
-
-typedef void (*startfuncp)(void) __attribute__ ((noreturn));
-
-void
-run_loadfile(u_long *marks, int howto)
-{
-#ifdef BOOT_ELF
- Elf_Ehdr *elf = (Elf_Ehdr *)marks[MARK_SYM];
- Elf_Shdr *shp = (Elf_Shdr *)(marks[MARK_SYM] + elf->e_shoff);
- u_long esym = marks[MARK_END];
- char *cp;
- int i;
-
- /*
- * Tell locore.S where the symbol table ends by setting
- * 'esym', which should be the first word in the .data
- * section.
- */
- for (i = 0; i < elf->e_shnum; i++) {
- /* XXX Assume .data is the first writable segment. */
- if (shp[i].sh_flags & SHF_WRITE) {
- /* XXX We have to store the virtual address. */
- esym |= shp[i].sh_addr & 0xff000000;
- *(u_long *)(shp[i].sh_addr & 0x00ffffff) = esym;
- break;
- }
- }
-#endif
- cp = (char *)0x00200000 - MAX_BOOT_STRING - 1;
-
-#define BOOT_STRING_MAGIC 0x4f425344
-
- *(int *)cp = BOOT_STRING_MAGIC;
-
- cp += sizeof(int);
- snprintf(cp, MAX_BOOT_STRING, "%s:%s -", cmd.bootdev, cmd.image);
-
- while (*cp != '\0')
- cp++;
- if (howto & RB_ASKNAME)
- *cp++ = 'a';
- if (howto & RB_CONFIG)
- *cp++ = 'c';
- if (howto & RB_KDB)
- *cp++ = 'd';
- if (howto & RB_SINGLE)
- *cp++ = 's';
-
- *cp = '\0';
-
- (*(startfuncp)(marks[MARK_ENTRY]))();
-
- /* NOTREACHED */
-}
+++ /dev/null
-/* $OpenBSD: ldscript,v 1.1 2006/07/28 17:12:06 kettenis Exp $ */
-/* $NetBSD: ldscript,v 1.6 2005/12/11 12:17:10 christos Exp $ */
-
-OUTPUT_FORMAT("elf32-littlearm", "elf32-bigarm",
- "elf32-littlearm")
-OUTPUT_ARCH(arm)
-ENTRY(FLASH)
-MEMORY
-{
- /* We will locate the .text section in flash, and will run directly
- from there just long enough to relocate our .text and .data into
- a small chunk of SDRAM starting at (SDRAM + 1M). */
- flash : o = 0xf0080000, l = 6M
- sdram : o = 0x00100000, l = 1M /* kernel loads at 0xa0200000 */
-}
-SECTIONS
-{
- FLASH = 0x00100000;
-
- /* Read-only sections, merged into text segment: */
- __text_store = FLASH;
- .text :
- AT (FLASH)
- {
- *(.text)
- *(.text.*)
- *(.stub)
- *(.glue_7t) *(.glue_7)
- *(.rodata) *(.rodata.*)
- } > sdram =0
- PROVIDE (__etext = .);
- PROVIDE (_etext = .);
- PROVIDE (etext = .);
- __data_store = FLASH + SIZEOF(.text);
- .data :
- AT (LOADADDR(.text) + SIZEOF(.text))
- {
- __data_start = . ;
- *(.data)
- *(.data.*)
- } > sdram
- .sdata :
- AT (LOADADDR(.data) + SIZEOF(.data))
- {
- *(.sdata)
- *(.sdata.*)
- . = ALIGN(32 / 8);
- } > sdram
- _edata = .;
- PROVIDE (edata = .);
- __bss_start = .;
- __bss_start__ = .;
- .sbss :
- {
- PROVIDE (__sbss_start = .);
- PROVIDE (___sbss_start = .);
- *(.dynsbss)
- *(.sbss)
- *(.sbss.*)
- *(.scommon)
- PROVIDE (__sbss_end = .);
- PROVIDE (___sbss_end = .);
- } > sdram
- .bss :
- {
- *(.dynbss)
- *(.bss)
- *(.bss.*)
- *(COMMON)
- /* Align here to ensure that the .bss section occupies space up to
- _end. Align after .bss to ensure correct alignment even if the
- .bss section disappears because there are no input sections. */
- . = ALIGN(32 / 8);
- } > sdram
- . = ALIGN(32 / 8);
- _end = .;
- _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
- PROVIDE (end = .);
- .image (FLASH + SIZEOF(.text) + SIZEOF(.data) + SIZEOF(.sdata)) :
- AT (LOADADDR(.sdata) + SIZEOF(.sdata))
- {
- *(.image)
- }
-}
+++ /dev/null
-/* $OpenBSD: libsa.h,v 1.2 2011/03/13 00:13:52 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 <lib/libsa/stand.h>
-
-#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 *);
+++ /dev/null
-/* $OpenBSD: machdep.c,v 1.4 2007/11/24 12:59:28 jmc 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 <sys/types.h>
-#include <arm/pte.h>
-#include <dev/pci/pcireg.h>
-
-#include "libsa.h"
-
-#define L1_IDX(va) (((uint32_t)(va)) >> L1_S_SHIFT)
-
-#define ATU_OIOWTVR 0xffffe15c
-#define ATU_ATUCR 0xffffe180
-#define ATU_PCSR 0xffffe184
-#define ATU_OCCAR 0xffffe1a4
-#define ATU_OCCDR 0xffffe1ac
-
-#define ATUCR_OUT_EN (1U << 1)
-
-#define PCSR_RIB (1U << 5)
-#define PCSR_RPB (1U << 4)
-
-void
-machdep(void)
-{
- uint32_t *pde;
- uint32_t va;
-
- /*
- * Clean up the mess that RedBoot left us in, amd make sure we
- * can access the PCI bus.
- */
-
- *((volatile uint32_t *)(ATU_ATUCR)) = ATUCR_OUT_EN;
-
- __asm volatile ("mrc p15, 0, %0, c2, c0, 0" : "=r" (pde));
- pde = (uint32_t *)((uint32_t)pde & 0x0fffffff);
-
- va = *((volatile uint32_t *)(ATU_OIOWTVR));
- pde[L1_IDX(va)] = (va & L1_ADDR_BITS) | L1_S_AP(AP_KRWUR) | L1_TYPE_S;
-
- /* Start timer */
- __asm volatile ("mcr p6, 0, %0, c3, c1, 0" :: "r" (0xffffffff));
- __asm volatile ("mcr p6, 0, %0, c1, c1, 0" :: "r" (0x00000032));
-
- cninit();
-
-{
- /*
- * this code does a device probe on pci space,
- * It looks for a wd compatible controller.
- * however when it reads the device register, it does
- * not check if a bus fault occurs on the access.
- * Since the bootloader doesn't handle faults, this
- * crashes the bootloader if it reads a non-existent
- * device.
- * The tag computation comes from arm/xscale/i80321_pci.c
- * i80321_pci_conf_setup()
- */
- int device, bar;
- for (device = 1; device < 4; device++) {
- u_int32_t tag, result, size;
- volatile u_int32_t *occar = (u_int32_t *)ATU_OCCAR;
- volatile u_int32_t *occdr = (u_int32_t *)ATU_OCCDR;
-
- tag = 1 << (device + 16) | (device << 11);
- *occar = tag;
- result = *occdr;
- if (result == ~0)
- continue;
- *occar = tag | PCI_CLASS_REG;
- result = *occdr;
-
- if (PCI_CLASS(result) != PCI_CLASS_MASS_STORAGE)
- continue;
- if (PCI_SUBCLASS(result) != PCI_SUBCLASS_MASS_STORAGE_ATA &&
- PCI_SUBCLASS(result) != PCI_SUBCLASS_MASS_STORAGE_SATA &&
- PCI_SUBCLASS(result) != PCI_SUBCLASS_MASS_STORAGE_MISC)
- continue;
-
- *occar = tag | PCI_MAPREG_START;
- result = *occdr;
-
- /* verify result is an IO BAR */
- if (PCI_MAPREG_TYPE(result) == PCI_MAPREG_TYPE_IO) {
- extern u_int32_t wdc_base_addr;
- wdc_base_addr = PCI_MAPREG_MEM_ADDR(result);
- DPRINTF(("setting wdc_base addr to %x\n",
- wdc_base_addr));
- }
- }
-}
-
-}
-
-int
-main(void)
-{
- boot(0);
- return 0;
-}
-
-void
-_rtt(void)
-{
- *((volatile uint32_t *)(ATU_PCSR)) = PCSR_RIB | PCSR_RPB;
-
- printf("RESET FAILED\n");
- for (;;) ;
-}
+++ /dev/null
-/* $OpenBSD: ns16550.c,v 1.3 2008/01/23 16:37:57 jsing 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 <sys/types.h>
-
-#include <dev/cons.h>
-#include <dev/ic/comreg.h>
-
-#include "libsa.h"
-
-#define INB(x) *((volatile uint8_t *) (CONADDR + (x)))
-#define OUTB(x, v) *((volatile uint8_t *) (CONADDR + (x))) = (v)
-
-#define ISSET(t,f) ((t) & (f))
-
-#ifndef NS16550_FREQ
-#define NS16550_FREQ COM_FREQ
-#endif
-
-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((NS16550_FREQ / 16), speed);
- if (x <= 0)
- return (-1);
- err = divrnd((((quad_t)NS16550_FREQ) / 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);
-}
+++ /dev/null
-/* $OpenBSD: pciide.c,v 1.4 2008/06/26 05:42:10 ray 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 <sys/types.h>
-
-#include "libsa.h"
-#include "wdvar.h"
-
-u_int32_t wdc_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 || wdc_base_addr == 0)
- return (ENXIO);
- chp->ndrives = 1;
-
- DPRINTF(("[pciide] channel: %d\n", chan));
-
- /*
- * XXX map?
- */
- cmdreg = wdc_base_addr + chan * 0x10;
- ctlreg = wdc_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;
-
- return (0);
-}
+++ /dev/null
-/* $OpenBSD: start.S,v 1.1 2006/07/28 17:12:06 kettenis Exp $ */
-/* $NetBSD: srtbegin.S,v 1.7 2005/12/11 12:17:10 christos 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.
- */
-
-#include <machine/asm.h>
-#include <arm/armreg.h>
-
-#define STACKSIZE 8192
-
-ENTRY(start)
- /*
- * We assume we've been loaded VA==PA, or that the MMU
- * is disabled. Make sure the MMU is disabled so that
- * we don't have to care about the caches.
- */
- /* Clear the BSS. */
- adr r1, Lbss
- ldmia r1, {r1, r2}
- sub r2, r2, r1
- mov r3, #0
-
-1: strb r3, [r1], #0x01
- subs r2, r2, #0x01
- bgt 1b
-
- /* Set the stack pointer */
- adr r1, Lstack
- ldr r1, [r1]
- add sp, r1, #STACKSIZE
-
- b _C_LABEL(main)
-
-Ltext:
- .word _C_LABEL(__text_store)
- .word _C_LABEL(start)
- .word _C_LABEL(_etext)
-
-Ldata:
- .word _C_LABEL(__data_store)
- .word _C_LABEL(__data_start)
-
-Lbss:
- .word _C_LABEL(_edata)
- .word _C_LABEL(_end)
-
-Lstack:
- .word Lstackspace
-
- .comm Lstackspace, STACKSIZE
+++ /dev/null
-/* $OpenBSD: time.c,v 1.2 2014/07/13 11:50:40 jasper 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 <sys/types.h>
-
-#include "libsa.h"
-
-time_t
-getsecs(void)
-{
- uint32_t count;
-
- __asm volatile ("mrc p6, 0, %0, c3, c1, 0" : "=r" (count));
- return ((0xffffffff - count) / 12500000);
-}
+++ /dev/null
-/* $OpenBSD: wd.c,v 1.13 2015/10/01 20:28:12 krw 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 <sys/param.h>
-#include <sys/stdint.h>
-
-#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);
-
- 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];
-
- 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;
-
- if (*(u_int16_t *)&buf[DOSMBR_SIGNATURE_OFF] == 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);
-}
+++ /dev/null
-/* $OpenBSD: wdc.c,v 1.5 2013/03/24 19:20:34 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 <sys/param.h>
-
-#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);
-
-/*
- * 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 (pciide_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);
-}
+++ /dev/null
-/* $OpenBSD: wdvar.h,v 1.3 2011/03/13 00:13:52 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 <sys/disklabel.h>
-
-#include <dev/ic/wdcreg.h>
-#include <dev/ata/atareg.h>
-#include <dev/pci/pciidereg.h>
-
-/*
- * 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;
-};
-
-#define WDC_READ_REG(chp, reg) *(chp)->c_cmdreg[(reg)]
-#define WDC_WRITE_REG(chp, reg, val) *(chp)->c_cmdreg[(reg)] = (val)
-#define WDC_READ_CTLREG(chp, reg) (chp)->c_ctlbase[(reg)]
-#define WDC_WRITE_CTLREG(chp, reg, val) (chp)->c_ctlbase[(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*);
-
-int pciide_init (struct wdc_channel*, u_int);
-
-#endif /* _STAND_WDVAR_H */
-/* $OpenBSD: re.c,v 1.192 2016/04/20 12:15:24 sthen Exp $ */
+/* $OpenBSD: re.c,v 1.193 2016/08/10 14:27:17 deraadt Exp $ */
/* $FreeBSD: if_re.c,v 1.31 2004/09/04 07:54:05 ru Exp $ */
/*
* Copyright (c) 1997, 1998-2003
CSR_WRITE_1(sc, RL_LDPS, 1);
}
-#ifdef __armish__
-/*
- * Thecus N2100 doesn't store the full mac address in eeprom
- * so we read the old mac address from the device before the reset
- * in hopes that the proper mac address is already there.
- */
-union {
- u_int32_t eaddr_word[2];
- u_char eaddr[ETHER_ADDR_LEN];
-} boot_eaddr;
-int boot_eaddr_valid;
-#endif /* __armish__ */
/*
* Attach the interface. Allocate softc structures, do ifmedia
* setup and ethernet/BPF attach.
for (i = 0; i < ETHER_ADDR_LEN / 2; i++)
as[i] = letoh16(as[i]);
bcopy(as, eaddr, ETHER_ADDR_LEN);
-
-#ifdef __armish__
- /*
- * On the Thecus N2100, the MAC address in the EEPROM is
- * always 00:14:fd:10:00:00. The proper MAC address is
- * stored in flash. Fortunately RedBoot configures the
- * proper MAC address (for the first onboard interface)
- * which we can read from the IDR.
- */
- if (eaddr[0] == 0x00 && eaddr[1] == 0x14 &&
- eaddr[2] == 0xfd && eaddr[3] == 0x10 &&
- eaddr[4] == 0x00 && eaddr[5] == 0x00) {
- if (boot_eaddr_valid == 0) {
- boot_eaddr.eaddr_word[1] =
- letoh32(CSR_READ_4(sc, RL_IDR4));
- boot_eaddr.eaddr_word[0] =
- letoh32(CSR_READ_4(sc, RL_IDR0));
- boot_eaddr_valid = 1;
- }
-
- bcopy(boot_eaddr.eaddr, eaddr, sizeof(eaddr));
- eaddr[5] += sc->sc_dev.dv_unit;
- }
-#endif
}
/*
-# $OpenBSD: Makefile,v 1.21 2016/07/10 15:16:15 visa Exp $
+# $OpenBSD: Makefile,v 1.22 2016/08/10 14:27:17 deraadt Exp $
NOPROG=
NOMAN=
# USB capable systems only
.if (${MACHINE_ARCH} == "powerpc" || \
${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "armv7" || \
+ ${MACHINE} == "armv7" || \
${MACHINE} == "hppa" || ${MACHINE} == "i386" || \
${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \
${MACHINE} == "octeon" || ${MACHINE} == "sgi" || \
-# $OpenBSD: Makefile,v 1.14 2016/07/10 15:16:15 visa Exp $
+# $OpenBSD: Makefile,v 1.15 2016/08/10 14:27:17 deraadt Exp $
NOPROG=
NOMAN=
# USB capable systems only
.if (${MACHINE_ARCH} == "powerpc" || \
${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "armv7" || \
+ ${MACHINE} == "armv7" || \
${MACHINE} == "hppa" || ${MACHINE} == "i386" || \
${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \
${MACHINE} == "octeon" || ${MACHINE} == "sgi" || \
-# $OpenBSD: Makefile,v 1.10 2016/07/10 15:16:15 visa Exp $
+# $OpenBSD: Makefile,v 1.11 2016/08/10 14:27:17 deraadt Exp $
NOPROG=
NOMAN=
# PCI capable systems only
.if (${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "hppa" || \
+ ${MACHINE} == "hppa" || \
${MACHINE} == "i386" || \
${MACHINE} == "loongson" || ${MACHINE} == "octeon" || \
${MACHINE_ARCH} == "powerpc" || \
-# $OpenBSD: Makefile,v 1.14 2016/07/10 15:16:15 visa Exp $
+# $OpenBSD: Makefile,v 1.15 2016/08/10 14:27:17 deraadt Exp $
NOPROG=
NOMAN=
# USB capable systems only
.if (${MACHINE_ARCH} == "powerpc" || \
${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "armv7" || \
+ ${MACHINE} == "armv7" || \
${MACHINE} == "hppa" || ${MACHINE} == "i386" || \
${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \
${MACHINE} == "octeon" || ${MACHINE} == "sgi" || \
-# $OpenBSD: Makefile,v 1.8 2016/07/10 15:16:15 visa Exp $
+# $OpenBSD: Makefile,v 1.9 2016/08/10 14:27:17 deraadt Exp $
NOPROG=
NOMAN=
# USB capable systems only
.if (${MACHINE_ARCH} == "powerpc" || \
${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "armv7" || \
+ ${MACHINE} == "armv7" || \
${MACHINE} == "hppa" || ${MACHINE} == "i386" || \
${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \
${MACHINE} == "octeon" || ${MACHINE} == "sgi" || \
-# $OpenBSD: Makefile,v 1.7 2016/07/10 15:16:15 visa Exp $
+# $OpenBSD: Makefile,v 1.8 2016/08/10 14:27:17 deraadt Exp $
NOPROG=
NOMAN=
# USB capable systems only
.if (${MACHINE_ARCH} == "powerpc" || \
${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "armv7" || \
+ ${MACHINE} == "armv7" || \
${MACHINE} == "hppa" || ${MACHINE} == "i386" || \
${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \
${MACHINE} == "octeon" || ${MACHINE} == "sgi" || \
-# $OpenBSD: Makefile,v 1.13 2016/07/10 15:16:15 visa Exp $
+# $OpenBSD: Makefile,v 1.14 2016/08/10 14:27:17 deraadt Exp $
NOPROG=
NOMAN=
# USB capable systems only
.if (${MACHINE_ARCH} == "powerpc" || \
${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "armv7" || \
+ ${MACHINE} == "armv7" || \
${MACHINE} == "hppa" || ${MACHINE} == "i386" || \
${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \
${MACHINE} == "octeon" || ${MACHINE} == "sgi" || \
-# $OpenBSD: Makefile,v 1.44 2016/05/11 21:52:51 deraadt Exp $
+# $OpenBSD: Makefile,v 1.45 2016/08/10 14:27:17 deraadt Exp $
# Makefile for kernel tags files, init_sysent, etc.
-ARCH= alpha amd64 armish armv7 \
+ARCH= alpha amd64 armv7 \
hppa i386 landisk loongson \
luna88k macppc octeon sgi socppc \
sparc sparc64 zaurus
-# $OpenBSD: Makefile,v 1.17 2016/05/11 21:52:51 deraadt Exp $
+# $OpenBSD: Makefile,v 1.18 2016/08/10 14:27:17 deraadt Exp $
.if ${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "armv7" || \
- ${MACHINE} == "hppa" || \
+ ${MACHINE} == "armv7" || ${MACHINE} == "hppa" || \
${MACHINE} == "i386" || ${MACHINE} == "landisk" || \
${MACHINE} == "loongson" || ${MACHINE} == "macppc" || \
${MACHINE} == "sgi" || ${MACHINE} == "socppc" || \
-# $OpenBSD: Makefile,v 1.7 2016/05/11 21:52:51 deraadt Exp $
+# $OpenBSD: Makefile,v 1.8 2016/08/10 14:27:18 deraadt Exp $
.if ${MACHINE} == "alpha" || ${MACHINE} == "amd64" || \
- ${MACHINE} == "armish" || ${MACHINE} == "hppa" || \
- ${MACHINE} == "i386" || \
+ ${MACHINE} == "hppa" || ${MACHINE} == "i386" || \
${MACHINE} == "landisk" || ${MACHINE} == "loongson" || \
${MACHINE} == "macppc" || ${MACHINE} == "octeon" || \
${MACHINE} == "sgi" || ${MACHINE} == "socppc" || \