diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2013-03-25 17:22:13 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2013-03-25 17:22:13 +0000 |
commit | 509156c60a7105ff734ec8e334005a2f5bdebf96 (patch) | |
tree | a024c43d5611c8adfbfef9027a7c319cc425b65a /sys/arch | |
parent | 9b1b1b870a79bbac99769b203401b14204a614c9 (diff) |
the unused palm code goes away.
Diffstat (limited to 'sys/arch')
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 */ |