Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Import NetBSD/hpcmips source files from hpcmips repository.

file list:
        sys/arch/hpcmips/
        distrib/hpcmips/
        etc/etc.hpcmips/
        lib/libc/arch/mips/fplib/
        lib/libc/arch/mips/fplib/Makefile.inc
        lib/libc/arch/mips/fplib/environment.h
        lib/libc/arch/mips/fplib/fplib_glue.c
        lib/libc/arch/mips/fplib/fplib_libc.c
        lib/libc/arch/mips/fplib/hpcmips-gcc.h
        lib/libc/arch/mips/fplib/softfloat-macros.h
        lib/libc/arch/mips/fplib/softfloat-specialize.h
        lib/libc/arch/mips/fplib/softfloat.c
        lib/libc/arch/mips/fplib/softfloat.h
        lib/libc/arch/mips/gen/ieee.h
        lib/libc/arch/mips/gen/sf_fabs.c
        lib/libc/arch/mips/gen/sf_flt_rounds.c
        lib/libc/arch/mips/gen/sf_fpgetmask.c
        lib/libc/arch/mips/gen/sf_fpgetround.c
        lib/libc/arch/mips/gen/sf_fpgetsticky.c
        lib/libc/arch/mips/gen/sf_fpsetmask.c
        lib/libc/arch/mips/gen/sf_fpsetround.c
        lib/libc/arch/mips/gen/sf_fpsetsticky.c
        lib/libc/arch/mips/gen/sf_isinf.c
        lib/libc/arch/mips/gen/sf_ldexp.c
        lib/libc/arch/mips/gen/sf_modf.c
  • Loading branch information...
commit 1ebbfc1885aa7e8ee8150b9f736c85b726a6da6b 1 parent 9b478a0
takemura authored
Showing with 21,511 additions and 0 deletions.
  1. +5 −0 sys/arch/hpcmips/Makefile
  2. 0  sys/arch/hpcmips/compile/.keep_me
  3. +180 −0 sys/arch/hpcmips/conf/GENERIC
  4. +177 −0 sys/arch/hpcmips/conf/GENERIC_JP
  5. +30 −0 sys/arch/hpcmips/conf/HOW_TO_CONF
  6. +218 −0 sys/arch/hpcmips/conf/Makefile.hpcmips
  7. +34 −0 sys/arch/hpcmips/conf/NULLCONF
  8. +180 −0 sys/arch/hpcmips/conf/RAMDISK
  9. +164 −0 sys/arch/hpcmips/conf/files.hpcmips
  10. +8 −0 sys/arch/hpcmips/conf/ioconf.incl.hpcmips
  11. +16 −0 sys/arch/hpcmips/conf/std.hpcmips
  12. +536 −0 sys/arch/hpcmips/dev/bicons.c
  13. +39 −0 sys/arch/hpcmips/dev/bicons.h
  14. +267 −0 sys/arch/hpcmips/dev/biconsdev.c
  15. +42 −0 sys/arch/hpcmips/dev/biconsvar.h
  16. +334 −0 sys/arch/hpcmips/dev/bifont.c
  17. +370 −0 sys/arch/hpcmips/dev/fb.c
  18. +56 −0 sys/arch/hpcmips/dev/fbvar.h
  19. +59 −0 sys/arch/hpcmips/dev/findcons.c
  20. +94 −0 sys/arch/hpcmips/dev/md_root.c
  21. +29 −0 sys/arch/hpcmips/hpcmips/Makefile
  22. +170 −0 sys/arch/hpcmips/hpcmips/autoconf.c
  23. +200 −0 sys/arch/hpcmips/hpcmips/bus_space.c
  24. +285 −0 sys/arch/hpcmips/hpcmips/clock.c
  25. +297 −0 sys/arch/hpcmips/hpcmips/conf.c
  26. +77 −0 sys/arch/hpcmips/hpcmips/cpu.c
  27. +522 −0 sys/arch/hpcmips/hpcmips/disksubr.c
  28. +107 −0 sys/arch/hpcmips/hpcmips/locore_machdep.S
  29. +764 −0 sys/arch/hpcmips/hpcmips/machdep.c
  30. +35 −0 sys/arch/hpcmips/hpcmips/machdep.h
  31. +133 −0 sys/arch/hpcmips/hpcmips/mainbus.c
  32. +281 −0 sys/arch/hpcmips/hpcmips/platid.awk
  33. +105 −0 sys/arch/hpcmips/hpcmips/platid.c
  34. +114 −0 sys/arch/hpcmips/hpcmips/platid.def
  35. +53 −0 sys/arch/hpcmips/hpcmips/platid_copyright.awk
  36. +232 −0 sys/arch/hpcmips/hpcmips/platid_mask.c
  37. +156 −0 sys/arch/hpcmips/hpcmips/platid_test.c
  38. +10 −0 sys/arch/hpcmips/hpcmips/platid_test.canon
  39. +14 −0 sys/arch/hpcmips/include/Makefile
  40. +3 −0  sys/arch/hpcmips/include/ansi.h
  41. +3 −0  sys/arch/hpcmips/include/aout_machdep.h
  42. +3 −0  sys/arch/hpcmips/include/asm.h
  43. +34 −0 sys/arch/hpcmips/include/autoconf.h
  44. +80 −0 sys/arch/hpcmips/include/bootinfo.h
  45. +3 −0  sys/arch/hpcmips/include/bsd-aout.h
  46. +3 −0  sys/arch/hpcmips/include/bswap.h
  47. +685 −0 sys/arch/hpcmips/include/bus.h
  48. +3 −0  sys/arch/hpcmips/include/cdefs.h
  49. +53 −0 sys/arch/hpcmips/include/clock_machdep.h
  50. +20 −0 sys/arch/hpcmips/include/cpu.h
  51. +6 −0 sys/arch/hpcmips/include/db_machdep.h
  52. +89 −0 sys/arch/hpcmips/include/disklabel.h
  53. +3 −0  sys/arch/hpcmips/include/ecoff_machdep.h
  54. +3 −0  sys/arch/hpcmips/include/elf.h
  55. +11 −0 sys/arch/hpcmips/include/elf_machdep.h
  56. +7 −0 sys/arch/hpcmips/include/endian.h
  57. +3 −0  sys/arch/hpcmips/include/float.h
  58. +3 −0  sys/arch/hpcmips/include/ieee.h
  59. +3 −0  sys/arch/hpcmips/include/ieeefp.h
  60. +136 −0 sys/arch/hpcmips/include/intr.h
  61. +39 −0 sys/arch/hpcmips/include/isa_machdep.h
  62. +46 −0 sys/arch/hpcmips/include/isapnp_machdep.h
  63. +3 −0  sys/arch/hpcmips/include/kcore.h
  64. +3 −0  sys/arch/hpcmips/include/kdbparam.h
  65. +3 −0  sys/arch/hpcmips/include/limits.h
  66. +18 −0 sys/arch/hpcmips/include/locore.h
  67. +3 −0  sys/arch/hpcmips/include/mips_opcode.h
  68. +116 −0 sys/arch/hpcmips/include/param.h
  69. +3 −0  sys/arch/hpcmips/include/pcb.h
  70. +119 −0 sys/arch/hpcmips/include/platid.h
  71. +225 −0 sys/arch/hpcmips/include/platid_generated.h
  72. +231 −0 sys/arch/hpcmips/include/platid_mask.h
  73. +3 −0  sys/arch/hpcmips/include/pmap.h
  74. +3 −0  sys/arch/hpcmips/include/proc.h
  75. +3 −0  sys/arch/hpcmips/include/profile.h
  76. +3 −0  sys/arch/hpcmips/include/psl.h
  77. +3 −0  sys/arch/hpcmips/include/pte.h
  78. +3 −0  sys/arch/hpcmips/include/ptrace.h
  79. +3 −0  sys/arch/hpcmips/include/reg.h
  80. +3 −0  sys/arch/hpcmips/include/regdef.h
  81. +3 −0  sys/arch/hpcmips/include/regnum.h
  82. +3 −0  sys/arch/hpcmips/include/reloc.h
  83. +3 −0  sys/arch/hpcmips/include/setjmp.h
  84. +3 −0  sys/arch/hpcmips/include/signal.h
  85. +3 −0  sys/arch/hpcmips/include/stdarg.h
  86. +91 −0 sys/arch/hpcmips/include/sysconf.h
  87. +3 −0  sys/arch/hpcmips/include/trap.h
  88. +3 −0  sys/arch/hpcmips/include/types.h
  89. +3 −0  sys/arch/hpcmips/include/varargs.h
  90. +14 −0 sys/arch/hpcmips/include/vmparam.h
  91. +249 −0 sys/arch/hpcmips/isa/isa_machdep.c
  92. +1 −0  sys/arch/hpcmips/stand/include/machine/ansi.h
  93. +1 −0  sys/arch/hpcmips/stand/include/machine/bootinfo.h
  94. +1 −0  sys/arch/hpcmips/stand/include/machine/bswap.h
  95. +1 −0  sys/arch/hpcmips/stand/include/machine/cdefs.h
  96. +1 −0  sys/arch/hpcmips/stand/include/machine/disklabel.h
  97. +1 −0  sys/arch/hpcmips/stand/include/machine/elf_machdep.h
  98. +1 −0  sys/arch/hpcmips/stand/include/machine/endian.h
  99. +1 −0  sys/arch/hpcmips/stand/include/machine/intr.h
  100. +1 −0  sys/arch/hpcmips/stand/include/machine/limits.h
  101. +1 −0  sys/arch/hpcmips/stand/include/machine/param.h
  102. +1 −0  sys/arch/hpcmips/stand/include/machine/platid.h
  103. +1 −0  sys/arch/hpcmips/stand/include/machine/signal.h
  104. +1 −0  sys/arch/hpcmips/stand/include/machine/stdarg.h
  105. +1 −0  sys/arch/hpcmips/stand/include/machine/types.h
  106. +1 −0  sys/arch/hpcmips/stand/include/mips/ansi.h
  107. +1 −0  sys/arch/hpcmips/stand/include/mips/cdefs.h
  108. +1 −0  sys/arch/hpcmips/stand/include/mips/elf_machdep.h
  109. +1 −0  sys/arch/hpcmips/stand/include/mips/endian.h
  110. +1 −0  sys/arch/hpcmips/stand/include/mips/limits.h
  111. +1 −0  sys/arch/hpcmips/stand/include/mips/mips_param.h
  112. +1 −0  sys/arch/hpcmips/stand/include/mips/signal.h
  113. +109 −0 sys/arch/hpcmips/stand/include/mips/types.h
  114. +6 −0 sys/arch/hpcmips/stand/libsa/.cvsignore
  115. +47 −0 sys/arch/hpcmips/stand/libsa/alloc.c
  116. +2 −0  sys/arch/hpcmips/stand/libsa/bcopy.c
  117. +2 −0  sys/arch/hpcmips/stand/libsa/close.c
  118. +47 −0 sys/arch/hpcmips/stand/libsa/compat.h
  119. +127 −0 sys/arch/hpcmips/stand/libsa/devopen.c
  120. +2 −0  sys/arch/hpcmips/stand/libsa/dkcksum.c
  121. +804 −0 sys/arch/hpcmips/stand/libsa/libsa.dsp
  122. +2 −0  sys/arch/hpcmips/stand/libsa/lseek.c
  123. +2 −0  sys/arch/hpcmips/stand/libsa/open.c
  124. +71 −0 sys/arch/hpcmips/stand/libsa/printf.c
  125. +2 −0  sys/arch/hpcmips/stand/libsa/read.c
  126. +49 −0 sys/arch/hpcmips/stand/libsa/stand.h
  127. +2 −0  sys/arch/hpcmips/stand/libsa/subr_prf.c
  128. +2 −0  sys/arch/hpcmips/stand/libsa/twiddle.c
  129. +2 −0  sys/arch/hpcmips/stand/libsa/ufs.c
  130. +354 −0 sys/arch/hpcmips/stand/libsa/winblk.c
  131. +41 −0 sys/arch/hpcmips/stand/libsa/winblk.h
  132. +180 −0 sys/arch/hpcmips/stand/libsa/winfs.c
  133. +45 −0 sys/arch/hpcmips/stand/libsa/winfs.h
  134. +5 −0 sys/arch/hpcmips/stand/pbsdboot/.cvsignore
  135. +9 −0 sys/arch/hpcmips/stand/pbsdboot/Makefile
  136. +35 −0 sys/arch/hpcmips/stand/pbsdboot/README
  137. +17 −0 sys/arch/hpcmips/stand/pbsdboot/Resource.h
  138. +363 −0 sys/arch/hpcmips/stand/pbsdboot/disptest.c
  139. +361 −0 sys/arch/hpcmips/stand/pbsdboot/elf.c
  140. +240 −0 sys/arch/hpcmips/stand/pbsdboot/layout.c
  141. +939 −0 sys/arch/hpcmips/stand/pbsdboot/main.c
  142. +96 −0 sys/arch/hpcmips/stand/pbsdboot/pbsdboot.c
  143. +604 −0 sys/arch/hpcmips/stand/pbsdboot/pbsdboot.dsp
  144. +151 −0 sys/arch/hpcmips/stand/pbsdboot/pbsdboot.h
  145. +322 −0 sys/arch/hpcmips/stand/pbsdboot/pbsdboot.rc
  146. +1,835 −0 sys/arch/hpcmips/stand/pbsdboot/pbsdboot.uu
  147. +189 −0 sys/arch/hpcmips/stand/pbsdboot/preference.c
  148. +67 −0 sys/arch/hpcmips/stand/pbsdboot/print.c
  149. +1 −0  sys/arch/hpcmips/stand/pbsdboot/res/.cvsignore
  150. BIN  sys/arch/hpcmips/stand/pbsdboot/res/Cmdbar.bmp
  151. BIN  sys/arch/hpcmips/stand/pbsdboot/res/pbsd.bmp
  152. BIN  sys/arch/hpcmips/stand/pbsdboot/res/pbsd.ico
  153. BIN  sys/arch/hpcmips/stand/pbsdboot/res/pbsdboot.ico
  154. +231 −0 sys/arch/hpcmips/stand/pbsdboot/res/pbsdboot.rc
  155. +45 −0 sys/arch/hpcmips/stand/pbsdboot/res/resource.h
  156. +352 −0 sys/arch/hpcmips/stand/pbsdboot/startprog.c
  157. +408 −0 sys/arch/hpcmips/stand/pbsdboot/vmem.c
  158. +143 −0 sys/arch/hpcmips/vr/bcu_vrip.c
  159. +206 −0 sys/arch/hpcmips/vr/bcureg.h
  160. +48 −0 sys/arch/hpcmips/vr/bcuvar.h
  161. +140 −0 sys/arch/hpcmips/vr/cmu.c
  162. +54 −0 sys/arch/hpcmips/vr/cmureg.h
  163. +35 −0 sys/arch/hpcmips/vr/cmuvar.h
  164. +234 −0 sys/arch/hpcmips/vr/com_vrip.c
  165. +37 −0 sys/arch/hpcmips/vr/com_vripvar.h
  166. +73 −0 sys/arch/hpcmips/vr/dcureg.h
  167. +64 −0 sys/arch/hpcmips/vr/dmaaureg.h
  168. +58 −0 sys/arch/hpcmips/vr/dsureg.h
  169. +157 −0 sys/arch/hpcmips/vr/gpbus.c
  170. +199 −0 sys/arch/hpcmips/vr/icureg.h
  171. +477 −0 sys/arch/hpcmips/vr/rtc.c
  172. +101 −0 sys/arch/hpcmips/vr/rtcreg.h
  173. +36 −0 sys/arch/hpcmips/vr/siureg.h
  174. +246 −0 sys/arch/hpcmips/vr/vr.c
  175. +43 −0 sys/arch/hpcmips/vr/vr.h
  176. +524 −0 sys/arch/hpcmips/vr/vrgiu.c
  177. +75 −0 sys/arch/hpcmips/vr/vrgiureg.h
  178. +106 −0 sys/arch/hpcmips/vr/vrgiuvar.h
  179. +410 −0 sys/arch/hpcmips/vr/vrip.c
  180. +96 −0 sys/arch/hpcmips/vr/vripreg.h
  181. +99 −0 sys/arch/hpcmips/vr/vripvar.h
  182. +456 −0 sys/arch/hpcmips/vr/vrkiu.c
  183. +56 −0 sys/arch/hpcmips/vr/vrkiureg.h
  184. +54 −0 sys/arch/hpcmips/vr/vrkiuvar.h
  185. +163 −0 sys/arch/hpcmips/vr/vrpmu.c
  186. +140 −0 sys/arch/hpcmips/vr/vrpmureg.h
  187. +34 −0 sys/arch/hpcmips/vr/vrpmuvar.h
