summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2013-03-25 17:22:13 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2013-03-25 17:22:13 +0000
commit509156c60a7105ff734ec8e334005a2f5bdebf96 (patch)
treea024c43d5611c8adfbfef9027a7c319cc425b65a /sys/arch
parent9b1b1b870a79bbac99769b203401b14204a614c9 (diff)
the unused palm code goes away.
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/palm/Makefile44
-rw-r--r--sys/arch/palm/compile/.cvsignore2
-rw-r--r--sys/arch/palm/conf/GENERIC221
-rw-r--r--sys/arch/palm/conf/Makefile.palm176
-rw-r--r--sys/arch/palm/conf/RAMDISK164
-rw-r--r--sys/arch/palm/conf/files.palm85
-rw-r--r--sys/arch/palm/dev/palm_hdd.c97
-rw-r--r--sys/arch/palm/dev/palm_kpc.c109
-rw-r--r--sys/arch/palm/dev/palm_mmc.c111
-rw-r--r--sys/arch/palm/dev/palm_udc.c104
-rw-r--r--sys/arch/palm/include/_float.h3
-rw-r--r--sys/arch/palm/include/_types.h8
-rw-r--r--sys/arch/palm/include/apmvar.h2
-rw-r--r--sys/arch/palm/include/asm.h4
-rw-r--r--sys/arch/palm/include/atomic.h10
-rw-r--r--sys/arch/palm/include/bootconfig.h67
-rw-r--r--sys/arch/palm/include/bus.h4
-rw-r--r--sys/arch/palm/include/cdefs.h3
-rw-r--r--sys/arch/palm/include/conf.h15
-rw-r--r--sys/arch/palm/include/cpu.h4
-rw-r--r--sys/arch/palm/include/db_machdep.h4
-rw-r--r--sys/arch/palm/include/disklabel.h3
-rw-r--r--sys/arch/palm/include/endian.h4
-rw-r--r--sys/arch/palm/include/exec.h3
-rw-r--r--sys/arch/palm/include/fenv.h3
-rw-r--r--sys/arch/palm/include/fp.h4
-rw-r--r--sys/arch/palm/include/frame.h4
-rw-r--r--sys/arch/palm/include/ieee.h4
-rw-r--r--sys/arch/palm/include/ieeefp.h4
-rw-r--r--sys/arch/palm/include/intr.h105
-rw-r--r--sys/arch/palm/include/limits.h4
-rw-r--r--sys/arch/palm/include/loadfile_machdep.h52
-rw-r--r--sys/arch/palm/include/lock.h4
-rw-r--r--sys/arch/palm/include/machine_reg.h69
-rw-r--r--sys/arch/palm/include/mutex.h3
-rw-r--r--sys/arch/palm/include/palm_var.h70
-rw-r--r--sys/arch/palm/include/param.h47
-rw-r--r--sys/arch/palm/include/pcb.h4
-rw-r--r--sys/arch/palm/include/pio.h4
-rw-r--r--sys/arch/palm/include/pmap.h4
-rw-r--r--sys/arch/palm/include/proc.h4
-rw-r--r--sys/arch/palm/include/profile.h4
-rw-r--r--sys/arch/palm/include/ptrace.h4
-rw-r--r--sys/arch/palm/include/reg.h4
-rw-r--r--sys/arch/palm/include/reloc.h2
-rw-r--r--sys/arch/palm/include/setjmp.h4
-rw-r--r--sys/arch/palm/include/signal.h4
-rw-r--r--sys/arch/palm/include/spinlock.h7
-rw-r--r--sys/arch/palm/include/stdarg.h4
-rw-r--r--sys/arch/palm/include/sysarch.h4
-rw-r--r--sys/arch/palm/include/tcb.h3
-rw-r--r--sys/arch/palm/include/trap.h4
-rw-r--r--sys/arch/palm/include/vmparam.h82
-rw-r--r--sys/arch/palm/palm/autoconf.c145
-rw-r--r--sys/arch/palm/palm/genassym.cf1
-rw-r--r--sys/arch/palm/palm/palm_lcd.c271
-rw-r--r--sys/arch/palm/palm/palm_machdep.c1254
-rw-r--r--sys/arch/palm/palm/palm_start.S172
58 files changed, 0 insertions, 3605 deletions
diff --git a/sys/arch/palm/Makefile b/sys/arch/palm/Makefile
deleted file mode 100644
index 2491bcb2e48..00000000000
--- a/sys/arch/palm/Makefile
+++ /dev/null
@@ -1,44 +0,0 @@
-# $OpenBSD: Makefile,v 1.4 2010/11/12 17:11:44 deraadt Exp $
-
-S= ${.CURDIR}/../..
-KFILE= GENERIC
-.if exists(conf/GENERIC.MP)
-KFILE= GENERIC.MP
-.endif
-TDIRS= ${_arch} include pci isa eisa
-TAGS= ${.CURDIR}/tags
-
-NOPROG=
-NOMAN=
-SUBDIR=
-
-# 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/$${_mach} \( -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>
diff --git a/sys/arch/palm/compile/.cvsignore b/sys/arch/palm/compile/.cvsignore
deleted file mode 100644
index b72af3039e6..00000000000
--- a/sys/arch/palm/compile/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-GENERIC
-RAMDISK
diff --git a/sys/arch/palm/conf/GENERIC b/sys/arch/palm/conf/GENERIC
deleted file mode 100644
index aecca9b16fb..00000000000
--- a/sys/arch/palm/conf/GENERIC
+++ /dev/null
@@ -1,221 +0,0 @@
-# $OpenBSD: GENERIC,v 1.15 2012/09/27 14:01:35 jsg 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 palm arm
-include "../../../conf/GENERIC"
-maxusers 32 # estimated number of users
-
-options ARM32
-options PXAGPIO_HAS_GPION_INTRS
-
-makeoptions KERNEL_BASE_PHYS="0xa0200000"
-makeoptions KERNEL_BASE_VIRT="0xc0200000"
-
-# CPU options
-options CPU_XSCALE_PXA2X0 # Support the XScale core
-#options XSCALE_CACHE_WRITE_THROUGH
-options XSCALE_CACHE_WRITE_BACK
-makeoptions CPUFLAGS="-mcpu=xscale"
-
-option WSDISPLAY_COMPAT_USL # VT handling
-option WSDISPLAY_COMPAT_RAWKBD # provide raw scancodes; needed for X11
-option WSDISPLAY_DEFAULTSCREENS=2 # initial number of text consoles
-option WSDISPLAY_COMPAT_PCVT # emulate some ioctls; needed for X11
-
-option USBVERBOSE
-
-config bsd root on sd1a swap on sd1b
-
-# The main bus device
-mainbus0 at root
-cpu0 at mainbus?
-pxaip0 at mainbus?
-
-pxaintc0 at pxaip? # interrupt controller
-pxagpio0 at pxaip? # GPIO controller
-pxadmac0 at pxaip? # DMA controller
-pxaost0 at pxaip? addr 0x40a00000 size 0x20
-
-# USB controllers
-pxaudc0 at pxaip? # USB Device Controller
-ohci0 at pxaip? # Open Host Controller
-
-# USB function support
-usbf* at pxaudc? # USB logical device
-#cdcef* at usbf? # CDC ethernet function
-
-# USB bus support
-usb* at ohci?
-uhub* at usb? # USB Root Hub
-uhub* at uhub? # USB Hub
-
-# USB devices
-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?
-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
-ucycom* at uhidev? # Cypress serial
-ucom* at ucycom?
-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
-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 devices
-upl* at uhub? # Prolific PL2301/PL2302 host-to-host
-udav* at uhub? # Davicom DM9601 based Ethernet
-ural* at uhub? # Ralink RT2500USB
-rum* at uhub? # Ralink RT2501USB/RT2601USB
-run* at uhub? # Ralink RT2700U/RT2800U/RT3000U
-zyd* at uhub? # Zydas ZD1211
-url* at uhub? # Realtek RTL8150L based adapters
-wi* at uhub? # WaveLAN IEEE 802.11DS
-urio* at uhub? # Diamond Multimedia Rio 500
-uscanner* at uhub? disable # USB Scanners
-#uyap* at uhub? # Y@P firmware loader
-udsbr* at uhub? # D-Link DSB-R100 radio
-radio* at udsbr? # USB radio
-ugen* at uhub? # USB Generic driver
-udcf* at uhub? # Gude Expert mouseCLOCK
-umbg* at uhub? # Meinberg Funkuhren USB5131
-uow* at uhub? # Maxim/Dallas DS2490 1-Wire adapter
-onewire* at uow?
-utwitch* at uhidev? # YUREX BBU sensor
-
-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
-
-# integrated 16550 UARTs
-options COM_PXA2X0
-com0 at pxaip? addr 0x40100000 intr 22 # Full Function UART
-com1 at pxaip? addr 0x40200000 intr 21 # BlueTooth UART
-com2 at pxaip? addr 0x40700000 intr 20 # Standard UART (for IrDA)
-
-# integrated PCMCIA/CF controller
-#pxapcic0 at pxaip?
-
-# PCMCIA bus support
-#pcmcia* at pxapcic?
-
-# PCMCIA (CF) devices
-#com* at pcmcia? # PCMCIA modems/serial ports
-#wi* at pcmcia? # WaveLAN IEEE 802.11DS
-#malo* at pcmcia? # Marvell 88W8385
-#ne* at pcmcia? # PCMCIA based NE2000 ethernet
-#wdc* at pcmcia? # hard disk controller
-#cfxga* at pcmcia? # VoyagerVGA frame buffer
-#wsdisplay* at cfxga?
-
-wdc0 at pxaip? addr 0x20000000
-
-# IDE hard drives
-wd* at wdc? flags 0x0000
-
-# Media Independent Interface (mii) drivers
-#exphy* at mii? # 3Com internal PHYs
-#inphy* at mii? # Intel 82555 PHYs
-#iophy* at mii? # Intel 82553 PHYs
-#icsphy* at mii? # ICS 1890 PHYs
-#lxtphy* at mii? # Level1 LXT970 PHYs
-#nsphy* at mii? # NS and compatible PHYs
-#nsphyter* at mii? # NS and compatible PHYs
-#qsphy* at mii? # Quality Semi QS6612 PHYs
-#sqphy* at mii? # Seeq 8x220 PHYs
-rlphy* at mii? # RealTek 8139 internal PHYs
-#mtdphy* at mii? # Myson MTD972 PHYs
-#dcphy* at mii? # Digital Clone PHYs
-acphy* at mii? # Altima AC101 PHYs
-amphy* at mii? # AMD 79C873 PHYs
-#tqphy* at mii? # TDK 78Q212x PHYs
-bmtphy* at mii? # Broadcom 10/100 PHYs
-#brgphy* at mii? # Broadcom Gigabit PHYs
-eephy* at mii? # Marvell 88E1000 series PHY
-#xmphy* at mii? # XaQti XMAC-II PHYs
-#nsgphy* at mii? # NS gigabit PHYs
-urlphy* at mii? # Realtek RTL8150L internal PHY
-#rgephy* at mii? # Realtek 8169S/8110S PHY
-#ciphy* at mii? # Cicada CS8201 10/100/1000 copper PHY
-ukphy* at mii? # "unknown" PHYs
-
-# Input
-pxa27x_kpc0 at pxaip? addr 0x41500000
-wskbd0 at pxa27x_kpc0 mux 1
-
-lcd0 at pxaip? addr 0x44000000 # LCD
-wsdisplay* at lcd? console ?
-
-pxammc0 at pxaip? addr 0x41100000 # MMC/SD/SDIO controller
-sdmmc* at pxammc? # SD/MMC bus
-
-# Bluetooth controllers
-#sbt* at sdmmc? disable # SDIO Bluetooth
-#bthub* at sbt?
-#ubt* at uhub? disable # USB Bluetooth
-#bthub* at ubt?
-#bthidev* at bthub? # Bluetooth HID support
-#btkbd* at bthidev?
-#btms* at bthidev?
-#wskbd* at btkbd? mux 1
-#wsmouse* at btms? mux 0
-#btsco* at bthub? # Bluetooth audio support
-#audio* at btsco?
-
-
-# USB Video
-uvideo* at uhub?
-video* at uvideo?
-
-# 1-Wire devices
-option ONEWIREVERBOSE
-owid* at onewire? # ID
-owsbm* at onewire? # Smart Battery Monitor
-owtemp* at onewire? # Temperature
-owctr* at onewire? # Counter device
-
-# Pseudo-Devices
-pseudo-device wsmux 2 # mouse & keyboard multiplexor
-pseudo-device hotplug 1 # devices hot plugging
diff --git a/sys/arch/palm/conf/Makefile.palm b/sys/arch/palm/conf/Makefile.palm
deleted file mode 100644
index 3c5613cc5c5..00000000000
--- a/sys/arch/palm/conf/Makefile.palm
+++ /dev/null
@@ -1,176 +0,0 @@
-# $OpenBSD: Makefile.palm,v 1.33 2012/08/28 21:03:32 pascal 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. -I$S -I$S/arch
-CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
- -Wno-main -Wno-uninitialized -Wno-format \
- -Wstack-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 ${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 $@
-
-DEBUG?=
-.if ${DEBUG} == "-g"
-LINKFLAGS+= -X
-STRIPFLAGS= -g -x
-SYSTEM_LD_TAIL+=; \
- echo mv $@ $@.gdb; rm -f $@.gdb; mv $@ $@.gdb; \
- echo ${STRIP} ${STRIPFLAGS} -o $@ $@.gdb; \
- ${STRIP} ${STRIPFLAGS} -o $@ $@.gdb
-.else
-LINKFLAGS+= -x
-.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.awk
- ${CC} ${CFLAGS} ${CPPFLAGS} -MT $@ -gstabs -c $S/ddb/db_structinfo.c
- objdump -g db_structinfo.o | awk -f $S/ddb/parse_structinfo.awk > $@
- 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}:
- rm -f /obsd
- ln /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
diff --git a/sys/arch/palm/conf/RAMDISK b/sys/arch/palm/conf/RAMDISK
deleted file mode 100644
index 723bd911b13..00000000000
--- a/sys/arch/palm/conf/RAMDISK
+++ /dev/null
@@ -1,164 +0,0 @@
-# $OpenBSD: RAMDISK,v 1.10 2012/09/27 14:01:35 jsg Exp $
-
-machine palm arm
-
-options TIMEZONE=0 # time zone to adjust RTC time by
-options DST=0 # daylight saving time used by RTC
-options FFS # UFS
-options CD9660 # ISO 9660 + Rock Ridge file system
-options MSDOSFS # MS-DOS file system
-options INET # IP + ICMP + TCP + UDP
-options INET6 # IPv6 (needs INET)
-options DDB # kernel debugger
-options EXT2FS # Second Extended Filesystem
-options CRYPTO # Cryptographic framework
-
-options ARM32
-options PXAGPIO_HAS_GPION_INTRS
-
-makeoptions KERNEL_BASE_PHYS="0xa0200000"
-makeoptions KERNEL_BASE_VIRT="0xc0200000"
-
-# estimated number of users
-
-maxusers 32
-
-# CPU options
-options CPU_XSCALE_PXA2X0 # Support the XScale core
-#options XSCALE_CACHE_WRITE_THROUGH
-options XSCALE_CACHE_WRITE_BACK
-makeoptions CPUFLAGS="-mcpu=xscale"
-
-option WSDISPLAY_COMPAT_USL # VT handling
-option WSDISPLAY_COMPAT_RAWKBD # provide raw scancodes; needed for X11
-option WSDISPLAY_DEFAULTSCREENS=2 # initial number of text consoles
-option WSDISPLAY_COMPAT_PCVT # emulate some ioctls; needed for X11
-
-config bsd root on rd0a swap on rd0b
-
-# The main bus device
-mainbus0 at root
-cpu0 at mainbus?
-pxaip0 at mainbus?
-
-pxaintc0 at pxaip? # interrupt controller
-pxagpio0 at pxaip? # GPIO controller
-pxaost0 at pxaip? addr 0x40a00000 size 0x20
-
-# USB controllers
-pxaudc0 at pxaip? # USB Device Controller
-ohci0 at pxaip? # Open Host Controller
-
-# USB function support
-usbf* at pxaudc? # USB logical device
-#cdcef* at usbf? # CDC ethernet function
-
-# USB bus support
-usb* at ohci?
-uhub* at usb? # USB Root Hub
-uhub* at uhub? # USB Hubs
-
-# USB devices
-uhidev* at uhub?
-uhid* at uhidev? # USB Generic HID devices
-ukbd* at uhidev? # USB HID Keyboard devices
-wskbd* at ukbd? mux 1
-#ums* at uhub? # USB Mice
-#wsmouse* at ums? mux 0
-#ulpt* at uhub? # USB Printer
-atu* at uhub? # Atmel AT76C50x based 802.11b
-aue* at uhub? # ADMtek AN986 Pegasus Ethernet
-axe* at uhub? # ASIX Electronics AX88172 USB Ethernet
-cdce* at uhub? # CDC Ethernet
-cue* at uhub? # CATC USB-EL1201A based Ethernet
-kue* at uhub? # Kawasaki KL5KUSB101B based Ethernet
-smsc* at uhub? # SMSC LAN95xx Ethernet
-#udav* at uhub? # Davicom DM9601 based Ethernet
-ural* at uhub? # Ralink RT2500
-#url* at uhub? # Realtek RTL8150L based adapters
-wi* at uhub? # WaveLAN IEEE 802.11DS
-upl* at uhub? # Prolific PL2301/PL2302 host-to-host
-#uscanner* at uhub? # USB Scanner driver
-#uyap* at uhub? # Y@P firmware loader
-ugen* at uhub? # USB Generic driver
-umass* at uhub? # USB Mass Storage devices
-
-# SD/MMC support
-pxammc0 at pxaip? addr 0x41100000 # MMC/SD/SDIO controller
-sdmmc* at pxammc? # SD/MMC bus
-softraid0 at root # Software RAID
-
-scsibus* at scsi?
-sd* at scsibus?
-#st* at scsibus?
-cd* at scsibus?
-#ch* at scsibus?
-#uk* at scsibus?
-
-# integrated 16550 UARTs
-options COM_PXA2X0
-com0 at pxaip? addr 0x40100000 intr 22 # Full Function UART
-com1 at pxaip? addr 0x40200000 intr 21 # BlueTooth UART
-com2 at pxaip? addr 0x40700000 intr 20 # Standard UART (for IrDA)
-
-#aupxa0 at pxaip? # AC97 interface
-
-# CF (pcmcia) support
-#pxapcic0 at pxaip?
-#pcmcia* at pxapcic?
-#wi* at pcmcia?
-#ne* at pcmcia?
-#wdc* at pcmcia?
-
-wdc0 at pxaip? addr 0x20000000
-
-# IDE hard drives
-wd* at wdc? flags 0x0000
-
-# PHY
-#exphy* at mii? # 3Com internal PHYs
-#inphy* at mii? # Intel 82555 PHYs
-#iophy* at mii? # Intel 82553 PHYs
-#icsphy* at mii? # ICS 1890 PHYs
-#lxtphy* at mii? # Level1 LXT970 PHYs
-#nsphy* at mii? # NS and compatible PHYs
-#nsphyter* at mii? # NS and compatible PHYs
-#qsphy* at mii? # Quality Semi QS6612 PHYs
-#sqphy* at mii? # Seeq 8x220 PHYs
-rlphy* at mii? # RealTek 8139 internal PHYs
-#mtdphy* at mii? # Myson MTD972 PHYs
-#dcphy* at mii? # Digital Clone PHYs
-acphy* at mii? # Altima AC101 PHYs
-amphy* at mii? # AMD 79C873 PHYs
-#tqphy* at mii? # TDK 78Q212x PHYs
-bmtphy* at mii? # Broadcom 10/100 PHYs
-#brgphy* at mii? # Broadcom Gigabit PHYs
-eephy* at mii? # Marvell 88E1000 series PHY
-#xmphy* at mii? # XaQti XMAC-II PHYs
-#nsgphy* at mii? # NS gigabit PHYs
-urlphy* at mii? # Realtek RTL8150L internal PHY
-#rgephy* at mii? # Realtek 8169S/8110S PHY
-#ciphy* at mii? # Cicada CS8201 10/100/1000 copper PHY
-ukphy* at mii? # "unknown" PHYs
-
-# Input
-pxa27x_kpc0 at pxaip? addr 0x41500000
-wskbd0 at pxa27x_kpc0 mux 1
-
-# LCD
-lcd0 at pxaip? addr 0x44000000
-wsdisplay* at lcd? console ?
-
-# Pseudo-Devices
-pseudo-device wsmux 2 # mouse & keyboard multiplexor
-#pseudo-device crypto 1
-pseudo-device loop 1 # network loopback
-pseudo-device bpfilter 1 # packet filter
-pseudo-device rd 1 # ram disk
-pseudo-device bio 1 # ioctl multiplexing device
-
-options BOOT_CONFIG # boot-time kernel config
-
-# RAMDISK stuff
-options MINIROOTSIZE=5120
-options RAMDISK_HOOKS
diff --git a/sys/arch/palm/conf/files.palm b/sys/arch/palm/conf/files.palm
deleted file mode 100644
index 605e8c631d0..00000000000
--- a/sys/arch/palm/conf/files.palm
+++ /dev/null
@@ -1,85 +0,0 @@
-# $OpenBSD: files.palm,v 1.4 2011/05/15 08:52:48 matthieu Exp $
-#
-# First try for arm-specific configuration info
-#
-
-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/palm/palm/palm_machdep.c
-
-#
-# Machine-independent SCSI drivers
-#
-include "scsi/files.scsi"
-include "dev/atapiscsi/files.atapiscsi"
-
-# CPU support and integrated peripherals
-include "arch/arm/xscale/files.pxa2x0"
-
-# LCD frame buffer
-attach lcd at pxaip with lcd_pxaip
-file arch/palm/palm/palm_lcd.c lcd_pxaip
-
-# SD/MMC socket controller
-attach pxammc at pxaip with pxammc_palm
-file arch/palm/dev/palm_mmc.c pxammc_palm
-
-#
-# Machine-independent ATA drivers
-#
-include "dev/ata/files.ata"
-
-#attach wdc at palmvlio with palmhdd
-attach wdc at pxaip with palm_hdd
-file arch/palm/dev/palm_hdd.c palm_hdd
-
-# Generic MD files
-file arch/palm/palm/autoconf.c
-
-file arch/arm/arm/disksubr.c disk
-
-# ARM FPE
-file arch/arm/fpe-arm/armfpe_glue.S armfpe
-file arch/arm/fpe-arm/armfpe_init.c armfpe
-file arch/arm/fpe-arm/armfpe.s armfpe
-
-# Machine-independent I2O drivers.
-include "dev/i2o/files.i2o"
-
-# Include WSCONS stuff
-include "dev/wscons/files.wscons"
-include "dev/rasops/files.rasops"
-include "dev/wsfont/files.wsfont"
-
-# Include USB stuff
-include "dev/usb/files.usb"
-
-attach pxaudc at pxaip with pxaudc_palm
-file arch/palm/dev/palm_udc.c pxaudc_palm
-
-attach pxa27x_kpc at pxaip with pxakpc_palm
-file arch/palm/dev/palm_kpc.c pxakpc_palm
-
-# Bluetooth
-include "dev/bluetooth/files.bluetooth"
-
-# Media Independent Interface (mii)
-include "dev/mii/files.mii"
-
-#
-# Machine-independent SD/MMC drivers
-#
-include "dev/sdmmc/files.sdmmc"
-
-#
-# Machine-independent 1-Wire drivers
-#
-include "dev/onewire/files.onewire"
diff --git a/sys/arch/palm/dev/palm_hdd.c b/sys/arch/palm/dev/palm_hdd.c
deleted file mode 100644
index dda926f1d0e..00000000000
--- a/sys/arch/palm/dev/palm_hdd.c
+++ /dev/null
@@ -1,97 +0,0 @@
-/* $OpenBSD: palm_hdd.c,v 1.3 2011/05/09 22:33:54 matthew Exp $ */
-
-/*
- * Copyright (c) 2009 Marek Vasut <marex@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.
- */
-
-#include <sys/param.h>
-#include <sys/device.h>
-#include <sys/systm.h>
-#include <sys/malloc.h>
-
-#include <machine/bus.h>
-#include <machine/palm_var.h>
-
-#include <dev/ata/atavar.h>
-#include <dev/ic/wdcvar.h>
-
-#include <arch/arm/xscale/pxa2x0_gpio.h>
-#include <arch/arm/xscale/pxa2x0var.h>
-
-struct palm_hdd_softc {
- struct wdc_softc sc_wdcdev;
- struct channel_softc sc_channel;
- void *sc_ih;
-};
-
-int palm_hdd_match(struct device *, void *, void *);
-void palm_hdd_attach(struct device *, struct device *, void *);
-
-struct cfattach palm_hdd_ca = {
- sizeof(struct palm_hdd_softc),
- palm_hdd_match,
- palm_hdd_attach,
-};
-
-int palm_hdd_match(struct device *parent, void *match, void *aux)
-{
- return mach_is_palmld;
-}
-
-void palm_hdd_attach(struct device *parent, struct device *self, void *aux)
-{
- struct palm_hdd_softc *sc = (void *)self;
- struct channel_softc *chp = &sc->sc_channel;
- struct pxaip_attach_args *pxa = aux;
- int ret;
-
- chp->cmd_iot = pxa->pxa_iot;
- chp->ctl_iot = pxa->pxa_iot;
-
- ret = bus_space_map(chp->cmd_iot, 0x20000010, WDC_NREG,
- 0, &chp->cmd_ioh);
- if (ret) {
- printf(": Failed mapping CMD register\n");
- return;
- }
-
- ret = bus_space_map(chp->ctl_iot, 0x2000000e, 2, 0, &chp->ctl_ioh);
- if (ret) {
- printf(": Failed mapping CTL register\n");
- return;
- }
-
- sc->sc_ih = pxa2x0_gpio_intr_establish(95, IST_EDGE_BOTH, IPL_BIO, wdcintr, chp, self->dv_xname);
-
- pxa2x0_gpio_set_bit(115); /* PWEN */
- pxa2x0_gpio_clear_bit(98); /* RESET */
- delay(50);
- pxa2x0_gpio_set_bit(98); /* RESET */
- delay(50);
-
- sc->sc_wdcdev.cap |= WDC_CAPABILITY_DATA16 | WDC_CAPABILITY_DMA | WDC_CAPABILITY_SINGLE_DRIVE/* | WDC_CAPABILITY_IRQACK*/;
- sc->sc_wdcdev.PIO_cap = 4;
- sc->sc_wdcdev.channels = &chp;
- sc->sc_wdcdev.nchannels = 1;
-
- chp->channel = 0;
- chp->wdc = &sc->sc_wdcdev;
- chp->ch_queue = wdc_alloc_queue();
-
- printf("\n");
-
- wdcattach(chp);
- wdc_print_current_modes(chp);
-}
diff --git a/sys/arch/palm/dev/palm_kpc.c b/sys/arch/palm/dev/palm_kpc.c
deleted file mode 100644
index 28c95037c48..00000000000
--- a/sys/arch/palm/dev/palm_kpc.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/* $OpenBSD: palm_kpc.c,v 1.3 2009/09/09 12:14:39 marex Exp $ */
-
-/*
- * Copyright (c) 2009 Marek Vasut <marex@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.
- */
-
-#include <sys/param.h>
-#include <sys/device.h>
-#include <sys/systm.h>
-
-#include <machine/machine_reg.h>
-#include <machine/palm_var.h>
-#include <arch/arm/xscale/pxa2x0_gpio.h>
-
-#include <arch/arm/xscale/pxa27x_kpc.h>
-
-int palm_kpc_match(struct device *, void *, void *);
-void palm_kpc_attach(struct device *, struct device *, void *);
-
-struct cfattach pxakpc_palm_ca = {
- sizeof(struct pxa27x_kpc_softc),
- palm_kpc_match,
- palm_kpc_attach
-};
-
-const keysym_t palmkpc_keycodes[] = {
- KS_KEYCODE(0), KS_s,
- KS_KEYCODE(1), KS_a,
- KS_KEYCODE(2), KS_b,
- KS_KEYCODE(3), KS_c,
- KS_KEYCODE(4), KS_d,
- KS_KEYCODE(5), KS_Return,
- KS_KEYCODE(6), KS_KP_Up,
- KS_KEYCODE(7), KS_KP_Down,
- KS_KEYCODE(8), KS_KP_Left,
- KS_KEYCODE(9), KS_KP_Right,
-};
-
-#ifdef WSDISPLAY_COMPAT_RAWKBD
-const keysym_t palmkpc_xt_keycodes[] = {
- RAWKEY_s,
- RAWKEY_a,
- RAWKEY_b,
- RAWKEY_c,
- RAWKEY_d,
- RAWKEY_Return,
- RAWKEY_KP_Up,
- RAWKEY_KP_Down,
- RAWKEY_KP_Left,
- RAWKEY_KP_Right,
-};
-#endif
-
-const struct pxa27x_kpc_keymap palmkpc_keymap[] = {
- {0, 0, 0},
- {0, 1, 1},
- {1, 0, 2},
- {1, 1, 3},
- {1, 2, 4},
- {0, 2, 5},
- {2, 0, 6},
- {2, 2, 7},
- {3, 2, 8},
- {3, 0, 9},
-};
-
-int
-palm_kpc_match(struct device *parent, void *match, void *aux)
-{
- return pxa27x_kpc_match(aux);
-}
-
-void
-palm_kpc_attach(struct device *parent, struct device *self, void *aux)
-{
- struct pxa27x_kpc_softc *sc = (struct pxa27x_kpc_softc *)self;
-
- pxa2x0_gpio_set_function(100, GPIO_ALT_FN_1_IN);
- pxa2x0_gpio_set_function(101, GPIO_ALT_FN_1_IN);
- pxa2x0_gpio_set_function(102, GPIO_ALT_FN_1_IN);
- pxa2x0_gpio_set_function(97, GPIO_ALT_FN_3_IN);
-
- pxa2x0_gpio_set_function(103, GPIO_ALT_FN_2_OUT);
- pxa2x0_gpio_set_function(104, GPIO_ALT_FN_2_OUT);
- pxa2x0_gpio_set_function(105, GPIO_ALT_FN_2_OUT);
-
- sc->sc_rows = 4;
- sc->sc_cols = 3;
- sc->sc_kmap = palmkpc_keymap;
- sc->sc_kcodes = palmkpc_keycodes;
-#ifdef WSDISPLAY_COMPAT_RAWKBD
- sc->sc_xt_kcodes = palmkpc_xt_keycodes;
-#endif
- sc->sc_ksize = sizeof(palmkpc_keycodes)/sizeof(keysym_t);
-
- pxa27x_kpc_attach(sc, aux);
-}
diff --git a/sys/arch/palm/dev/palm_mmc.c b/sys/arch/palm/dev/palm_mmc.c
deleted file mode 100644
index 4718364c64e..00000000000
--- a/sys/arch/palm/dev/palm_mmc.c
+++ /dev/null
@@ -1,111 +0,0 @@
-/* $OpenBSD: palm_mmc.c,v 1.2 2009/09/09 11:34:02 marex Exp $ */
-
-/*
- * Copyright (c) 2009 Marek Vasut <marex@openbsd.org>
- * Copyright (c) 2007 Uwe Stuehler <uwe@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.
- */
-
-/* Attachment driver for pxammc(4) on Palm */
-
-#include <sys/param.h>
-#include <sys/device.h>
-#include <sys/systm.h>
-
-#include <dev/sdmmc/sdmmcreg.h>
-#include <machine/machine_reg.h>
-#include <machine/palm_var.h>
-#include <arch/arm/xscale/pxa2x0_gpio.h>
-
-#include <arch/arm/xscale/pxammcvar.h>
-
-int palm_mmc_match(struct device *, void *, void *);
-void palm_mmc_attach(struct device *, struct device *, void *);
-
-struct cfattach pxammc_palm_ca = {
- sizeof(struct pxammc_softc),
- palm_mmc_match,
- palm_mmc_attach
-};
-
-u_int32_t palm_mmc_get_ocr(void *);
-int palm_mmc_set_power(void *, u_int32_t);
-
-int
-palm_mmc_match(struct device *parent, void *match, void *aux)
-{
- return pxammc_match();
-}
-
-void
-palm_mmc_attach(struct device *parent, struct device *self, void *aux)
-{
- struct pxammc_softc *sc = (struct pxammc_softc *)self;
-
- sc->tag.cookie = (void *)sc;
- sc->tag.get_ocr = palm_mmc_get_ocr;
- sc->tag.set_power = palm_mmc_set_power;
-
- /*
- * Configure the GPIO pins. In SD/MMC mode, all pins except
- * MMCLK are bidirectional and the direction is controlled in
- * hardware without our assistence.
- */
- if (mach_is_palmtc) {
- pxa2x0_gpio_set_function(6, GPIO_ALT_FN_1_OUT);
- pxa2x0_gpio_set_function(8, GPIO_ALT_FN_1_OUT);
- sc->sc_gpio_detect = GPIO12_TC_MMC_DETECT;
- } else {
- pxa2x0_gpio_set_function(32, GPIO_ALT_FN_2_OUT);
- pxa2x0_gpio_set_function(112, GPIO_ALT_FN_1_IN);
- pxa2x0_gpio_set_function(92, GPIO_ALT_FN_1_IN);
- pxa2x0_gpio_set_function(109, GPIO_ALT_FN_1_IN);
- pxa2x0_gpio_set_function(110, GPIO_ALT_FN_1_IN);
- pxa2x0_gpio_set_function(111, GPIO_ALT_FN_1_IN);
- sc->sc_gpio_detect = GPIO14_MMC_DETECT;
- }
-
- pxammc_attach(sc, aux);
-}
-
-u_int32_t
-palm_mmc_get_ocr(void *cookie)
-{
- return MMC_OCR_3_2V_3_3V | MMC_OCR_3_3V_3_4V;
-}
-
-int
-palm_mmc_set_power(void *cookie, u_int32_t ocr)
-{
- if (ISSET(ocr, MMC_OCR_3_2V_3_3V | MMC_OCR_3_3V_3_4V)) {
- if (mach_is_palmz72)
- pxa2x0_gpio_clear_bit(GPIO98_PALMZ72_MMC_POWER);
- else if (mach_is_palmtc)
- pxa2x0_gpio_set_bit(GPIO32_PALMTC_MMC_POWER);
- else
- pxa2x0_gpio_set_bit(GPIO114_MMC_POWER);
- return 0;
- } else if (ocr != 0) {
- printf("palm_mmc_set_power: unsupported OCR (%#x)\n", ocr);
- return EINVAL;
- } else {
- if (mach_is_palmz72)
- pxa2x0_gpio_set_bit(GPIO98_PALMZ72_MMC_POWER);
- else if (mach_is_palmtc)
- pxa2x0_gpio_clear_bit(GPIO32_PALMTC_MMC_POWER);
- else
- pxa2x0_gpio_clear_bit(GPIO114_MMC_POWER);
- return 0;
- }
-}
diff --git a/sys/arch/palm/dev/palm_udc.c b/sys/arch/palm/dev/palm_udc.c
deleted file mode 100644
index e63496756c9..00000000000
--- a/sys/arch/palm/dev/palm_udc.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* $OpenBSD: palm_udc.c,v 1.3 2009/09/09 11:34:02 marex Exp $ */
-
-/*
- * Copyright (c) 2009 Marek Vasut <marex@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.
- */
-
-#include <sys/param.h>
-#include <sys/device.h>
-#include <sys/systm.h>
-#include <sys/timeout.h>
-
-#include <dev/sdmmc/sdmmcreg.h>
-#include <machine/machine_reg.h>
-#include <machine/palm_var.h>
-
-#include <dev/usb/usb.h>
-#include <dev/usb/usbdi.h>
-#include <dev/usb/usbdivar.h>
-#include <dev/usb/usbf.h>
-#include <dev/usb/usbfvar.h>
-
-#include <arch/arm/xscale/pxa2x0_gpio.h>
-#include <arch/arm/xscale/pxa27x_udc.h>
-
-int palm_udc_match(struct device *, void *, void *);
-void palm_udc_attach(struct device *, struct device *, void *);
-int palm_udc_detach(struct device *, int);
-int palm_udc_is_host(void);
-
-struct cfattach pxaudc_palm_ca = {
- sizeof(struct pxaudc_softc),
- palm_udc_match,
- palm_udc_attach,
- palm_udc_detach,
-};
-
-int
-palm_udc_match(struct device *parent, void *match, void *aux)
-{
- if (mach_is_palmld || mach_is_palmtc)
- return 0;
- return pxaudc_match();
-}
-
-int
-palm_udc_is_host(void)
-{
- return 1;
-}
-
-void
-palm_udc_attach(struct device *parent, struct device *self, void *aux)
-{
- struct pxaudc_softc *sc = (struct pxaudc_softc *)self;
-
- if (mach_is_palmtx)
- sc->sc_gpio_detect = GPIO13_PALMTX_USB_DETECT;
- else if (mach_is_palmt5 || mach_is_palmz72)
- sc->sc_gpio_detect = GPIO15_USB_DETECT;
- else {
- printf(": No suitable GPIO setup found\n");
- return;
- }
-
- sc->sc_gpio_detect_inv = 1;
- sc->sc_gpio_pullup = GPIO95_USB_PULLUP;
- sc->sc_gpio_pullup_inv = 0;
- sc->sc_is_host = palm_udc_is_host;
-
- pxa2x0_gpio_set_function(sc->sc_gpio_detect, GPIO_IN);
- pxa2x0_gpio_set_function(GPIO95_USB_PULLUP, GPIO_OUT | GPIO_SET);
-
- pxa2x0_gpio_set_function(45, GPIO_OUT);
- pxa2x0_gpio_set_function(40, GPIO_OUT);
- pxa2x0_gpio_set_function(39, GPIO_IN);
- pxa2x0_gpio_set_function(38, GPIO_IN);
- pxa2x0_gpio_set_function(37, GPIO_OUT);
- pxa2x0_gpio_set_function(36, GPIO_IN);
- pxa2x0_gpio_set_function(34, GPIO_IN);
- pxa2x0_gpio_set_function(89, GPIO_OUT);
- pxa2x0_gpio_set_function(120, GPIO_OUT);
-
- pxaudc_attach(sc, aux);
-}
-
-int
-palm_udc_detach(struct device *self, int flags)
-{
- struct pxaudc_softc *sc = (struct pxaudc_softc *)self;
-
- return pxaudc_detach(sc, flags);
-}
diff --git a/sys/arch/palm/include/_float.h b/sys/arch/palm/include/_float.h
deleted file mode 100644
index 2e6e64a98cf..00000000000
--- a/sys/arch/palm/include/_float.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $OpenBSD: _float.h,v 1.1 2012/06/26 16:12:44 deraadt Exp $ */
-
-#include <arm/_float.h>
diff --git a/sys/arch/palm/include/_types.h b/sys/arch/palm/include/_types.h
deleted file mode 100644
index b778141b95f..00000000000
--- a/sys/arch/palm/include/_types.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* $OpenBSD: _types.h,v 1.4 2012/11/05 19:39:34 miod Exp $ */
-
-#ifndef _MACHINE__TYPES_H_
-#define _MACHINE__TYPES_H_
-
-#include <arm/_types.h>
-
-#endif
diff --git a/sys/arch/palm/include/apmvar.h b/sys/arch/palm/include/apmvar.h
deleted file mode 100644
index e6d66f0d168..00000000000
--- a/sys/arch/palm/include/apmvar.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* $OpenBSD: apmvar.h,v 1.2 2010/02/02 06:19:28 kevlo Exp $ */
-#include <arm/apmvar.h>
diff --git a/sys/arch/palm/include/asm.h b/sys/arch/palm/include/asm.h
deleted file mode 100644
index 392dab502e4..00000000000
--- a/sys/arch/palm/include/asm.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: asm.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: asm.h,v 1.3 2001/11/25 15:55:54 thorpej Exp $ */
-
-#include <arm/asm.h>
diff --git a/sys/arch/palm/include/atomic.h b/sys/arch/palm/include/atomic.h
deleted file mode 100644
index f88c0c50d1f..00000000000
--- a/sys/arch/palm/include/atomic.h
+++ /dev/null
@@ -1,10 +0,0 @@
-/* $OpenBSD: atomic.h,v 1.2 2011/03/23 16:54:36 pirofti Exp $ */
-
-/* Public Domain */
-
-#ifndef _MACHINE_ATOMIC_H_
-#define _MACHINE_ATOMIC_H_
-
-#include <arm/atomic.h>
-
-#endif /* _MACHINE_ATOMIC_H_ */
diff --git a/sys/arch/palm/include/bootconfig.h b/sys/arch/palm/include/bootconfig.h
deleted file mode 100644
index 6e9e95dd59b..00000000000
--- a/sys/arch/palm/include/bootconfig.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* $OpenBSD: bootconfig.h,v 1.2 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)
-
-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
-
-extern char *boot_args;
-extern char *boot_file;
-#endif /* _KERNEL */
-
-/* End of bootconfig.h */
diff --git a/sys/arch/palm/include/bus.h b/sys/arch/palm/include/bus.h
deleted file mode 100644
index f2fbe6adc95..00000000000
--- a/sys/arch/palm/include/bus.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: bus.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: bus.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */
-
-#include <arm/bus.h>
diff --git a/sys/arch/palm/include/cdefs.h b/sys/arch/palm/include/cdefs.h
deleted file mode 100644
index a18a7891219..00000000000
--- a/sys/arch/palm/include/cdefs.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $OpenBSD: cdefs.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-
-#include <arm/cdefs.h>
diff --git a/sys/arch/palm/include/conf.h b/sys/arch/palm/include/conf.h
deleted file mode 100644
index f537361c069..00000000000
--- a/sys/arch/palm/include/conf.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* $OpenBSD: conf.h,v 1.3 2011/03/23 16:54:36 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>
-
-/*
- * PALM specific device includes go in here
- */
-
-#include <arm/conf.h>
-
-#endif /* _MACHINE_CONF_H_ */
diff --git a/sys/arch/palm/include/cpu.h b/sys/arch/palm/include/cpu.h
deleted file mode 100644
index ac0c146970b..00000000000
--- a/sys/arch/palm/include/cpu.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: cpu.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: cpu.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */
-
-#include <arm/cpu.h>
diff --git a/sys/arch/palm/include/db_machdep.h b/sys/arch/palm/include/db_machdep.h
deleted file mode 100644
index ce5d9a3b83e..00000000000
--- a/sys/arch/palm/include/db_machdep.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: db_machdep.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: db_machdep.h,v 1.3 2001/11/25 15:55:55 thorpej Exp $ */
-
-#include <arm/db_machdep.h>
diff --git a/sys/arch/palm/include/disklabel.h b/sys/arch/palm/include/disklabel.h
deleted file mode 100644
index bd28d88b786..00000000000
--- a/sys/arch/palm/include/disklabel.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $OpenBSD: disklabel.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-
-#include <arm/disklabel.h>
diff --git a/sys/arch/palm/include/endian.h b/sys/arch/palm/include/endian.h
deleted file mode 100644
index e2d87fd071f..00000000000
--- a/sys/arch/palm/include/endian.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: endian.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: endian.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */
-
-#include <arm/endian.h>
diff --git a/sys/arch/palm/include/exec.h b/sys/arch/palm/include/exec.h
deleted file mode 100644
index 7ec228c960e..00000000000
--- a/sys/arch/palm/include/exec.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $OpenBSD: exec.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* public domain */
-#include <arm/exec.h>
diff --git a/sys/arch/palm/include/fenv.h b/sys/arch/palm/include/fenv.h
deleted file mode 100644
index e6c57adf058..00000000000
--- a/sys/arch/palm/include/fenv.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $OpenBSD: fenv.h,v 1.1 2011/04/28 18:05:39 martynas Exp $ */
-
-#include <arm/fenv.h>
diff --git a/sys/arch/palm/include/fp.h b/sys/arch/palm/include/fp.h
deleted file mode 100644
index a9f0a55c63c..00000000000
--- a/sys/arch/palm/include/fp.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: fp.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: fp.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */
-
-#include <arm/fp.h>
diff --git a/sys/arch/palm/include/frame.h b/sys/arch/palm/include/frame.h
deleted file mode 100644
index c3b3d8a993c..00000000000
--- a/sys/arch/palm/include/frame.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: frame.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: frame.h,v 1.1 2001/06/08 22:23:00 chris Exp $ */
-
-#include <arm/frame.h>
diff --git a/sys/arch/palm/include/ieee.h b/sys/arch/palm/include/ieee.h
deleted file mode 100644
index 4cac2e063f8..00000000000
--- a/sys/arch/palm/include/ieee.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: ieee.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: ieee.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */
-
-#include <arm/ieee.h>
diff --git a/sys/arch/palm/include/ieeefp.h b/sys/arch/palm/include/ieeefp.h
deleted file mode 100644
index 32d3e7cb922..00000000000
--- a/sys/arch/palm/include/ieeefp.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: ieeefp.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: ieeefp.h,v 1.3 2001/11/25 15:55:56 thorpej Exp $ */
-
-#include <arm/ieeefp.h>
diff --git a/sys/arch/palm/include/intr.h b/sys/arch/palm/include/intr.h
deleted file mode 100644
index 869a3760a70..00000000000
--- a/sys/arch/palm/include/intr.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* $OpenBSD: intr.h,v 1.3 2011/03/23 16:54:36 pirofti 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 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 splserial() _splraise(IPL_SERIAL)
-
-#define spl0() _spllower(IPL_NONE)
-
-#define splsched() splhigh()
-#define spllock() splhigh()
-
-#endif /* ! _LOCORE */
-
-#include <arm/xscale/pxa2x0_intr.h>
-
-#endif /* _KERNEL */
-
-#endif /* _MACHINE_INTR_H_ */
-
diff --git a/sys/arch/palm/include/limits.h b/sys/arch/palm/include/limits.h
deleted file mode 100644
index 3598c6138a4..00000000000
--- a/sys/arch/palm/include/limits.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: limits.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: limits.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/limits.h>
diff --git a/sys/arch/palm/include/loadfile_machdep.h b/sys/arch/palm/include/loadfile_machdep.h
deleted file mode 100644
index f004e7f7e19..00000000000
--- a/sys/arch/palm/include/loadfile_machdep.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* $OpenBSD: loadfile_machdep.h,v 1.1 2009/09/05 01:22:11 marex 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 & ~LOAD_TEXTA)
-#define COUNT_KERNEL (COUNT_ALL & ~COUNT_TEXTA)
-
-#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)
-#define OKMAGIC(a) ((a) == OMAGIC)
-
-void run_loadfile(u_long *, int);
diff --git a/sys/arch/palm/include/lock.h b/sys/arch/palm/include/lock.h
deleted file mode 100644
index 957453843f6..00000000000
--- a/sys/arch/palm/include/lock.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: lock.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: lock.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/lock.h>
diff --git a/sys/arch/palm/include/machine_reg.h b/sys/arch/palm/include/machine_reg.h
deleted file mode 100644
index 37e82df19aa..00000000000
--- a/sys/arch/palm/include/machine_reg.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* $OpenBSD: machine_reg.h,v 1.2 2009/09/09 11:34:02 marex Exp $ */
-/* $NetBSD: lubbock_reg.h,v 1.1 2003/06/18 10:51:15 bsh Exp $ */
-
-/*
- * Copyright (c) 2002, 2003 Genetec Corporation. All rights reserved.
- * Written by Hiroyuki Bessho for Genetec Corporation.
- *
- * 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 Genetec Corporation may not be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``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 GENETEC CORPORATION
- * 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 _PALM_REG_H
-#define _PALM_REG_H
-
-#include <arm/xscale/pxa2x0reg.h>
-
-/*
- * Logical mapping for onboard/integrated peripherals
- */
-#define PALM_IO_AREA_VBASE 0xfd000000
-#define PALM_GPIO_VBASE 0xfd000000
-#define PALM_CLKMAN_VBASE 0xfd100000
-#define PALM_INTCTL_VBASE 0xfd200000
-#define PALM_VBASE_FREE 0xfd300000
-/* FFUART, BTUART and/or STUART are mapped to this area when
- used for console or kgdb port */
-
-#define ioreg_read(a) (*(volatile unsigned *)(a))
-#define ioreg_write(a,v) (*(volatile unsigned *)(a)=(v))
-
-#define ioreg16_read(a) (*(volatile uint16_t *)(a))
-#define ioreg16_write(a,v) (*(volatile uint16_t *)(a)=(v))
-
-#define ioreg8_read(a) (*(volatile uint8_t *)(a))
-#define ioreg8_write(a,v) (*(volatile uint8_t *)(a)=(v))
-
-/* GPIOs */
-#define GPIO14_MMC_DETECT 14 /* MMC detect*/
-#define GPIO12_TC_MMC_DETECT 12 /* TC MMC detect*/
-#define GPIO114_MMC_POWER 114 /* MMC power */
-#define GPIO98_PALMZ72_MMC_POWER 98 /* Z72 MMC power */
-#define GPIO32_PALMTC_MMC_POWER 32 /* TC MMC power */
-
-#define GPIO13_PALMTX_USB_DETECT 13
-#define GPIO15_USB_DETECT 15
-#define GPIO95_USB_PULLUP 95
-
-#endif /* _PALM_REG_H */
diff --git a/sys/arch/palm/include/mutex.h b/sys/arch/palm/include/mutex.h
deleted file mode 100644
index 7f5c6298504..00000000000
--- a/sys/arch/palm/include/mutex.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $OpenBSD: mutex.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* public domain */
-#include <arm/mutex.h>
diff --git a/sys/arch/palm/include/palm_var.h b/sys/arch/palm/include/palm_var.h
deleted file mode 100644
index f26f7571587..00000000000
--- a/sys/arch/palm/include/palm_var.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* $OpenBSD: palm_var.h,v 1.2 2009/09/09 11:34:02 marex Exp $ */
-/* $NetBSD: lubbock_var.h,v 1.1 2003/06/18 10:51:15 bsh Exp $ */
-
-/*
- * Copyright (c) 2002, 2003 Genetec Corporation. All rights reserved.
- * Written by Hiroyuki Bessho for Genetec Corporation.
- *
- * 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 Genetec Corporation may not be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``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 GENETEC CORPORATION
- * 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 _EVBARM_PALM_VAR_H
-#define _EVBARM_PALM_VAR_H
-
-#ifndef __ASSEMBLER__
-#include <sys/conf.h>
-#include <sys/device.h>
-
-#include <machine/bus.h>
-#include <machine/machine_reg.h>
-
-extern int mach;
-
-#define mach_is_palmtc ( mach == 918 ? 1 : 0 )
-#define mach_is_palmt5 ( mach == 917 ? 1 : 0 )
-#define mach_is_palmtx ( mach == 885 ? 1 : 0 )
-#define mach_is_palmld ( mach == 835 ? 1 : 0 )
-#define mach_is_palmz72 ( mach == 904 ? 1 : 0 )
-
-static inline char *mach_name(void)
-{
- if (mach_is_palmt5) return "Palm Tungsten|T5";
- else if (mach_is_palmtc) return "Palm Tungsten|C";
- else if (mach_is_palmtx) return "Palm T|X";
- else if (mach_is_palmld) return "Palm LifeDrive";
- else if (mach_is_palmz72) return "Palm Zire72";
- else return "Unknown";
-}
-#endif
-
-#ifdef _KERNEL
-
-#define SDRAM_START 0xa0000000
-#define SDRAM_SIZE_MB 32
-#define SDRAM_SIZE (SDRAM_SIZE_MB * 1024 * 1024)
-
-#endif
-
-#endif /* _EVBARM_PALM_VAR_H */
diff --git a/sys/arch/palm/include/param.h b/sys/arch/palm/include/param.h
deleted file mode 100644
index 4784d668343..00000000000
--- a/sys/arch/palm/include/param.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/* $OpenBSD: param.h,v 1.3 2013/03/23 16:12:26 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_
-
-#ifndef MSGBUFSIZE
-#define MSGBUFSIZE PAGE_SIZE
-#endif
-
-#include <arm/param.h>
-
-#define _MACHINE palm
-#define MACHINE "palm"
-
-#endif /* _MACHINE_PARAM_H_ */
diff --git a/sys/arch/palm/include/pcb.h b/sys/arch/palm/include/pcb.h
deleted file mode 100644
index a89cb24f22d..00000000000
--- a/sys/arch/palm/include/pcb.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: pcb.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: pcb.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/pcb.h>
diff --git a/sys/arch/palm/include/pio.h b/sys/arch/palm/include/pio.h
deleted file mode 100644
index 2d59f4cd30d..00000000000
--- a/sys/arch/palm/include/pio.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: pio.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: pio.h,v 1.3 2001/12/07 23:09:33 chris Exp $ */
-
-#include <arm/pio.h>
diff --git a/sys/arch/palm/include/pmap.h b/sys/arch/palm/include/pmap.h
deleted file mode 100644
index 6027d8956a5..00000000000
--- a/sys/arch/palm/include/pmap.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: pmap.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: pmap.h,v 1.2 2001/11/23 17:29:01 thorpej Exp $ */
-
-#include <arm/pmap.h>
diff --git a/sys/arch/palm/include/proc.h b/sys/arch/palm/include/proc.h
deleted file mode 100644
index e8b9cc8bec6..00000000000
--- a/sys/arch/palm/include/proc.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: proc.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: proc.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/proc.h>
diff --git a/sys/arch/palm/include/profile.h b/sys/arch/palm/include/profile.h
deleted file mode 100644
index 11868d85e6e..00000000000
--- a/sys/arch/palm/include/profile.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: profile.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: profile.h,v 1.3 2001/11/25 15:55:57 thorpej Exp $ */
-
-#include <arm/profile.h>
diff --git a/sys/arch/palm/include/ptrace.h b/sys/arch/palm/include/ptrace.h
deleted file mode 100644
index 93ad5291e1c..00000000000
--- a/sys/arch/palm/include/ptrace.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: ptrace.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: ptrace.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/ptrace.h>
diff --git a/sys/arch/palm/include/reg.h b/sys/arch/palm/include/reg.h
deleted file mode 100644
index edaaec59709..00000000000
--- a/sys/arch/palm/include/reg.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: reg.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: reg.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/reg.h>
diff --git a/sys/arch/palm/include/reloc.h b/sys/arch/palm/include/reloc.h
deleted file mode 100644
index 1c710d0f403..00000000000
--- a/sys/arch/palm/include/reloc.h
+++ /dev/null
@@ -1,2 +0,0 @@
-/* $OpenBSD: reloc.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-#include <arm/reloc.h>
diff --git a/sys/arch/palm/include/setjmp.h b/sys/arch/palm/include/setjmp.h
deleted file mode 100644
index 0f912a5e5f4..00000000000
--- a/sys/arch/palm/include/setjmp.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: setjmp.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: setjmp.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/setjmp.h>
diff --git a/sys/arch/palm/include/signal.h b/sys/arch/palm/include/signal.h
deleted file mode 100644
index 18c82d9046f..00000000000
--- a/sys/arch/palm/include/signal.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: signal.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: signal.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/signal.h>
diff --git a/sys/arch/palm/include/spinlock.h b/sys/arch/palm/include/spinlock.h
deleted file mode 100644
index fb2e9dd8f57..00000000000
--- a/sys/arch/palm/include/spinlock.h
+++ /dev/null
@@ -1,7 +0,0 @@
-
-/* $OpenBSD: spinlock.h,v 1.2 2011/03/23 16:54:36 pirofti Exp $ */
-#ifndef _MACHINE_SPINLOCK_H_
-#define _MACHINE_SPINLOCK_H_
-#include <arm/spinlock.h>
-#endif /* _MACHINE_SPINLOCK_H_ */
-
diff --git a/sys/arch/palm/include/stdarg.h b/sys/arch/palm/include/stdarg.h
deleted file mode 100644
index fffd42d20a4..00000000000
--- a/sys/arch/palm/include/stdarg.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: stdarg.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: stdarg.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/stdarg.h>
diff --git a/sys/arch/palm/include/sysarch.h b/sys/arch/palm/include/sysarch.h
deleted file mode 100644
index 1c96638477c..00000000000
--- a/sys/arch/palm/include/sysarch.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: sysarch.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: sysarch.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/sysarch.h>
diff --git a/sys/arch/palm/include/tcb.h b/sys/arch/palm/include/tcb.h
deleted file mode 100644
index fadb286a01a..00000000000
--- a/sys/arch/palm/include/tcb.h
+++ /dev/null
@@ -1,3 +0,0 @@
-/* $OpenBSD: tcb.h,v 1.1 2011/10/27 04:01:17 guenther Exp $ */
-
-#include <arm/tcb.h>
diff --git a/sys/arch/palm/include/trap.h b/sys/arch/palm/include/trap.h
deleted file mode 100644
index 9d95c6bb464..00000000000
--- a/sys/arch/palm/include/trap.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/* $OpenBSD: trap.h,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: trap.h,v 1.3 2001/11/25 15:55:58 thorpej Exp $ */
-
-#include <arm/trap.h>
diff --git a/sys/arch/palm/include/vmparam.h b/sys/arch/palm/include/vmparam.h
deleted file mode 100644
index a328ae2fc45..00000000000
--- a/sys/arch/palm/include/vmparam.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/* $OpenBSD: vmparam.h,v 1.3 2011/05/30 22:25:22 oga 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 0xc0000000
-
-#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
-
-/*
- * 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_ */
diff --git a/sys/arch/palm/palm/autoconf.c b/sys/arch/palm/palm/autoconf.c
deleted file mode 100644
index 480a4e72b56..00000000000
--- a/sys/arch/palm/palm/autoconf.c
+++ /dev/null
@@ -1,145 +0,0 @@
-/* $OpenBSD: autoconf.c,v 1.3 2011/09/20 22:02:13 miod 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/timeout.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);
-
-/*
- * 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()
-{
- 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
-
- /*
- * XXX
- * palm bootblocks currently pass in "bsd" instead of
- * "device:bsd", or any such thing, making this a real pain.
- */
- if (bootdv == NULL)
- bootdv = parsedisk("sd0a", strlen("sd0a"), 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();
-}
-
-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();
-
-}
-
-struct nam2blk nam2blk[] = {
- { "wd", 16 },
- { "sd", 24 },
- { "cd", 26 },
- { "rd", 18 },
- { "raid", 71 },
- { "vnd", 19 },
- { NULL, -1 }
-};
diff --git a/sys/arch/palm/palm/genassym.cf b/sys/arch/palm/palm/genassym.cf
deleted file mode 100644
index 679dcad021f..00000000000
--- a/sys/arch/palm/palm/genassym.cf
+++ /dev/null
@@ -1 +0,0 @@
-# $OpenBSD: genassym.cf,v 1.1 2010/04/26 22:11:38 deraadt Exp $
diff --git a/sys/arch/palm/palm/palm_lcd.c b/sys/arch/palm/palm/palm_lcd.c
deleted file mode 100644
index b814f25d381..00000000000
--- a/sys/arch/palm/palm/palm_lcd.c
+++ /dev/null
@@ -1,271 +0,0 @@
-/* $OpenBSD: palm_lcd.c,v 1.2 2009/09/09 11:34:02 marex Exp $ */
-/* $NetBSD: lubbock_lcd.c,v 1.1 2003/08/09 19:38:53 bsh Exp $ */
-
-/*
- * Copyright (c) 2002, 2003 Genetec Corporation. All rights reserved.
- * Written by Hiroyuki Bessho for Genetec Corporation.
- *
- * 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 Genetec Corporation may not be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``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 GENETEC CORPORATION
- * 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.
- */
-
-/*
- * LCD driver for Palm (based on the Intel Lubbock driver).
- *
- * Controlling LCD is almost completely done through PXA2X0's
- * integrated LCD controller. Codes for it is arm/xscale/pxa2x0_lcd.c.
- *
- * Codes in this file provide platform specific things including:
- * LCD on/off switch and backlight brightness
- * LCD panel geometry
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/conf.h>
-#include <sys/uio.h>
-#include <sys/malloc.h>
-
-#include <dev/cons.h>
-#include <dev/wscons/wsconsio.h>
-#include <dev/wscons/wsdisplayvar.h>
-#include <dev/wscons/wscons_callbacks.h>
-
-#include <machine/bus.h>
-#include <machine/palm_var.h>
-#include <arm/xscale/pxa2x0var.h>
-#include <arm/xscale/pxa2x0reg.h>
-#include <arm/xscale/pxa2x0_lcd.h>
-
-#include <dev/rasops/rasops.h>
-
-void lcd_attach(struct device *, struct device *, void *);
-int lcd_match(struct device *, void *, void *);
-int lcd_cnattach(void (*)(u_int, int));
-
-/*
- * wsdisplay glue
- */
-struct pxa2x0_wsscreen_descr
-lcd_bpp16_screen = {
- {
- "std"
- },
- 16, /* bits per pixel */
- 0, /* no rotation */
-};
-
-static const struct wsscreen_descr *lcd_scr_descr[] = {
- &lcd_bpp16_screen.c
-};
-
-const struct wsscreen_list lcd_screen_list = {
- sizeof lcd_scr_descr / sizeof lcd_scr_descr[0], lcd_scr_descr
-};
-
-int lcd_ioctl(void *, u_long, caddr_t, int, struct proc *);
-void lcd_burner(void *, u_int, u_int);
-int lcd_show_screen(void *, void *, int,
- void (*)(void *, int, int), void *);
-const struct lcd_panel_geometry *lcd_geom_get(void);
-
-int lcd_param(struct pxa2x0_lcd_softc *, u_long,
- struct wsdisplay_param *);
-
-const struct wsdisplay_accessops lcd_accessops = {
- lcd_ioctl,
- pxa2x0_lcd_mmap,
- pxa2x0_lcd_alloc_screen,
- pxa2x0_lcd_free_screen,
- lcd_show_screen,
- NULL, /* load_font */
- NULL, /* scrollback */
- NULL, /* getchar */
- NULL
-};
-
-struct cfattach lcd_pxaip_ca = {
- sizeof (struct pxa2x0_lcd_softc), lcd_match, lcd_attach
-};
-
-struct cfdriver lcd_cd = {
- NULL, "lcd", DV_DULL
-};
-
-const struct lcd_panel_geometry palm_t5_lcd =
-{
- 324, /* Width */
- 484, /* Height */
- 0, /* No extra lines */
-
- LCDPANEL_ACTIVE | LCDPANEL_VSP | LCDPANEL_HSP,
- 2, /* clock divider */
- 0, /* AC bias pin freq */
-
- 0x03, /* horizontal sync pulse width */
- 0x1e, /* BLW */
- 0x03, /* ELW */
-
- 0x00, /* vertical sync pulse width */
- 0x05, /* BFW */
- 0x08, /* EFW */
-};
-
-const struct lcd_panel_geometry palm_z72_lcd =
-{
- 324, /* Width */
- 324, /* Height */
- 0, /* No extra lines */
-
- LCDPANEL_ACTIVE | LCDPANEL_VSP | LCDPANEL_HSP,
- 2, /* clock divider */
- 0, /* AC bias pin freq */
-
- 0x03, /* horizontal sync pulse width */
- 0x1a, /* BLW */
- 0x03, /* ELW */
-
- 0x00, /* vertical sync pulse width */
- 0x05, /* BFW */
- 0x08, /* EFW */
-};
-
-const struct lcd_panel_geometry palm_tc_lcd =
-{
- 320, /* Width */
- 320, /* Height */
- 0, /* No extra lines */
-
- LCDPANEL_ACTIVE | LCDPANEL_VSP | LCDPANEL_HSP,
- 2, /* clock divider */
- 0, /* AC bias pin freq */
-
- 0x03, /* horizontal sync pulse width */
- 0x1d, /* BLW */
- 0x09, /* ELW */
-
- 0x00, /* vertical sync pulse width */
- 0x06, /* BFW */
- 0x07, /* EFW */
-};
-
-
-int
-lcd_match(struct device *parent, void *cf, void *aux)
-{
- return 1;
-}
-
-const struct lcd_panel_geometry *lcd_geom_get(void)
-{
- if (mach_is_palmtc)
- return &palm_tc_lcd;
- else if (mach_is_palmz72)
- return &palm_z72_lcd;
- else
- return &palm_t5_lcd;
-}
-
-void
-lcd_attach(struct device *parent, struct device *self, void *aux)
-{
- struct pxa2x0_lcd_softc *sc = (struct pxa2x0_lcd_softc *)self;
- struct wsemuldisplaydev_attach_args aa;
- extern int glass_console;
-
- printf("\n");
-
- pxa2x0_lcd_attach_sub(sc, aux, &lcd_bpp16_screen, lcd_geom_get(),
- glass_console);
-
- aa.console = glass_console;
- aa.scrdata = &lcd_screen_list;
- aa.accessops = &lcd_accessops;
- aa.accesscookie = sc;
- aa.defaultscreens = 0;
-
- (void)config_found(self, &aa, wsemuldisplaydevprint);
-}
-
-int
-lcd_cnattach(void (*clkman)(u_int, int))
-{
- return
- (pxa2x0_lcd_cnattach(&lcd_bpp16_screen, lcd_geom_get(), clkman));
-}
-
-/*
- * wsdisplay accessops overrides
- */
-
-int
-lcd_ioctl(void *v, u_long cmd, caddr_t data, int flag, struct proc *p)
-{
- struct pxa2x0_lcd_softc *sc = v;
- int res = EINVAL;
-
- switch (cmd) {
- case WSDISPLAYIO_GETPARAM:
- case WSDISPLAYIO_SETPARAM:
- res = lcd_param(sc, cmd, (struct wsdisplay_param *)data);
- break;
- }
-
- if (res == EINVAL)
- res = pxa2x0_lcd_ioctl(v, cmd, data, flag, p);
-
- return res;
-}
-
-int
-lcd_show_screen(void *v, void *cookie, int waitok,
- void (*cb)(void *, int, int), void *cbarg)
-{
- int rc;
-
- if ((rc = pxa2x0_lcd_show_screen(v, cookie, waitok, cb, cbarg)) != 0)
- return (rc);
-
- return (0);
-}
-
-/*
- * wsdisplay I/O controls
- */
-
-int
-lcd_param(struct pxa2x0_lcd_softc *sc, u_long cmd,
- struct wsdisplay_param *dp)
-{
- int res = EINVAL;
-
- switch (dp->param) {
- case WSDISPLAYIO_PARAM_CONTRAST:
- /* unsupported */
- res = ENOTTY;
- break;
- }
-
- return res;
-}
diff --git a/sys/arch/palm/palm/palm_machdep.c b/sys/arch/palm/palm/palm_machdep.c
deleted file mode 100644
index d634ad6fd32..00000000000
--- a/sys/arch/palm/palm/palm_machdep.c
+++ /dev/null
@@ -1,1254 +0,0 @@
-/* $OpenBSD: palm_machdep.c,v 1.8 2012/08/30 15:51:13 deraadt Exp $ */
-/* $NetBSD: lubbock_machdep.c,v 1.2 2003/07/15 00:25:06 lukem Exp $ */
-
-/*
- * Copyright (c) 2002, 2003 Genetec Corporation. All rights reserved.
- * Written by Hiroyuki Bessho for Genetec Corporation.
- *
- * 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 Genetec Corporation may not be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``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 GENETEC CORPORATION
- * 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 DBPXA250 evaluation board (a.k.a. Lubbock).
- * Based on iq80310_machhdep.c
- */
-/*
- * Copyright (c) 2001 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 IQ80310 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 <sys/device.h>
-#include <dev/cons.h>
-
-#include <machine/db_machdep.h>
-#include <ddb/db_sym.h>
-#include <ddb/db_extern.h>
-#ifdef KGDB
-#include <sys/kgdb.h>
-#endif
-
-#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/pxa2x0reg.h>
-#include <arm/xscale/pxa2x0var.h>
-#include <arm/xscale/pxa2x0_gpio.h>
-#include <arm/sa11x0/sa1111_reg.h>
-#include <machine/machine_reg.h>
-#include <machine/palm_var.h>
-
-#include "wsdisplay.h"
-
-int mach = -1; /* machine ID */
-
-/* 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 + SDRAM_SIZE)
-
-/*
- * The range 0xc1000000 - 0xccffffff is available for kernel VM space
- * Core-logic registers and I/O mappings occupy 0xfd000000 - 0xffffffff
- */
-/*
-#define KERNEL_VM_SIZE 0x0C000000
-*/
-#define KERNEL_VM_SIZE 0x10000000
-
-
-/*
- * 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
-#ifdef IPKDB
-#define UND_STACK_SIZE 2
-#else
-#define UND_STACK_SIZE 1
-#endif
-
-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;
-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 /* Page table for mapping proc0 zero page */
-#define KERNEL_PT_KERNEL 1 /* Page table for mapping kernel */
-#define KERNEL_PT_KERNEL_NUM 32
-#define KERNEL_PT_VMDATA (KERNEL_PT_KERNEL+KERNEL_PT_KERNEL_NUM)
- /* Page tables for mapping kernel VM */
-#define KERNEL_PT_VMDATA_NUM 8 /* start with 32MB 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];
-inline void process_kernel_args(int *);
-
-void consinit(void);
-void early_clkman(u_int, int);
-void kgdb_port_init(void);
-void change_clock(uint32_t v);
-
-bs_protos(bs_notimpl);
-
-#include "com.h"
-#if NCOM > 0
-#include <dev/ic/comvar.h>
-#include <dev/ic/comreg.h>
-#endif
-
-#ifndef CONSPEED
-#define CONSPEED B9600 /* What RedBoot uses */
-#endif
-#ifndef CONMODE
-#define CONMODE ((TTYDEF_CFLAG & ~(CSIZE | CSTOPB | PARENB)) | CS8) /* 8N1 */
-#endif
-
-int comcnspeed = CONSPEED;
-int comcnmode = CONMODE;
-
-struct gpio_map {
- int gpio;
- int fn;
-};
-
-struct gpio_map palm_gpio_map[] = {
- /* FFUART aka serial port on the connector */
- {34, GPIO_ALT_FN_1_IN},
- {39, GPIO_ALT_FN_2_OUT},
-
- /* STUART aka. IrDA */
- {46, GPIO_ALT_FN_2_IN},
- {47, GPIO_ALT_FN_1_OUT},
-
- /* Keypad controller */
- {100, GPIO_ALT_FN_1_IN},
- {101, GPIO_ALT_FN_1_IN},
- {102, GPIO_ALT_FN_1_IN},
- {97, GPIO_ALT_FN_3_IN},
- {103, GPIO_ALT_FN_2_OUT},
- {104, GPIO_ALT_FN_2_OUT},
- {105, GPIO_ALT_FN_2_OUT},
-};
-
-inline void gpio_setup(struct gpio_map *map, int size);
-
-inline void
-gpio_setup(struct gpio_map *map, int size)
-{
- int i;
- for (i = 0; i < size; i++)
- pxa2x0_gpio_set_function(map[i].gpio, map[i].fn);
-}
-
-/*
- * void boot(int howto)
- *
- * Reboots the system
- *
- * Deal with any syncing, unmounting, dumping and shutdown hooks,
- * then reset the CPU.
- */
-void
-boot(int howto)
-{
- if (cold) {
- /*
- * If the system is cold, just halt, unless the user
- * explicitely asked for reboot.
- */
- 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))
- bootsync(howto);
-
- /* Say NO to interrupts */
- splhigh();
-
- /* Do a dump if requested. */
- if ((howto & (RB_DUMP | RB_HALT)) == RB_DUMP)
- dumpsys();
-
-haltsys:
- doshutdownhooks();
-
- /* Make sure IRQ's are disabled */
- IRQdisable;
-
- if (howto & RB_HALT) {
-#if NAPM > 0
- if (howto & RB_POWERDOWN) {
-
- printf("\nAttempting to power down...\n");
- delay(6000000);
- zapm_poweroff();
- }
-#endif
-
- printf("The operating system has halted.\n");
- printf("Please press any key to reboot.\n\n");
- cnpollc(1);
- cngetc();
- cnpollc(0);
- }
-
- printf("rebooting...\n");
- delay(6000000);
-#if NAPM > 0
- zapm_restart();
-#endif
- printf("reboot failed; spinning\n");
- while(1);
- /*NOTREACHED*/
-}
-
-static __inline
-pd_entry_t *
-read_ttb(void)
-{
- long ttb;
-
- __asm __volatile("mrc p15, 0, %0, c2, c0, 0" : "=r" (ttb));
-
-
- return (pd_entry_t *)(ttb & ~((1<<14)-1));
-}
-
-/*
- * Mapping table for core kernel memory. These areas are mapped in
- * init time at fixed virtual address with section mappings.
- */
-struct l1_sec_map {
- vaddr_t va;
- vaddr_t pa;
- vsize_t size;
- int flags;
-} l1_sec_table[] = {
- {
- PALM_GPIO_VBASE,
- PXA2X0_GPIO_BASE,
- PXA2X0_GPIO_SIZE,
- PTE_NOCACHE,
- },
- {
- PALM_CLKMAN_VBASE,
- PXA2X0_CLKMAN_BASE,
- PXA2X0_CLKMAN_SIZE,
- PTE_NOCACHE,
- },
- {
- PALM_INTCTL_VBASE,
- PXA2X0_INTCTL_BASE,
- PXA2X0_INTCTL_SIZE,
- PTE_NOCACHE,
- },
- {0, 0, 0, 0,}
-};
-
-static void
-map_io_area(paddr_t pagedir)
-{
- int loop;
-
- /*
- * Map devices we can map w/ section mappings.
- */
- loop = 0;
- while (l1_sec_table[loop].size) {
- vsize_t sz;
-
-#define VERBOSE_INIT_ARM
-#ifdef VERBOSE_INIT_ARM
- printf("%08lx -> %08lx @ %08lx\n", l1_sec_table[loop].pa,
- l1_sec_table[loop].pa + l1_sec_table[loop].size - 1,
- l1_sec_table[loop].va);
-#endif
- for (sz = 0; sz < l1_sec_table[loop].size; sz += L1_S_SIZE)
- pmap_map_section(pagedir, l1_sec_table[loop].va + sz,
- l1_sec_table[loop].pa + sz,
- VM_PROT_READ|VM_PROT_WRITE,
- l1_sec_table[loop].flags);
- ++loop;
- }
-}
-
-/*
- * simple memory mapping function used in early bootstrap stage
- * before pmap is initialized.
- * size and cacheability are ignored and map one section with nocache.
- */
-static vaddr_t section_free = PALM_VBASE_FREE;
-
-static int
-bootstrap_bs_map(void *t, bus_addr_t bpa, bus_size_t size,
- int flags, bus_space_handle_t *bshp)
-{
- u_long startpa;
- vaddr_t va;
- pd_entry_t *pagedir = read_ttb();
- /* This assumes PA==VA for page directory */
-
- va = section_free;
- section_free += L1_S_SIZE;
-
- startpa = trunc_page(bpa);
- pmap_map_section((vaddr_t)pagedir, va, startpa,
- VM_PROT_READ | VM_PROT_WRITE, PTE_NOCACHE);
- cpu_tlb_flushD();
-
- *bshp = (bus_space_handle_t)(va + (bpa - startpa));
-
- return(0);
-}
-
-static void
-copy_io_area_map(pd_entry_t *new_pd)
-{
- pd_entry_t *cur_pd = read_ttb();
- vaddr_t va;
-
- for (va = PALM_IO_AREA_VBASE;
- (cur_pd[va>>L1_S_SHIFT] & L1_TYPE_MASK) == L1_TYPE_S;
- va += L1_S_SIZE) {
-
- new_pd[va>>L1_S_SHIFT] = cur_pd[va>>L1_S_SHIFT];
- if (va == (0 - L1_S_SIZE))
- break; /* STUPID */
-
- }
-}
-
-#if 0
-void sysprobe(void);
-void
-sysprobe(void)
-{
- u_int32_t *p;
-
- p = (void *)0x48000014; /* MECR */
- printf("MECR %x\n", *p);
-
- p = (void *)0x48000028; /* MCMEM0 */
- printf("MCMEM0 %x\n", *p);
- p = (void *)0x4800002C; /* MCMEM1 */
- printf("MCMEM1 %x\n", *p);
-
- p = (void *)0x48000030; /* MCATTx */
- printf("MCATT0 %x\n", *p);
- p = (void *)0x48000034; /* MCATTx */
- printf("MCATT1 %x\n", *p);
-
- p = (void *)0x48000038; /* MCIOx */
- printf("MCIO0 %x\n", *p);
- p = (void *)0x4800003C; /* MCIOx */
- printf("MCIO1 %x\n", *p);
-}
-#endif
-
-/*
- * 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 */
-
-#if 0
- int led_data = 0;
-#endif
-#ifdef DIAGNOSTIC
- extern vsize_t xscale_minidata_clean_size; /* used in KASSERT */
-#endif
- /* early bus_space_map support */
- struct bus_space tmp_bs_tag;
- int (*map_func_save)(void *, bus_addr_t, bus_size_t, int,
- bus_space_handle_t *);
-
-
-#if 0
- /* XXX */
- /* start 32.768KHz OSC */
- ioreg_write(PXA2X0_CLKMAN_BASE + 0x08, 2);
-#endif
-
- /*
- * Heads up ... Setup the CPU / MMU / TLB functions
- */
- if (set_cpufuncs())
- panic("cpu not recognized!");
-
- /* Get ready for splfoo() */
- pxa2x0_intr_bootstrap(PXA2X0_INTCTL_BASE);
-
-#if 0
- /* Calibrate the delay loop. */
-#endif
-
- /*
- * Okay, RedBoot has provided us with the following memory map:
- *
- * Physical Address Range Description
- * ----------------------- ----------------------------------
- * 0x00000000 - 0x01ffffff flash Memory (32MB)
- * 0x04000000 - 0x05ffffff Application flash Memory (32MB)
- * 0x08000000 - 0x080000ff I/O baseboard registers
- * 0x0a000000 - 0x0a0fffff SRAM (1MB)
- * 0x0c000000 - 0x0c0fffff Ethernet Controller
- * 0x0e000000 - 0x0e0fffff Ethernet Controller (Attribute)
- * 0x10000000 - 0x103fffff SA-1111 Companion Chip
- * 0x14000000 - 0x17ffffff Expansion Card (64MB)
- * 0x40000000 - 0x480fffff Processor Registers
- * 0xa0000000 - 0xa3ffffff SDRAM Bank 0 (64MB)
- *
- *
- * Virtual Address Range X C B Description
- * ----------------------- - - - ----------------------------------
- * 0x00000000 - 0x00003fff N Y Y SDRAM
- * 0x00004000 - 0x000fffff N Y N Boot ROM
- * 0x00100000 - 0x01ffffff N N N Application Flash
- * 0x04000000 - 0x05ffffff N N N Exp Application Flash
- * 0x08000000 - 0x080fffff N N N I/O baseboard registers
- * 0x0a000000 - 0x0a0fffff N N N SRAM
- * 0x40000000 - 0x480fffff N N N Processor Registers
- * 0xa0000000 - 0xa000ffff N Y N RedBoot SDRAM
- * 0xa0017000 - 0xa3ffffff Y Y Y SDRAM
- * 0xc0000000 - 0xcfffffff Y Y Y Cache Flush Region
- * (done by this routine)
- * 0xfd000000 - 0xfd0000ff N N N I/O baseboard registers
- * 0xfd100000 - 0xfd2fffff N N N Processor Registers.
- * 0xfd200000 - 0xfd2fffff N N N 0x10800000 registers
- *
- * The first level page table is at 0xa0004000. There are also
- * 2 second-level tables at 0xa0008000 and 0xa0008400.
- *
- */
-
- {
- /*
- * Tweak RedBoot's pagetable so that we can access to
- * some registers at same VA before and after installing
- * our page table.
- */
- paddr_t ttb = (paddr_t)read_ttb();
-
- map_io_area(ttb);
- cpu_tlb_flushD();
- }
-
- /*
- * 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((int *)0x40f00008);
-
- /*
- * This test will work for now but has to be revised when support
- * for other models is added.
- */
-
- /* setup GPIO for BTUART, in case bootloader doesn't take care of it */
- pxa2x0_gpio_bootstrap(PALM_GPIO_VBASE);
-
- /*
- * Do GPIO setup
- */
- gpio_setup(palm_gpio_map, sizeof(palm_gpio_map)/sizeof(struct gpio_map));
-
-#ifdef COM_PXA2X0
- /* tell com to drive STUART in slow infrared mode */
- comsiraddr = (bus_addr_t)PXA2X0_STUART_BASE;
-#endif
-#if 1
- /* turn on clock to UART block.
- XXX this should not be necessary, consinit() will do it */
- early_clkman(CKEN_FFUART | CKEN_BTUART | CKEN_STUART, 1);
-#endif
-
- /*
- * Temporarily replace bus_space_map() functions so that
- * console devices can get mapped.
- *
- * Note that this relies upon the fact that both regular
- * and a4x bus_space tags use the same map function.
- */
- tmp_bs_tag = pxa2x0_bs_tag;
- tmp_bs_tag.bs_map = bootstrap_bs_map;
- map_func_save = pxa2x0_bs_tag.bs_map;
-#ifdef COM_PXA2X0
- pxa2x0_a4x_bs_tag.bs_map = pxa2x0_bs_tag.bs_map = bootstrap_bs_map;
-#endif
- /* setup a serial console for very early boot */
- consinit();
-#ifdef KGDB
- kgdb_port_init();
-#endif
-
-
- /* Talk to the user */
- printf("\nOpenBSD/Palm booting ...\n");
-
- {
- /* XXX - all Palm have this for now, fix memory sizing */
- memstart = SDRAM_START;
- memsize = SDRAM_SIZE;
- }
-
-#if 0
- {
- volatile int *p;
- char *membase;
- char *memmax;
- int chunksize = 0x02000000;
- printf("probing memory");
-
- membase = (char *)0xa0000000;
- memmax = (char *)0xc0000000;
- for (p = (int *)membase;
- p < (int *)memmax;
- p = (int *) (((char *)p) + chunksize)) {
- printf ("cbase %p\n", p);
- p[0] = 0x12345678;
- p[1] = 0x12345678;
- if ((p[0] != 0x12345678) || (p[1] != 0x12345678))
- break;
- }
- memsize = ((char *)p) - membase;
-
- printf("probing memory done found memsize %d\n", memsize);
- }
-#else
-#endif
-
-#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 bounaries. 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;
-
- /* Map the L2 pages tables in the L1 page table */
- pmap_link_l2pt(l1pagetable, 0x00000000,
- &kernel_pt_table[KERNEL_PT_SYS]);
-
- 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]);
-
- /* 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[];
- size_t textsize = (u_int32_t) etext - KERNEL_TEXT_BASE;
- size_t totalsize = esym - KERNEL_TEXT_BASE;
- u_int logical;
-
- textsize = (textsize + PGOFSET) & ~PGOFSET;
- totalsize = (totalsize + PGOFSET) & ~PGOFSET;
-
- 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,
- VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, KERNEL_BASE + logical,
- physical_start + logical, totalsize - textsize,
- VM_PROT_READ|VM_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, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, abtstack.pv_va, abtstack.pv_pa,
- ABT_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, undstack.pv_va, undstack.pv_pa,
- UND_STACK_SIZE * PAGE_SIZE, VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
- pmap_map_chunk(l1pagetable, kernelstack.pv_va, kernelstack.pv_pa,
- UPAGES * PAGE_SIZE, VM_PROT_READ | VM_PROT_WRITE, PTE_CACHE);
-
- pmap_map_chunk(l1pagetable, kernel_l1pt.pv_va, kernel_l1pt.pv_pa,
- L1_TABLE_SIZE, VM_PROT_READ | VM_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,
- VM_PROT_READ|VM_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. */
-#if 1
- /* MULTI-ICE requires that page 0 is NC/NB so that it can download the
- * cache-clean code there. */
- pmap_map_entry(l1pagetable, vector_page, systempage.pv_pa,
- VM_PROT_READ|VM_PROT_WRITE, PTE_NOCACHE);
-#else
- pmap_map_entry(l1pagetable, vector_page, systempage.pv_pa,
- VM_PROT_READ|VM_PROT_WRITE, PTE_CACHE);
-#endif
-
- /*
- * map integrated peripherals at same address in l1pagetable
- * so that we can continue to use console.
- */
- copy_io_area_map((pd_entry_t *)l1pagetable);
-
- /*
- * 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 +
- (((esym + PGOFSET) & ~PGOFSET) - KERNEL_BASE);
- physical_freeend = physical_end;
- free_pages =
- (physical_freeend - physical_freestart) / PAGE_SIZE;
- }
-
- /* 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
-
- /* set new intc register address so that splfoo() doesn't
- touch illegal address. */
- pxa2x0_intr_bootstrap(PALM_INTCTL_VBASE);
-
- 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
-
- arm32_vector_init(ARM_VECTORS_LOW, ARM_VEC_ALL);
-
- /*
- * 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);
-
-#ifdef IPKDB
- /* Initialise ipkdb */
- ipkdb_init();
- if (boothowto & RB_KDB)
- ipkdb_connect(0);
-#endif
-
-#ifdef KGDB
- if (boothowto & RB_KDB) {
- kgdb_debug_init = 1;
- kgdb_connect(1);
- }
-#endif
-
- /*
- * Restore proper bus_space operation, now that pmap is initialized.
- */
-#ifdef COM_PXA2X0
- pxa2x0_a4x_bs_tag.bs_map = pxa2x0_bs_tag.bs_map = map_func_save;
-#endif
-
-#ifdef DDB
- db_machine_init();
-
- /* Firmware doesn't load symbols. */
- ddb_init();
-
- if (boothowto & RB_KDB)
- Debugger();
-#endif
-
- /* We return the new stack pointer address */
- return(kernelstack.pv_va + USPACE_SVC_STACK_TOP);
-}
-
-const char *console = "glass";
-
-inline void
-process_kernel_args(int *args)
-{
- if (args[0] == 917 || /* Palm T5 */
- args[0] == 918 || /* Palm TC */
- args[0] == 885 || /* Palm TX */
- args[0] == 835 || /* Palm LD */
- args[0] == 904) /* Palm Z72 */
- mach = args[0];
-}
-
-#ifdef KGDB
-#ifndef KGDB_DEVNAME
-#define KGDB_DEVNAME "ffuart"
-#endif
-const char kgdb_devname[] = KGDB_DEVNAME;
-
-#if (NCOM > 0)
-#ifndef KGDB_DEVMODE
-#define KGDB_DEVMODE ((TTYDEF_CFLAG & ~(CSIZE | CSTOPB | PARENB)) | CS8) /* 8N1 */
-#endif
-int comkgdbmode = KGDB_DEVMODE;
-#endif /* NCOM */
-
-#endif /* KGDB */
-
-void
-consinit(void)
-{
-#if (NCOM > 0) && defined(COM_PXA2X0)
- static int consinit_called = 0;
- paddr_t paddr;
- u_int cken = 0;
-
- if (consinit_called != 0)
- return;
-
- consinit_called = 1;
-
-#ifdef KGDB
- if (strcmp(kgdb_devname, console) == 0) {
- /* port is reserved for kgdb */
- } else
-#endif
- if (strcmp(console, "ffuart") == 0) {
- paddr = PXA2X0_FFUART_BASE;
- cken = CKEN_FFUART;
- } else if (strcmp(console, "btuart") == 0) {
- paddr = PXA2X0_BTUART_BASE;
- cken = CKEN_BTUART;
- } else if (strcmp(console, "stuart") == 0) {
- paddr = PXA2X0_STUART_BASE;
- cken = CKEN_STUART;
- }
- if (cken != 0 && comcnattach(&pxa2x0_a4x_bs_tag, paddr, comcnspeed,
- PXA2X0_COM_FREQ, comcnmode) == 0) {
- early_clkman(cken, 1);
- }
-#endif /* NCOM */
-}
-
-#ifdef KGDB
-void
-kgdb_port_init(void)
-{
-#if (NCOM > 0) && defined(COM_PXA2X0)
- paddr_t paddr;
- u_int cken;
-
- if (strcmp(kgdb_devname, "ffuart") == 0) {
- paddr = PXA2X0_FFUART_BASE;
- cken = CKEN_FFUART;
- } else if (strcmp(kgdb_devname, "btuart") == 0) {
- paddr = PXA2X0_BTUART_BASE;
- cken = CKEN_BTUART;
- } else if (strcmp(kgdb_devname, "stuart") == 0) {
- paddr = PXA2X0_STUART_BASE;
- cken = CKEN_STUART;
- irda_on(0);
- } else
- return;
-
- if (com_kgdb_attach_pxa2x0(&pxa2x0_a4x_bs_tag, paddr,
- kgdb_rate, PXA2X0_COM_FREQ, COM_TYPE_PXA2x0, comkgdbmode) == 0) {
- early_clkman(cken, 1);
- }
-#endif
-}
-#endif
-
-/* same as pxa2x0_clkman, but before autoconf */
-void
-early_clkman(u_int clk, int enable)
-{
- u_int32_t rv;
-
- rv = ioreg_read(PALM_CLKMAN_VBASE + CLKMAN_CKEN);
- if (enable)
- rv |= clk;
- else
- rv &= ~clk;
- ioreg_write(PALM_CLKMAN_VBASE + CLKMAN_CKEN, rv);
-}
-
-int glass_console = 0;
-
-void
-board_startup(void)
-{
- extern int lcd_cnattach(void (*)(u_int, int));
-#ifdef COM_PXA2X0
- extern bus_addr_t comconsaddr;
-#endif
-
-#if NWSDISPLAY > 0
- /*
- * Try to attach the display console now that VM services
- * are available.
- */
-
-// if ((cputype & ~CPU_ID_XSCALE_COREREV_MASK) == CPU_ID_PXA27X) {
- if (strcmp(console, "glass") == 0) {
- printf("attempting to switch console to lcd screen\n");
- glass_console = 1;
- }
- if (glass_console == 1 && lcd_cnattach(early_clkman) == 0) {
- /*
- * Kill the existing serial console.
- * XXX need to bus_space_unmap resources and disable
- * clocks...
- */
- comconsaddr = 0;
-
- /*
- * Display the copyright notice again on the new console
- */
- extern const char copyright[];
- printf("%s\n", copyright);
- printf("OpenBSD running on: %s\n", mach_name());
- }
-// }
-#endif
-
- if (boothowto & RB_CONFIG) {
-#ifdef BOOT_CONFIG
- user_config();
-#else
- printf("kernel does not support -c; continuing..\n");
-#endif
- }
-}
diff --git a/sys/arch/palm/palm/palm_start.S b/sys/arch/palm/palm/palm_start.S
deleted file mode 100644
index ac53c30dcfa..00000000000
--- a/sys/arch/palm/palm/palm_start.S
+++ /dev/null
@@ -1,172 +0,0 @@
-/* $OpenBSD: palm_start.S,v 1.1 2009/09/05 01:22:11 marex Exp $ */
-/* $NetBSD: lubbock_start.S,v 1.1 2003/06/18 10:51:15 bsh Exp $ */
-
-/*
- * Copyright (c) 2002, 2003 Genetec Corporation. All rights reserved.
- * Written by Hiroyuki Bessho for Genetec Corporation.
- *
- * 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 Genetec Corporation may not be used to endorse or
- * promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY GENETEC CORPORATION ``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 GENETEC CORPORATION
- * 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>
-#include <arm/pte.h>
-#include <arm/pmap.h> /* for PMAP_DOMAIN_KERNEL */
-#include <machine/palm_var.h>
-
-/*
- * CPWAIT -- Canonical method to wait for CP15 update.
- * NOTE: Clobbers the specified temp reg.
- * copied from arm/arm/cpufunc_asm_xscale.S
- * XXX: better be in a common header file.
- */
-#define CPWAIT_BRANCH \
- sub pc, pc, #4
-
-#define CPWAIT(tmp) \
- mrc p15, 0, tmp, c2, c0, 0 /* arbitrary read of CP15 */ ;\
- mov tmp, tmp /* wait for it to complete */ ;\
- CPWAIT_BRANCH /* branch to next insn */
-
-/*
- * Kernel start routine for DBPXA250 (Lubbock)
- * this code is excuted at the very first after the kernel is loaded
- * by RedBoot.
- */
- .text
-
- .global _C_LABEL(palm_start)
-_C_LABEL(palm_start):
- /* Are we running on ROM ? */
- cmp pc, #0x06000000
- bhi palm_start_ram
-
- /* move me to RAM
- * XXX: we can use memcpy if it is PIC
- */
- ldr r1, Lcopy_size
- adr r0, _C_LABEL(palm_start)
- add r1, r1, #3
- mov r1, r1, LSR #2
- mov r2, #SDRAM_START
- add r2, r2, #0x00200000
- mov r4, r2
-
-5: ldr r3,[r0],#4
- str r3,[r2],#4
- subs r1,r1,#1
- bhi 5b
-
- cmp pc, r5
- /* Jump to RAM */
- ldr r0, Lstart_off
-
- blo 1f
- /* if we were running out of virtual mapped space, disable mmu */
- mov r2, #0
- mov r1, #(CPU_CONTROL_32BP_ENABLE | CPU_CONTROL_32BD_ENABLE)
- mcr 15, 0, r1, c1, c0, 0
- mcrne 15, 0, r2, c8, c7, 0 /* nail I+D TLB on ARMv4 and greater */
-
-1:
- add pc, r4, r0
-
-Lcopy_size: .word _edata-_C_LABEL(palm_start)
-Lstart_off: .word palm_start_ram-_C_LABEL(palm_start)
-
-palm_start_ram:
- /*
- * Kernel is loaded in SDRAM (0xa0200000..), and is expected to run
- * in VA 0xc0200000..
- */
-
- mrc p15, 0, r0, c2, c0, 0 /* get ttb prepared by redboot */
- adr r4, mmu_init_table2
-
-#define BUILD_STARTUP_PAGETABLE
-#ifdef BUILD_STARTUP_PAGETABLE
- mrc p15, 0, r2, c1, c0, 0
- mov r2, #0
- tst r2, #CPU_CONTROL_MMU_ENABLE /* we already have a page table? */
- bne 3f
-
- /* build page table from scratch */
- ldr r0, Lstartup_pagetable
- adr r4, mmu_init_table
- b 3f
-
-2:
- str r3, [r0, r2]
- add r2, r2, #4
- add r3, r3, #(L1_S_SIZE)
- adds r1, r1, #-1
- bhi 2b
-3:
- ldmia r4!, {r1,r2,r3} /* # of sections, PA|attr, VA */
- cmp r1, #0
- bne 2b
-#endif
-
- mcr p15, 0, r0, c2, c0, 0 /* Set TTB */
- mcr p15, 0, r0, c8, c7, 0 /* Flush TLB */
-
- /* Set the Domain Access register. Very important! */
- mov r0, #((DOMAIN_CLIENT << (PMAP_DOMAIN_KERNEL*2)) | DOMAIN_CLIENT)
- mcr p15, 0, r0, c3, c0, 0
-
- /* Enable MMU */
- mrc p15, 0, r0, c1, c0, 0
- orr r0, r0, #CPU_CONTROL_MMU_ENABLE
- mcr p15, 0, r0, c1, c0, 0
- CPWAIT(r0)
-
- /* Jump to kernel code in TRUE VA */
- adr r0, Lstart
- ldr pc, [r0]
-
-Lstart:
- .word start
-
-#define MMU_INIT(va,pa,n_sec,attr) \
- .word n_sec ; \
- .word 4*((va)>>L1_S_SHIFT) ; \
- .word (pa)|(attr) ;
-
-#ifdef BUILD_STARTUP_PAGETABLE
-#ifndef STARTUP_PAGETABLE_ADDR
-#define STARTUP_PAGETABLE_ADDR 0xa0004000
-#endif
-Lstartup_pagetable: .word STARTUP_PAGETABLE_ADDR
-mmu_init_table:
- /* fill all table VA==PA */
- MMU_INIT(0x00000000, 0x00000000, 1<<(32-L1_S_SHIFT), L1_TYPE_S|L1_S_AP(AP_KRW))
- /* map SDRAM VA==PA, WT cacheable */
- MMU_INIT(SDRAM_START, SDRAM_START, SDRAM_SIZE_MB, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW))
-#endif
-mmu_init_table2:
- /* map VA 0xc0000000..0xc3ffffff to PA 0xa0000000..0xa3ffffff */
- MMU_INIT(0xc0000000, SDRAM_START, SDRAM_SIZE_MB, L1_TYPE_S|L1_S_C|L1_S_AP(AP_KRW))
-
- .word 0 /* end of table */