View
5 sys/arch/hpcmips/Makefile
@@ -0,0 +1,5 @@
+# $NetBSD: Makefile,v 1.1.1.1 1999/09/16 12:23:18 takemura Exp $
+
+SUBDIR= include
+
+.include <bsd.kinc.mk>
View
0  sys/arch/hpcmips/compile/.keep_me
No changes.
View
180 sys/arch/hpcmips/conf/GENERIC
@@ -0,0 +1,180 @@
+#
+# Distribution kernel (any model) kernel config file
+
+#
+# $NetBSD: GENERIC,v 1.1.1.1 1999/09/16 12:23:18 takemura Exp $
+#
+include "arch/hpcmips/conf/std.hpcmips"
+
+maxusers 8
+
+options MIPS3 # R4000/R4400/R4600 CPUs
+
+# Support for specific models of H/PC MIPS
+options VR41X1 # NEC VR41x1 series
+options MIPS3_L2CACHE_ABSENT
+
+# Standard system options
+options DDB # in-kernel debugger
+#options DDB_ONPANIC=0 # don't enter debugger on panic
+#options DIAGNOSTIC # extra kernel debugging checks
+#options DEBUG # extra kernel debugging support
+options KTRACE # system call tracing support
+options "NKMEMCLUSTERS=1024" # 4K pages in kernel malloc pool
+
+options SCSIVERBOSE # human readable SCSI error messages
+options PCMCIAVERBOSE # verbose PCMCIA configuration messages
+
+options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
+#options "RTC_OFFSET=-540" # JST-9
+#options RTC_OFFSET=480 # PST8
+options NTP # network time protocol
+#options UCONSOLE # users can redirect console (unsafe)
+
+#options WINCE_DEFAULT_SETTING # Debugging use
+#options DUMP_GIU_LEVEL2_INTR # Debugging use
+#options DEBUG_FIND_PCIC # Debugging use XXX harmful don't define until read source.
+
+#options SYSCALL_DEBUG # for debug
+#options HPCMIPS_L1CACHE_DISABLE # disable L1 cache for debug
+#options HPCMIPS_FLUSHCACHE_XXX
+#options HPCMIPS_PGSIZE_16K # page size is 16KB
+
+# Filesystem options
+file-system FFS # fast filesystem with user and group quotas
+file-system MFS # memory-based filesystem
+file-system NFS # Sun NFS-compatible filesystem (client)
+#file-system LFS # Log-based filesystem (still experimental)
+#file-system CD9660 # ISO 9660 + Rock Ridge file system
+#file-system FDESC # /dev/fd
+file-system KERNFS # /kern (kernel informational filesystem)
+#file-system NULLFS # loopback file system
+#file-system PORTAL # portal filesystem (still experimental)
+file-system PROCFS # /proc
+#file-system UMAPFS # NULLFS + uid and gid remapping
+file-system UNION
+
+options FIFO # POSIX fifo support (in all filesystems)
+#options NFSSERVER # Sun NFS-compatible filesystem (server)
+options QUOTA # UFS quotas
+
+# Networking options
+options INET # Internet protocols
+#options "TCP_COMPAT_42" # compatibility with 4.2BSD TCP/IP
+#options GATEWAY # IP packet forwarding
+options MULTICAST # Multicast support
+#options MROUTING # Multicast routing support
+#options ISO # OSI networking
+#options TPIP # TPIP
+#options EON # OSI tunneling over IP
+#options CCITT,LLC,HDLC # X.25
+
+# NetBSD backwards compatibility
+options COMPAT_43, COMPAT_13, COMPAT_14
+options COMPAT_386BSD_MBRPART # recognize old partition ID
+
+options NFS_BOOT_DHCP
+
+config netbsd root on ? type ?
+#config netbsd root on sd0a type ffs
+config nfsnetbsd root on ? type nfs
+
+# WS console uses SUN or VT100 terminal emulation
+options WSEMUL_VT100
+options WSDISPLAY_DEFAULTSCREENS=4
+
+# Workstation Console attachments
+fb* at mainbus0
+wsdisplay* at fb?
+#wskbd* at pckbd? mux 1
+#wsmouse* at pms? mux 0
+
+
+vrip* at mainbus0
+vrcmu* at vrip? addr 0x0b000060 size 0x20
+vrbcu* at vrip? addr 0x0b000000 size 0x20
+vrrtc* at vrip? addr 0x0b0000c0 size 0x20 intr 2
+
+vrkiu* at vrip? addr 0x0b000180 size 0x20 intr 7
+options __NO_SOFT_SERIAL_INTERRUPT
+com* at vrip? addr 0x0c000000 size 0x20 intr 9
+vrgiu* at vrip? addr 0x0b000100 size 0x20 intr 8
+vrpmu* at vrip? addr 0x0b0000a0 size 0x20 intr 1 # power switch
+
+#
+# MC-R300
+# Button to GPIO port # mapping
+# + REC button : 4
+# + Open/Close button: 6
+# (PCIC-ISA : 9)
+# (COM power:14)
+gpbus0 at vrgiu? platform NEC_MCR_3XX comctrl 14 button1 4 button2 6
+gpbus0 at vrgiu? platform NEC_MCR_5XX comctrl 14 button1 4 button2 6
+gpbus0 at vrgiu? platform NEC_MCR_7XX comctrl 46
+gpbus0 at vrgiu? platform NEC_MCCS
+
+vrisab0 at vrgiu? platform NEC_MCR
+vrisab0 at vrgiu? platform NEC_MCCS
+isa0 at vrisab0
+pcic0 at isa0 port 0x3e0 iomem 0x70000 iosiz 0x4000 irq 0x00090003
+#
+# Freestyle
+# Button to GPIO port # mapping
+# +---------+
+# 1 +| |
+# | |+ 7
+# | |
+#20 +| LCD |+ 4
+# | | + 6
+# 8 +| |+ 5
+# | |
+# | |+----Power On/Off (not connected to GPIO?)
+# +---------+
+# +9
+# +12 +10
+# +11
+# (PCIC-ISA : 23)
+gpbus1 at vrgiu? platform EVEREX_FREESTYLE button1 9 button2 10 button3 11 button4 12 button5 7 button6 4 button7 6 button8 5 button9 1 button10 20 button11 8
+vrisab1 at vrgiu? platform EVEREX_FREESTYLE isaportoffset 0x1000000
+isa1 at vrisab1
+pcic0 at isa1 port 0x3e0 iomem 0x70000 iosiz 0x4000 irq 0x00170003
+
+options PCIC_ISA_INTR_ALLOC_MASK=0x0008 # IRQ 3 only (MCR/Freestyle)
+#
+# Unknown machines
+#
+vrisab2 at vrgiu?
+isa2 at vrisab2
+
+# PCMCIA bus support
+pcmcia* at pcic? controller ? socket ?
+
+# PCMCIA IDE disk
+wdc* at pcmcia? function ?
+wd* at wdc? channel ? drive ? flags 0x0000
+
+# ATAPI bus support
+atapibus* at wdc? channel ?
+
+# PCMCIA network interfaces
+ep* at pcmcia? function ? # 3Com 3c589 and 3c562 Ethernet
+mbe* at pcmcia? function ? # MB8696x based Ethernet
+ne* at pcmcia? function ? # NE2000-compatible Ethernet
+sm* at pcmcia? function ? # Megahertz Ethernet
+
+com* at pcmcia? function ? # Modems and serial cards
+
+aic* at pcmcia? function ?
+scsibus* at aic?
+sd* at scsibus? target ? lun ? # SCSI disk drives
+
+pseudo-device loop 1 # network loopback
+pseudo-device ppp 2 # serial-line IP ports
+pseudo-device pty 64 # pseudo ptys
+pseudo-device bpfilter 16 # packet filter ports
+pseudo-device ipfilter # IP filter, NAT
+
+pseudo-device vnd 4 # virtual disk ick
+pseudo-device ccd 4 # concatenated disks
+
+pseudo-device biconsdev 1 # build-in console device
View
177 sys/arch/hpcmips/conf/GENERIC_JP
@@ -0,0 +1,177 @@
+#
+# Distribution kernel (any model) kernel config file
+
+#
+# $NetBSD: GENERIC_JP,v 1.1.1.1 1999/09/16 12:23:18 takemura Exp $
+#
+include "arch/hpcmips/conf/std.hpcmips"
+
+maxusers 8
+
+options MIPS3 # R4000/R4400/R4600 CPUs
+
+# Support for specific models of H/PC MIPS
+options VR41X1 # NEC VR41x1 series
+options MIPS3_L2CACHE_ABSENT
+
+# Standard system options
+options DDB # in-kernel debugger
+#options DDB_ONPANIC=0 # don't enter debugger on panic
+#options DIAGNOSTIC # extra kernel debugging checks
+#options DEBUG # extra kernel debugging support
+options KTRACE # system call tracing support
+options "NKMEMCLUSTERS=1024" # 4K pages in kernel malloc pool
+
+options SCSIVERBOSE # human readable SCSI error messages
+options PCMCIAVERBOSE # verbose PCMCIA configuration messages
+
+options "RTC_OFFSET=-540" # hardware clock is this many mins. west of GMT
+options NTP # network time protocol
+#options UCONSOLE # users can redirect console (unsafe)
+
+#options WINCE_DEFAULT_SETTING # Debugging use
+#options DUMP_GIU_LEVEL2_INTR # Debugging use
+#options DEBUG_FIND_PCIC # Debugging use XXX harmful don't define until read source.
+
+#options SYSCALL_DEBUG # for debug
+#options HPCMIPS_L1CACHE_DISABLE # disable L1 cache for debug
+#options HPCMIPS_FLUSHCACHE_XXX
+#options HPCMIPS_PGSIZE_16K # page size is 16KB
+
+# Filesystem options
+file-system FFS # fast filesystem with user and group quotas
+file-system MFS # memory-based filesystem
+file-system NFS # Sun NFS-compatible filesystem (client)
+#file-system LFS # Log-based filesystem (still experimental)
+#file-system CD9660 # ISO 9660 + Rock Ridge file system
+#file-system FDESC # /dev/fd
+file-system KERNFS # /kern (kernel informational filesystem)
+#file-system NULLFS # loopback file system
+#file-system PORTAL # portal filesystem (still experimental)
+file-system PROCFS # /proc
+#file-system UMAPFS # NULLFS + uid and gid remapping
+file-system UNION
+
+options FIFO # POSIX fifo support (in all filesystems)
+#options NFSSERVER # Sun NFS-compatible filesystem (server)
+options QUOTA # UFS quotas
+
+# Networking options
+options INET # Internet protocols
+#options "TCP_COMPAT_42" # compatibility with 4.2BSD TCP/IP
+#options GATEWAY # IP packet forwarding
+options MULTICAST # Multicast support
+#options MROUTING # Multicast routing support
+#options ISO # OSI networking
+#options TPIP # TPIP
+#options EON # OSI tunneling over IP
+#options CCITT,LLC,HDLC # X.25
+
+# NetBSD backwards compatibility
+options COMPAT_43, COMPAT_13, COMPAT_14
+options COMPAT_386BSD_MBRPART # recognize old partition ID
+
+options NFS_BOOT_DHCP
+
+config netbsd root on ? type ?
+#config netbsd root on sd0a type ffs
+config nfsnetbsd root on ? type nfs
+
+# WS console uses SUN or VT100 terminal emulation
+options WSEMUL_VT100
+
+# Workstation Console attachments
+fb* at mainbus0
+wsdisplay* at fb?
+#wskbd* at pckbd? mux 1
+#wsmouse* at pms? mux 0
+
+
+vrip* at mainbus0
+vrcmu* at vrip? addr 0x0b000060 size 0x20
+vrbcu* at vrip? addr 0x0b000000 size 0x20
+vrrtc* at vrip? addr 0x0b0000c0 size 0x20 intr 2
+
+vrkiu* at vrip? addr 0x0b000180 size 0x20 intr 7
+options __NO_SOFT_SERIAL_INTERRUPT
+com* at vrip? addr 0x0c000000 size 0x20 intr 9
+vrgiu* at vrip? addr 0x0b000100 size 0x20 intr 8
+vrpmu* at vrip? addr 0x0b0000a0 size 0x20 intr 1 # power switch
+
+#
+# MC-R300
+# Button to GPIO port # mapping
+# + REC button : 4
+# + Open/Close button: 6
+# (PCIC-ISA : 9)
+# (COM power:14)
+gpbus0 at vrgiu? platform NEC_MCR_3XX comctrl 14 button1 4 button2 6
+gpbus0 at vrgiu? platform NEC_MCR_5XX comctrl 14 button1 4 button2 6
+gpbus0 at vrgiu? platform NEC_MCR_7XX comctrl 46
+gpbus0 at vrgiu? platform NEC_MCCS
+
+vrisab0 at vrgiu? platform NEC_MCR
+vrisab0 at vrgiu? platform NEC_MCCS
+isa0 at vrisab0
+pcic0 at isa0 port 0x3e0 iomem 0x70000 iosiz 0x4000 irq 0x00090003
+#
+# Freestyle
+# Button to GPIO port # mapping
+# +---------+
+# 1 +| |
+# | |+ 7
+# | |
+#20 +| LCD |+ 4
+# | | + 6
+# 8 +| |+ 5
+# | |
+# | |+----Power On/Off (not connected to GPIO?)
+# +---------+
+# +9
+# +12 +10
+# +11
+# (PCIC-ISA : 23)
+gpbus1 at vrgiu? platform EVEREX_FREESTYLE button1 9 button2 10 button3 11 button4 12 button5 7 button6 4 button7 6 button8 5 button9 1 button10 20 button11 8
+vrisab1 at vrgiu? platform EVEREX_FREESTYLE isaportoffset 0x1000000
+isa1 at vrisab1
+pcic0 at isa1 port 0x3e0 iomem 0x70000 iosiz 0x4000 irq 0x00170003
+
+options PCIC_ISA_INTR_ALLOC_MASK=0x0008 # IRQ 3 only (MCR/Freestyle)
+#
+# Unknown machines
+#
+vrisab2 at vrgiu?
+isa2 at vrisab2
+
+# PCMCIA bus support
+pcmcia* at pcic? controller ? socket ?
+
+# PCMCIA IDE disk
+wdc* at pcmcia? function ?
+wd* at wdc? channel ? drive ? flags 0x0000
+
+# ATAPI bus support
+atapibus* at wdc? channel ?
+
+# PCMCIA network interfaces
+ep* at pcmcia? function ? # 3Com 3c589 and 3c562 Ethernet
+mbe* at pcmcia? function ? # MB8696x based Ethernet
+ne* at pcmcia? function ? # NE2000-compatible Ethernet
+sm* at pcmcia? function ? # Megahertz Ethernet
+
+com* at pcmcia? function ? # Modems and serial cards
+
+aic* at pcmcia? function ?
+scsibus* at aic?
+sd* at scsibus? target ? lun ? # SCSI disk drives
+
+pseudo-device loop 1 # network loopback
+pseudo-device ppp 2 # serial-line IP ports
+pseudo-device pty 64 # pseudo ptys
+pseudo-device bpfilter 16 # packet filter ports
+pseudo-device ipfilter # IP filter, NAT
+
+pseudo-device vnd 4 # virtual disk ick
+pseudo-device ccd 4 # concatenated disks
+
+pseudo-device biconsdev 1 # build-in console device
View
30 sys/arch/hpcmips/conf/HOW_TO_CONF
@@ -0,0 +1,30 @@
+# $NetBSD: HOW_TO_CONF,v 1.1.1.1 1999/09/16 12:23:18 takemura Exp $
+# Written by Shin Takemura. This document is public domain.
+
+If you get many errors like below:
+
+ ioconf.c:102: `NEC_MCR' undeclared here (not in a function)
+ ioconf.c:102: initializer element for `loc[12]' is not constant
+
+The file ioconf.incl.hpcmis in this directry is not correctly included into
+ioconf.c. You must run config as following steps:
+
+1) Make target directry by hand if it dose not exist.
+
+ ex:
+ # mkdir ../compile/GENERIC
+
+2) Copy ioconf.incl.hpcmips into target directory.
+
+ ex:
+ # cp ./ioconf.incl.hpcmips ../compile/GENERIC
+
+3) Run config command normaly.
+
+ ex:
+ # /usr/sbin/config GENERIC
+
+If you get same errors, check ioconf.c in target directory and ensure that
+ioconf.incl.hpcmips is embedded in the head of ioconf.c.
+
+See also the config utility source code, usr.sbin/config/mkioconf.c.
View
218 sys/arch/hpcmips/conf/Makefile.hpcmips
@@ -0,0 +1,218 @@
+# $NetBSD: Makefile.hpcmips,v 1.1.1.1 1999/09/16 12:23:18 takemura Exp $
+
+# Makefile for NetBSD
+#
+# This makefile is constructed from a machine description:
+# config machineid
+# Most changes should be made in the machine description
+# /sys/arch/hpcmips/conf/``machineid''
+# after which you should do
+# config machineid
+# Machine generic makefile changes should be made in
+# /sys/arch/hpcmips/conf/Makefile.hpcmips
+# after which config should be rerun for all machines of that type.
+#
+# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE
+# IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING
+#
+# -DTRACE compile in kernel tracing hooks
+# -DQUOTA compile in file system quotas
+
+# DEBUG is set to -g if debugging.
+# PROF is set to -pg if profiling.
+
+AR?= ar
+AS?= as
+CC?= cc
+CPP?= cpp
+LD?= ld
+LORDER?=lorder
+MKDEP?= mkdep
+NM?= nm
+RANLIB?=ranlib
+SIZE?= size
+STRIP?= strip
+TSORT?= tsort -q
+
+COPTS?= -O2
+
+# source tree is located via $S relative to the compilation directory
+.ifndef S
+#S!= cd ../../../..; pwd
+S= ../../../..
+.endif
+HPCMIPS= $S/arch/hpcmips
+MIPS= $S/arch/mips
+
+HAVE_GCC28!= ${CC} --version | egrep "^(2\.8|egcs)" ; echo
+INCLUDES= -I. -I$S/arch -I$S -nostdinc
+CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -Dhpcmips -D__hpcmips__
+CWARNFLAGS?= -Wall -Wstrict-prototypes -Wmissing-prototypes \
+ -Wno-uninitialized -Wpointer-arith
+.if (${HAVE_GCC28} != "")
+CWARNFLAGS+= -Wno-main
+.endif
+GP?= -G 0
+CFLAGS= ${DEBUG} ${COPTS} ${CWARNFLAGS} ${GP} \
+ -mno-abicalls -mno-half-pic
+AFLAGS= -x assembler-with-cpp -traditional-cpp -D_LOCORE
+LINKFLAGS= -Ttext 0x80030000 -T ${MIPS}/conf/kern.ldscript -e start ${GP}
+STRIPFLAGS= -g -X -x
+
+### find out what to use for libkern
+.include "$S/lib/libkern/Makefile.inc"
+.ifndef PROF
+LIBKERN= ${KERNLIB}
+.else
+LIBKERN= ${KERNLIB_PROF}
+.endif
+
+### find out what to use for libcompat
+.include "$S/compat/common/Makefile.inc"
+.ifndef PROF
+LIBCOMPAT= ${COMPATLIB}
+.else
+LIBCOMPAT= ${COMPATLIB_PROF}
+.endif
+
+# compile rules: rules are named ${TYPE}_${SUFFIX} where TYPE is NORMAL or
+# HOSTED}, and SUFFIX is the file suffix, capitalized (e.g. C for a .c file).
+
+NORMAL_C= ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c $<
+NOPROF_C= ${CC} ${CFLAGS} ${CPPFLAGS} -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_OBJ= locore.o locore_machdep.o
+.if !empty(IDENT:M-DMIPS1)
+SYSTEM_OBJ+= locore_mips1.o
+.endif
+.if !empty(IDENT:M-DMIPS3)
+SYSTEM_OBJ+= locore_mips3.o
+.endif
+SYSTEM_OBJ+= fp.o param.o ioconf.o ${OBJS} ${LIBKERN} ${LIBCOMPAT}
+SYSTEM_DEP= Makefile ${SYSTEM_OBJ}
+SYSTEM_LD_HEAD= @rm -f $@
+SYSTEM_LD= @echo ${LD} ${LINKFLAGS} -o $@ '$${SYSTEM_OBJ}' vers.o ; \
+ ${LD} ${LINKFLAGS} -o $@ ${SYSTEM_OBJ} vers.o
+SYSTEM_LD_TAIL= @${SIZE} $@; chmod 755 $@
+
+DEBUG?=
+.if ${DEBUG} == "-g"
+LINKFLAGS+= -X
+SYSTEM_LD_TAIL+=; \
+ echo cp $@ $@.gdb; rm -f $@.gdb; cp $@ $@.gdb; \
+ echo ${STRIP} ${STRIPFLAGS} $@; ${STRIP} ${STRIPFLAGS} $@
+.else
+LINKFLAGS+= -x
+.endif
+
+%LOAD
+
+assym.h: $S/kern/genassym.sh ${MIPS}/mips/genassym.cf
+ sh $S/kern/genassym.sh ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} \
+ < ${MIPS}/mips/genassym.cf > assym.h.tmp && \
+ mv -f 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}
+
+ioconf.o: ioconf.c
+ ${NORMAL_C}
+
+newvers: ${SYSTEM_DEP} ${SYSTEM_SWAP_DEP}
+ sh $S/conf/newvers.sh
+ ${CC} ${CFLAGS} ${CPPFLAGS} ${PROF} -c vers.c
+
+__CLEANKERNEL: .USE
+ @echo "${.TARGET}ing the kernel objects"
+ rm -f eddep *netbsd netbsd.gdb tags *.[io] [a-z]*.s \
+ [Ee]rrs linterrs makelinks assym.h.tmp assym.h
+
+__CLEANDEPEND: .USE
+ rm -f .depend
+
+clean: __CLEANKERNEL
+
+cleandir distclean: __CLEANKERNEL __CLEANDEPEND
+
+lint:
+ @lint -hbxncez -Dvolatile= ${CPPFLAGS} -UKGDB \
+ ${MIPS}/mips/Locore.c ${CFILES} \
+ ioconf.c param.c | \
+ grep -v 'static function .* unused'
+
+tags:
+ @echo "see $S/kern/Makefile for tags"
+
+links:
+ egrep '#if' ${CFILES} | sed -f $S/conf/defines | \
+ sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink
+ echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \
+ sort -u | comm -23 - dontlink | \
+ sed 's,../.*/\(.*.o\),rm -f \1; ln -s ../GENERIC/\1 \1,' > makelinks
+ sh makelinks && rm -f dontlink
+
+SRCS= ${MIPS}/mips/locore.S ${MIPS}/mips/fp.S \
+ ${HPCMIPS}/hpcmips/locore_machdep.S \
+ param.c ioconf.c ${CFILES} ${SFILES}
+depend: .depend
+.depend: ${SRCS} assym.h param.c
+ ${MKDEP} ${AFLAGS} ${CPPFLAGS} ${MIPS}/mips/locore.S ${MIPS}/mips/fp.S
+ ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${HPCMIPS}/hpcmips/locore_machdep.S
+ ${MKDEP} -a ${CFLAGS} ${CPPFLAGS} param.c ioconf.c ${CFILES}
+.if (${SFILES} != "")
+ ${MKDEP} -a ${AFLAGS} ${CPPFLAGS} ${SFILES}
+.endif
+ sh $S/kern/genassym.sh ${MKDEP} -f assym.dep ${CFLAGS} \
+ ${CPPFLAGS} < ${MIPS}/mips/genassym.cf
+ @sed -e 's/.*\.o:.*\.c/assym.h:/' < assym.dep >> .depend
+ @rm -f assym.dep
+
+
+# depend on root or device configuration
+autoconf.o conf.o: Makefile
+
+# depend on network or filesystem configuration
+uipc_proto.o vfs_conf.o: Makefile
+
+# depend on maxusers
+machdep.o: Makefile
+
+# depend on CPU configuration
+machdep.o mainbus.o trap.o: Makefile
+
+# depend on System V IPC/shmem options
+mips_machdep.o pmap.o: Makefile
+
+locore.o: ${MIPS}/mips/locore.S assym.h
+ ${NORMAL_S}
+
+locore_mips1.o: ${MIPS}/mips/locore_mips1.S assym.h
+ ${NORMAL_S}
+
+locore_mips3.o: ${MIPS}/mips/locore_mips3.S assym.h
+ ${NORMAL_S}
+
+fp.o: ${MIPS}/mips/fp.S assym.h
+ ${NORMAL_S}
+
+locore_machdep.o: ${HPCMIPS}/hpcmips/locore_machdep.S assym.h
+ ${NORMAL_S}
+
+%RULES
View
34 sys/arch/hpcmips/conf/NULLCONF
@@ -0,0 +1,34 @@
+#
+# $NetBSD: NULLCONF,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $
+#
+include "arch/hpcmips/conf/std.hpcmips"
+maxusers 8
+options MIPS3 # R4000/R4400/R4600 CPUs
+options VR41X1 # NEC VR41x1 series
+options MIPS3_L2CACHE_ABSENT
+options DDB # in-kernel debugger
+options "NKMEMCLUSTERS=1024" # 4K pages in kernel malloc pool
+
+options WINCE_DEFAULT_SETTING # Debugging use
+options DUMP_GIU_LEVEL2_INTR # Debugging use
+options DEBUG_FIND_PCIC # Debugging use XXX harmful don't define until read source.
+#options DEBUG_FIND_PCIC_I82365SL_ONLY
+
+file-system FFS # fast filesystem with user and group quotas
+options COMPAT_386BSD_MBRPART # recognize old partition ID
+config netbsd root on ? type ?
+
+vrip* at mainbus0
+vrcmu* at vrip? addr 0x0b000060 size 0x20
+vrbcu* at vrip? addr 0x0b000000 size 0x20
+vrrtc* at vrip? addr 0x0b0000c0 size 0x20 intr 2
+vrkiu* at vrip? addr 0x0b000180 size 0x20 intr 7
+options __NO_SOFT_SERIAL_INTERRUPT
+com* at vrip? addr 0x0c000000 size 0x20 intr 9
+vrgiu* at vrip? addr 0x0b000100 size 0x20 intr 8
+
+vrisab2 at vrgiu?
+isa2 at vrisab2
+
+pseudo-device biconsdev 1 # build-in console device
+
View
180 sys/arch/hpcmips/conf/RAMDISK
@@ -0,0 +1,180 @@
+#
+# Distribution kernel (any model) kernel config file
+
+#
+# $NetBSD: RAMDISK,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $
+#
+include "arch/hpcmips/conf/std.hpcmips"
+
+maxusers 8
+
+options MIPS3 # R4000/R4400/R4600 CPUs
+
+# Support for specific models of H/PC MIPS
+options VR41X1 # NEC VR41x1 series
+options MIPS3_L2CACHE_ABSENT
+
+# Standard system options
+options DDB # in-kernel debugger
+#options DDB_ONPANIC=0 # don't enter debugger on panic
+#options DIAGNOSTIC # extra kernel debugging checks
+#options DEBUG # extra kernel debugging support
+options KTRACE # system call tracing support
+options "NKMEMCLUSTERS=1024" # 4K pages in kernel malloc pool
+
+options SCSIVERBOSE # human readable SCSI error messages
+options PCMCIAVERBOSE # verbose PCMCIA configuration messages
+
+options RTC_OFFSET=0 # hardware clock is this many mins. west of GMT
+#options "RTC_OFFSET=-540" # JST-9
+#options RTC_OFFSET=480 # PST8
+options NTP # network time protocol
+#options UCONSOLE # users can redirect console (unsafe)
+
+#options WINCE_DEFAULT_SETTING # Debugging use
+#options DUMP_GIU_LEVEL2_INTR # Debugging use
+#options DEBUG_FIND_PCIC # Debugging use XXX harmful don't define until read source.
+
+#options SYSCALL_DEBUG # for debug
+#options HPCMIPS_L1CACHE_DISABLE # disable L1 cache for debug
+#options HPCMIPS_FLUSHCACHE_XXX
+#options HPCMIPS_PGSIZE_16K # page size is 16KB
+
+# Filesystem options
+file-system FFS # fast filesystem with user and group quotas
+file-system MFS # memory-based filesystem
+file-system NFS # Sun NFS-compatible filesystem (client)
+#file-system LFS # Log-based filesystem (still experimental)
+#file-system CD9660 # ISO 9660 + Rock Ridge file system
+#file-system FDESC # /dev/fd
+file-system KERNFS # /kern (kernel informational filesystem)
+#file-system NULLFS # loopback file system
+#file-system PORTAL # portal filesystem (still experimental)
+file-system PROCFS # /proc
+#file-system UMAPFS # NULLFS + uid and gid remapping
+file-system UNION
+
+options FIFO # POSIX fifo support (in all filesystems)
+#options NFSSERVER # Sun NFS-compatible filesystem (server)
+options QUOTA # UFS quotas
+
+# Networking options
+options INET # Internet protocols
+#options "TCP_COMPAT_42" # compatibility with 4.2BSD TCP/IP
+#options GATEWAY # IP packet forwarding
+options MULTICAST # Multicast support
+#options MROUTING # Multicast routing support
+#options ISO # OSI networking
+#options TPIP # TPIP
+#options EON # OSI tunneling over IP
+#options CCITT,LLC,HDLC # X.25
+
+# NetBSD backwards compatibility
+options COMPAT_43, COMPAT_13, COMPAT_14
+options COMPAT_386BSD_MBRPART # recognize old partition ID
+
+options NFS_BOOT_DHCP
+
+config netbsd root on ? type ?
+#config netbsd root on sd0a type ffs
+config nfsnetbsd root on ? type nfs
+
+# WS console uses SUN or VT100 terminal emulation
+options WSEMUL_VT100
+
+# Workstation Console attachments
+fb* at mainbus0
+wsdisplay* at fb?
+#wskbd* at pckbd? mux 1
+#wsmouse* at pms? mux 0
+
+
+vrip* at mainbus0
+vrcmu* at vrip? addr 0x0b000060 size 0x20
+vrbcu* at vrip? addr 0x0b000000 size 0x20
+vrrtc* at vrip? addr 0x0b0000c0 size 0x20 intr 2
+
+vrkiu* at vrip? addr 0x0b000180 size 0x20 intr 7
+options __NO_SOFT_SERIAL_INTERRUPT
+com* at vrip? addr 0x0c000000 size 0x20 intr 9
+vrgiu* at vrip? addr 0x0b000100 size 0x20 intr 8
+vrpmu* at vrip? addr 0x0b0000a0 size 0x20 intr 1 # power switch
+
+#
+# MC-R300
+# Button to GPIO port # mapping
+# + REC button : 4
+# + Open/Close button: 6
+# (PCIC-ISA : 9)
+# (COM power:14)
+gpbus0 at vrgiu? platform NEC_MCR_3XX comctrl 14 button1 4 button2 6
+gpbus0 at vrgiu? platform NEC_MCR_5XX comctrl 14 button1 4 button2 6
+gpbus0 at vrgiu? platform NEC_MCR_7XX comctrl 46
+gpbus0 at vrgiu? platform NEC_MCCS
+
+vrisab0 at vrgiu? platform NEC_MCR
+vrisab0 at vrgiu? platform NEC_MCCS
+isa0 at vrisab0
+pcic0 at isa0 port 0x3e0 iomem 0x70000 iosiz 0x4000 irq 0x00090003
+#
+# Freestyle
+# Button to GPIO port # mapping
+# +---------+
+# 1 +| |
+# | |+ 7
+# | |
+#20 +| LCD |+ 4
+# | | + 6
+# 8 +| |+ 5
+# | |
+# | |+----Power On/Off (not connected to GPIO?)
+# +---------+
+# +9
+# +12 +10
+# +11
+# (PCIC-ISA : 23)
+gpbus1 at vrgiu? platform EVEREX_FREESTYLE button1 9 button2 10 button3 11 button4 12 button5 7 button6 4 button7 6 button8 5 button9 1 button10 20 button11 8
+vrisab1 at vrgiu? platform EVEREX_FREESTYLE isaportoffset 0x1000000
+isa1 at vrisab1
+pcic0 at isa1 port 0x3e0 iomem 0x70000 iosiz 0x4000 irq 0x00170003
+
+options PCIC_ISA_INTR_ALLOC_MASK=0x0008 # IRQ 3 only (MCR/Freestyle)
+#
+# Unknown machines
+#
+vrisab2 at vrgiu?
+isa2 at vrisab2
+
+# PCMCIA bus support
+pcmcia* at pcic? controller ? socket ?
+
+# PCMCIA IDE disk
+wdc* at pcmcia? function ?
+wd* at wdc? channel ? drive ? flags 0x0000
+
+# ATAPI bus support
+atapibus* at wdc? channel ?
+
+# PCMCIA network interfaces
+ep* at pcmcia? function ? # 3Com 3c589 and 3c562 Ethernet
+mbe* at pcmcia? function ? # MB8696x based Ethernet
+ne* at pcmcia? function ? # NE2000-compatible Ethernet
+sm* at pcmcia? function ? # Megahertz Ethernet
+
+com* at pcmcia? function ? # Modems and serial cards
+
+aic* at pcmcia? function ?
+scsibus* at aic?
+sd* at scsibus? target ? lun ? # SCSI disk drives
+
+pseudo-device loop 1 # network loopback
+pseudo-device ppp 2 # serial-line IP ports
+pseudo-device pty 64 # pseudo ptys
+pseudo-device bpfilter 16 # packet filter ports
+pseudo-device ipfilter # IP filter, NAT
+
+pseudo-device vnd 4 # virtual disk ick
+pseudo-device ccd 4 # concatenated disks
+
+pseudo-device md 1 # memory disk
+pseudo-device biconsdev 1 # build-in console device
View
164 sys/arch/hpcmips/conf/files.hpcmips
@@ -0,0 +1,164 @@
+# $NetBSD: files.hpcmips,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $
+
+# maxpartitions must be first item in files.${ARCH}.
+maxpartitions 8
+
+maxusers 2 8 64
+
+#
+# Machine-independent SCSI drivers
+#
+
+include "dev/scsipi/files.scsipi"
+major {sd = 3}
+major {st = 4}
+major {cd = 5}
+
+#
+# Machine-independent ATA drivers
+#
+
+include "dev/ata/files.ata"
+major {wd = 1}
+
+#
+# Bus-independent devices
+#
+device mainbus { } # no locators
+attach mainbus at root
+
+device cpu # not optional
+attach cpu at mainbus
+file arch/hpcmips/hpcmips/cpu.c cpu
+
+# CPU support option headers
+defopt VR41X1
+
+#
+# CPU-dependent files
+#
+file arch/hpcmips/vr/vr.c vr41x1 # NEC VR4000 series
+
+file arch/hpcmips/hpcmips/autoconf.c
+file arch/hpcmips/hpcmips/conf.c
+file arch/hpcmips/hpcmips/machdep.c
+file arch/hpcmips/hpcmips/platid.c
+file arch/hpcmips/hpcmips/platid_mask.c
+file arch/hpcmips/hpcmips/mainbus.c
+file arch/hpcmips/hpcmips/bus_space.c
+file arch/hpcmips/hpcmips/disksubr.c disk
+
+# Console autoconfiguration code: selects between a framebuffers
+file dev/cons.c
+file arch/hpcmips/dev/findcons.c
+file arch/hpcmips/dev/bicons.c
+file arch/hpcmips/dev/bifont.c
+defpseudo biconsdev
+file arch/hpcmips/dev/biconsdev.c biconsdev needs-count
+
+#
+# Workstation Console
+#
+include "dev/wscons/files.wscons"
+device fb: wsemuldisplaydev, wsrasteremulops
+attach fb at mainbus
+file arch/hpcmips/dev/fb.c fb needs-flag
+
+#
+# ISA bus support
+#
+include "dev/isa/files.isa"
+
+#
+# Vr41x1 integrated peripherals
+#
+device vrip { [addr=-1], [size=-1], [addr2=-1], [size2=-1], [intr=-1] }
+attach vrip at mainbus
+file arch/hpcmips/vr/vrip.c vrip
+
+device vrrtc
+attach vrrtc at vrip
+file arch/hpcmips/vr/rtc.c vrrtc
+
+device vrcmu
+attach vrcmu at vrip
+file arch/hpcmips/vr/cmu.c vrcmu
+
+device vrisabif {[platform = -1], [isaportoffset=0], [isamemoffset=0]} # GIU attachment
+device gpbusif {[platform = -1], [comctrl = -1], [button0 = -1], [button1 = -1], [button2 = -1], [button3 = -1], [button4 = -1], [button5 = -1], [button6 = -1], [button7 = -1], [button8 = -1], [button9 = -1], [button10 = -1], [button11 = -1]}
+
+device vrgiu: vrisabif, gpbusif
+attach vrgiu at vrip
+file arch/hpcmips/vr/vrgiu.c vrgiu
+
+device gpbus
+attach gpbus at gpbusif
+file arch/hpcmips/vr/gpbus.c gpbus
+
+device vrisab: isabus
+attach vrisab at vrisabif
+file arch/hpcmips/isa/isa_machdep.c vrisab
+
+device vrbcu
+attach vrbcu at vrip
+file arch/hpcmips/vr/bcu_vrip.c vrbcu
+
+device vrkiu
+attach vrkiu at vrip
+file arch/hpcmips/vr/vrkiu.c vrkiu
+
+device vrpmu
+attach vrpmu at vrip
+file arch/hpcmips/vr/vrpmu.c vrpmu
+
+# Real-time clock (not optional)
+file arch/hpcmips/hpcmips/clock.c
+file dev/clock_subr.c
+
+# Floppy disk controller
+device fdc {drive = -1}
+#attach fdc at isa
+#device fd: disk, isadma
+device fd: disk
+#attach fd at fdc
+file arch/i386/isa/fd.c fdc needs-flag
+major {fd = 2}
+
+# network devices MII bus
+include "dev/mii/files.mii"
+
+# XXXX pcic here because it needs to be late. The catch: pcic needs
+# to be late, so devices which attach to it are attached late. But it
+# needs to be before its isa and pci attachments. This answer is
+# non-optimal, but I don't have a better answer right now.
+
+# PCIC pcmcia contoller
+# XXX this needs to be done very late, so it's done here. This feels
+# like a kludge, but it might be for the best.
+
+defopt PCIC_ISA_ALLOC_IOBASE
+defopt PCIC_ISA_ALLOC_IOSIZE
+defopt PCIC_ISA_INTR_ALLOC_MASK
+
+device pcic: pcmciabus
+file dev/ic/i82365.c pcic
+
+#
+# PCIC pcmcia controller
+#
+attach pcic at isa with pcic_isa
+file dev/isa/i82365_isa.c pcic_isa
+file dev/isa/i82365_isasubr.c pcic_isa
+
+#
+# Machine-independent PCMCIA drivers
+#
+include "dev/pcmcia/files.pcmcia"
+
+# Serial Interface Unit
+attach com at vrip with com_vrip
+file arch/hpcmips/vr/com_vrip.c com_vrip
+
+# Memory Disk for boot tape
+file arch/hpcmips/dev/md_root.c memory_disk_hooks
+major {md = 6}
View
8 sys/arch/hpcmips/conf/ioconf.incl.hpcmips
@@ -0,0 +1,8 @@
+#include <sys/param.h>
+#include <sys/conf.h>
+#include <sys/device.h>
+#include <sys/mount.h>
+#include <machine/platid.h>
+#define PLATID_DEFINE_MASK_NICKNAME
+#include <machine/platid_mask.h>
+#undef PLATID_DEFINE_MASK_NICKNAME
View
16 sys/arch/hpcmips/conf/std.hpcmips
@@ -0,0 +1,16 @@
+# $NetBSD: std.hpcmips,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $
+# standard, required hpcmips info
+
+machine hpcmips mips
+mainbus0 at root
+cpu* at mainbus0
+
+# Non-optional options
+options SWAPPAGER # paging
+options VNODEPAGER # mmap() of files
+options DEVPAGER # mmap() of devices
+options MIPS3_FLUSH # support CPU without L2 cache
+
+# Standard exec-package options
+options EXEC_ELF32 # native exec format
+options EXEC_SCRIPT # may be unsafe
View
536 sys/arch/hpcmips/dev/bicons.c
@@ -0,0 +1,536 @@
+/* $NetBSD: bicons.c,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $ */
+
+/*-
+ * Copyright (c) 1999
+ * Shin Takemura and PocketBSD Project. 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 PocketBSD project
+ * and its contributors.
+ * 4. Neither the name of the project 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.
+ *
+ */
+
+#define HALF_FONT
+
+#include <sys/param.h>
+#include <sys/device.h>
+#include <dev/cons.h>
+
+#include <machine/bootinfo.h>
+#include <machine/bus.h>
+#include <machine/platid.h>
+
+#include <hpcmips/dev/biconsvar.h>
+#include <hpcmips/dev/bicons.h>
+
+#include <hpcmips/vr/vripvar.h>
+#include <hpcmips/vr/vrkiuvar.h>
+
+extern unsigned char font_clR8x8_data[];
+extern unsigned char font_clB8x8_data[];
+#define FONT_HEIGHT 8
+#define FONT_WIDTH 1
+
+#if 0
+volatile u_short *trace_mem = (u_short*)0xAA000000;
+#define TRACE(a, b) (trace_mem[80*(b) + (a)*4 + 4] = \
+ ((b)%4 == 0?0x00f0:((b)%4 == 1?0x00ff:((b)%4 == 2?0xf0ff:0xffff))))
+#else
+#define TRACE(a, b)
+#endif
+
+#if 0
+static void xmemset(volatile void *dst0, int c0, int length);
+static void xmemcpy(volatile void *dst0, volatile const void *src0, int length);
+#endif
+
+static void put_oxel_D2_M2L_3(u_char*, u_char, u_char);
+static void put_oxel_D2_M2L_3x2(u_char*, u_char, u_char);
+static void put_oxel_D2_M2L_0(u_char*, u_char, u_char);
+static void put_oxel_D2_M2L_0x2(u_char*, u_char, u_char);
+static void put_oxel_D8_00(u_char*, u_char, u_char);
+static void put_oxel_D8_FF(u_char*, u_char, u_char);
+static void put_oxel_D16_0000(u_char*, u_char, u_char);
+static void put_oxel_D16_FFFF(u_char*, u_char, u_char);
+
+struct {
+ int type;
+ char *name;
+ void (*func)(u_char*, u_char, u_char);
+ u_char clear_byte;
+ short oxel_bytes;
+} fb_table[] = {
+ { BIFB_D2_M2L_3, BIFBN_D2_M2L_3, put_oxel_D2_M2L_3, 0,2 },
+ { BIFB_D2_M2L_3x2, BIFBN_D2_M2L_3x2, put_oxel_D2_M2L_3x2, 0,1 },
+ { BIFB_D2_M2L_0, BIFBN_D2_M2L_0, put_oxel_D2_M2L_0,0xff, 2 },
+ { BIFB_D2_M2L_0x2, BIFBN_D2_M2L_0x2, put_oxel_D2_M2L_0x2,0xff,1 },
+ { BIFB_D8_00, BIFBN_D8_00, put_oxel_D8_00, 0xff, 8 },
+ { BIFB_D8_FF, BIFBN_D8_FF, put_oxel_D8_FF, 0x00, 8 },
+ { BIFB_D16_0000, BIFBN_D16_0000, put_oxel_D16_0000,0xff, 16 },
+ { BIFB_D16_FFFF, BIFBN_D16_FFFF, put_oxel_D16_FFFF,0x00, 16 },
+};
+#define FB_TABLE_SIZE (sizeof(fb_table)/sizeof(*fb_table))
+
+
+static u_char *fb_vram = (unsigned char*)0xAA000000;
+static short fb_line_bytes = 0x50;
+static u_char fb_clear_byte = 0;
+short bicons_ypixel = 240;
+short bicons_xpixel = 320;
+#ifdef HALF_FONT
+static short fb_oxel_bytes = 1;
+short bicons_width = 80;
+void (*fb_put_oxel)(u_char*, u_char, u_char) = put_oxel_D2_M2L_3x2;
+#else
+static short fb_oxel_bytes = 2;
+short bicons_width = 40;
+void (*fb_put_oxel)(u_char*, u_char, u_char) = put_oxel_D2_M2L_3;
+#endif
+short bicons_height = 30;
+static short curs_x = 0;
+static short curs_y = 0;
+
+static int bicons_getc __P((dev_t));
+static void bicons_putc __P((dev_t, int));
+static void bicons_pollc __P((dev_t, int));
+static void draw_char(int x, int y, int c);
+static void clear(int y, int height);
+static void scroll(int y, int height, int d);
+
+struct consdev builtincd = {
+ (void (*)(struct consdev *))0, /* probe */
+ (void (*)(struct consdev *))0, /* init */
+ (int (*)(dev_t)) bicons_getc, /* getc */
+ (void (*)(dev_t, int))bicons_putc, /* putc */
+ (void (*)(dev_t, int))bicons_pollc, /* pollc */
+ makedev (0, 0),
+ CN_DEAD,
+};
+
+static void
+draw_char(int x, int y, int c)
+{
+ int i;
+ unsigned char* p = &fb_vram[(y * FONT_HEIGHT * fb_line_bytes) +
+ x * FONT_WIDTH * fb_oxel_bytes];
+ for (i = 0; i < FONT_HEIGHT; i++) {
+ (*fb_put_oxel)(p, font_clR8x8_data[FONT_WIDTH * (FONT_HEIGHT * c + i)],
+ 0xff);
+ p += (fb_line_bytes);
+ }
+}
+
+static void
+clear(int y, int height)
+{
+ unsigned char *p;
+
+ TRACE(1, 2);
+ p = &fb_vram[y * fb_line_bytes];
+ TRACE(1, 3);
+ while (0 < height--) {
+ TRACE(1, 4);
+ memset(p, fb_clear_byte, bicons_width * fb_oxel_bytes * FONT_WIDTH);
+ TRACE(1, 5);
+ p += fb_line_bytes;
+ TRACE(1, 6);
+ }
+ TRACE(1, 7);
+}
+
+static void
+scroll(int y, int height, int d)
+{
+ unsigned char *from, *to;
+ if (d < 0) {
+ from = &fb_vram[y * fb_line_bytes];
+ to = from + d * fb_line_bytes;
+ while (0 < height--) {
+ memcpy(to, from, bicons_width * fb_oxel_bytes);
+ from += fb_line_bytes;
+ to += fb_line_bytes;
+ }
+ } else {
+ from = &fb_vram[(y + height - 1) * fb_line_bytes];
+ to = from + d * fb_line_bytes;
+ while (0 < height--) {
+ memcpy(to, from, bicons_xpixel * fb_oxel_bytes / 8);
+ from -= fb_line_bytes;
+ to -= fb_line_bytes;
+ }
+ }
+}
+
+void
+bicons_puts(char *s)
+{
+ TRACE(2, 0);
+ while (*s) {
+ TRACE(2, 1);
+ bicons_putc(NULL, *s++);
+ TRACE(2, 2);
+ }
+ TRACE(2, 3);
+}
+
+
+void
+bicons_putn(char *s, int n)
+{
+ while (0 < n--) {
+ bicons_putc(NULL, *s++);
+ }
+}
+
+
+int
+bicons_getc(dev_t dev)
+{
+ return vrkiu_getc();
+}
+
+static void
+bicons_putc(dev_t dev, int c)
+{
+ int line_feed = 0;
+
+ TRACE(2, 4);
+
+ switch (c) {
+ case 0x08: /* back space */
+ if (--curs_x < 0) {
+ /* erase character ar cursor position */
+ draw_char(curs_x, curs_y, ' ');
+ }
+ break;
+ case '\r':
+ curs_x = 0;
+ break;
+ case '\n':
+ curs_x = 0;
+ line_feed = 1;
+ break;
+ default:
+ TRACE(2, 5);
+ draw_char(curs_x, curs_y, c);
+ TRACE(2, 6);
+ if (bicons_width <= ++curs_x) {
+ TRACE(2, 7);
+ curs_x = 0;
+ line_feed = 1;
+ }
+ }
+
+ TRACE(2, 8);
+ if (line_feed) {
+ TRACE(2, 9);
+ if (bicons_height <= ++curs_y) {
+ TRACE(2, 10);
+ /* scroll up */
+ scroll(FONT_HEIGHT, (bicons_height - 1) * FONT_HEIGHT, -FONT_HEIGHT);
+ clear((bicons_height - 1) * FONT_HEIGHT, FONT_HEIGHT);
+ curs_y--;
+ }
+ }
+ TRACE(2, 11);
+}
+
+void
+bicons_pollc(dev_t dev, int c)
+{
+ return;
+}
+
+void
+bicons_init()
+{
+ int fb_index = -1;
+ TRACE(1, 0);
+
+ if (bootinfo) {
+ TRACE(1, 1);
+ for (fb_index = 0; fb_index < FB_TABLE_SIZE; fb_index++) {
+ if (fb_table[fb_index].type == bootinfo->fb_type) {
+ break;
+ }
+ }
+ if (FB_TABLE_SIZE <= fb_index) {
+ /*
+ * Unknown frame buffer type, but what can I do ?
+ */
+ fb_index = 0;
+ }
+ fb_vram = (unsigned char*)bootinfo->fb_addr;
+ fb_line_bytes = bootinfo->fb_line_bytes;
+ bicons_xpixel = bootinfo->fb_width;
+ bicons_ypixel = bootinfo->fb_height;
+
+ fb_put_oxel = fb_table[fb_index].func;
+ fb_clear_byte = fb_table[fb_index].clear_byte;
+ fb_oxel_bytes = fb_table[fb_index].oxel_bytes;
+ } else {
+ fb_vram = (unsigned char*)0xAA000000;
+ fb_line_bytes = 0x50;
+ fb_clear_byte = 0;
+ bicons_ypixel = 240;
+#ifdef HALF_FONT
+ TRACE(1, 2);
+ bicons_xpixel = 640;
+ fb_oxel_bytes = 1;
+ fb_put_oxel = put_oxel_D2_M2L_3x2;
+#else
+ TRACE(1, 3);
+ bicons_xpixel = 320;
+ fb_oxel_bytes = 2;
+ fb_put_oxel = put_oxel_D2_M2L_3;
+#endif
+ }
+
+ bicons_width = bicons_xpixel / (8 * FONT_WIDTH);
+ bicons_height = bicons_ypixel / FONT_HEIGHT;
+ clear(0, bicons_ypixel);
+
+ curs_x = 0;
+ curs_y = 0;
+
+ bicons_puts("builtin console type = ");
+ if (bootinfo) {
+ bicons_puts(fb_table[fb_index].name);
+ } else {
+#ifdef HALF_FONT
+ bicons_puts("default(D2_M2L_3x2)");
+#else
+ bicons_puts("default(D2_M2L_3)");
+#endif
+ }
+ bicons_puts("\n");
+
+ TRACE(1, 4);
+}
+
+#if 0
+void
+xmemset(volatile void *dst0, int c0, int length)
+{
+ volatile unsigned char *dst = dst0;
+
+ while (length != 0) {
+ *dst++ = c0;
+ --length;
+ }
+}
+
+void
+xmemcpy(volatile void *dst0, volatile const void *src0, int length)
+{
+ volatile char *dst = dst0;
+ volatile const char *src = src0;
+
+ while (length != 0) {
+ *dst++ = *src++;
+ --length;
+ }
+}
+#endif
+
+/*=============================================================================
+ *
+ * D2_M2L_3
+ *
+ */
+static void
+put_oxel_D2_M2L_3(u_char* xaddr, u_char data, u_char mask)
+{
+#if 1
+ u_short* addr = (u_short*)xaddr;
+ static u_short map0[] = {
+ 0x0000, 0x0300, 0x0c00, 0x0f00, 0x3000, 0x3300, 0x3c00, 0x3f00,
+ 0xc000, 0xc300, 0xcc00, 0xcf00, 0xf000, 0xf300, 0xfc00, 0xff00,
+ };
+ static u_short map1[] = {
+ 0x0000, 0x0003, 0x000c, 0x000f, 0x0030, 0x0033, 0x003c, 0x003f,
+ 0x00c0, 0x00c3, 0x00cc, 0x00cf, 0x00f0, 0x00f3, 0x00fc, 0x00ff,
+ };
+ *addr = (map1[data >> 4] | map0[data & 0x0f]);
+#else
+ static unsigned char map[] = {
+ 0x00, 0x03, 0x0c, 0x0f, 0x30, 0x33, 0x3c, 0x3f,
+ 0xc0, 0xc3, 0xcc, 0xcf, 0xf0, 0xf3, 0xfc, 0xff,
+ };
+ u_char* addr = xaddr;
+
+ *addr++ = (map[(data >> 4) & 0x0f] & map[(mask >> 4) & 0x0f]) |
+ (*addr & ~map[(mask >> 4) & 0x0f]);
+ *addr = (map[(data >> 0) & 0x0f] & map[(mask >> 0) & 0x0f]) |
+ (*addr & ~map[(mask >> 0) & 0x0f]);
+#endif
+}
+
+/*=============================================================================
+ *
+ * D2_M2L_3x2
+ *
+ */
+static void
+put_oxel_D2_M2L_3x2(u_char* xaddr, u_char data, u_char mask)
+{
+ register u_char odd = (data & 0xaa);
+ register u_char even = (data & 0x55);
+
+ *xaddr = (odd | (even << 1)) | ((odd >> 1) & even);
+}
+
+/*=============================================================================
+ *
+ * D2_M2L_0
+ *
+ */
+static void
+put_oxel_D2_M2L_0(u_char* xaddr, u_char data, u_char mask)
+{
+#if 1
+ u_short* addr = (u_short*)xaddr;
+ static u_short map0[] = {
+ 0xff00, 0xfc00, 0xf300, 0xf000, 0xcf00, 0xcc00, 0xc300, 0xc000,
+ 0x3f00, 0x3c00, 0x3300, 0x3000, 0x0f00, 0x0c00, 0x0300, 0x0000,
+ };
+ static u_short map1[] = {
+ 0x00ff, 0x00fc, 0x00f3, 0x00f0, 0x00cf, 0x00cc, 0x00c3, 0x00c0,
+ 0x003f, 0x003c, 0x0033, 0x0030, 0x000f, 0x000c, 0x0003, 0x0000,
+ };
+ *addr = (map1[data >> 4] | map0[data & 0x0f]);
+#else
+ static unsigned char map[] = {
+ 0x00, 0x03, 0x0c, 0x0f, 0x30, 0x33, 0x3c, 0x3f,
+ 0xc0, 0xc3, 0xcc, 0xcf, 0xf0, 0xf3, 0xfc, 0xff,
+ };
+ u_char* addr = xaddr;
+
+ *addr++ = (~(map[(data >> 4) & 0x0f] & map[(mask >> 4) & 0x0f])) |
+ (*addr & ~map[(mask >> 4) & 0x0f]);
+ *addr = (~(map[(data >> 0) & 0x0f] & map[(mask >> 0) & 0x0f])) |
+ (*addr & ~map[(mask >> 0) & 0x0f]);
+#endif
+}
+
+/*=============================================================================
+ *
+ * D2_M2L_0x2
+ *
+ */
+static void
+put_oxel_D2_M2L_0x2(u_char* xaddr, u_char data, u_char mask)
+{
+ register u_char odd = (data & 0xaa);
+ register u_char even = (data & 0x55);
+
+ *xaddr = ~((odd | (even << 1)) | ((odd >> 1) & even));
+}
+
+/*=============================================================================
+ *
+ * D8_00
+ *
+ */
+static void
+put_oxel_D8_00(u_char* xaddr, u_char data, u_char mask)
+{
+ int i;
+ u_char* addr = xaddr;
+
+ for (i = 0; i < 8; i++) {
+ if (mask & 0x80) {
+ *addr = (data & 0x80) ? 0x00 : 0xFF;
+ }
+ addr++;
+ data <<= 1;
+ mask <<= 1;
+ }
+}
+
+/*=============================================================================
+ *
+ * D8_FF
+ *
+ */
+static void
+put_oxel_D8_FF(u_char* xaddr, u_char data, u_char mask)
+{
+ int i;
+ u_char* addr = xaddr;
+
+ for (i = 0; i < 8; i++) {
+ if (mask & 0x80) {
+ *addr = (data & 0x80) ? 0xFF : 0x00;
+ }
+ addr++;
+ data <<= 1;
+ mask <<= 1;
+ }
+}
+
+/*=============================================================================
+ *
+ * D16_0000
+ *
+ */
+static void
+put_oxel_D16_0000(u_char* xaddr, u_char data, u_char mask)
+{
+ int i;
+ u_short* addr = (u_short*)xaddr;
+
+ for (i = 0; i < 8; i++) {
+ if (mask & 0x80) {
+ *addr = (data & 0x80) ? 0x0000 : 0xFFFF;
+ }
+ addr++;
+ data <<= 1;
+ mask <<= 1;
+ }
+}
+
+/*=============================================================================
+ *
+ * D16_FFFF
+ *
+ */
+static void
+put_oxel_D16_FFFF(u_char* xaddr, u_char data, u_char mask)
+{
+ int i;
+ u_short* addr = (u_short*)xaddr;
+
+ for (i = 0; i < 8; i++) {
+ if (mask & 0x80) {
+ *addr = (data & 0x80) ? 0xFFFF : 0x0000;
+ }
+ addr++;
+ data <<= 1;
+ mask <<= 1;
+ }
+}
View
39 sys/arch/hpcmips/dev/bicons.h
@@ -0,0 +1,39 @@
+/* $NetBSD: bicons.h,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $ */
+
+/*-
+ * Copyright (c) 1999
+ * Shin Takemura and PocketBSD Project. 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 PocketBSD project
+ * and its contributors.
+ * 4. Neither the name of the project 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.
+ *
+ */
+
+void bicons_init __P((void));
+void bicons_puts __P((char *s));
+void bicons_putn __P((char *s, int n));
View
267 sys/arch/hpcmips/dev/biconsdev.c
@@ -0,0 +1,267 @@
+/* $NetBSD: biconsdev.c,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $ */
+
+/*-
+ * Copyright (c) 1999
+ * Shin Takemura and PocketBSD Project. 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 PocketBSD project
+ * and its contributors.
+ * 4. Neither the name of the project 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.
+ *
+ */
+/*
+ * Copyright (c) 1995
+ * The Regents of the University of California. All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * Ted Lemon.
+ *
+ * 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 University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ */
+
+#include "biconsdev.h"
+#if NBICONSDEV > 0
+
+#include <sys/param.h>
+#include <sys/proc.h>
+#include <sys/systm.h>
+#include <sys/buf.h>
+#include <sys/ioctl.h>
+#include <sys/tty.h>
+#include <sys/conf.h>
+
+#include <dev/cons.h>
+#include <hpcmips/dev/bicons.h>
+#include <hpcmips/dev/biconsvar.h>
+
+
+struct tty biconsdev_tty[NBICONSDEV];
+void biconsdevattach __P((int n));
+static void biconsdev_output __P((struct tty *));
+
+cdev_decl(biconsdev);
+
+void
+biconsdevattach (n)
+ int n;
+{
+ register struct tty *tp = &biconsdev_tty [0];
+
+ /* Set up the tty queues now... */
+ clalloc(&tp->t_rawq, 1024, 1);
+ clalloc(&tp->t_canq, 1024, 1);
+ /* output queue doesn't need quoting */
+ clalloc(&tp->t_outq, 1024, 0);
+
+ tp->t_dev = makedev(34, 0);
+ tp->t_ispeed = tp->t_ospeed = TTYDEF_SPEED;
+ tp->t_param = (int (*)(struct tty *, struct termios *))nullop;
+ tp->t_winsize.ws_row = bicons_height;
+ tp->t_winsize.ws_col = bicons_width;
+ tp->t_winsize.ws_xpixel = bicons_xpixel;
+ tp->t_winsize.ws_ypixel = bicons_ypixel;
+ tp->t_oproc = biconsdev_output;
+
+ /*
+ * XXX, We must check the bootinfo.
+ */
+ if (cn_tab->cn_dev == makedev(0, 0)) {
+ cn_tab->cn_dev = tp->t_dev;
+ }
+#ifdef DEBUG
+ printf("%s(%d): biconsdevattach(): cn_tab->cn_dev=%x %x\n",
+ __FILE__, __LINE__, (u_int)&cn_tab->cn_dev, tp->t_dev);
+#endif
+}
+
+
+static void
+biconsdev_output(tp)
+ register struct tty *tp;
+{
+ register int s, n;
+ char buf[OBUFSIZ];
+
+ s = spltty();
+ if (tp->t_state & (TS_TIMEOUT | TS_BUSY | TS_TTSTOP)) {
+ splx(s);
+ return;
+ }
+ tp->t_state |= TS_BUSY;
+ splx(s);
+ n = q_to_b(&tp->t_outq, buf, sizeof(buf));
+ bicons_putn(buf, n);
+
+ s = spltty();
+ tp->t_state &= ~TS_BUSY;
+ /* Come back if there's more to do */
+ if (tp->t_outq.c_cc) {
+ tp->t_state |= TS_TIMEOUT;
+ timeout(ttrstrt, tp, 1);
+ }
+ if (tp->t_outq.c_cc <= tp->t_lowat) {
+ if (tp->t_state&TS_ASLEEP) {
+ tp->t_state &= ~TS_ASLEEP;
+ wakeup((caddr_t)&tp->t_outq);
+ }
+ selwakeup(&tp->t_wsel);
+ }
+ splx(s);
+}
+
+
+int
+biconsdevopen(dev, flag, mode, p)
+ dev_t dev;
+ int flag, mode;
+ struct proc *p;
+{
+ register struct tty *tp = &biconsdev_tty [0];
+ int status;
+
+ if ((tp->t_state & TS_ISOPEN) == 0) {
+ /*
+ * Leave baud rate alone!
+ */
+ ttychars(tp);
+ tp->t_iflag = TTYDEF_IFLAG;
+ tp->t_oflag = TTYDEF_OFLAG;
+ tp->t_lflag = TTYDEF_LFLAG;
+ tp->t_cflag = TTYDEF_CFLAG;
+ tp->t_state = TS_ISOPEN | TS_CARR_ON;
+ (void)(*tp->t_param)(tp, &tp->t_termios);
+ ttsetwater(tp);
+ } else if (tp->t_state & TS_XCLUDE && p->p_ucred->cr_uid != 0)
+ return (EBUSY);
+
+ status = (*linesw[tp->t_line].l_open)(dev, tp);
+ return status;
+}
+
+
+int
+biconsdevclose(dev, flag, mode, p)
+ dev_t dev;
+ int flag, mode;
+ struct proc *p;
+{
+ register struct tty *tp = &biconsdev_tty [0];
+
+ (*linesw[tp->t_line].l_close)(tp, flag);
+ ttyclose(tp);
+
+ return (0);
+}
+
+
+int
+biconsdevread(dev, uio, flag)
+ dev_t dev;
+ struct uio *uio;
+ int flag;
+{
+ register struct tty *tp = &biconsdev_tty [0];
+
+ return ((*linesw[tp->t_line].l_read)(tp, uio, flag));
+}
+
+
+int
+biconsdevwrite(dev, uio, flag)
+ dev_t dev;
+ struct uio *uio;
+ int flag;
+{
+ register struct tty *tp = &biconsdev_tty [0];
+
+ return ((*linesw[tp->t_line].l_write)(tp, uio, flag));
+}
+
+
+struct tty *
+biconsdevtty(dev)
+ dev_t dev;
+{
+ register struct tty *tp = &biconsdev_tty [0];
+
+ return (tp);
+}
+
+int
+biconsdevioctl(dev, cmd, data, flag, p)
+ dev_t dev;
+ u_long cmd;
+ caddr_t data;
+ int flag;
+ struct proc *p;
+{
+ register struct tty *tp = &biconsdev_tty [0];
+ int error;
+
+ if ((error = linesw[tp->t_line].l_ioctl(tp, cmd, data, flag, p)) >= 0)
+ return (error);
+ if ((error = ttioctl(tp, cmd, data, flag, p)) >= 0)
+ return (error);
+ return (ENOTTY);
+}
+
+void
+biconsdevstop(tp, rw)
+ struct tty *tp;
+ int rw;
+{
+
+}
+
+#endif /* NBICONSDEV > 0 */
View
42 sys/arch/hpcmips/dev/biconsvar.h
@@ -0,0 +1,42 @@
+/* $NetBSD: biconsvar.h,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $ */
+
+/*-
+ * Copyright (c) 1999
+ * Shin Takemura and PocketBSD Project. 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 PocketBSD project
+ * and its contributors.
+ * 4. Neither the name of the project 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.
+ *
+ */
+
+struct consdev;
+extern struct consdev builtincd;
+extern short bicons_ypixel;
+extern short bicons_xpixel;
+extern short bicons_width;
+extern short bicons_height;
View
334 sys/arch/hpcmips/dev/bifont.c
@@ -0,0 +1,334 @@
+/* $NetBSD: bifont.c,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $ */
+
+/*-
+ * Copyright (c) 1999
+ * Shin Takemura and PocketBSD Project. 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 PocketBSD project
+ * and its contributors.
+ * 4. Neither the name of the project 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.
+ *
+ */
+
+unsigned char font_clB8x8_data[] = {
+/*
+COMMENT $XConsortium: clB8x8.bdf,v 1.2 94/04/11 12:07:01 gildea Exp $
+COMMENT
+COMMENT Copyright 1989 Dale Schumacher, dal@syntel.mn.org
+COMMENT 399 Beacon Ave.
+COMMENT St. Paul, MN 55104-3527
+COMMENT
+COMMENT Permission to use, copy, modify, and distribute this software and
+COMMENT its documentation for any purpose and without fee is hereby
+COMMENT granted, provided that the above copyright notice appear in all
+COMMENT copies and that both that copyright notice and this permission
+COMMENT notice appear in supporting documentation, and that the name of
+COMMENT Dale Schumacher not be used in advertising or publicity pertaining to
+COMMENT distribution of the software without specific, written prior
+COMMENT permission. Dale Schumacher makes no representations about the
+COMMENT suitability of this software for any purpose. It is provided "as
+COMMENT is" without express or implied warranty.
+*/
+/* code 00 */ 0xff,0xdb,0x00,0x00,0x00,0x81,0xc3,0xff,
+/* code 01 */ 0x08,0x14,0x22,0x77,0x14,0x14,0x14,0x1c,
+/* code 02 */ 0x1c,0x14,0x14,0x14,0x77,0x22,0x14,0x08,
+/* code 03 */ 0x08,0x0c,0x7a,0x41,0x7a,0x0c,0x08,0x00,
+/* code 04 */ 0x08,0x18,0x2f,0x41,0x2f,0x18,0x08,0x00,
+/* code 05 */ 0x3e,0x5d,0x6b,0x77,0x6b,0x5d,0x3e,0x00,
+/* code 06 */ 0x7f,0x7f,0x7f,0x7e,0x7d,0x7b,0x77,0x00,
+/* code 07 */ 0x77,0x6b,0x5d,0x3e,0x5d,0x6b,0x77,0x00,
+/* code 08 */ 0x60,0x50,0x60,0x53,0x64,0x02,0x01,0x06,
+/* code 09 */ 0x50,0x50,0x70,0x57,0x52,0x02,0x02,0x02,
+/* code 0a */ 0x40,0x40,0x40,0x47,0x74,0x06,0x04,0x04,
+/* code 0b */ 0x50,0x50,0x50,0x27,0x22,0x02,0x02,0x02,
+/* code 0c */ 0x70,0x40,0x60,0x47,0x44,0x06,0x04,0x04,
+/* code 0d */ 0x30,0x40,0x40,0x46,0x35,0x06,0x05,0x05,
+/* code 0e */ 0x05,0x05,0x05,0x0d,0x0d,0x19,0x79,0x71,
+/* code 0f */ 0xa0,0xa0,0xa0,0xb0,0xb0,0x98,0x9e,0x8e,
+/* code 10 */ 0x18,0x66,0x66,0x00,0x66,0x66,0x18,0x00,
+/* code 11 */ 0x00,0x06,0x06,0x00,0x06,0x06,0x00,0x00,
+/* code 12 */ 0x18,0x06,0x06,0x18,0x60,0x60,0x18,0x00,
+/* code 13 */ 0x18,0x06,0x06,0x18,0x06,0x06,0x18,0x00,
+/* code 14 */ 0x00,0x66,0x66,0x18,0x06,0x06,0x00,0x00,
+/* code 15 */ 0x18,0x60,0x60,0x18,0x06,0x06,0x18,0x00,
+/* code 16 */ 0x18,0x60,0x60,0x18,0x66,0x66,0x18,0x00,
+/* code 17 */ 0x18,0x06,0x06,0x00,0x06,0x06,0x00,0x00,
+/* code 18 */ 0x18,0x66,0x66,0x18,0x66,0x66,0x18,0x00,
+/* code 19 */ 0x18,0x66,0x66,0x18,0x06,0x06,0x18,0x00,
+/* code 1a */ 0x00,0x00,0x3e,0x03,0x7f,0x63,0x3e,0x00,
+/* code 1b */ 0x70,0x40,0x70,0x43,0x74,0x04,0x04,0x03,
+/* code 1c */ 0x07,0x0f,0x1f,0x18,0x18,0x10,0x1e,0x17,
+/* code 1d */ 0xf0,0xf8,0xec,0x04,0x04,0x04,0x3c,0x54,
+/* code 1e */ 0x11,0x0b,0x0d,0x06,0x07,0x2e,0x39,0x38,
+/* code 1f */ 0x04,0x28,0xd8,0x28,0xd0,0x10,0xe0,0x00,
+/* code 20 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* code 21 */ 0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x18,
+/* code 22 */ 0x14,0x14,0x14,0x00,0x00,0x00,0x00,0x00,
+/* code 23 */ 0x00,0x24,0x7e,0x24,0x24,0x7e,0x24,0x00,
+/* code 24 */ 0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08,0x00,
+/* code 25 */ 0x20,0x52,0x24,0x08,0x12,0x25,0x02,0x00,
+/* code 26 */ 0x38,0x40,0x20,0x30,0x4a,0x44,0x3a,0x00,
+/* code 27 */ 0x0c,0x08,0x10,0x00,0x00,0x00,0x00,0x00,
+/* code 28 */ 0x0c,0x18,0x30,0x30,0x30,0x18,0x0c,0x00,
+/* code 29 */ 0x18,0x0c,0x06,0x06,0x06,0x0c,0x18,0x00,
+/* code 2a */ 0x08,0x08,0x6b,0x1c,0x08,0x14,0x22,0x00,
+/* code 2b */ 0x08,0x08,0x08,0x7f,0x08,0x08,0x08,0x00,
+/* code 2c */ 0x00,0x00,0x00,0x00,0x00,0x18,0x10,0x20,
+/* code 2d */ 0x00,0x00,0x00,0x7f,0x00,0x00,0x00,0x00,
+/* code 2e */ 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,
+/* code 2f */ 0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,
+/* code 30 */ 0x3c,0x66,0x66,0x66,0x66,0x66,0x3c,0x00,
+/* code 31 */ 0x0c,0x1c,0x0c,0x0c,0x0c,0x0c,0x0c,0x00,
+/* code 32 */ 0x3c,0x66,0x06,0x0c,0x18,0x30,0x7e,0x00,
+/* code 33 */ 0x3c,0x66,0x06,0x1c,0x06,0x66,0x3c,0x00,
+/* code 34 */ 0x0c,0x1c,0x3c,0x6c,0x7e,0x0c,0x1e,0x00,
+/* code 35 */ 0x7e,0x60,0x7c,0x06,0x06,0x66,0x3c,0x00,
+/* code 36 */ 0x1c,0x30,0x60,0x7c,0x66,0x66,0x3c,0x00,
+/* code 37 */ 0x7e,0x66,0x06,0x0c,0x0c,0x18,0x18,0x00,
+/* code 38 */ 0x3c,0x66,0x66,0x3c,0x66,0x66,0x3c,0x00,
+/* code 39 */ 0x3c,0x66,0x66,0x3e,0x06,0x0c,0x38,0x00,
+/* code 3a */ 0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,
+/* code 3b */ 0x00,0x18,0x18,0x00,0x00,0x18,0x10,0x20,
+/* code 3c */ 0x00,0x07,0x1c,0x70,0x1c,0x07,0x00,0x00,
+/* code 3d */ 0x00,0x00,0x7f,0x00,0x00,0x7f,0x00,0x00,
+/* code 3e */ 0x00,0x70,0x1c,0x07,0x1c,0x70,0x00,0x00,
+/* code 3f */ 0x3c,0x66,0x06,0x0c,0x18,0x00,0x18,0x00,
+/* code 40 */ 0x3e,0x41,0x5d,0x55,0x5e,0x40,0x3e,0x00,
+/* code 41 */ 0x18,0x18,0x3c,0x34,0x7e,0x62,0xe3,0x00,
+/* code 42 */ 0x7e,0x63,0x63,0x7e,0x63,0x63,0x7e,0x00,
+/* code 43 */ 0x1e,0x33,0x60,0x60,0x60,0x33,0x1e,0x00,
+/* code 44 */ 0x7c,0x66,0x63,0x63,0x63,0x66,0x7c,0x00,
+/* code 45 */ 0x7f,0x60,0x60,0x7c,0x60,0x60,0x7f,0x00,
+/* code 46 */ 0x7f,0x60,0x60,0x7c,0x60,0x60,0x60,0x00,
+/* code 47 */ 0x1e,0x33,0x60,0x60,0x67,0x33,0x1f,0x00,
+/* code 48 */ 0x63,0x63,0x63,0x7f,0x63,0x63,0x63,0x00,
+/* code 49 */ 0x7e,0x18,0x18,0x18,0x18,0x18,0x7e,0x00,
+/* code 4a */ 0x1e,0x06,0x06,0x06,0x66,0x66,0x3c,0x00,
+/* code 4b */ 0x63,0x66,0x6c,0x78,0x6c,0x66,0x63,0x00,
+/* code 4c */ 0x60,0x60,0x60,0x60,0x60,0x60,0x7e,0x00,
+/* code 4d */ 0x63,0x63,0x77,0x6b,0x6b,0x63,0x63,0x00,
+/* code 4e */ 0x63,0x73,0x73,0x6b,0x6b,0x67,0x63,0x00,
+/* code 4f */ 0x1c,0x36,0x63,0x63,0x63,0x36,0x1c,0x00,
+/* code 50 */ 0x7e,0x63,0x63,0x7e,0x60,0x60,0x60,0x00,
+/* code 51 */ 0x1c,0x36,0x63,0x63,0x63,0x36,0x1c,0x06,
+/* code 52 */ 0x7e,0x63,0x63,0x7e,0x6c,0x66,0x63,0x00,
+/* code 53 */ 0x3e,0x63,0x60,0x3e,0x03,0x63,0x3e,0x00,
+/* code 54 */ 0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x00,
+/* code 55 */ 0x63,0x63,0x63,0x63,0x63,0x63,0x3e,0x00,
+/* code 56 */ 0x63,0x63,0x63,0x36,0x36,0x1c,0x1c,0x00,
+/* code 57 */ 0x63,0x63,0x6b,0x6b,0x6b,0x77,0x63,0x00,
+/* code 58 */ 0x66,0x66,0x3c,0x18,0x3c,0x66,0x66,0x00,
+/* code 59 */ 0x66,0x66,0x3c,0x18,0x18,0x18,0x18,0x00,
+/* code 5a */ 0x7e,0x06,0x0c,0x18,0x30,0x60,0x7e,0x00,
+/* code 5b */ 0x1e,0x18,0x18,0x18,0x18,0x18,0x1e,0x00,
+/* code 5c */ 0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,
+/* code 5d */ 0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x00,
+/* code 5e */ 0x18,0x34,0x62,0x00,0x00,0x00,0x00,0x00,
+/* code 5f */ 0x00,0x00,0x00,0x00,0x00,0x00,0x7f,0x00,
+/* code 60 */ 0x18,0x08,0x04,0x00,0x00,0x00,0x00,0x00,
+/* code 61 */ 0x00,0x00,0x3f,0x63,0x63,0x67,0x3b,0x00,
+/* code 62 */ 0x60,0x60,0x7e,0x63,0x63,0x63,0x7e,0x00,
+/* code 63 */ 0x00,0x00,0x3e,0x60,0x60,0x60,0x3e,0x00,
+/* code 64 */ 0x03,0x03,0x3f,0x63,0x63,0x63,0x3f,0x00,
+/* code 65 */ 0x00,0x00,0x3e,0x63,0x7f,0x60,0x3e,0x00,
+/* code 66 */ 0x1e,0x30,0x7c,0x30,0x30,0x30,0x30,0x00,
+/* code 67 */ 0x00,0x00,0x3f,0x63,0x63,0x3f,0x03,0x3e,
+/* code 68 */ 0x60,0x60,0x7e,0x63,0x63,0x63,0x63,0x00,
+/* code 69 */ 0x18,0x00,0x78,0x18,0x18,0x18,0x7e,0x00,
+/* code 6a */ 0x06,0x00,0x1e,0x06,0x06,0x06,0x06,0x3c,
+/* code 6b */ 0x60,0x60,0x66,0x6c,0x78,0x6c,0x66,0x00,
+/* code 6c */ 0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,
+/* code 6d */ 0x00,0x00,0x76,0x6b,0x6b,0x6b,0x63,0x00,
+/* code 6e */ 0x00,0x00,0x6e,0x73,0x63,0x63,0x63,0x00,
+/* code 6f */ 0x00,0x00,0x3e,0x63,0x63,0x63,0x3e,0x00,
+/* code 70 */ 0x00,0x00,0x7e,0x63,0x63,0x63,0x7e,0x60,
+/* code 71 */ 0x00,0x00,0x3f,0x63,0x63,0x63,0x3f,0x03,
+/* code 72 */ 0x00,0x00,0x6e,0x70,0x60,0x60,0x60,0x00,
+/* code 73 */ 0x00,0x00,0x3e,0x60,0x3c,0x06,0x7c,0x00,
+/* code 74 */ 0x18,0x18,0x7e,0x18,0x18,0x18,0x0e,0x00,
+/* code 75 */ 0x00,0x00,0x63,0x63,0x63,0x67,0x3b,0x00,
+/* code 76 */ 0x00,0x00,0x77,0x36,0x36,0x1c,0x1c,0x00,
+/* code 77 */ 0x00,0x00,0x63,0x6b,0x6b,0x6b,0x36,0x00,
+/* code 78 */ 0x00,0x00,0x66,0x3c,0x18,0x3c,0x66,0x00,
+/* code 79 */ 0x00,0x00,0x66,0x66,0x66,0x3e,0x06,0x3c,
+/* code 7a */ 0x00,0x00,0x7e,0x0c,0x18,0x30,0x7e,0x00,
+/* code 7b */ 0x0e,0x18,0x18,0x30,0x18,0x18,0x0e,0x00,
+/* code 7c */ 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
+/* code 7d */ 0x38,0x0c,0x0c,0x06,0x0c,0x0c,0x38,0x00,
+/* code 7e */ 0x31,0x49,0x46,0x00,0x00,0x00,0x00,0x00,
+/* code 7f */ 0x00,0x18,0x18,0x34,0x34,0x62,0x7e,0x00,
+};
+
+
+unsigned char font_clR8x8_data[] = {
+/*
+COMMENT $XConsortium: clR8x8.bdf,v 1.2 94/04/11 12:08:54 gildea Exp $
+COMMENT
+COMMENT Copyright 1989 Dale Schumacher, dal@syntel.mn.org
+COMMENT 399 Beacon Ave.
+COMMENT St. Paul, MN 55104-3527
+COMMENT
+COMMENT Permission to use, copy, modify, and distribute this software and
+COMMENT its documentation for any purpose and without fee is hereby
+COMMENT granted, provided that the above copyright notice appear in all
+COMMENT copies and that both that copyright notice and this permission
+COMMENT notice appear in supporting documentation, and that the name of
+COMMENT Dale Schumacher not be used in advertising or publicity pertaining to
+COMMENT distribution of the software without specific, written prior
+COMMENT permission. Dale Schumacher makes no representations about the
+COMMENT suitability of this software for any purpose. It is provided "as
+COMMENT is" without express or implied warranty.
+*/
+/* code 00 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* code 01 */ 0x08,0x14,0x22,0x77,0x14,0x14,0x14,0x1c,
+/* code 02 */ 0x1c,0x14,0x14,0x14,0x77,0x22,0x14,0x08,
+/* code 03 */ 0x08,0x0c,0x7a,0x41,0x7a,0x0c,0x08,0x00,
+/* code 04 */ 0x08,0x18,0x2f,0x41,0x2f,0x18,0x08,0x00,
+/* code 05 */ 0x3e,0x5d,0x6b,0x77,0x6b,0x5d,0x3e,0x00,
+/* code 06 */ 0x7f,0x7f,0x7f,0x7e,0x7d,0x7b,0x77,0x00,
+/* code 07 */ 0x77,0x6b,0x5d,0x3e,0x5d,0x6b,0x77,0x00,
+/* code 08 */ 0x60,0x50,0x60,0x53,0x64,0x02,0x01,0x06,
+/* code 09 */ 0x50,0x50,0x70,0x57,0x52,0x02,0x02,0x02,
+/* code 0a */ 0x40,0x40,0x40,0x47,0x74,0x06,0x04,0x04,
+/* code 0b */ 0x50,0x50,0x50,0x27,0x22,0x02,0x02,0x02,
+/* code 0c */ 0x70,0x40,0x60,0x47,0x44,0x06,0x04,0x04,
+/* code 0d */ 0x30,0x40,0x40,0x46,0x35,0x06,0x05,0x05,
+/* code 0e */ 0x05,0x05,0x05,0x0d,0x0d,0x0d,0x19,0x79,
+/* code 0f */ 0xa0,0xa0,0xa0,0xb0,0xb0,0xb0,0x98,0x9e,
+/* code 10 */ 0x18,0x42,0x42,0x00,0x42,0x42,0x18,0x00,
+/* code 11 */ 0x00,0x02,0x02,0x00,0x02,0x02,0x00,0x00,
+/* code 12 */ 0x18,0x02,0x02,0x18,0x40,0x40,0x18,0x00,
+/* code 13 */ 0x18,0x02,0x02,0x18,0x02,0x02,0x18,0x00,
+/* code 14 */ 0x00,0x42,0x42,0x18,0x02,0x02,0x00,0x00,
+/* code 15 */ 0x18,0x40,0x40,0x18,0x02,0x02,0x18,0x00,
+/* code 16 */ 0x18,0x40,0x40,0x18,0x42,0x42,0x18,0x00,
+/* code 17 */ 0x18,0x02,0x02,0x00,0x02,0x02,0x00,0x00,
+/* code 18 */ 0x18,0x42,0x42,0x18,0x42,0x42,0x18,0x00,
+/* code 19 */ 0x18,0x42,0x42,0x18,0x02,0x02,0x18,0x00,
+/* code 1a */ 0x00,0x00,0x3e,0x01,0x7f,0x41,0x3e,0x00,
+/* code 1b */ 0x70,0x40,0x70,0x43,0x74,0x04,0x04,0x03,
+/* code 1c */ 0x07,0x0f,0x1f,0x18,0x18,0x10,0x1e,0x17,
+/* code 1d */ 0xf0,0xf8,0xec,0x04,0x04,0x04,0x3c,0x54,
+/* code 1e */ 0x11,0x0b,0x0d,0x06,0x07,0x2e,0x39,0x38,
+/* code 1f */ 0x04,0x28,0xd8,0x28,0xd0,0x10,0xe0,0x00,
+/* code 20 */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
+/* code 21 */ 0x08,0x08,0x08,0x08,0x08,0x00,0x08,0x00,
+/* code 22 */ 0x14,0x14,0x14,0x00,0x00,0x00,0x00,0x00,
+/* code 23 */ 0x14,0x14,0x3e,0x14,0x3e,0x14,0x14,0x00,
+/* code 24 */ 0x08,0x1e,0x28,0x1c,0x0a,0x3c,0x08,0x00,
+/* code 25 */ 0x22,0x54,0x24,0x08,0x12,0x15,0x22,0x00,
+/* code 26 */ 0x38,0x40,0x20,0x30,0x4a,0x44,0x3a,0x00,
+/* code 27 */ 0x0c,0x08,0x10,0x00,0x00,0x00,0x00,0x00,
+/* code 28 */ 0x04,0x08,0x10,0x10,0x10,0x08,0x04,0x00,
+/* code 29 */ 0x10,0x08,0x04,0x04,0x04,0x08,0x10,0x00,
+/* code 2a */ 0x08,0x08,0x6b,0x1c,0x08,0x14,0x22,0x00,
+/* code 2b */ 0x08,0x08,0x08,0x7f,0x08,0x08,0x08,0x00,
+/* code 2c */ 0x00,0x00,0x00,0x00,0x00,0x18,0x10,0x20,
+/* code 2d */ 0x00,0x00,0x00,0x7f,0x00,0x00,0x00,0x00,
+/* code 2e */ 0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,
+/* code 2f */ 0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,
+/* code 30 */ 0x3c,0x42,0x42,0x42,0x42,0x42,0x3c,0x00,
+/* code 31 */ 0x08,0x18,0x08,0x08,0x08,0x08,0x08,0x00,
+/* code 32 */ 0x3c,0x42,0x04,0x08,0x10,0x20,0x7e,0x00,
+/* code 33 */ 0x3c,0x42,0x02,0x1c,0x02,0x42,0x3c,0x00,
+/* code 34 */ 0x04,0x0c,0x14,0x24,0x7e,0x04,0x0e,0x00,
+/* code 35 */ 0x7e,0x40,0x40,0x7c,0x02,0x02,0x7c,0x00,
+/* code 36 */ 0x1c,0x20,0x40,0x7c,0x42,0x42,0x3c,0x00,
+/* code 37 */ 0x7e,0x02,0x04,0x04,0x08,0x08,0x10,0x00,
+/* code 38 */ 0x3c,0x42,0x42,0x3c,0x42,0x42,0x3c,0x00,
+/* code 39 */ 0x3c,0x42,0x42,0x3e,0x02,0x04,0x38,0x00,
+/* code 3a */ 0x00,0x18,0x18,0x00,0x00,0x18,0x18,0x00,
+/* code 3b */ 0x00,0x18,0x18,0x00,0x00,0x18,0x10,0x20,
+/* code 3c */ 0x00,0x06,0x18,0x60,0x18,0x06,0x00,0x00,
+/* code 3d */ 0x00,0x00,0x7f,0x00,0x00,0x7f,0x00,0x00,
+/* code 3e */ 0x00,0x60,0x18,0x06,0x18,0x60,0x00,0x00,
+/* code 3f */ 0x1c,0x22,0x02,0x04,0x08,0x00,0x08,0x00,
+/* code 40 */ 0x1c,0x22,0x49,0x55,0x4a,0x20,0x1c,0x00,
+/* code 41 */ 0x08,0x08,0x1c,0x14,0x3e,0x22,0x63,0x00,
+/* code 42 */ 0x7e,0x41,0x41,0x7e,0x41,0x41,0x7e,0x00,
+/* code 43 */ 0x1e,0x21,0x40,0x40,0x40,0x21,0x1e,0x00,
+/* code 44 */ 0x7c,0x42,0x41,0x41,0x41,0x42,0x7c,0x00,
+/* code 45 */ 0x7f,0x40,0x40,0x7c,0x40,0x40,0x7f,0x00,
+/* code 46 */ 0x7f,0x40,0x40,0x7c,0x40,0x40,0x40,0x00,
+/* code 47 */ 0x1e,0x21,0x40,0x47,0x41,0x21,0x1f,0x00,
+/* code 48 */ 0x41,0x41,0x41,0x7f,0x41,0x41,0x41,0x00,
+/* code 49 */ 0x3e,0x08,0x08,0x08,0x08,0x08,0x3e,0x00,
+/* code 4a */ 0x0e,0x02,0x02,0x02,0x42,0x42,0x3c,0x00,
+/* code 4b */ 0x42,0x44,0x48,0x70,0x48,0x44,0x42,0x00,
+/* code 4c */ 0x40,0x40,0x40,0x40,0x40,0x40,0x7e,0x00,
+/* code 4d */ 0x41,0x63,0x55,0x49,0x41,0x41,0x41,0x00,
+/* code 4e */ 0x41,0x61,0x51,0x49,0x45,0x43,0x41,0x00,
+/* code 4f */ 0x1c,0x22,0x41,0x41,0x41,0x22,0x1c,0x00,
+/* code 50 */ 0x7e,0x41,0x41,0x7e,0x40,0x40,0x40,0x00,
+/* code 51 */ 0x1c,0x22,0x41,0x41,0x41,0x22,0x1c,0x07,
+/* code 52 */ 0x7e,0x41,0x41,0x7e,0x44,0x42,0x41,0x00,
+/* code 53 */ 0x3e,0x41,0x40,0x3e,0x01,0x41,0x3e,0x00,
+/* code 54 */ 0x7f,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
+/* code 55 */ 0x41,0x41,0x41,0x41,0x41,0x41,0x3e,0x00,
+/* code 56 */ 0x63,0x22,0x22,0x14,0x14,0x08,0x08,0x00,
+/* code 57 */ 0x41,0x41,0x41,0x49,0x55,0x63,0x41,0x00,
+/* code 58 */ 0x41,0x22,0x14,0x08,0x14,0x22,0x41,0x00,
+/* code 59 */ 0x41,0x22,0x14,0x08,0x08,0x08,0x08,0x00,
+/* code 5a */ 0x7f,0x02,0x04,0x08,0x10,0x20,0x7f,0x00,
+/* code 5b */ 0x0e,0x08,0x08,0x08,0x08,0x08,0x0e,0x00,
+/* code 5c */ 0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,
+/* code 5d */ 0x38,0x08,0x08,0x08,0x08,0x08,0x38,0x00,
+/* code 5e */ 0x08,0x14,0x22,0x00,0x00,0x00,0x00,0x00,
+/* code 5f */ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7f,
+/* code 60 */ 0x18,0x08,0x04,0x00,0x00,0x00,0x00,0x00,
+/* code 61 */ 0x00,0x00,0x3f,0x41,0x41,0x43,0x3d,0x00,
+/* code 62 */ 0x40,0x40,0x7e,0x41,0x41,0x41,0x7e,0x00,
+/* code 63 */ 0x00,0x00,0x3e,0x40,0x40,0x40,0x3e,0x00,
+/* code 64 */ 0x01,0x01,0x3f,0x41,0x41,0x41,0x3f,0x00,
+/* code 65 */ 0x00,0x00,0x3e,0x41,0x7f,0x40,0x3e,0x00,
+/* code 66 */ 0x1e,0x20,0x78,0x20,0x20,0x20,0x20,0x00,
+/* code 67 */ 0x00,0x00,0x3f,0x41,0x41,0x3f,0x01,0x3e,
+/* code 68 */ 0x40,0x40,0x7e,0x41,0x41,0x41,0x41,0x00,
+/* code 69 */ 0x08,0x00,0x38,0x08,0x08,0x08,0x3e,0x00,
+/* code 6a */ 0x02,0x00,0x1e,0x02,0x02,0x02,0x02,0x3c,
+/* code 6b */ 0x40,0x40,0x46,0x48,0x70,0x48,0x46,0x00,
+/* code 6c */ 0x18,0x08,0x08,0x08,0x08,0x08,0x1c,0x00,
+/* code 6d */ 0x00,0x00,0x76,0x49,0x49,0x49,0x41,0x00,
+/* code 6e */ 0x00,0x00,0x5e,0x61,0x41,0x41,0x41,0x00,
+/* code 6f */ 0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,
+/* code 70 */ 0x00,0x00,0x7e,0x41,0x41,0x41,0x7e,0x40,
+/* code 71 */ 0x00,0x00,0x3f,0x41,0x41,0x41,0x3f,0x01,
+/* code 72 */ 0x00,0x00,0x2e,0x30,0x20,0x20,0x20,0x00,
+/* code 73 */ 0x00,0x00,0x3e,0x40,0x3c,0x02,0x7c,0x00,
+/* code 74 */ 0x10,0x10,0x7e,0x10,0x10,0x10,0x0e,0x00,
+/* code 75 */ 0x00,0x00,0x41,0x41,0x41,0x43,0x3d,0x00,
+/* code 76 */ 0x00,0x00,0x63,0x22,0x14,0x14,0x08,0x00,
+/* code 77 */ 0x00,0x00,0x41,0x49,0x49,0x49,0x36,0x00,
+/* code 78 */ 0x00,0x00,0x63,0x14,0x08,0x14,0x63,0x00,
+/* code 79 */ 0x00,0x00,0x42,0x42,0x42,0x3e,0x02,0x3c,
+/* code 7a */ 0x00,0x00,0x7e,0x04,0x18,0x20,0x7e,0x00,
+/* code 7b */ 0x04,0x08,0x08,0x10,0x08,0x08,0x04,0x00,
+/* code 7c */ 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x00,
+/* code 7d */ 0x10,0x08,0x08,0x04,0x08,0x08,0x10,0x00,
+/* code 7e */ 0x31,0x49,0x46,0x00,0x00,0x00,0x00,0x00,
+/* code 7f */ 0x00,0x08,0x08,0x14,0x14,0x22,0x3e,0x00,
+};
View
370 sys/arch/hpcmips/dev/fb.c
@@ -0,0 +1,370 @@
+/* $NetBSD: fb.c,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $ */
+
+/*-
+ * Copyright (c) 1999
+ * Shin Takemura and PocketBSD Project. 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 PocketBSD project
+ * and its contributors.
+ * 4. Neither the name of the project 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.
+ *
+ */
+/*
+ * Copyright (c) 1995, 1996 Carnegie-Mellon University.
+ * All rights reserved.
+ *
+ * Author: Chris G. Demetriou
+ *
+ * Permission to use, copy, modify and distribute this software and
+ * its documentation is hereby granted, provided that both the copyright
+ * notice and this permission notice appear in all copies of the
+ * software, derivative works or modified versions, and any portions
+ * thereof, and that both notices appear in supporting documentation.
+ *
+ * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
+ * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
+ * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
+ *
+ * Carnegie Mellon requests users of this software to return to
+ *
+ * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
+ * School of Computer Science
+ * Carnegie Mellon University
+ * Pittsburgh PA 15213-3890
+ *
+ * any improvements or extensions that they make and grant Carnegie the
+ * rights to redistribute these changes.
+ */
+
+static const char _copyright[] __attribute__ ((unused)) =
+ "Copyright (c) 19999 Shin Takemura. All rights reserved.";
+static const char _rcsid[] __attribute__ ((unused)) =
+ "$Id: fb.c,v 1.1.1.1 1999/09/16 12:23:19 takemura Exp $";
+
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/kernel.h>
+#include <sys/device.h>
+#include <sys/conf.h>
+#include <sys/malloc.h>
+#include <sys/buf.h>
+#include <sys/ioctl.h>
+
+#include <vm/vm.h>
+
+#include <machine/bus.h>
+#include <machine/autoconf.h>
+#include <machine/bootinfo.h>
+
+#include <arch/hpcmips/dev/fbvar.h>
+
+#include <dev/rcons/raster.h>
+#include <dev/wscons/wsconsio.h>
+#include <dev/wscons/wscons_raster.h>
+#include <dev/wscons/wsdisplayvar.h>
+
+#define FBDEBUG
+#ifdef FBDEBUG
+int fb_debug = 1;
+#define DPRINTF(arg) if (fb_debug) printf arg;
+#else
+#define DPRINTF(arg)
+#endif
+
+/*
+ * function prototypes
+ */
+int fbmatch __P((struct device *, struct cfdata *, void *));
+void fbattach __P((struct device *, struct device *, void *));
+int fbprint __P((void *, const char *));
+
+int fb_ioctl __P((void *, u_long, caddr_t, int, struct proc *));
+int fb_mmap __P((void *, off_t, int));
+static int fb_getdevconfig __P((struct fb_devconfig *dc));
+static int fb_alloc_screen __P((void *, const struct wsscreen_descr *,
+ void **, int *, int *, long *));
+static void fb_free_screen __P((void *, void *));
+static void fb_show_screen __P((void *, void *));
+
+static int pow __P((int, int));
+
+/*
+ * static variables
+ */
+struct cfattach fb_ca = {
+ sizeof(struct fb_softc), fbmatch, fbattach,
+};
+
+struct wsdisplay_emulops fb_emulops = {
+ rcons_cursor,
+ rcons_mapchar,
+ rcons_putchar,
+ rcons_copycols,
+ rcons_erasecols,
+ rcons_copyrows,
+ rcons_eraserows,
+ rcons_alloc_attr
+};
+
+struct wsscreen_descr fb_stdscreen = {
+ "std",
+ 0, 0, /* will be filled in -- XXX shouldn't, it's global */
+ &fb_emulops,
+ 0, 0,
+ WSSCREEN_REVERSE
+};
+
+const struct wsscreen_descr *_fb_scrlist[] = {
+ &fb_stdscreen,
+ /* XXX other formats, graphics screen? */
+};
+
+struct wsscreen_list fb_screenlist = {
+ sizeof(_fb_scrlist) / sizeof(struct wsscreen_descr *), _fb_scrlist
+};
+
+struct wsdisplay_accessops fb_accessops = {
+ fb_ioctl,
+ fb_mmap,
+ fb_alloc_screen,
+ fb_free_screen,
+ fb_show_screen,
+ 0 /* load_font */
+};
+
+struct fb_devconfig fb_console_dc;
+
+/*
+ * function bodies
+ */
+static int
+pow(int x, int n)
+{
+ int res = 1;
+ while (0 < n--) {
+ res *= x;
+ }
+ return (res);
+}
+
+int
+fbmatch(parent, match, aux)
+ struct device *parent;
+ struct cfdata *match;
+ void *aux;
+{
+ struct mainbus_attach_args *ma = aux;
+
+ if (strcmp(ma->ma_name, match->cf_driver->cd_name))
+ return 0;
+
+ return (1);
+}
+
+void
+fbattach(parent, self, aux)
+ struct device *parent, *self;
+ void *aux;
+{
+ struct fb_softc *sc = (struct fb_softc *)self;
+ struct mainbus_attach_args *ma = aux;
+ struct wsemuldisplaydev_attach_args wa;
+ int console;
+
+ /* avoid warning */
+ console = (int)ma->ma_iot;
+
+ console = 0;
+ if (console) {
+ sc->sc_dc = &fb_console_dc;
+ sc->nscreens = 1;
+ } else {
+ sc->sc_dc = (struct fb_devconfig *)
+ malloc(sizeof(struct fb_devconfig), M_DEVBUF, M_WAITOK);
+ bzero(sc->sc_dc, sizeof(struct fb_devconfig));
+ if (fb_getdevconfig(sc->sc_dc) != 0) {