diff options
| author | cvs2svn <cvs2svn@FreeBSD.org> | 2004-04-21 11:08:56 +0000 |
|---|---|---|
| committer | cvs2svn <cvs2svn@FreeBSD.org> | 2004-04-21 11:08:56 +0000 |
| commit | e16674995c4574c1bd13b85d6d2bc2c5ea39deaa (patch) | |
| tree | 6786fc3cf7351b8f7ad8129d68b23e35e490dd36 /sys/modules | |
| parent | b7b2f5b0b8f5aea3ab91202b2a2b26530f44bf2a (diff) | |
| parent | 7a93aeb05a697b3542488d1d4d684291cff94f2d (diff) | |
Notes
Diffstat (limited to 'sys/modules')
290 files changed, 7975 insertions, 0 deletions
diff --git a/sys/modules/Makefile b/sys/modules/Makefile new file mode 100644 index 000000000000..d6fafedd67db --- /dev/null +++ b/sys/modules/Makefile @@ -0,0 +1,171 @@ +# $FreeBSD$ + +# XXX present but broken: ip_mroute_mod pcic + +SUBDIR= accf_data \ + accf_http \ + agp \ + aha \ + amr \ + an \ + aue \ + bfe \ + bge \ + bridge \ + cam \ + ccd \ + cd9660 \ + coda \ + crypto \ + cryptodev \ + cue \ + dc \ + dcons \ + dcons_crom \ + dummynet \ + ed \ + ext2fs \ + fdesc \ + firewire \ + fxp \ + gx \ + ida \ + if_disc \ + if_ef \ + if_faith \ + if_gif \ + if_gre \ + if_ppp \ + if_sl \ + if_stf \ + if_tap \ + if_tun \ + if_vlan \ + iir \ + ip6fw \ + ipfw \ + ispfw \ + joy \ + kue \ + lge \ + libiconv \ + libmchain \ + linux \ + md \ + mfs \ + mii \ + mlx \ + msdos \ + my \ + ncp \ + pcn \ + netgraph \ + nfs \ + nge \ + nmdm \ + ntfs \ + nullfs \ + nwfs \ + portal \ + procfs \ + rl \ + rp \ + rue \ + sbsh \ + sf \ + sis \ + sk \ + snp \ + sound \ + ste \ + syscons \ + ti \ + tl \ + trm \ + twe \ + txp \ + ubsa \ + ucom \ + ufm \ + uftdi \ + ugen \ + uhid \ + ukbd \ + ulpt \ + umapfs \ + umass \ + umct \ + umodem \ + ums \ + union \ + uplcom \ + usb \ + uscanner \ + uvisor \ + uvscom \ + vinum \ + vn \ + vpo \ + vr \ + wb \ + wx \ + xl + +.if !defined(NO_IPFILTER) +SUBDIR+=ipfilter +.endif + +# XXX some of these can move to the general case when de-i386'ed +.if ${MACHINE_ARCH} == "i386" +SUBDIR+=ar \ + bktr \ + coff \ + em \ + fpu \ + gnufpu \ + hifn \ + ibcs2 \ + linprocfs \ + ncv \ + nsp \ + ray \ + safe \ + sbni \ + scsi_low \ + smbfs \ + splash \ + sppp \ + sr \ + stg \ + streams \ + svr4 \ + ubsec \ + wi \ + xe + +.if ${MACHINE} == "i386" +SUBDIR+=aac \ + asr \ + ciss \ + mly \ + pst \ + twa \ + vesa + +.elif ${MACHINE} == "pc98" +SUBDIR+=canbepm \ + canbus \ + pmc \ + snc +.endif +.endif + +.if ${MACHINE_ARCH} == "alpha" +SUBDIR+=osf1 +.endif + +.if defined(MODULES_OVERRIDE) +SUBDIR=${MODULES_OVERRIDE} +.endif + +.include <bsd.subdir.mk> diff --git a/sys/modules/Makefile.inc b/sys/modules/Makefile.inc new file mode 100644 index 000000000000..9dc38af9623f --- /dev/null +++ b/sys/modules/Makefile.inc @@ -0,0 +1,6 @@ +# $FreeBSD$ + +.if ${MACHINE} == "pc98" +CFLAGS+= -DPC98 +.endif + diff --git a/sys/modules/aac/Makefile b/sys/modules/aac/Makefile new file mode 100644 index 000000000000..aea93826fbfc --- /dev/null +++ b/sys/modules/aac/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/aac + +SUBDIR= aac_linux + +KMOD= aac +SRCS= aac.c aac_pci.c aac_disk.c aac_cam.c +SRCS+= opt_scsi.h opt_cam.h opt_aac.h +SRCS+= device_if.h bus_if.h pci_if.h + +#CFLAGS+= -DAAC_DEBUG=2 +#SRCS+= aac_debug.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/aac/aac_linux/Makefile b/sys/modules/aac/aac_linux/Makefile new file mode 100644 index 000000000000..774e07df7f99 --- /dev/null +++ b/sys/modules/aac/aac_linux/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/aac + +KMOD= aac_linux +SRCS= aac_linux.c + +KMODDEPS= aac + +.include <bsd.kmod.mk> diff --git a/sys/modules/accf_data/Makefile b/sys/modules/accf_data/Makefile new file mode 100644 index 000000000000..9f3a64ef5213 --- /dev/null +++ b/sys/modules/accf_data/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../netinet +KMOD = accf_data +SRCS = accf_data.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/accf_http/Makefile b/sys/modules/accf_http/Makefile new file mode 100644 index 000000000000..2b76ac6478ae --- /dev/null +++ b/sys/modules/accf_http/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../netinet +KMOD = accf_http +SRCS = accf_http.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/agp/Makefile b/sys/modules/agp/Makefile new file mode 100644 index 000000000000..7eb2ed79ac49 --- /dev/null +++ b/sys/modules/agp/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = agp +SRCS = agp.c agp_intel.c agp_via.c agp_sis.c agp_ali.c agp_amd.c +SRCS += agp_i810.c agp_if.c +SRCS += device_if.h bus_if.h agp_if.h pci_if.h +SRCS += opt_bdg.h opt_bus.h opt_pci.h +MFILES = kern/device_if.m kern/bus_if.m pci/agp_if.m pci/pci_if.m + +.include <bsd.kmod.mk> diff --git a/sys/modules/aha/Makefile b/sys/modules/aha/Makefile new file mode 100644 index 000000000000..a13352249b31 --- /dev/null +++ b/sys/modules/aha/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/aha +KMOD = aha +SRCS = aha.c aha_isa.c ahareg.h opt_cam.h device_if.h bus_if.h aha.h \ + opt_scsi.h isa_if.h +CLEANFILES = aha.h + +aha.h: + echo "#define NAHA 1" > aha.h + +opt_scsi.h: + echo "#define SCSI_DELAY 15000" > opt_scsi.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/aic7xxx/Makefile b/sys/modules/aic7xxx/Makefile new file mode 100644 index 000000000000..47550f0de2c4 --- /dev/null +++ b/sys/modules/aic7xxx/Makefile @@ -0,0 +1,6 @@ + +# $FreeBSD$ + +SUBDIR= aicasm ahc ahd + +.include <bsd.subdir.mk> diff --git a/sys/modules/aic7xxx/Makefile.inc b/sys/modules/aic7xxx/Makefile.inc new file mode 100644 index 000000000000..265f86d1ed55 --- /dev/null +++ b/sys/modules/aic7xxx/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/sys/modules/aic7xxx/ahc/Makefile b/sys/modules/aic7xxx/ahc/Makefile new file mode 100644 index 000000000000..35bab328c2cc --- /dev/null +++ b/sys/modules/aic7xxx/ahc/Makefile @@ -0,0 +1,40 @@ + +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/aic7xxx +KMOD= ahc +SUBDIR= ahc_eisa ahc_pci + +BEFORE_DEPEND= aic7xxx_{seq,reg}.h + +../aicasm/aicasm: + ( cd ${.CURDIR}/../aicasm; ${MAKE} aicasm; ) + +aic7xxx_{seq.h,reg.h,reg_print.c}: \ + ${.CURDIR}/../../../dev/aic7xxx/aic7xxx.{reg,seq} \ + ${.CURDIR}/../../../cam/scsi/scsi_message.h ../aicasm/aicasm + ${.OBJDIR}/../aicasm/aicasm ${INCLUDES} -I${.CURDIR}/../../../cam/scsi \ + -I${.CURDIR}/../../../dev/aic7xxx \ + -o aic7xxx_seq.h -r aic7xxx_reg.h \ + -p aic7xxx_reg_print.c \ + -i ${.CURDIR}/../../../dev/aic7xxx/aic7xxx_osm.h \ + ${.CURDIR}/../../../dev/aic7xxx/aic7xxx.seq + +GENSRCS= aic7xxx_reg.h aic7xxx_seq.h pci.h + +AHC_REG_PRETTY_PRINT=1 +SRCS= ${GENSRCS} +.ifdef AHC_REG_PRETTY_PRINT +SRCS+= aic7xxx_reg_print.c +CFLAGS+= -DAHC_REG_PRETTY_PRINT=1 +.endif +SRCS+= aic7xxx.c aic7xxx_93cx6.c aic7xxx_osm.c +SRCS+= opt_scsi.h opt_aic7xxx.h opt_cam.h +SRCS+= device_if.h bus_if.h pci_if.h + +CLEANFILES= ${GENSRCS} aic7xxx_reg_print.c + +pci.h: + echo "#define NPCI 1" > pci.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/aic7xxx/ahc/Makefile.inc b/sys/modules/aic7xxx/ahc/Makefile.inc new file mode 100644 index 000000000000..265f86d1ed55 --- /dev/null +++ b/sys/modules/aic7xxx/ahc/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile b/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile new file mode 100644 index 000000000000..c6a37026beda --- /dev/null +++ b/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile @@ -0,0 +1,18 @@ + +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/aic7xxx +KMOD= ahc_eisa + +../aic7xxx_reg.h: + ( cd .. ; ${MAKE} aic7xxx_reg.h ) + +SRCS= ahc_eisa.c aic7770.c ../aic7xxx_reg.h +SRCS+= device_if.h bus_if.h pci_if.h +SRCS+= opt_scsi.h opt_cam.h opt_aic7xxx.h + +CFLAGS+= -I${.CURDIR}/../../../../dev/aic7xxx -I.. + +CLEANFILES= ../aic7xxx_reg.h ../aic7xxx_seq.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/aic7xxx/ahc/ahc_pci/Makefile b/sys/modules/aic7xxx/ahc/ahc_pci/Makefile new file mode 100644 index 000000000000..9a595806500d --- /dev/null +++ b/sys/modules/aic7xxx/ahc/ahc_pci/Makefile @@ -0,0 +1,16 @@ + +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/aic7xxx +KMOD= ahc_pci + +../aic7xxx_reg.h: + ( cd .. ; ${MAKE} aic7xxx_reg.h ) + +SRCS= ahc_pci.c aic7xxx_pci.c ../aic7xxx_reg.h +SRCS+= device_if.h bus_if.h pci_if.h +SRCS+= opt_scsi.h opt_cam.h opt_aic7xxx.h + +CFLAGS+= -I${.CURDIR}/../../../../dev/aic7xxx -I.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/aic7xxx/ahd/Makefile b/sys/modules/aic7xxx/ahd/Makefile new file mode 100644 index 000000000000..338abfd4ce6b --- /dev/null +++ b/sys/modules/aic7xxx/ahd/Makefile @@ -0,0 +1,36 @@ + +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/aic7xxx +KMOD= ahd + +BEFORE_DEPEND= aic79xx_{seq,reg}.h + +../aicasm/aicasm: + ( cd ${.CURDIR}/../aicasm; ${MAKE} aicasm; ) + +aic79xx_{seq.h,reg.h,reg_print.c}: \ + ${.CURDIR}/../../../dev/aic7xxx/aic79xx.{reg,seq} \ + ${.CURDIR}/../../../cam/scsi/scsi_message.h ../aicasm/aicasm + ${.OBJDIR}/../aicasm/aicasm ${INCLUDES} -I${.CURDIR}/../../../cam/scsi \ + -I${.CURDIR}/../../../dev/aic7xxx \ + -o aic79xx_seq.h -r aic79xx_reg.h \ + -p aic79xx_reg_print.c \ + -i ${.CURDIR}/../../../dev/aic7xxx/aic79xx_osm.h \ + ${.CURDIR}/../../../dev/aic7xxx/aic79xx.seq + +GENSRCS= aic79xx_reg.h aic79xx_seq.h + +SRCS= ${GENSRCS} +AHD_REG_PRETTY_PRINT=1 +.ifdef AHD_REG_PRETTY_PRINT +SRCS+= aic79xx_reg_print.c +CFLAGS+= -DAHD_REG_PRETTY_PRINT=1 +.endif +SRCS+= aic79xx.c aic79xx_osm.c aic79xx_pci.c ahd_pci.c +SRCS+= opt_scsi.h opt_aic79xx.h opt_cam.h opt_ddb.h +SRCS+= device_if.h bus_if.h pci_if.h + +CLEANFILES= ${GENSRCS} aic79xx_reg_print.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/aic7xxx/aicasm/Makefile b/sys/modules/aic7xxx/aicasm/Makefile new file mode 100644 index 000000000000..e961b8b0864b --- /dev/null +++ b/sys/modules/aic7xxx/aicasm/Makefile @@ -0,0 +1,30 @@ + +# $FreeBSD$ + +all: aicasm + +aicasm: ${.CURDIR}/../../../dev/aic7xxx/aicasm/*.[chyl] + ${MAKE} -f ${.CURDIR}/../../../dev/aic7xxx/aicasm/Makefile \ + MAKESRCPATH=${.CURDIR}/../../../dev/aic7xxx/aicasm + +depend: + ${MAKE} -f ${.CURDIR}/../../../dev/aic7xxx/aicasm/Makefile \ + MAKESRCPATH=${.CURDIR}/../../../dev/aic7xxx/aicasm depend + +obj: + ${MAKE} -f ${.CURDIR}/../../../dev/aic7xxx/aicasm/Makefile \ + MAKESRCPATH=${.CURDIR}/../../../dev/aic7xxx/aicasm obj + +clean: + ${MAKE} -f ${.CURDIR}/../../../dev/aic7xxx/aicasm/Makefile \ + MAKESRCPATH=${.CURDIR}/../../../dev/aic7xxx/aicasm clean + +cleandir: + ${MAKE} -f ${.CURDIR}/../../../dev/aic7xxx/aicasm/Makefile \ + MAKESRCPATH=${.CURDIR}/../../../dev/aic7xxx/aicasm cleandir + +cleandepend: + ${MAKE} -f ${.CURDIR}/../../../dev/aic7xxx/aicasm/Makefile \ + MAKESRCPATH=${.CURDIR}/../../../dev/aic7xxx/aicasm cleandepend + +install: diff --git a/sys/modules/amr/Makefile b/sys/modules/amr/Makefile new file mode 100644 index 000000000000..d32f63dcd69a --- /dev/null +++ b/sys/modules/amr/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/amr +KMOD = amr +SRCS = amr.c amr_pci.c amr_disk.c device_if.h bus_if.h pci_if.h + +# SCSI passthrough support for non-disk devices +#CFLAGS += -DAMR_SCSI_PASSTHROUGH +SRCS += amr_cam.c opt_cam.h opt_scsi.h + +# Enable a questionable optimisation for newer adapters +#CFLAGS += -DAMR_QUARTZ_GOFASTER + +# Debugging +#CFLAGS += -DAMR_DEBUG=3 + +.include <bsd.kmod.mk> diff --git a/sys/modules/an/Makefile b/sys/modules/an/Makefile new file mode 100644 index 000000000000..7c18f5db3e2b --- /dev/null +++ b/sys/modules/an/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/an +KMOD = if_an +SRCS = if_an.c if_an_pccard.c if_an_pci.c if_an_isa.c +SRCS += opt_inet.h device_if.h bus_if.h pci_if.h isa_if.h + +opt_inet.h: + echo "#define INET 1" > opt_inet.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ar/Makefile b/sys/modules/ar/Makefile new file mode 100644 index 000000000000..3951fd46fb9f --- /dev/null +++ b/sys/modules/ar/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ar +KMOD = if_ar +SRCS = if_ar.c if_ar_isa.c if_ar_pci.c +SRCS += device_if.h bus_if.h pci_if.h isa_if.h opt_netgraph.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/asr/Makefile b/sys/modules/asr/Makefile new file mode 100644 index 000000000000..ee0cd1c86a87 --- /dev/null +++ b/sys/modules/asr/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/asr +KMOD = asr +SRCS = asr.c +SRCS += opt_scsi.h opt_cam.h opt_asr.h +SRCS += device_if.h bus_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/aue/Makefile b/sys/modules/aue/Makefile new file mode 100644 index 000000000000..0ff85b6b935d --- /dev/null +++ b/sys/modules/aue/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= if_aue +SRCS= if_aue.c opt_bdg.h opt_usb.h device_if.h bus_if.h +SRCS+= miibus_if.h +KMODDEPS= miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/bfe/Makefile b/sys/modules/bfe/Makefile new file mode 100644 index 000000000000..53b4f2978ad9 --- /dev/null +++ b/sys/modules/bfe/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/bfe + +KMOD= if_bfe +SRCS= if_bfe.c miibus_if.h opt_bdg.h device_if.h bus_if.h pci_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/bge/Makefile b/sys/modules/bge/Makefile new file mode 100644 index 000000000000..4d3d58f18c38 --- /dev/null +++ b/sys/modules/bge/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/bge + +KMOD= if_bge +SRCS= if_bge.c miibus_if.h opt_bdg.h device_if.h bus_if.h pci_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/bktr/Makefile b/sys/modules/bktr/Makefile new file mode 100644 index 000000000000..1a9e0376921f --- /dev/null +++ b/sys/modules/bktr/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +SUBDIR = +SUBDIR += bktr +SUBDIR += bktr_mem + +.include <bsd.subdir.mk> diff --git a/sys/modules/bktr/Makefile.inc b/sys/modules/bktr/Makefile.inc new file mode 100644 index 000000000000..265f86d1ed55 --- /dev/null +++ b/sys/modules/bktr/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/sys/modules/bktr/bktr/Makefile b/sys/modules/bktr/bktr/Makefile new file mode 100644 index 000000000000..47aa6f4788f7 --- /dev/null +++ b/sys/modules/bktr/bktr/Makefile @@ -0,0 +1,21 @@ +# Makefile for the bktr Brooktree Bt848/Bt878 PCI video capture device + +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/bktr +KMOD= bktr +SRCS= bktr_core.c bktr_os.c bktr_audio.c bktr_tuner.c bktr_card.c \ + bktr.h opt_bktr.h smbus.h bus_if.h device_if.h \ + pci_if.h vnode_if.h +CLEANFILES= bktr.h smbus.h + +bktr.h: + echo "#define NBKTR 1" > bktr.h + echo "#define BKTR_FREEBSD_MODULE 1" >> bktr.h + +# Does not use SMBUS/IICBUS. Uses the old i2c code self contained in +# the bt848 driver. +smbus.h: + echo "#define NSMBUS 0" > smbus.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/bktr/bktr_mem/Makefile b/sys/modules/bktr/bktr_mem/Makefile new file mode 100644 index 000000000000..4d2bba314441 --- /dev/null +++ b/sys/modules/bktr/bktr_mem/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +MAINTAINER = roger@freebsd.org + +.PATH: ${.CURDIR}/../../../dev/bktr +KMOD= bktr_mem +SRCS= bktr_mem.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/bridge/Makefile b/sys/modules/bridge/Makefile new file mode 100644 index 000000000000..193e3fc4e178 --- /dev/null +++ b/sys/modules/bridge/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net +KMOD= bridge +SRCS= bridge.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/cam/Makefile b/sys/modules/cam/Makefile new file mode 100644 index 000000000000..c7ef01ea01ac --- /dev/null +++ b/sys/modules/cam/Makefile @@ -0,0 +1,35 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org +S= ${.CURDIR}/../.. + +.PATH: $S/cam $S/cam/scsi + +KMOD= cam + +# See sys/conf/options for the flags that go into the different opt_*.h files. +SRCS= opt_cam.h +SRCS+= opt_scsi.h +SRCS+= opt_cd.h +SRCS+= opt_hw_wdog.h +SRCS+= opt_pt.h +SRCS+= opt_sa.h +SRCS+= opt_ses.h +SRCS+= device_if.h bus_if.h vnode_if.h +SRCS+= cam.c cam_periph.c cam_queue.c +SRCS+= cam_sim.c cam_xpt.c +SRCS+= cam_extend.c +SRCS+= scsi_all.c scsi_cd.c scsi_ch.c +SRCS+= scsi_da.c +SRCS+= scsi_pass.c +SRCS+= scsi_pt.c +SRCS+= scsi_sa.c +SRCS+= scsi_ses.c +SRCS+= scsi_targ_bh.c scsi_target.c + +EXPORT_SYMS= YES # XXX evaluate + +opt_scsi.h: + echo "#define SCSI_DELAY 15000" > ${.TARGET} + +.include <bsd.kmod.mk> diff --git a/sys/modules/canbepm/Makefile b/sys/modules/canbepm/Makefile new file mode 100644 index 000000000000..0eb911243eee --- /dev/null +++ b/sys/modules/canbepm/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pc98/pc98 +KMOD = canbepm +SRCS = canbepm.c +SRCS += device_if.h bus_if.h canbus_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/canbus/Makefile b/sys/modules/canbus/Makefile new file mode 100644 index 000000000000..19487e01ef3d --- /dev/null +++ b/sys/modules/canbus/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pc98/pc98 +KMOD = canbus +SRCS = canbus.c +SRCS += device_if.h bus_if.h canbus_if.h canbus_if.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/cardbus/Makefile b/sys/modules/cardbus/Makefile new file mode 100644 index 000000000000..5ac7d33ea465 --- /dev/null +++ b/sys/modules/cardbus/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/cardbus +KMOD= cardbus +SRCS= cardbus.c \ + device_if.h bus_if.h +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/cbb/Makefile b/sys/modules/cbb/Makefile new file mode 100644 index 000000000000..a48b00231a6d --- /dev/null +++ b/sys/modules/cbb/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD= cbb +SRCS= pccbb.c \ + device_if.h bus_if.h +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/ccd/Makefile b/sys/modules/ccd/Makefile new file mode 100644 index 000000000000..3235eae6e474 --- /dev/null +++ b/sys/modules/ccd/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ccd +KMOD= ccd +SRCS= ccd.c ccd.h vnode_if.h +NOMAN= + +NCCD?= 4 +CLEANFILES= ccd.h + +ccd.h: + echo "#define NCCD ${NCCD}" > ccd.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/cd9660/Makefile b/sys/modules/cd9660/Makefile new file mode 100644 index 000000000000..8443e318d824 --- /dev/null +++ b/sys/modules/cd9660/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../isofs/cd9660 +KMOD= cd9660 +SRCS= vnode_if.h \ + cd9660_bmap.c cd9660_lookup.c cd9660_node.c cd9660_rrip.c \ + cd9660_util.c cd9660_vfsops.c cd9660_vnops.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/ciss/Makefile b/sys/modules/ciss/Makefile new file mode 100644 index 000000000000..d82c59abec70 --- /dev/null +++ b/sys/modules/ciss/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +KMOD = ciss +.PATH: ${.CURDIR}/../../dev/${KMOD} +SRCS = ciss.c +SRCS += opt_scsi.h opt_cam.h +SRCS += device_if.h bus_if.h pci_if.h + +CFLAGS +=-DCISS_DEBUG=0 + +.include <bsd.kmod.mk> diff --git a/sys/modules/coda/Makefile b/sys/modules/coda/Makefile new file mode 100644 index 000000000000..2c0e138ac3a9 --- /dev/null +++ b/sys/modules/coda/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../coda +KMOD= coda +SRCS= vnode_if.h \ + coda_fbsd.c coda_namecache.c coda_psdev.c coda_subr.c \ + coda_venus.c coda_vfsops.c coda_vnops.c vcoda.h +NOMAN= + +CLEANFILES= vcoda.h + +vcoda.h: + echo "#define NVCODA 4" > vcoda.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/coff/Makefile b/sys/modules/coff/Makefile new file mode 100644 index 000000000000..2fa1f5429bc4 --- /dev/null +++ b/sys/modules/coff/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../i386/ibcs2 +KMOD= ibcs2_coff +SRCS= imgact_coff.c vnode_if.h +NOMAN= +CFLAGS+= -DCOMPAT_IBCS2 +KMODDEPS= ibcs2 + +.include <bsd.kmod.mk> diff --git a/sys/modules/crypto/Makefile b/sys/modules/crypto/Makefile new file mode 100644 index 000000000000..0d2168e91345 --- /dev/null +++ b/sys/modules/crypto/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../opencrypto +.PATH: ${.CURDIR}/../../crypto +.PATH: ${.CURDIR}/../../crypto/blowfish +.PATH: ${.CURDIR}/../../crypto/des +.PATH: ${.CURDIR}/../../crypto/sha2 +.PATH: ${.CURDIR}/../../net + +KMOD = crypto +SRCS = crypto.c +SRCS += criov.c cryptosoft.c xform.c +SRCS += cast.c deflate.c rmd160.c rijndael.c skipjack.c +SRCS += bf_enc.c bf_skey.c +SRCS += des_ecb.c des_enc.c des_setkey.c +SRCS += sha1.c sha2.c +SRCS += zlib.c +SRCS += opt_param.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/cryptodev/Makefile b/sys/modules/cryptodev/Makefile new file mode 100644 index 000000000000..b2692a690218 --- /dev/null +++ b/sys/modules/cryptodev/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../opencrypto +KMOD = cryptodev +SRCS = cryptodev.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/ctau/Makefile b/sys/modules/ctau/Makefile new file mode 100644 index 000000000000..9b2424a104f4 --- /dev/null +++ b/sys/modules/ctau/Makefile @@ -0,0 +1,42 @@ +# Cronyx Id: Makefile,v 1.1.2.2 2003/01/13 08:28:48 rik Exp $ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ctau +KMOD= if_ct +SRCS= if_ct.c ctddk.c ctau.c ctau.h opt_netgraph.h opt_ng_cronyx.h bpf.h \ + sppp.h device_if.h bus_if.h isa_if.h +NOMAN= + +NBPF?= 0 +NCTAU?= 3 +PROTOS?= -DINET +NG_CRONYX?= 0 +NETGRAPH= ${NG_CRONYX} + +CFLAGS+= ${PROTOS} +CLEANFILES+= opt_ng_cronyx.h opt_netgraph.h ctau.h bpf.h sppp.h + +ctau.h: + echo "#define NCTAU ${NCTAU}" > ctau.h + +opt_netgraph.h: + echo "#define NETGRAPH $(NETGRAPH)" > opt_netgraph.h + +opt_ng_cronyx.h: +.if ${NG_CRONYX} != 0 + echo "#define NETGRAPH_CRONYX 1" > opt_ng_cronyx.h +.else + echo "" > opt_ng_cronyx.h +.endif + +sppp.h: +.if ${NG_CRONYX} == 0 + echo "#define NSPPP 1" > sppp.h +.else + echo "#define NSPPP 0" > sppp.h +.endif + +bpf.h: + echo "#define NBPF ${NBPF}" > bpf.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/cue/Makefile b/sys/modules/cue/Makefile new file mode 100644 index 000000000000..fb64b17bd544 --- /dev/null +++ b/sys/modules/cue/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= if_cue +SRCS= if_cue.c opt_bdg.h opt_usb.h device_if.h bus_if.h +SRCS+= miibus_if.h +KMODDEPS= miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/cx/Makefile b/sys/modules/cx/Makefile new file mode 100644 index 000000000000..7df2109064c1 --- /dev/null +++ b/sys/modules/cx/Makefile @@ -0,0 +1,43 @@ +# Cronyx Id: sys.modules.cx.Makefile,v 1.1.2.2 2003/01/21 15:15:49 rik Exp $ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/cx +KMOD= if_cx +SRCS= if_cx.c cxddk.c csigma.c cx.h opt_netgraph.h opt_ng_cronyx.h bpf.h \ + sppp.h device_if.h bus_if.h isa_if.h +NOMAN= + +NBPF?= 0 +NCX?= 3 +PROTOS?= -DINET +NG_CRONYX?= 0 +NETGRAPH= ${NG_CRONYX} + + +CFLAGS+= ${PROTOS} +CLEANFILES+= opt_ng_cronyx.h opt_netgraph.h cx.h bpf.h sppp.h + +cx.h: + echo "#define NCX $(NCX)" > cx.h + +opt_netgraph.h: + echo "#define NETGRAPH $(NETGRAPH)" > opt_netgraph.h + +opt_ng_cronyx.h: +.if ${NG_CRONYX} != 0 + echo "#define NETGRAPH_CRONYX 1" > opt_ng_cronyx.h +.else + echo "" > opt_ng_cronyx.h +.endif + +sppp.h: +.if ${NG_CRONYX} == 0 + echo "#define NSPPP 1" > sppp.h +.else + echo "#define NSPPP 0" > sppp.h +.endif + +bpf.h: + echo "#define NBPF ${NBPF}" > bpf.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/dc/Makefile b/sys/modules/dc/Makefile new file mode 100644 index 000000000000..8bcadaadc266 --- /dev/null +++ b/sys/modules/dc/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_dc +SRCS = if_dc.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/dcons/Makefile b/sys/modules/dcons/Makefile new file mode 100644 index 000000000000..b3f9e3191bbe --- /dev/null +++ b/sys/modules/dcons/Makefile @@ -0,0 +1,19 @@ +# $Id: Makefile,v 1.6 2003/10/24 15:41:26 simokawa Exp $ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/dcons + +KMOD = dcons +SRCS = dcons.c dcons.h \ + opt_dcons.h opt_ddb.h opt_comconsole.h \ + opt_simos.h + +opt_ddb.h: + echo "#define DDB 1" > $@ + +opt_comconsole.h: + echo "#define ALT_BREAK_TO_DEBUGGER 1" > $@ + +CFLAGS+= -I${.CURDIR}/../.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/dcons_crom/Makefile b/sys/modules/dcons_crom/Makefile new file mode 100644 index 000000000000..bfd5d2a50453 --- /dev/null +++ b/sys/modules/dcons_crom/Makefile @@ -0,0 +1,14 @@ +# $Id: Makefile,v 1.6 2003/10/24 15:43:24 simokawa Exp $ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/dcons + +KMOD = dcons_crom +SRCS = dcons_crom.c dcons.h \ + bus_if.h device_if.h + +KMODDEPS = firewire dcons + +CFLAGS+= -I${.CURDIR}/../.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/drm/Makefile b/sys/modules/drm/Makefile new file mode 100644 index 000000000000..665799492371 --- /dev/null +++ b/sys/modules/drm/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SUBDIR = mga r128 radeon tdfx + +.include <bsd.subdir.mk> diff --git a/sys/modules/drm/Makefile.inc b/sys/modules/drm/Makefile.inc new file mode 100644 index 000000000000..265f86d1ed55 --- /dev/null +++ b/sys/modules/drm/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/sys/modules/drm/mga/Makefile b/sys/modules/drm/mga/Makefile new file mode 100644 index 000000000000..2199a0b78199 --- /dev/null +++ b/sys/modules/drm/mga/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/drm +KMOD = mga +NOMAN = YES +SRCS = mga_drv.c mga_state.c mga_warp.c mga_dma.c \ + mga_irq.c +SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/drm/r128/Makefile b/sys/modules/drm/r128/Makefile new file mode 100644 index 000000000000..822a1fe0d1c5 --- /dev/null +++ b/sys/modules/drm/r128/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/drm +KMOD = r128 +NOMAN = YES +SRCS = r128_cce.c r128_drv.c r128_irq.c r128_state.c +SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/drm/radeon/Makefile b/sys/modules/drm/radeon/Makefile new file mode 100644 index 000000000000..7a3fad717206 --- /dev/null +++ b/sys/modules/drm/radeon/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/drm +KMOD = radeon +NOMAN = YES +SRCS = radeon_cp.c radeon_drv.c radeon_irq.c \ + radeon_mem.c radeon_state.c +SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/drm/tdfx/Makefile b/sys/modules/drm/tdfx/Makefile new file mode 100644 index 000000000000..7012558e2a76 --- /dev/null +++ b/sys/modules/drm/tdfx/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/drm +KMOD = tdfx +NOMAN = YES +SRCS = tdfx_drv.c +SRCS +=device_if.h bus_if.h pci_if.h opt_drm.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/dummynet/Makefile b/sys/modules/dummynet/Makefile new file mode 100644 index 000000000000..072506aef29d --- /dev/null +++ b/sys/modules/dummynet/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../netinet +KMOD= dummynet +SRCS= ip_dummynet.c opt_bdg.h +NOMAN= +.if defined(IPFW2) +CFLAGS+= -DIPFW2 +.endif +KMODDEPS= ipfw + +.include <bsd.kmod.mk> diff --git a/sys/modules/ed/Makefile b/sys/modules/ed/Makefile new file mode 100644 index 000000000000..ce8b8b8d0807 --- /dev/null +++ b/sys/modules/ed/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ed + +KMOD= if_ed +SRCS= if_ed.c if_ed_pccard.c if_ed_pci.c +KMODDEPS=miibus + +.if ${MACHINE} == "pc98" +SRCS+= if_ed_cbus.c +.else +SRCS+= if_ed_isa.c +.endif + +SRCS+= opt_ed.h opt_bdg.h bus_if.h card_if.h device_if.h isa_if.h pci_if.h \ + miibus_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/em/Makefile b/sys/modules/em/Makefile new file mode 100644 index 000000000000..df17b2f39a7c --- /dev/null +++ b/sys/modules/em/Makefile @@ -0,0 +1,12 @@ +#$FreeBSD$ +.PATH: ${.CURDIR}/../../dev/em +KMOD = if_em +SRCS = device_if.h bus_if.h pci_if.h opt_bdg.h +SRCS += if_em.c if_em_hw.c + +clean: + rm -f opt_bdg.h device_if.h bus_if.h pci_if.h setdef* + rm -f *.o *.kld *.ko + rm -f @ machine + +.include <bsd.kmod.mk> diff --git a/sys/modules/ext2fs/Makefile b/sys/modules/ext2fs/Makefile new file mode 100644 index 000000000000..a83cc8f2706b --- /dev/null +++ b/sys/modules/ext2fs/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../gnu/ext2fs +KMOD= ext2fs +SRCS= opt_ddb.h opt_quota.h opt_suiddir.h vnode_if.h \ + ext2_alloc.c ext2_balloc.c ext2_inode.c ext2_inode_cnv.c \ + ext2_linux_balloc.c ext2_linux_ialloc.c ext2_lookup.c \ + ext2_subr.c ext2_vfsops.c ext2_vnops.c + + +.include <bsd.kmod.mk> diff --git a/sys/modules/fdesc/Makefile b/sys/modules/fdesc/Makefile new file mode 100644 index 000000000000..09f3ba5ae0d6 --- /dev/null +++ b/sys/modules/fdesc/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../miscfs/fdesc +KMOD= fdesc +SRCS= vnode_if.h \ + fdesc_vfsops.c fdesc_vnops.c +NOMAN= +CFLAGS+= -DFDESC + +.include <bsd.kmod.mk> diff --git a/sys/modules/firewire/Makefile b/sys/modules/firewire/Makefile new file mode 100644 index 000000000000..a8ea55cb9ea3 --- /dev/null +++ b/sys/modules/firewire/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +SUBDIR = +SUBDIR += firewire +SUBDIR += sbp +SUBDIR += sbp_targ +SUBDIR += fwe + +.include <bsd.subdir.mk> diff --git a/sys/modules/firewire/Makefile.inc b/sys/modules/firewire/Makefile.inc new file mode 100644 index 000000000000..4b82370a7160 --- /dev/null +++ b/sys/modules/firewire/Makefile.inc @@ -0,0 +1,4 @@ +# $FreeBSD$ + +#CFLAGS+=-g +.include "../Makefile.inc" diff --git a/sys/modules/firewire/firewire/Makefile b/sys/modules/firewire/firewire/Makefile new file mode 100644 index 000000000000..8e4e06f0fc91 --- /dev/null +++ b/sys/modules/firewire/firewire/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +# Makefile for the IEEE1394 OHCI chipset + +.PATH: ${.CURDIR}/../../../dev/firewire + +KMOD= firewire +SRCS = bus_if.h device_if.h pci_if.h \ + firewire.c firewire.h firewire_phy.h firewirereg.h \ + fwohci.c fwohci_pci.c fwohcireg.h fwohcivar.h \ + iec13213.h iec68113.h \ + fwcrom.c fwdev.c fwmem.c fwmem.h fwdma.c fwdma.h + +.include <bsd.kmod.mk> + diff --git a/sys/modules/firewire/fwe/Makefile b/sys/modules/firewire/fwe/Makefile new file mode 100644 index 000000000000..b92f5264280a --- /dev/null +++ b/sys/modules/firewire/fwe/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +# Makefile for the fwe(4) module (Ethernet over IEEE1394) + +.PATH: ${.CURDIR}/../../../dev/firewire + +KMOD = if_fwe +SRCS = bus_if.h device_if.h \ + opt_inet.h \ + if_fwe.c if_fwevar.h \ + firewire.h firewirereg.h +#CFLAGS += -DDEVICE_POLLING +KMODDEPS = firewire + +.include <bsd.kmod.mk> + diff --git a/sys/modules/firewire/sbp/Makefile b/sys/modules/firewire/sbp/Makefile new file mode 100644 index 000000000000..cd526c5e616e --- /dev/null +++ b/sys/modules/firewire/sbp/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +# Makefile for the SBP-II (Serial Bus Protocol 2/SCSI over IEEE1394) + +.PATH: ${.CURDIR}/../../../dev/firewire + +KMOD = sbp +SRCS = bus_if.h device_if.h \ + opt_cam.h opt_scsi.h \ + sbp.c sbp.h \ + firewire.h firewirereg.h \ + iec13213.h +KMODDEPS = firewire + +.include <bsd.kmod.mk> + diff --git a/sys/modules/firewire/sbp_targ/Makefile b/sys/modules/firewire/sbp_targ/Makefile new file mode 100644 index 000000000000..5a0cd7eef7d0 --- /dev/null +++ b/sys/modules/firewire/sbp_targ/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +# Makefile for the SBP-II Target mode + +.PATH: ${.CURDIR}/../../../dev/firewire + +KMOD = sbp_targ +SRCS = bus_if.h device_if.h \ + opt_cam.h opt_scsi.h \ + sbp_targ.c sbp.h \ + firewire.h firewirereg.h \ + iec13213.h +KMODDEPS = firewire + +.include <bsd.kmod.mk> + diff --git a/sys/modules/fpu/Makefile b/sys/modules/fpu/Makefile new file mode 100644 index 000000000000..66c2ad1ae02a --- /dev/null +++ b/sys/modules/fpu/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../i386/i386 +KMOD= fpu +SRCS= math_emulate.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/fxp/Makefile b/sys/modules/fxp/Makefile new file mode 100644 index 000000000000..8e9d8479e150 --- /dev/null +++ b/sys/modules/fxp/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/fxp +KMOD = if_fxp +SRCS = if_fxp.c opt_bdg.h device_if.h bus_if.h pci_if.h miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/gnufpu/Makefile b/sys/modules/gnufpu/Makefile new file mode 100644 index 000000000000..d7bfb676aa6f --- /dev/null +++ b/sys/modules/gnufpu/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../gnu/i386/fpemul +KMOD= gnufpu +SRCS= div_small.s errors.c fpu_arith.c fpu_aux.c fpu_entry.c fpu_etc.c \ + fpu_trig.c get_address.c load_store.c poly_2xm1.c poly_atan.c \ + poly_div.s poly_l2.c poly_mul64.s poly_sin.c poly_tan.c \ + polynomial.s reg_add_sub.c reg_compare.c reg_constant.c reg_div.s \ + reg_ld_str.c reg_u_mul.s reg_u_sub.s wm_shrx.s wm_sqrt.s +NOMAN= + +.s.o: + ${CC} -x assembler-with-cpp -DLOCORE ${CFLAGS} -c \ + ${.IMPSRC} -o ${.TARGET} + +.include <bsd.kmod.mk> diff --git a/sys/modules/gx/Makefile b/sys/modules/gx/Makefile new file mode 100644 index 000000000000..6fd6cd4957fb --- /dev/null +++ b/sys/modules/gx/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/gx +KMOD = if_gx +SRCS = if_gx.c opt_bdg.h device_if.h bus_if.h pci_if.h miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/hifn/Makefile b/sys/modules/hifn/Makefile new file mode 100644 index 000000000000..33e6a77c3f59 --- /dev/null +++ b/sys/modules/hifn/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/hifn +KMOD = hifn +SRCS = hifn7751.c opt_hifn.h +SRCS += device_if.h bus_if.h pci_if.h +SRCS += opt_bdg.h opt_bus.h crypto_if.h + +opt_hifn.h: + echo "#define HIFN_DEBUG 1" > opt_hifn.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/hpfs/Makefile b/sys/modules/hpfs/Makefile new file mode 100644 index 000000000000..9e10cd22cd98 --- /dev/null +++ b/sys/modules/hpfs/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../fs/hpfs +KMOD= hpfs +SRCS= vnode_if.h \ + hpfs_vfsops.c hpfs_vnops.c hpfs_hash.c hpfs_subr.c hpfs_lookup.c \ + hpfs_alsubr.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/ibcs2/Makefile b/sys/modules/ibcs2/Makefile new file mode 100644 index 000000000000..6921fde48d55 --- /dev/null +++ b/sys/modules/ibcs2/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../i386/ibcs2 +KMOD= ibcs2 +SRCS= ibcs2_errno.c ibcs2_ipc.c ibcs2_stat.c ibcs2_misc.c \ + ibcs2_fcntl.c ibcs2_signal.c ibcs2_sysent.c ibcs2_ioctl.c \ + ibcs2_socksys.c ibcs2_util.c ibcs2_xenix.c ibcs2_xenix_sysent.c \ + ibcs2_isc.c ibcs2_isc_sysent.c \ + ibcs2_msg.c ibcs2_other.c ibcs2_sysi86.c ibcs2_sysvec.c \ + vnode_if.h opt_spx_hack.h +MAN= ibcs2.8 + +CFLAGS+= -DCOMPAT_IBCS2 +EXPORT_SYMS= _ibcs2_mod _ibcs2_emul_path _ibcs2_svr3_sysvec + +afterinstall: + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/ibcs2.sh ${DESTDIR}/usr/sbin/ibcs2 + +.include <bsd.kmod.mk> diff --git a/sys/modules/ibcs2/ibcs2.8 b/sys/modules/ibcs2/ibcs2.8 new file mode 100644 index 000000000000..fad820edf3ba --- /dev/null +++ b/sys/modules/ibcs2/ibcs2.8 @@ -0,0 +1,66 @@ +.\" +.\" Copyright (c) 1995 Lyndon Nerenberg +.\" +.\" All rights reserved. +.\" +.\" This program is free software. +.\" +.\" 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 DEVELOPERS ``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 DEVELOPERS 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. +.\" +.\" $FreeBSD$ +.\" +.Dd November 27, 1995 +.Dt IBCS2 8 +.Os +.Sh NAME +.Nm ibcs2 +.Nd load iBCS2 runtime support for SCO and ISC binaries +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +The +.Nm +utility loads kernel runtime support for iBCS2 compliant programs. +This runtime support is limited to emulation of the iBCS2 +system call interface, and is far from complete. COFF binaries +and shared libraries are supported, however no shared libraries +are provided with the +.Fx +distribution. +.Sh FILES +.Bl -tag -width /usr/share/examples/ibcs2/* -compact +.It Pa /modules/ibcs2.ko +.It Pa /modules/ibcs2_coff.ko +iBCS2 loadable kernel modules. +.Pp +.It Pa /usr/share/examples/ibcs2/* +Sample object files with which to test the emulator. +.El +.Sh "SEE ALSO" +.Xr kld 4 , +.Xr kldload 8 +.Sh BUGS +The emulation is very incomplete. +.Pp +Running dynamically linked binaries requires access to an existing +SCO system from which you can grab the shared libraries. +.Pp +You can't really use this without reading the source code. diff --git a/sys/modules/ibcs2/ibcs2.sh b/sys/modules/ibcs2/ibcs2.sh new file mode 100644 index 000000000000..c8bf2a809c81 --- /dev/null +++ b/sys/modules/ibcs2/ibcs2.sh @@ -0,0 +1,43 @@ +#!/bin/sh +# +# Copyright (C) 1994-1997 +# FreeBSD Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY FreeBSD 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 FreeBSD Inc. 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. +# +# $FreeBSD$ + + +PATH=/bin:/sbin:/usr/bin:/usr/sbin; export PATH + +if [ $# -le 1 ]; then + LOADERS="coff" # elf +fi + +set -e + +kldload ibcs2 + +for loader in $LOADERS; do + kldload ibcs2_${loader} +done +set +e diff --git a/sys/modules/ida/Makefile b/sys/modules/ida/Makefile new file mode 100644 index 000000000000..f3eba0cf5cfa --- /dev/null +++ b/sys/modules/ida/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ida + +KMOD= ida +SRCS= ida.c ida_disk.c ida_pci.c + +.if !defined(IDA_NO_EISA) +SRCS+= ida_eisa.c +.endif + +SRCS+= device_if.h bus_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_disc/Makefile b/sys/modules/if_disc/Makefile new file mode 100644 index 000000000000..e33555dbddac --- /dev/null +++ b/sys/modules/if_disc/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net +KMOD= if_disc +SRCS= if_disc.c opt_inet.h opt_inet6.h +NOMAN= + +NBPF?= 1 + +CFLAGS+= ${PROTOS} + +opt_inet.h: + echo "#define INET 1" > opt_inet.h + +#opt_inet6.h: +# echo "#define INET6 1" > opt_inet6.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_ef/Makefile b/sys/modules/if_ef/Makefile new file mode 100644 index 000000000000..091a12c69154 --- /dev/null +++ b/sys/modules/if_ef/Makefile @@ -0,0 +1,41 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net + +KMOD= if_ef +SRCS= if_ef.c opt_ipx.h opt_inet.h opt_ef.h +MAN= ef.4 + +# If you need only limited number of frames comment out unneeded ones +# this will reduce number of visible devices +ETHER_II= +ETHER_8023= +ETHER_8022= +ETHER_SNAP= + +CFLAGS+= ${PROTOS} + +.if defined(EFDEBUG) +CFLAGS+= -DEF_DEBUG +.endif + +opt_inet.h: + echo "#define INET 1" > opt_inet.h + +opt_ipx.h: + echo "#define IPX 1" > opt_ipx.h + +opt_ef.h: +.for frame in ETHER_II ETHER_8023 ETHER_8022 ETHER_SNAP +.if defined(${frame}) + echo "#define ${frame} 1" >> opt_ef.h +.endif +.endfor + +load: all + /sbin/kldload ./${PROG} + +unload: + /sbin/kldunload ${PROG} + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_ef/ef.4 b/sys/modules/if_ef/ef.4 new file mode 100644 index 000000000000..1fc8186db8f0 --- /dev/null +++ b/sys/modules/if_ef/ef.4 @@ -0,0 +1,102 @@ +.\" +.\" Copyright (c) 1999, Boris Popov +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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. +.\" +.\" $FreeBSD$ +.\" +.Dd June 20, 1999 +.Dt EF 4 +.Os +.Sh NAME +.Nm ef +.Nd "pseudo-device driver providing support for multiple ethernet frame types" +.Sh SYNOPSIS +.Cd "pseudo-device ef" +.Sh DESCRIPTION +The +.Nm +pseudo-device driver clones each ethernet type device with four +additional interfaces. Each of them capable to send or receive only +one predefined frame type. +.Pp +Names for the new interfaces created by adding +.Ar fN +suffix to an existing device name. Where +.Ar N +is a device unit which can have one of the following values: +.Bd -literal -offset indent +0 interface with an Ethernet_II frame +1 interface with a Novell Ethernet_802.3 frame +2 interface with an Ethernet_802.2 frame +3 interface with an Ethernet_802.2/SNAP frame support. +.Ed +.Pp +For example, device +.Ar ed0 +will be populated with four devices: +.Ar ed0f0 , +.Ar ed0f1 , +.Ar ed0f2 +and +.Ar ed0f3 . +.Pp +After that, each device can be configured as usually: +.Dl # ifconfig ed0f1 ipx 0x105 +This will configure IPX protocol with network number +.Ar 0x105 +and +.Ar Ethernet_802.3 +frame type. +.Pp +Please note that it is impossible to configure IPX protocol on the 'raw' +.Ar ed0 +device after +.Ar if_ef.ko +driver loaded. +.Sh EXAMPLES +The +.Nm +driver can be loaded via +.Xr loader.conf 5 +file: +.Dl if_ef_load="YES" +.Pp +In this case an ordinary interface configuration commands can be used +in the +.Xr rc.conf 5 +file: +.Dl network_interfaces="ed2 lo0 tun0 ed2f0 ed2f1" +.Dl ifconfig_ed2f0_ipx="ipx 0x101" +.Dl ifconfig_ed2f1_ipx="ipx 0x102" +.Sh DIAGNOSTICS +None. +.Sh CAVEATS +Avoid to configuring 'raw' ethernet device for IPX protocol after +.Nm +driver is loaded. +.Sh SEE ALSO +.Xr ipx 3 , +.Xr ifconfig 8 +.Sh AUTHORS +.An Boris Popov Aq bp@FreeBSD.org . diff --git a/sys/modules/if_faith/Makefile b/sys/modules/if_faith/Makefile new file mode 100644 index 000000000000..a5c89f927830 --- /dev/null +++ b/sys/modules/if_faith/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net + +KMOD= if_faith +SRCS= if_faith.c opt_inet.h opt_inet6.h +CFLAGS+= -DNFAITH=0 +NOMAN= + +opt_inet.h: + echo "#define INET 1" > ${.TARGET} + +opt_inet6.h: + echo "#define INET6 1" > ${.TARGET} + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_gif/Makefile b/sys/modules/if_gif/Makefile new file mode 100644 index 000000000000..29195bd01e3a --- /dev/null +++ b/sys/modules/if_gif/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net ${.CURDIR}/../../netinet ${.CURDIR}/../../netinet6 + +KMOD= if_gif +SRCS= if_gif.c in_gif.c in6_gif.c opt_inet.h opt_inet6.h opt_mrouting.h +NOMAN= + +opt_inet.h: + echo "#define INET 1" > ${.TARGET} + +opt_inet6.h: + echo "#define INET6 1" > ${.TARGET} + +opt_mrouting.h: + echo "#define MROUTING 1" > ${.TARGET} + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_gre/Makefile b/sys/modules/if_gre/Makefile new file mode 100644 index 000000000000..9079ef9fc2a6 --- /dev/null +++ b/sys/modules/if_gre/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net ${.CURDIR}/../../netinet + +KMOD= if_gre +SRCS= if_gre.c ip_gre.c opt_inet.h opt_ns.h opt_atalk.h + +opt_inet.h: + echo "#define INET 1" > ${.TARGET} + +opt_ns.h: + echo "#define NS 1" > ${.TARGET} + +opt_atalk.h: + echo "#define NETATALK 1" > ${.TARGET} + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_ppp/Makefile b/sys/modules/if_ppp/Makefile new file mode 100644 index 000000000000..3e6c9a54e5da --- /dev/null +++ b/sys/modules/if_ppp/Makefile @@ -0,0 +1,54 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net +KMOD= if_ppp +SRCS= if_ppp.c ppp_tty.c slcompress.c \ + ppp.h opt_inet.h opt_ipx.h opt_ppp.h vnode_if.h +NOMAN= + +NPPP?= 2 +PPP_BSDCOMP?= 1 # 0/1 +PPP_DEFLATE?= 1 # 0/1 +PPP_FILTER?= 1 # 0/1 - requires bpf to be configured in kernel +PPP_INET?= 1 # 0/1 - requires INET to be configured in kernel +PPP_IPX?= 0 # 0/1 - requires IPX to be configured in kernel + +CFLAGS+= ${PROTOS} + +.if ${PPP_BSDCOMP} > 0 +SRCS+= bsd_comp.c +.endif +.if ${PPP_DEFLATE} > 0 +SRCS+= ppp_deflate.c zlib.c +.endif + +CLEANFILES= ppp.h + +ppp.h: + echo "#define NPPP ${NPPP}" > ppp.h + +opt_inet.h: + touch opt_inet.h +.if ${PPP_INET} > 0 + echo "#define INET 1" > opt_inet.h +.endif + +opt_ipx.h: + touch opt_ipx.h +.if ${PPP_IPX} > 0 + echo "#define IPX ${PPP_IPX}" > opt_ipx.h +.endif + +opt_ppp.h: + touch opt_ppp.h +.if ${PPP_BSDCOMP} > 0 + echo "#define PPP_BSDCOMP ${PPP_BSDCOMP}" > opt_ppp.h +.endif +.if ${PPP_DEFLATE} > 0 + echo "#define PPP_DEFLATE ${PPP_DEFLATE}" >> opt_ppp.h +.endif +.if ${PPP_FILTER} > 0 + echo "#define PPP_FILTER ${PPP_FILTER}" >> opt_ppp.h +.endif + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_sl/Makefile b/sys/modules/if_sl/Makefile new file mode 100644 index 000000000000..c188d19b0835 --- /dev/null +++ b/sys/modules/if_sl/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net +KMOD= if_sl +SRCS= if_sl.c slcompress.c opt_inet.h sl.h +NOMAN= + +NSL?= 2 +PROTOS?= -DINET + +CFLAGS+= ${PROTOS} +CLEANFILES= sl.h + +opt_inet.h: + echo "#define INET 1" > opt_inet.h + +sl.h: + echo "#define NSL ${NSL}" > sl.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_stf/Makefile b/sys/modules/if_stf/Makefile new file mode 100644 index 000000000000..5bdb0cbc1b9d --- /dev/null +++ b/sys/modules/if_stf/Makefile @@ -0,0 +1,15 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net + +KMOD= if_stf +SRCS= if_stf.c opt_inet.h opt_inet6.h +NOMAN= + +opt_inet.h: + echo "#define INET 1" > ${.TARGET} + +opt_inet6.h: + echo "#define INET6 1" > ${.TARGET} + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_tap/Makefile b/sys/modules/if_tap/Makefile new file mode 100644 index 000000000000..38a9b1dd189c --- /dev/null +++ b/sys/modules/if_tap/Makefile @@ -0,0 +1,17 @@ +# Copyright (C) 1999-2000 by Maksim Yevmenkin <m_evmenkin@yahoo.com> +# +# This file should be in "kernel_dir/modules/if_tap" directory +# kernel_dir - kernel source root directory (/usr/src/sys) +# +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net +KMOD= if_tap +SRCS= if_tap.c opt_inet.h vnode_if.h + +CLEANFILES+= opt_inet.h vnode_if.h + +opt_inet.h: + echo "#define INET 1" > opt_inet.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_tun/Makefile b/sys/modules/if_tun/Makefile new file mode 100644 index 000000000000..f3821dbf52e9 --- /dev/null +++ b/sys/modules/if_tun/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net +KMOD= if_tun +SRCS= if_tun.c opt_inet.h vnode_if.h +NOMAN= + +NBPF?= 1 +NTUN?= 2 + +CFLAGS+= ${PROTOS} + +opt_inet.h: + echo "#define INET 1" > opt_inet.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/if_vlan/Makefile b/sys/modules/if_vlan/Makefile new file mode 100644 index 000000000000..6583fcc2bd0b --- /dev/null +++ b/sys/modules/if_vlan/Makefile @@ -0,0 +1,13 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net + +KMOD= if_vlan +SRCS= if_vlan.c opt_inet.h +CFLAGS+= -DNVLAN=0 +NOMAN= + +opt_inet.h: + echo "#define INET 1" > ${.TARGET} + +.include <bsd.kmod.mk> diff --git a/sys/modules/iir/Makefile b/sys/modules/iir/Makefile new file mode 100644 index 000000000000..dc9eecbdd0e4 --- /dev/null +++ b/sys/modules/iir/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +KMOD= iir + +.PATH: ${.CURDIR}/../../dev/${KMOD} + +SRCS= iir.c iir_ctrl.c iir_pci.c +SRCS+= opt_scsi.h opt_cam.h +SRCS+= device_if.h bus_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ip6fw/Makefile b/sys/modules/ip6fw/Makefile new file mode 100644 index 000000000000..64fa17ea7f9d --- /dev/null +++ b/sys/modules/ip6fw/Makefile @@ -0,0 +1,17 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../netinet6 +KMOD= ip6fw +SRCS= ip6_fw.c +NOMAN= +CFLAGS+= -DIPV6FIREWALL +# +#If you want it verbose +#CFLAGS+= -DIPV6FIREWALL_VERBOSE +#CFLAGS+= -DIPV6FIREWALL_VERBOSE_LIMIT=100 +# +#If you want it to pass all packets by default +#CFLAGS+= -DIPV6FIREWALL_DEFAULT_TO_ACCEPT +# + +.include <bsd.kmod.mk> diff --git a/sys/modules/ip_mroute_mod/Makefile b/sys/modules/ip_mroute_mod/Makefile new file mode 100644 index 000000000000..39412bcd95a6 --- /dev/null +++ b/sys/modules/ip_mroute_mod/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../netinet +KMOD= ip_mroute +SRCS= ip_mroute.c +NOMAN= +CFLAGS+= -DMROUTE_LKM -DMROUTING + +.include <bsd.kmod.mk> diff --git a/sys/modules/ipfilter/Makefile b/sys/modules/ipfilter/Makefile new file mode 100644 index 000000000000..64dbb5df4933 --- /dev/null +++ b/sys/modules/ipfilter/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../contrib/ipfilter/netinet +KMOD= ipl +SRCS= mlfk_ipl.c ip_nat.c ip_frag.c ip_state.c ip_proxy.c ip_auth.c \ + ip_log.c ip_fil.c fil.c +NOMAN= +CFLAGS+= -DIPFILTER_LKM -DIPFILTER_LOG +CFLAGS+= -I${.CURDIR}/../../contrib/ipfilter +# +# If you don't want log functionality remove -DIPFILTER_LOG +# + +.include <bsd.kmod.mk> diff --git a/sys/modules/ipfw/Makefile b/sys/modules/ipfw/Makefile new file mode 100644 index 000000000000..b2661e67bd43 --- /dev/null +++ b/sys/modules/ipfw/Makefile @@ -0,0 +1,22 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../netinet +KMOD= ipfw +NOMAN= +CFLAGS+= -DIPFIREWALL +.if defined(IPFW2) +SRCS= ip_fw2.c +CFLAGS+= -DIPFW2 +.else +SRCS= ip_fw.c +.endif +# +#If you want it verbose +#CFLAGS+= -DIPFIREWALL_VERBOSE +#CFLAGS+= -DIPFIREWALL_VERBOSE_LIMIT=100 +# +#If you want it to pass all packets by default +#CFLAGS+= -DIPFIREWALL_DEFAULT_TO_ACCEPT +# + +.include <bsd.kmod.mk> diff --git a/sys/modules/ispfw/Makefile b/sys/modules/ispfw/Makefile new file mode 100644 index 000000000000..a6a4e8865631 --- /dev/null +++ b/sys/modules/ispfw/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ispfw +KMOD = ispfw +SRCS = ispfw.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/joy/Makefile b/sys/modules/joy/Makefile new file mode 100644 index 000000000000..fa46c6476ff6 --- /dev/null +++ b/sys/modules/joy/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../isa +KMOD = joy +SRCS = bus_if.h device_if.h isa_if.h joy.c +MAN = joy.8 + +afterinstall: + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/joy.sh ${DESTDIR}/usr/bin/joy + +.include <bsd.kmod.mk> diff --git a/sys/modules/joy/joy.8 b/sys/modules/joy/joy.8 new file mode 100644 index 000000000000..13091f7122e3 --- /dev/null +++ b/sys/modules/joy/joy.8 @@ -0,0 +1,47 @@ +.\" +.\" Copyright (c) 1996 Jean-Marc Zucconi <jmz@cabri.obs-besancon.fr> +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. +.\" +.\" $FreeBSD$ +.\" +.Dd March 16, 1996 +.Dt JOY 8 +.Os +.Sh NAME +.Nm joy +.Nd load the joystick driver kernel module +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +The +.Nm +utility loads the joystick driver kernel module. +.Sh FILES +.Bl -tag -width /modules/joy.ko +.It Pa /modules/joy.ko +joystick loadable kernel module. +.El +.Sh "SEE ALSO" +.Xr joy 4 , +.Xr kld 4 , +.Xr kldload 8 diff --git a/sys/modules/joy/joy.sh b/sys/modules/joy/joy.sh new file mode 100644 index 000000000000..48c5482eb12b --- /dev/null +++ b/sys/modules/joy/joy.sh @@ -0,0 +1,4 @@ +#!/bin/sh +# $FreeBSD$ + +kldload joy diff --git a/sys/modules/kue/Makefile b/sys/modules/kue/Makefile new file mode 100644 index 000000000000..e841c60fb18b --- /dev/null +++ b/sys/modules/kue/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= if_kue +SRCS= if_kue.c opt_bdg.h opt_usb.h device_if.h bus_if.h +SRCS+= miibus_if.h +KMODDEPS= miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/lge/Makefile b/sys/modules/lge/Makefile new file mode 100644 index 000000000000..39d0357740f4 --- /dev/null +++ b/sys/modules/lge/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/lge + +KMOD= if_lge +SRCS= if_lge.c miibus_if.h opt_bdg.h device_if.h bus_if.h pci_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/libiconv/Makefile b/sys/modules/libiconv/Makefile new file mode 100644 index 000000000000..5f528a1a64cb --- /dev/null +++ b/sys/modules/libiconv/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../libkern ${.CURDIR}/../../sys + +KMOD= libiconv +SRCS= iconv.c iconv_xlat.c +SRCS+= iconv.h +SRCS+= bus_if.h device_if.h +SRCS+= iconv_converter_if.c iconv_converter_if.h +NOMAN= true + +iconv_converter_if.h: @ + perl @/kern/makeobjops.pl -h @/libkern/iconv_converter_if.m + +iconv_converter_if.c: @ + perl @/kern/makeobjops.pl -c @/libkern/iconv_converter_if.m + +.include <bsd.kmod.mk> diff --git a/sys/modules/libmchain/Makefile b/sys/modules/libmchain/Makefile new file mode 100644 index 000000000000..39cfeb042767 --- /dev/null +++ b/sys/modules/libmchain/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../kern + +KMOD= libmchain +SRCS= subr_mchain.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/linprocfs/Makefile b/sys/modules/linprocfs/Makefile new file mode 100644 index 000000000000..5b9f1a7cf42a --- /dev/null +++ b/sys/modules/linprocfs/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../i386/linux/linprocfs +KMOD= linprocfs +SRCS= vnode_if.h linprocfs_misc.c linprocfs_subr.c \ + linprocfs_vfsops.c linprocfs_vnops.c +NOMAN= +CFLAGS+= -DLINPROCFS + +.include <bsd.kmod.mk> diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile new file mode 100644 index 000000000000..715c452da44e --- /dev/null +++ b/sys/modules/linux/Makefile @@ -0,0 +1,41 @@ +# $FreeBSD$ + +MAINTAINER= marcel@FreeBSD.org + +.PATH: ${.CURDIR}/../../compat/linux ${.CURDIR}/../../${MACHINE_ARCH}/linux + +KMOD= linux +SRCS= linux_dummy.c linux_file.c linux_getcwd.c linux_ioctl.c linux_ipc.c \ + linux_machdep.c linux_mib.c linux_misc.c linux_signal.c linux_socket.c \ + linux_stats.c linux_sysctl.c linux_sysent.c linux_sysvec.c \ + linux_util.c opt_compat.h opt_linux.h opt_vmpage.h vnode_if.h +OBJS= linux_locore.o +MAN= linux.8 + +.if ${MACHINE_ARCH} == "i386" +SRCS+= linux_ptrace.c linux_uid16.c imgact_linux.c opt_cpu.h +.endif + +CLEANFILES= linux_assym.h linux_genassym.o + +linux_assym.h: linux_genassym.o +.if exists(@) +linux_assym.h: @/kern/genassym.sh +.endif + sh @/kern/genassym.sh linux_genassym.o > ${.TARGET} + +linux_locore.o: linux_locore.s linux_assym.h + ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ + ${.IMPSRC} -o ${.TARGET} + +linux_genassym.o: linux_genassym.c linux.h @ machine + ${CC} -c ${CFLAGS} ${.IMPSRC} + +opt_compat.h: + echo "#define COMPAT_43 1" > opt_compat.h + +afterinstall: + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/linux.sh ${DESTDIR}/usr/sbin/linux + +.include <bsd.kmod.mk> diff --git a/sys/modules/linux/linux.8 b/sys/modules/linux/linux.8 new file mode 100644 index 000000000000..b2b0e5ae6e51 --- /dev/null +++ b/sys/modules/linux/linux.8 @@ -0,0 +1,48 @@ +.\" +.\" Copyright (c) 1997 +.\" The FreeBSD 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. +.\" +.\" $FreeBSD$ +.\" +.Dd January 9, 1997 +.Dt LINUX 8 +.Os +.Sh NAME +.Nm linux +.Nd load the Linux image activator module +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +The +.Nm +utility loads the Linux image activator module. +.Sh FILES +.Bl -tag -width /modules/linux.ko +.It Pa /modules/linux.ko +Linux image activator loadable kernel module. +.El +.Sh SEE ALSO +.Xr kld 4 , +.Xr kldload 8 , +.Xr kldstat 8 , +.Xr kldunload 8 diff --git a/sys/modules/linux/linux.sh b/sys/modules/linux/linux.sh new file mode 100644 index 000000000000..a9215cf0be71 --- /dev/null +++ b/sys/modules/linux/linux.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +# $FreeBSD$ + +FOUND=`kldstat -v | egrep 'linux(aout|elf)'` + +exitcode=0 + +if [ "x$FOUND" != x ] ; then + echo Linux driver already loaded + exitcode=1 +else + kldload linux + exitcode=$? +fi + +if [ -f /compat/linux/sbin/ldconfig ] ; then + /compat/linux/sbin/ldconfig +fi + +exit $exitcode diff --git a/sys/modules/md/Makefile b/sys/modules/md/Makefile new file mode 100644 index 000000000000..bbbec998b357 --- /dev/null +++ b/sys/modules/md/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/md +KMOD= md +SRCS= md.c opt_mfs.h opt_md.h +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/mfs/Makefile b/sys/modules/mfs/Makefile new file mode 100644 index 000000000000..7f2a0d472549 --- /dev/null +++ b/sys/modules/mfs/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../ufs/mfs +KMOD= mfs +SRCS= vnode_if.h \ + mfs_vfsops.c mfs_vnops.c opt_mfs.h +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/mii/Makefile b/sys/modules/mii/Makefile new file mode 100644 index 000000000000..75efb9619611 --- /dev/null +++ b/sys/modules/mii/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/mii +KMOD = miibus +SRCS = mii.c mii_physubr.c ukphy.c ukphy_subr.c bus_if.h pci_if.h +SRCS += miibus_if.h device_if.h miibus_if.c e1000phy.c exphy.c nsphy.c +SRCS += mlphy.c tlphy.c rlphy.c amphy.c dcphy.c pnphy.c nsgphy.c +SRCS += pnaphy.c brgphy.c xmphy.c inphy.c lxtphy.c qsphy.c acphy.c +SRCS += ruephy.c tdkphy.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/mlx/Makefile b/sys/modules/mlx/Makefile new file mode 100644 index 000000000000..aaae0f67cdf8 --- /dev/null +++ b/sys/modules/mlx/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/mlx +KMOD = mlx +SRCS = mlx.c mlx_pci.c mlx_disk.c device_if.h bus_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/mly/Makefile b/sys/modules/mly/Makefile new file mode 100644 index 000000000000..1f8abe828496 --- /dev/null +++ b/sys/modules/mly/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/mly +KMOD = mly +SRCS = mly.c mly_pci.c mly_cam.c +SRCS += opt_scsi.h opt_cam.h +SRCS += device_if.h bus_if.h pci_if.h + +#CFLAGS+= -DMLY_DEBUG=1 + +.include <bsd.kmod.mk> diff --git a/sys/modules/msdos/Makefile b/sys/modules/msdos/Makefile new file mode 100644 index 000000000000..1ac0016ca6f6 --- /dev/null +++ b/sys/modules/msdos/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../msdosfs +KMOD= msdos +SRCS= vnode_if.h \ + msdosfs_conv.c msdosfs_denode.c msdosfs_fat.c msdosfs_lookup.c \ + msdosfs_vfsops.c msdosfs_vnops.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/my/Makefile b/sys/modules/my/Makefile new file mode 100644 index 000000000000..4b454a88722c --- /dev/null +++ b/sys/modules/my/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/my + +KMOD= if_my +SRCS= if_my.c device_if.h bus_if.h pci_if.h miibus_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ncp/Makefile b/sys/modules/ncp/Makefile new file mode 100644 index 000000000000..f68602f4f7fc --- /dev/null +++ b/sys/modules/ncp/Makefile @@ -0,0 +1,44 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../netncp + +KMOD= ncp + +# Build with IPX support (1|0) +NCP_IPX?= 1 + +# Build with INET support (1|0) +NCP_INET?= 1 + +SRCS= ncp_conn.c ncp_sock.c ncp_ncp.c ncp_subr.c ncp_crypt.c ncp_mod.c \ + ncp_rq.c ncp_login.c ncp_nls.c opt_inet.h opt_ipx.h opt_ncp.h + +.if defined(NCPBURST) +SRCS+= ncp_burst.c +CFLAGS+= -DNCPBURST +.endif + +NOMAN= + +opt_inet.h: + touch ${.TARGET} +.if ${NCP_INET} > 0 + echo "#define INET 1" > ${.TARGET} +.endif + +opt_ipx.h: + touch ${.TARGET} +.if ${NCP_IPX} > 0 + echo "#define IPX 1" > ${.TARGET} +.endif + +load: ${KMOD}.ko + kldload ./${KMOD}.ko + +unload: + @(if kldunload ${KMOD}; then true; else true; fi) + +deinstall: + rm -f /modules/ncp.ko + +.include <bsd.kmod.mk> diff --git a/sys/modules/ncv/Makefile b/sys/modules/ncv/Makefile new file mode 100644 index 000000000000..064bda33e098 --- /dev/null +++ b/sys/modules/ncv/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ncv + +KMOD= ncv +SRCS= ncr53c500_pccard.c ncr53c500.c +SRCS+= opt_bdg.h device_if.h bus_if.h pci_if.h isa_if.h card_if.h +SRCS+= opt_cam.h opt_scsi.h opt_ddb.h +KMODDEPS= scsi_low + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/Makefile b/sys/modules/netgraph/Makefile new file mode 100644 index 000000000000..2f111f1f2403 --- /dev/null +++ b/sys/modules/netgraph/Makefile @@ -0,0 +1,37 @@ +# $Whistle: Makefile,v 1.5 1999/01/24 06:48:37 archie Exp $ +# $FreeBSD$ + +SUBDIR= UI \ + async \ + bpf \ + bridge \ + cisco \ + echo \ + eiface \ + etf \ + ether \ + frame_relay \ + hole \ + iface \ + ksocket \ + l2tp \ + lmi \ + netgraph \ + one2many \ + ppp \ + pppoe \ + pptpgre \ + rfc1490 \ + socket \ + sync_ar \ + sync_sr \ + tee \ + tty \ + vjc \ + vlan + +.if !defined(NOCRYPT) && exists(${.CURDIR}/../../crypto/rc4/rc4.c) +SUBDIR+= mppc +.endif + +.include <bsd.subdir.mk> diff --git a/sys/modules/netgraph/Makefile.inc b/sys/modules/netgraph/Makefile.inc new file mode 100644 index 000000000000..16ca171c2de7 --- /dev/null +++ b/sys/modules/netgraph/Makefile.inc @@ -0,0 +1,7 @@ +# $FreeBSD$ +# $Whistle: Makefile.inc,v 1.4 1999/01/19 23:46:16 archie Exp $ + +.PATH: ${.CURDIR}/../../../netgraph +CFLAGS+= -Wall + +.include "../Makefile.inc" diff --git a/sys/modules/netgraph/UI/Makefile b/sys/modules/netgraph/UI/Makefile new file mode 100644 index 000000000000..bba8d43d7dd4 --- /dev/null +++ b/sys/modules/netgraph/UI/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:20 archie Exp $ + +KMOD= ng_UI +SRCS= ng_UI.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/async/Makefile b/sys/modules/netgraph/async/Makefile new file mode 100644 index 000000000000..2c47b1265d93 --- /dev/null +++ b/sys/modules/netgraph/async/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:20 archie Exp $ + +KMOD= ng_async +SRCS= ng_async.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/bpf/Makefile b/sys/modules/netgraph/bpf/Makefile new file mode 100644 index 000000000000..b5a093cbfb34 --- /dev/null +++ b/sys/modules/netgraph/bpf/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.1 1999/12/03 01:44:28 archie Exp $ + +KMOD= ng_bpf +SRCS= ng_bpf.c bpf_filter.c +KMODDEPS= netgraph + +.PATH: ${.CURDIR}/../../../net + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/bridge/Makefile b/sys/modules/netgraph/bridge/Makefile new file mode 100644 index 000000000000..2d589b60ef67 --- /dev/null +++ b/sys/modules/netgraph/bridge/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +KMOD= ng_bridge +SRCS= ng_bridge.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/cisco/Makefile b/sys/modules/netgraph/cisco/Makefile new file mode 100644 index 000000000000..802e94584771 --- /dev/null +++ b/sys/modules/netgraph/cisco/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:20 archie Exp $ + +KMOD= ng_cisco +SRCS= ng_cisco.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/echo/Makefile b/sys/modules/netgraph/echo/Makefile new file mode 100644 index 000000000000..521bb1ac72c0 --- /dev/null +++ b/sys/modules/netgraph/echo/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:20 archie Exp $ + +KMOD= ng_echo +SRCS= ng_echo.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/eiface/Makefile b/sys/modules/netgraph/eiface/Makefile new file mode 100644 index 000000000000..043900c72b16 --- /dev/null +++ b/sys/modules/netgraph/eiface/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +KMOD= ng_eiface +SRCS= ng_eiface.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/etf/Makefile b/sys/modules/netgraph/etf/Makefile new file mode 100644 index 000000000000..c7075acf44fd --- /dev/null +++ b/sys/modules/netgraph/etf/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# Ethertype filter + +KMOD= ng_etf +SRCS= ng_etf.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/ether/Makefile b/sys/modules/netgraph/ether/Makefile new file mode 100644 index 000000000000..86e1802640ad --- /dev/null +++ b/sys/modules/netgraph/ether/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +KMOD= ng_ether +SRCS= ng_ether.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/fec/Makefile b/sys/modules/netgraph/fec/Makefile new file mode 100644 index 000000000000..2f4ccc50723b --- /dev/null +++ b/sys/modules/netgraph/fec/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +KMOD= ng_fec +SRCS= ng_fec.c opt_inet.h opt_inet6.h +#MAN4= ng_fec.4 +NOMAN= yes +KMODDEPS= netgraph + +CFLAGS += -DINET -DINET6 + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/frame_relay/Makefile b/sys/modules/netgraph/frame_relay/Makefile new file mode 100644 index 000000000000..132965b12399 --- /dev/null +++ b/sys/modules/netgraph/frame_relay/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.1 1999/01/19 19:39:21 archie Exp $ + +KMOD= ng_frame_relay +SRCS= ng_frame_relay.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/hole/Makefile b/sys/modules/netgraph/hole/Makefile new file mode 100644 index 000000000000..778237ba2959 --- /dev/null +++ b/sys/modules/netgraph/hole/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:21 archie Exp $ + +KMOD= ng_hole +SRCS= ng_hole.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/iface/Makefile b/sys/modules/netgraph/iface/Makefile new file mode 100644 index 000000000000..9f20fdeef402 --- /dev/null +++ b/sys/modules/netgraph/iface/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:21 archie Exp $ + +KMOD= ng_iface +SRCS= ng_iface.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/ksocket/Makefile b/sys/modules/netgraph/ksocket/Makefile new file mode 100644 index 000000000000..042dfdd54128 --- /dev/null +++ b/sys/modules/netgraph/ksocket/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +KMOD= ng_ksocket +SRCS= ng_ksocket.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/l2tp/Makefile b/sys/modules/netgraph/l2tp/Makefile new file mode 100644 index 000000000000..bd0227a9e0c8 --- /dev/null +++ b/sys/modules/netgraph/l2tp/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +KMOD= ng_l2tp +SRCS= ng_l2tp.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/lmi/Makefile b/sys/modules/netgraph/lmi/Makefile new file mode 100644 index 000000000000..cbd07370e0fd --- /dev/null +++ b/sys/modules/netgraph/lmi/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.1 1999/01/19 19:39:21 archie Exp $ + +KMOD= ng_lmi +SRCS= ng_lmi.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/mppc/Makefile b/sys/modules/netgraph/mppc/Makefile new file mode 100644 index 000000000000..689074a84bd7 --- /dev/null +++ b/sys/modules/netgraph/mppc/Makefile @@ -0,0 +1,32 @@ +# $Whistle: Makefile,v 1.1 1999/12/08 20:20:39 archie Exp $ +# $FreeBSD$ + +KMOD= ng_mppc +SRCS= ng_mppc.c opt_netgraph.h +KMODDEPS= netgraph + +NETGRAPH_MPPC_COMPRESSION?= 0 +NETGRAPH_MPPC_ENCRYPTION?= 1 + +.if ${NETGRAPH_MPPC_COMPRESSION} > 0 +# XXX These files don't exist yet, but hopefully someday they will... +.PATH: ${.CURDIR}/../../../net +SRCS+= mppcc.c mppcd.c +.endif + +.if ${NETGRAPH_MPPC_ENCRYPTION} > 0 +.PATH: ${.CURDIR}/../../../crypto +.PATH: ${.CURDIR}/../../../crypto/rc4 +SRCS+= rc4.c sha1.c +.endif + +opt_netgraph.h: + touch ${.TARGET} +.if ${NETGRAPH_MPPC_COMPRESSION} > 0 + echo "#define NETGRAPH_MPPC_COMPRESSION 1" >> ${.TARGET} +.endif +.if ${NETGRAPH_MPPC_ENCRYPTION} > 0 + echo "#define NETGRAPH_MPPC_ENCRYPTION 1" >> ${.TARGET} +.endif + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/netgraph/Makefile b/sys/modules/netgraph/netgraph/Makefile new file mode 100644 index 000000000000..00d5baaedee6 --- /dev/null +++ b/sys/modules/netgraph/netgraph/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:22 archie Exp $ + +KMOD= netgraph +SRCS= ng_base.c ng_parse.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/one2many/Makefile b/sys/modules/netgraph/one2many/Makefile new file mode 100644 index 000000000000..52f8537ea614 --- /dev/null +++ b/sys/modules/netgraph/one2many/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +KMOD= ng_one2many +SRCS= ng_one2many.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/ppp/Makefile b/sys/modules/netgraph/ppp/Makefile new file mode 100644 index 000000000000..aa307b17d136 --- /dev/null +++ b/sys/modules/netgraph/ppp/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.1 1999/01/24 02:52:12 archie Exp $ + +KMOD= ng_ppp +SRCS= ng_ppp.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/pppoe/Makefile b/sys/modules/netgraph/pppoe/Makefile new file mode 100644 index 000000000000..b77ab1535d80 --- /dev/null +++ b/sys/modules/netgraph/pppoe/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.1 1999/01/19 19:39:21 archie Exp $ + +KMOD= ng_pppoe +SRCS= ng_pppoe.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/pptpgre/Makefile b/sys/modules/netgraph/pptpgre/Makefile new file mode 100644 index 000000000000..487eb9e12f0f --- /dev/null +++ b/sys/modules/netgraph/pptpgre/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.1 1999/11/29 23:14:33 archie Exp $ + +KMOD= ng_pptpgre +SRCS= ng_pptpgre.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/rfc1490/Makefile b/sys/modules/netgraph/rfc1490/Makefile new file mode 100644 index 000000000000..90963d49d773 --- /dev/null +++ b/sys/modules/netgraph/rfc1490/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:22 archie Exp $ + +KMOD= ng_rfc1490 +SRCS= ng_rfc1490.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/socket/Makefile b/sys/modules/netgraph/socket/Makefile new file mode 100644 index 000000000000..8dd7a675a156 --- /dev/null +++ b/sys/modules/netgraph/socket/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:22 archie Exp $ + +KMOD= ng_socket +SRCS= ng_socket.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/sync_ar/Makefile b/sys/modules/netgraph/sync_ar/Makefile new file mode 100644 index 000000000000..bc51040f0d15 --- /dev/null +++ b/sys/modules/netgraph/sync_ar/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/ar +KMOD = ng_sync_ar +SRCS = if_ar.c if_ar_isa.c if_ar_pci.c +SRCS += device_if.h bus_if.h pci_if.h isa_if.h opt_netgraph.h + +opt_netgraph.h: + echo "#define NETGRAPH" > opt_netgraph.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/sync_sr/Makefile b/sys/modules/netgraph/sync_sr/Makefile new file mode 100644 index 000000000000..16a291ca4654 --- /dev/null +++ b/sys/modules/netgraph/sync_sr/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/sr +KMOD = ng_sync_sr +SRCS = if_sr.c if_sr_isa.c if_sr_pci.c +SRCS += device_if.h bus_if.h pci_if.h isa_if.h opt_netgraph.h + +opt_netgraph.h: + echo "#define NETGRAPH" > opt_netgraph.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/tee/Makefile b/sys/modules/netgraph/tee/Makefile new file mode 100644 index 000000000000..8df0c1f15e87 --- /dev/null +++ b/sys/modules/netgraph/tee/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:22 archie Exp $ + +KMOD= ng_tee +SRCS= ng_tee.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/tty/Makefile b/sys/modules/netgraph/tty/Makefile new file mode 100644 index 000000000000..65f64b139461 --- /dev/null +++ b/sys/modules/netgraph/tty/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.2 1999/01/19 19:39:22 archie Exp $ + +KMOD= ng_tty +SRCS= ng_tty.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/vjc/Makefile b/sys/modules/netgraph/vjc/Makefile new file mode 100644 index 000000000000..ee4ea8430fab --- /dev/null +++ b/sys/modules/netgraph/vjc/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ +# $Whistle: Makefile,v 1.1 1999/01/24 06:48:07 archie Exp $ + +KMOD= ng_vjc +SRCS= ng_vjc.c slcompress.c +KMODDEPS= netgraph + +.PATH: ${.CURDIR}/../../../net + +.include <bsd.kmod.mk> diff --git a/sys/modules/netgraph/vlan/Makefile b/sys/modules/netgraph/vlan/Makefile new file mode 100644 index 000000000000..4701c1126d44 --- /dev/null +++ b/sys/modules/netgraph/vlan/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +KMOD= ng_vlan +SRCS= ng_vlan.c +KMODDEPS= netgraph + +.include <bsd.kmod.mk> diff --git a/sys/modules/nfs/Makefile b/sys/modules/nfs/Makefile new file mode 100644 index 000000000000..34d4006a038f --- /dev/null +++ b/sys/modules/nfs/Makefile @@ -0,0 +1,18 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../nfs +KMOD= nfs +SRCS= vnode_if.h \ + nfs_bio.c nfs_node.c nfs_nqlease.c nfs_serv.c nfs_socket.c \ + nfs_srvcache.c nfs_subs.c nfs_syscalls.c nfs_vfsops.c \ + nfs_vnops.c opt_inet.h opt_nfs.h opt_vmpage.h opt_bootp.h +NFS_INET?= 1 # 0/1 - requires INET to be configured in kernel +NOMAN= + +opt_inet.h: + touch ${.TARGET} +.if ${NFS_INET} > 0 + echo "#define INET 1" > ${.TARGET} +.endif + +.include <bsd.kmod.mk> diff --git a/sys/modules/nge/Makefile b/sys/modules/nge/Makefile new file mode 100644 index 000000000000..20a5c060ac59 --- /dev/null +++ b/sys/modules/nge/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/nge + +KMOD= if_nge +SRCS= if_nge.c miibus_if.h opt_bdg.h device_if.h bus_if.h pci_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/nmdm/Makefile b/sys/modules/nmdm/Makefile new file mode 100644 index 000000000000..d74b7d3d6ac7 --- /dev/null +++ b/sys/modules/nmdm/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/nmdm + +KMOD= nmdm +SRCS= nmdm.c +SRCS+= opt_compat.h vnode_if.h + +opt_compat.h: + echo "#define COMPAT_43 1" >opt_compat.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/nsp/Makefile b/sys/modules/nsp/Makefile new file mode 100644 index 000000000000..37b79405ee8f --- /dev/null +++ b/sys/modules/nsp/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/nsp + +KMOD= nsp +SRCS= nsp.c nsp_pccard.c +SRCS+= opt_bdg.h device_if.h bus_if.h pci_if.h isa_if.h card_if.h +SRCS+= opt_cam.h opt_scsi.h opt_ddb.h +KMODDEPS= scsi_low + +.include <bsd.kmod.mk> diff --git a/sys/modules/ntfs/Makefile b/sys/modules/ntfs/Makefile new file mode 100644 index 000000000000..d13373b7e29d --- /dev/null +++ b/sys/modules/ntfs/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../ntfs +KMOD= ntfs +SRCS= vnode_if.h \ + ntfs_vfsops.c ntfs_vnops.c ntfs_subr.c ntfs_ihash.c \ + ntfs_compr.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/nullfs/Makefile b/sys/modules/nullfs/Makefile new file mode 100644 index 000000000000..9c5a74162367 --- /dev/null +++ b/sys/modules/nullfs/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../miscfs/nullfs +KMOD= null +SRCS= vnode_if.h opt_ddb.h \ + null_subr.c null_vfsops.c null_vnops.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/nwfs/Makefile b/sys/modules/nwfs/Makefile new file mode 100644 index 000000000000..0f8471f7a90d --- /dev/null +++ b/sys/modules/nwfs/Makefile @@ -0,0 +1,30 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../nwfs + +KMOD= nwfs +KMODDEPS= ncp + +SRCS= vnode_if.h \ + nwfs_node.c nwfs_ioctl.c nwfs_io.c nwfs_vfsops.c nwfs_vnops.c \ + nwfs_subr.c opt_ncp.h opt_nwfs.h opt_vmpage.h + +NOMAN=true + +.if defined(VNPRINT) +CFLAGS+= -DVNPRINT +.endif + +opt_ncp.h: + echo "#define NCP 1" > ${.TARGET} + +load: nwfs.ko + kldload ./nwfs.ko + +unload: + @(if kldunload nwfs; then true; else true; fi) + +deinstall: + rm -f /modules/nwfs.ko + +.include <bsd.kmod.mk> diff --git a/sys/modules/osf1/Makefile b/sys/modules/osf1/Makefile new file mode 100644 index 000000000000..1f0bdbde073f --- /dev/null +++ b/sys/modules/osf1/Makefile @@ -0,0 +1,26 @@ +# $FreeBSD$ + +MAINTAINER= gallatin@FreeBSD.org + +.PATH: ${.CURDIR}/../../alpha/osf1 + +KMOD= osf1 +SRCS= osf1_ioctl.c osf1_misc.c osf1_signal.c osf1_sysent.c \ + osf1_mount.c imgact_osf1.c osf1_sysvec.c opt_compat.h \ + opt_simos.h opt_nfs.h vnode_if.h +MAN= osf1.8 + +#CFLAGS+= -g +EXPORT_SYMS= _osf1 + +opt_compat.h: + echo "#define COMPAT_43 1" > ${.TARGET} + +opt_osf1.h opt_simos.h opt_nfs.h: + touch ${.TARGET} + +afterinstall: + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/osf1.sh ${DESTDIR}/usr/bin/osf1 + +.include <bsd.kmod.mk> diff --git a/sys/modules/osf1/osf1.8 b/sys/modules/osf1/osf1.8 new file mode 100644 index 000000000000..d8ba59c7b53b --- /dev/null +++ b/sys/modules/osf1/osf1.8 @@ -0,0 +1,47 @@ +.\" Copyright (c) 1999 +.\" The FreeBSD 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. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. +.\" +.\" $FreeBSD$ +.\" +.Dd December 31, 1998 +.Dt OSF1 8 +.Os +.Sh NAME +.Nm osf1 +.Nd load the OSF/1 emulator kernel module +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +The +.Nm +utility loads the OSF/1 image activator kernel module. +.Sh FILES +.Bl -tag -width /modules/osf1.ko +.It Pa /modules/osf1.ko +OSF/1 image activator loadable kernel module. +.El +.Sh SEE ALSO +.Xr kld 4 , +.Xr kldload 8 , +.Xr kldstat 8 , +.Xr kldunload 8 diff --git a/sys/modules/osf1/osf1.sh b/sys/modules/osf1/osf1.sh new file mode 100644 index 000000000000..b2b4d92f49ac --- /dev/null +++ b/sys/modules/osf1/osf1.sh @@ -0,0 +1,36 @@ +#!/bin/sh +# +# Copyright (c) 1999 +# The FreeBSD 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. +# +# THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``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 DEVELOPERS 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. +# +# $FreeBSD$ +# + +FOUND=`kldstat -v | egrep 'osf1_ecoff'` + +if [ "x$FOUND" != x ] ; then + echo Osf1 driver already loaded + exit 1 +else + kldload osf1 +fi diff --git a/sys/modules/pccard/Makefile b/sys/modules/pccard/Makefile new file mode 100644 index 000000000000..c1511fddf058 --- /dev/null +++ b/sys/modules/pccard/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/pccard +KMOD= pccard +SRCS= pccard.c pccard_cis.c pccard_cis_quirks.c \ + device_if.h bus_if.h card_if.h card_if.c power_if.h power_if.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/pcfclock/Makefile b/sys/modules/pcfclock/Makefile new file mode 100644 index 000000000000..6d37afe47f46 --- /dev/null +++ b/sys/modules/pcfclock/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ppbus +KMOD= pcfclock +SRCS= pcfclock.c opt_pcfclock.h +SRCS+= bus_if.h device_if.h ppbus_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/pcic/Makefile b/sys/modules/pcic/Makefile new file mode 100644 index 000000000000..5514ef9148b8 --- /dev/null +++ b/sys/modules/pcic/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/pcic +KMOD= pcic +SRCS= i82365.c i82365_isa.c \ + device_if.h bus_if.h isa_if.h power_if.h card_if.h +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/pcn/Makefile b/sys/modules/pcn/Makefile new file mode 100644 index 000000000000..c71bbd996c41 --- /dev/null +++ b/sys/modules/pcn/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_pcn +SRCS = if_pcn.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/pmc/Makefile b/sys/modules/pmc/Makefile new file mode 100644 index 000000000000..30c1581b049f --- /dev/null +++ b/sys/modules/pmc/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pc98/pc98 + +KMOD= pmc +SRCS= pmc.c +SRCS+= bus_if.h device_if.h isa_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/portal/Makefile b/sys/modules/portal/Makefile new file mode 100644 index 000000000000..5cc476778021 --- /dev/null +++ b/sys/modules/portal/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../miscfs/portal +KMOD= portal +SRCS= vnode_if.h \ + portal_vfsops.c portal_vnops.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/procfs/Makefile b/sys/modules/procfs/Makefile new file mode 100644 index 000000000000..28d899028451 --- /dev/null +++ b/sys/modules/procfs/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../miscfs/procfs +KMOD= procfs +SRCS= vnode_if.h \ + procfs_ctl.c procfs_map.c procfs_note.c procfs_rlimit.c \ + procfs_status.c procfs_subr.c procfs_type.c procfs_vfsops.c \ + procfs_vnops.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/pst/Makefile b/sys/modules/pst/Makefile new file mode 100644 index 000000000000..46e552ddaf74 --- /dev/null +++ b/sys/modules/pst/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/pst + +KMOD= pst +SRCS= pst-pci.c pst-iop.c pst-raid.c +SRCS+= device_if.h bus_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ray/Makefile b/sys/modules/ray/Makefile new file mode 100644 index 000000000000..16eb08349481 --- /dev/null +++ b/sys/modules/ray/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ray +KMOD = if_ray +SRCS = if_ray.c +SRCS += device_if.h bus_if.h card_if.h opt_inet.h +NOMAN = + +.include <bsd.kmod.mk> diff --git a/sys/modules/rl/Makefile b/sys/modules/rl/Makefile new file mode 100644 index 000000000000..8700ad870e6b --- /dev/null +++ b/sys/modules/rl/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_rl +SRCS = if_rl.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/rp/Makefile b/sys/modules/rp/Makefile new file mode 100644 index 000000000000..0592276d5191 --- /dev/null +++ b/sys/modules/rp/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/rp + +KMOD= rp +SRCS= rp.c rp_pci.c device_if.h bus_if.h pci_if.h +CFLAGS+= -g + +.include <bsd.kmod.mk> diff --git a/sys/modules/rue/Makefile b/sys/modules/rue/Makefile new file mode 100644 index 000000000000..7bed1b0520a1 --- /dev/null +++ b/sys/modules/rue/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= if_rue +SRCS= if_rue.c opt_bdg.h opt_usb.h device_if.h bus_if.h +SRCS+= miibus_if.h +KMODDEPS= miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/safe/Makefile b/sys/modules/safe/Makefile new file mode 100644 index 000000000000..b47a594011d9 --- /dev/null +++ b/sys/modules/safe/Makefile @@ -0,0 +1,38 @@ +#- +# Copyright (c) 2003 Sam Leffler, Errno Consulting +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 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. +# +# $FreeBSD$ +# + +.PATH: ${.CURDIR}/../../dev/safe +KMOD = safe +SRCS = safe.c opt_safe.h +SRCS += device_if.h bus_if.h pci_if.h +SRCS += opt_bdg.h opt_bus.h crypto_if.h + +opt_safe.h: + echo "#define SAFE_DEBUG 1" > opt_safe.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/sbni/Makefile b/sys/modules/sbni/Makefile new file mode 100644 index 000000000000..4b9eb7a83bf7 --- /dev/null +++ b/sys/modules/sbni/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/sbni + +KMOD= if_sbni +SRCS= if_sbni.c if_sbni_pci.c + +SRCS+= bus_if.h device_if.h isa_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/sbsh/Makefile b/sys/modules/sbsh/Makefile new file mode 100644 index 000000000000..74569567c470 --- /dev/null +++ b/sys/modules/sbsh/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/sbsh + +KMOD= if_sbsh +SRCS= if_sbsh.c bus_if.h device_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/scsi_low/Makefile b/sys/modules/scsi_low/Makefile new file mode 100644 index 000000000000..ba18c1d46015 --- /dev/null +++ b/sys/modules/scsi_low/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../cam/scsi +KMOD= scsi_low +SRCS= scsi_low.c scsi_low_pisa.c +SRCS+= opt_ddb.h opt_scsi.h opt_cam.h bus_if.h device_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/sf/Makefile b/sys/modules/sf/Makefile new file mode 100644 index 000000000000..88b594082899 --- /dev/null +++ b/sys/modules/sf/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_sf +SRCS = if_sf.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/sis/Makefile b/sys/modules/sis/Makefile new file mode 100644 index 000000000000..de63c38aad67 --- /dev/null +++ b/sys/modules/sis/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_sis +SRCS = if_sis.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/sk/Makefile b/sys/modules/sk/Makefile new file mode 100644 index 000000000000..350521cab879 --- /dev/null +++ b/sys/modules/sk/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_sk +SRCS = if_sk.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/smbfs/Makefile b/sys/modules/smbfs/Makefile new file mode 100644 index 000000000000..578423491894 --- /dev/null +++ b/sys/modules/smbfs/Makefile @@ -0,0 +1,71 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../crypto/des \ + ${.CURDIR}/../../crypto/des/arch/${MACHINE_ARCH} \ + ${.CURDIR}/../../kern \ + ${.CURDIR}/../../libkern \ + ${.CURDIR}/../../netsmb \ + ${.CURDIR}/../../fs/smbfs + +KMOD= smbfs +KMODDEPS= libiconv libmchain + +SRCS= vnode_if.h \ + opt_inet.h opt_ipx.h \ + opt_netsmb.h opt_smbfs.h opt_vmpage.h \ + iconv_converter_if.h \ + md4c.c \ + smb_conn.c smb_dev.c smb_trantcp.c smb_smb.c smb_subr.c smb_rq.c \ + smb_usr.c smb_crypt.c smb_iod.c \ + smbfs_vfsops.c smbfs_node.c smbfs_io.c smbfs_vnops.c \ + smbfs_subr.c smbfs_smb.c + +NOMAN=true + +.if exists(${.CURDIR}/../../crypto/des/des.h) +NETSMBCRYPTO=yes +.endif + +.if defined(NETSMBCRYPTO) +SRCS+= des_ecb.c des_setkey.c +.if ${MACHINE_ARCH} == "i386" +SRCS+= des_enc.S +.else +SRCS+= des_enc.c +.endif +.endif + +# Build with IPX support (1|0) +SMB_IPX?= 0 + +# Build with INET support (1|0) +SMB_INET?= 1 + +CFLAGS+= ${KDEBUG} + +.if defined(VNPRINT) +CFLAGS+= -DVNPRINT +.endif + +opt_inet.h: + touch ${.TARGET} +.if ${SMB_INET} > 0 + echo "#define INET 1" > ${.TARGET} +.endif + +opt_ipx.h: + touch ${.TARGET} +.if ${SMB_IPX} > 0 + echo "#define IPX 1" > ${.TARGET} +.endif + +opt_netsmb.h: + echo "#define NETSMB 1" > ${.TARGET} +.if defined(NETSMBCRYPTO) + echo "#define NETSMBCRYPTO 1" >> ${.TARGET} +.endif + +unload: + @(if kldunload ${KMOD}; then true; else true; fi) + +.include <bsd.kmod.mk> diff --git a/sys/modules/snc/Makefile b/sys/modules/snc/Makefile new file mode 100644 index 000000000000..f161c1e1e396 --- /dev/null +++ b/sys/modules/snc/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/snc +KMOD = if_snc +SRCS = if_snc.c if_snc_cbus.c if_snc_pccard.c dp83932.c dp83932subr.c +SRCS += opt_inet.h opt_bdg.h device_if.h bus_if.h isa_if.h + +opt_inet.h: + echo "#define INET 1" > ${.TARGET} + +.include <bsd.kmod.mk> diff --git a/sys/modules/snp/Makefile b/sys/modules/snp/Makefile new file mode 100644 index 000000000000..9cafd330e7b6 --- /dev/null +++ b/sys/modules/snp/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/snp + +KMOD= snp +SRCS= snp.c vnode_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/Makefile b/sys/modules/sound/Makefile new file mode 100644 index 000000000000..da5d356ffb31 --- /dev/null +++ b/sys/modules/sound/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +SUBDIR = +SUBDIR += pcm +SUBDIR += driver snd + +.include <bsd.subdir.mk> diff --git a/sys/modules/sound/Makefile.inc b/sys/modules/sound/Makefile.inc new file mode 100644 index 000000000000..265f86d1ed55 --- /dev/null +++ b/sys/modules/sound/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/sys/modules/sound/driver/Makefile b/sys/modules/sound/driver/Makefile new file mode 100644 index 000000000000..4001d7e11022 --- /dev/null +++ b/sys/modules/sound/driver/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +SUBDIR = ad1816 als4000 cmi cs4281 csa ds1 emu10k1 es137x ess fm801 ich +SUBDIR += maestro maestro3 mss neomagic sb16 sb8 sbc solo t4dwave +SUBDIR += uaudio via8233 via82c686 vibes + +.include <bsd.subdir.mk> diff --git a/sys/modules/sound/driver/Makefile.inc b/sys/modules/sound/driver/Makefile.inc new file mode 100644 index 000000000000..124bfc8bd11a --- /dev/null +++ b/sys/modules/sound/driver/Makefile.inc @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SRCS += ac97_if.h channel_if.h feeder_if.h mixer_if.h + +.include "../Makefile.inc" diff --git a/sys/modules/sound/driver/ad1816/Makefile b/sys/modules/sound/driver/ad1816/Makefile new file mode 100644 index 000000000000..1796314afee0 --- /dev/null +++ b/sys/modules/sound/driver/ad1816/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/isa +KMOD = snd_ad1816 +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += ad1816.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/als4000/Makefile b/sys/modules/sound/driver/als4000/Makefile new file mode 100644 index 000000000000..d985aa51e502 --- /dev/null +++ b/sys/modules/sound/driver/als4000/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci + +KMOD= snd_als4000 +SRCS= device_if.h bus_if.h isa_if.h pci_if.h +SRCS+= als4000.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/cmi/Makefile b/sys/modules/sound/driver/cmi/Makefile new file mode 100644 index 000000000000..2e6dd2561ab4 --- /dev/null +++ b/sys/modules/sound/driver/cmi/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_cmi +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += cmi.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/cs4281/Makefile b/sys/modules/sound/driver/cs4281/Makefile new file mode 100644 index 000000000000..de788a544003 --- /dev/null +++ b/sys/modules/sound/driver/cs4281/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_cs4281 +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += cs4281.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/csa/Makefile b/sys/modules/sound/driver/csa/Makefile new file mode 100644 index 000000000000..387dbba13e9b --- /dev/null +++ b/sys/modules/sound/driver/csa/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_csa +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += csa.c csapcm.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/ds1/Makefile b/sys/modules/sound/driver/ds1/Makefile new file mode 100644 index 000000000000..e488fe440ba5 --- /dev/null +++ b/sys/modules/sound/driver/ds1/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_ds1 +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += ds1.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/emu10k1/Makefile b/sys/modules/sound/driver/emu10k1/Makefile new file mode 100644 index 000000000000..14f9534bbe2e --- /dev/null +++ b/sys/modules/sound/driver/emu10k1/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_emu10k1 +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += emu10k1.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/es137x/Makefile b/sys/modules/sound/driver/es137x/Makefile new file mode 100644 index 000000000000..23a89e86ef4c --- /dev/null +++ b/sys/modules/sound/driver/es137x/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_es137x +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += es137x.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/ess/Makefile b/sys/modules/sound/driver/ess/Makefile new file mode 100644 index 000000000000..0fda8351c264 --- /dev/null +++ b/sys/modules/sound/driver/ess/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/isa +KMOD = snd_ess +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += ess.c es1888.c +KMODDEPS = snd_pcm snd_sbc + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/fm801/Makefile b/sys/modules/sound/driver/fm801/Makefile new file mode 100644 index 000000000000..217b95b29667 --- /dev/null +++ b/sys/modules/sound/driver/fm801/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_fm801 +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += fm801.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/ich/Makefile b/sys/modules/sound/driver/ich/Makefile new file mode 100755 index 000000000000..b03a4238eaa2 --- /dev/null +++ b/sys/modules/sound/driver/ich/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_ich +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += ich.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/maestro/Makefile b/sys/modules/sound/driver/maestro/Makefile new file mode 100644 index 000000000000..78232ea13c99 --- /dev/null +++ b/sys/modules/sound/driver/maestro/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_maestro +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += maestro.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/maestro3/Makefile b/sys/modules/sound/driver/maestro3/Makefile new file mode 100644 index 000000000000..bfc4d48db8d3 --- /dev/null +++ b/sys/modules/sound/driver/maestro3/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_maestro3 +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += maestro3.c +CFLAGS += -Wall + +CFLAGS += -DM3_DEBUG_LEVEL=-1 + +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/mss/Makefile b/sys/modules/sound/driver/mss/Makefile new file mode 100644 index 000000000000..6d19f5412050 --- /dev/null +++ b/sys/modules/sound/driver/mss/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/isa +KMOD = snd_mss +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += mss.c gusc.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/neomagic/Makefile b/sys/modules/sound/driver/neomagic/Makefile new file mode 100644 index 000000000000..95b2bc3c5b5c --- /dev/null +++ b/sys/modules/sound/driver/neomagic/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_neomagic +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += neomagic.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/sb16/Makefile b/sys/modules/sound/driver/sb16/Makefile new file mode 100644 index 000000000000..75779df6bc10 --- /dev/null +++ b/sys/modules/sound/driver/sb16/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/isa + +KMOD= snd_sb16 +SRCS= device_if.h bus_if.h isa_if.h pci_if.h +SRCS+= sb16.c +KMODDEPS = snd_pcm snd_sbc + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/sb8/Makefile b/sys/modules/sound/driver/sb8/Makefile new file mode 100644 index 000000000000..38782cec5516 --- /dev/null +++ b/sys/modules/sound/driver/sb8/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/isa + +KMOD= snd_sb8 +SRCS= device_if.h bus_if.h isa_if.h pci_if.h +SRCS+= sb8.c +KMODDEPS = snd_pcm snd_sbc + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/sbc/Makefile b/sys/modules/sound/driver/sbc/Makefile new file mode 100644 index 000000000000..3974b5a82db7 --- /dev/null +++ b/sys/modules/sound/driver/sbc/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/isa +KMOD = snd_sbc +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += sbc.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/solo/Makefile b/sys/modules/sound/driver/solo/Makefile new file mode 100644 index 000000000000..e7db0f812e8a --- /dev/null +++ b/sys/modules/sound/driver/solo/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_solo +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += solo.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/t4dwave/Makefile b/sys/modules/sound/driver/t4dwave/Makefile new file mode 100644 index 000000000000..b5225dc2a0de --- /dev/null +++ b/sys/modules/sound/driver/t4dwave/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_t4dwave +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += t4dwave.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/uaudio/Makefile b/sys/modules/sound/driver/uaudio/Makefile new file mode 100644 index 000000000000..d38f42e45145 --- /dev/null +++ b/sys/modules/sound/driver/uaudio/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/usb +KMOD = snd_uaudio +SRCS = device_if.h bus_if.h isa_if.h opt_usb.h +SRCS += uaudio.c uaudio_pcm.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/via8233/Makefile b/sys/modules/sound/driver/via8233/Makefile new file mode 100644 index 000000000000..1ed57e1666ff --- /dev/null +++ b/sys/modules/sound/driver/via8233/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_via8233 +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += via8233.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/via82c686/Makefile b/sys/modules/sound/driver/via82c686/Makefile new file mode 100644 index 000000000000..18aeab10b291 --- /dev/null +++ b/sys/modules/sound/driver/via82c686/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_via82c686 +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += via82c686.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/driver/vibes/Makefile b/sys/modules/sound/driver/vibes/Makefile new file mode 100644 index 000000000000..0f57781181c7 --- /dev/null +++ b/sys/modules/sound/driver/vibes/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../../dev/sound/pci +KMOD = snd_vibes +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += vibes.c +KMODDEPS = snd_pcm + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/pcm/Makefile b/sys/modules/sound/pcm/Makefile new file mode 100644 index 000000000000..ed54ad183dd1 --- /dev/null +++ b/sys/modules/sound/pcm/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/sound/pcm +KMOD = snd_pcm +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += ac97_if.h channel_if.h feeder_if.h mixer_if.h +SRCS += ac97_if.c channel_if.c feeder_if.c mixer_if.c +SRCS += ac97.c ac97_patch.c buffer.c channel.c dsp.c +SRCS += fake.c feeder.c feeder_fmt.c feeder_rate.c +SRCS += mixer.c sndstat.c sound.c vchan.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/sound/snd/Makefile b/sys/modules/sound/snd/Makefile new file mode 100644 index 000000000000..aa4beba03d81 --- /dev/null +++ b/sys/modules/sound/snd/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../../dev/sound + +KMOD = snd +SRCS = device_if.h bus_if.h isa_if.h pci_if.h +SRCS += ac97_if.h channel_if.h feeder_if.h mixer_if.h +SRCS += driver.c +KMODDEPS += snd_pcm +KMODDEPS += snd_ad1816 snd_als4000 snd_cmi snd_cs4281 snd_csa snd_ds1 +KMODDEPS += snd_emu10k1 snd_es137x snd_fm801 snd_ich +KMODDEPS += snd_maestro snd_maestro3 snd_mss snd_neomagic +KMODDEPS += snd_solo snd_t4dwave snd_via82c686 snd_vibes +KMODDEPS += snd_sbc snd_sb16 snd_sb8 snd_ess + +.include <bsd.kmod.mk> diff --git a/sys/modules/splash/Makefile b/sys/modules/splash/Makefile new file mode 100644 index 000000000000..1c634bf4bf98 --- /dev/null +++ b/sys/modules/splash/Makefile @@ -0,0 +1,5 @@ +# $FreeBSD$ + +SUBDIR= bmp pcx + +.include <bsd.subdir.mk> diff --git a/sys/modules/splash/Makefile.inc b/sys/modules/splash/Makefile.inc new file mode 100644 index 000000000000..265f86d1ed55 --- /dev/null +++ b/sys/modules/splash/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/sys/modules/splash/bmp/Makefile b/sys/modules/splash/bmp/Makefile new file mode 100644 index 000000000000..af009a282619 --- /dev/null +++ b/sys/modules/splash/bmp/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +KMOD= splash_bmp +SRCS= splash_bmp.c + +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/splash/bmp/splash_bmp.c b/sys/modules/splash/bmp/splash_bmp.c new file mode 100644 index 000000000000..5f1d2b29d167 --- /dev/null +++ b/sys/modules/splash/bmp/splash_bmp.c @@ -0,0 +1,638 @@ +/*- + * Copyright (c) 1999 Michael Smith <msmith@freebsd.org> + * Copyright (c) 1999 Kazutaka YOKOTA <yokota@freebsd.org> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHORS 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 AUTHORS 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. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/linker.h> +#include <sys/fbio.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#ifndef PC98 +#include <dev/fb/vgareg.h> + +#include <isa/isareg.h> +#endif + +#define FADE_TIMEOUT 15 /* sec */ +#define FADE_LEVELS 10 + +static int splash_mode = -1; +static int splash_on = FALSE; + +static int bmp_start(video_adapter_t *adp); +static int bmp_end(video_adapter_t *adp); +static int bmp_splash(video_adapter_t *adp, int on); +static int bmp_Init(const char *data, int swidth, int sheight, int sdepth); +static int bmp_Draw(video_adapter_t *adp); + +static splash_decoder_t bmp_decoder = { + "splash_bmp", bmp_start, bmp_end, bmp_splash, SPLASH_IMAGE, +}; + +SPLASH_DECODER(splash_bmp, bmp_decoder); + +static int +bmp_start(video_adapter_t *adp) +{ + /* currently only 256-color modes are supported XXX */ + static int modes[] = { +#ifdef PC98 + /* + * As 640x400 doesn't generally look great, + * it's least preferred here. + */ + M_PC98_PEGC640x400, + M_PC98_PEGC640x480, + M_PC98_EGC640x400, +#else + M_VESA_CG640x480, + M_VESA_CG800x600, + M_VESA_CG1024x768, + M_CG640x480, + /* + * As 320x200 doesn't generally look great, + * it's least preferred here. + */ + M_VGA_CG320, +#endif + -1, + }; + video_info_t info; + int i; + + if ((bmp_decoder.data == NULL) || (bmp_decoder.data_size <= 0)) { + printf("splash_bmp: No bitmap file found\n"); + return ENODEV; + } + for (i = 0; modes[i] >= 0; ++i) { + if (((*vidsw[adp->va_index]->get_info)(adp, modes[i], &info) == 0) + && (bmp_Init((u_char *)bmp_decoder.data, + info.vi_width, info.vi_height, info.vi_depth) == 0)) + break; + } + splash_mode = modes[i]; + if (splash_mode < 0) + printf("splash_bmp: No appropriate video mode found\n"); + if (bootverbose) + printf("bmp_start(): splash_mode:%d\n", splash_mode); + return ((splash_mode < 0) ? ENODEV : 0); +} + +static int +bmp_end(video_adapter_t *adp) +{ + /* nothing to do */ + return 0; +} + +static int +bmp_splash(video_adapter_t *adp, int on) +{ + static u_char pal[256*3]; + static long time_stamp; + u_char tpal[256*3]; + static int fading = TRUE, brightness = FADE_LEVELS; + struct timeval tv; + int i; + + if (on) { + if (!splash_on) { + /* set up the video mode and draw something */ + if ((*vidsw[adp->va_index]->set_mode)(adp, splash_mode)) + return 1; + if (bmp_Draw(adp)) + return 1; + (*vidsw[adp->va_index]->save_palette)(adp, pal); + time_stamp = 0; + splash_on = TRUE; + } + /* + * This is a kludge to fade the image away. This section of the + * code takes effect only after the system is completely up. + * FADE_TIMEOUT should be configurable. + */ + if (!cold) { + getmicrotime(&tv); + if (time_stamp == 0) + time_stamp = tv.tv_sec; + if (tv.tv_sec > time_stamp + FADE_TIMEOUT) { + if (fading) + if (brightness == 0) { + fading = FALSE; + brightness++; + } + else brightness--; + else + if (brightness == FADE_LEVELS) { + fading = TRUE; + brightness--; + } + else brightness++; + for (i = 0; i < sizeof(pal); ++i) { + tpal[i] = pal[i] * brightness / FADE_LEVELS; + } + (*vidsw[adp->va_index]->load_palette)(adp, tpal); + time_stamp = tv.tv_sec; + } + } + return 0; + } else { + /* the video mode will be restored by the caller */ + splash_on = FALSE; + return 0; + } +} + +/* +** Code to handle Microsoft DIB (".BMP") format images. +** +** Blame me (msmith@freebsd.org) if this is broken, not Soren. +*/ + +typedef struct tagBITMAPFILEHEADER { /* bmfh */ + u_short bfType __attribute__ ((packed)); + int bfSize __attribute__ ((packed)); + u_short bfReserved1 __attribute__ ((packed)); + u_short bfReserved2 __attribute__ ((packed)); + int bfOffBits __attribute__ ((packed)); +} BITMAPFILEHEADER; + +typedef struct tagBITMAPINFOHEADER { /* bmih */ + int biSize __attribute__ ((packed)); + int biWidth __attribute__ ((packed)); + int biHeight __attribute__ ((packed)); + short biPlanes __attribute__ ((packed)); + short biBitCount __attribute__ ((packed)); + int biCompression __attribute__ ((packed)); + int biSizeImage __attribute__ ((packed)); + int biXPelsPerMeter __attribute__ ((packed)); + int biYPelsPerMeter __attribute__ ((packed)); + int biClrUsed __attribute__ ((packed)); + int biClrImportant __attribute__ ((packed)); +} BITMAPINFOHEADER; + +typedef struct tagRGBQUAD { /* rgbq */ + u_char rgbBlue __attribute__ ((packed)); + u_char rgbGreen __attribute__ ((packed)); + u_char rgbRed __attribute__ ((packed)); + u_char rgbReserved __attribute__ ((packed)); +} RGBQUAD; + +typedef struct tagBITMAPINFO { /* bmi */ + BITMAPINFOHEADER bmiHeader __attribute__ ((packed)); + RGBQUAD bmiColors[256] __attribute__ ((packed)); +} BITMAPINFO; + +typedef struct tagBITMAPF +{ + BITMAPFILEHEADER bmfh __attribute__ ((packed)); + BITMAPINFO bmfi __attribute__ ((packed)); +} BITMAPF; + +#define BI_RGB 0 +#define BI_RLE8 1 +#define BI_RLE4 2 + +/* +** all we actually care about the image +*/ +typedef struct +{ + int width,height; /* image dimensions */ + int swidth,sheight; /* screen dimensions for the current mode */ + u_char depth; /* image depth (1, 4, 8, 24 bits) */ + u_char sdepth; /* screen depth (1, 4, 8 bpp) */ + int ncols; /* number of colours */ + u_char palette[256][3]; /* raw palette data */ + u_char format; /* one of the BI_* constants above */ + u_char *data; /* pointer to the raw data */ + u_char *index; /* running pointer to the data while drawing */ + u_char *vidmem; /* video memory allocated for drawing */ + video_adapter_t *adp; + int bank; +#ifdef PC98 + u_char prev_val; +#endif +} BMP_INFO; + +static BMP_INFO bmp_info; + +/* +** bmp_SetPix +** +** Given (info), set the pixel at (x),(y) to (val) +** +*/ +static void +bmp_SetPix(BMP_INFO *info, int x, int y, u_char val) +{ + int sofs, bofs; + int newbank; + + /* + * range check to avoid explosions + */ + if ((x < 0) || (x >= info->swidth) || (y < 0) || (y >= info->sheight)) + return; + + /* + * calculate offset into video memory; + * because 0,0 is bottom-left for DIB, we have to convert. + */ + sofs = ((info->height - (y+1) + (info->sheight - info->height) / 2) + * info->adp->va_line_width); + x += (info->swidth - info->width) / 2; + + switch(info->sdepth) { +#ifdef PC98 + case 4: + sofs += (x >> 3); + bofs = x & 0x7; /* offset within byte */ + + outb(0x7c, 0x80 | 0x40); /* GRCG on & RMW mode */ + if (val != info->prev_val) { + outb(0x7e, (val & 1) ? 0xff : 0); /* tile B */ + outb(0x7e, (val & 2) ? 0xff : 0); /* tile R */ + outb(0x7e, (val & 4) ? 0xff : 0); /* tile G */ + outb(0x7e, (val & 8) ? 0xff : 0); /* tile I */ + + info->prev_val = val; + } + + *(info->vidmem+sofs) = (0x80 >> bofs); /* write new bit */ + outb(0x7c, 0); /* GRCG off */ + break; +#else + case 4: + case 1: + /* EGA/VGA planar modes */ + sofs += (x >> 3); + newbank = sofs/info->adp->va_window_size; + if (info->bank != newbank) { + (*vidsw[info->adp->va_index]->set_win_org)(info->adp, newbank*info->adp->va_window_size); + info->bank = newbank; + } + sofs %= info->adp->va_window_size; + bofs = x & 0x7; /* offset within byte */ + outw(GDCIDX, (0x8000 >> bofs) | 0x08); /* bit mask */ + outw(GDCIDX, (val << 8) | 0x00); /* set/reset */ + *(info->vidmem + sofs) ^= 0xff; /* read-modify-write */ + break; +#endif + + case 8: + sofs += x; + newbank = sofs/info->adp->va_window_size; + if (info->bank != newbank) { + (*vidsw[info->adp->va_index]->set_win_org)(info->adp, newbank*info->adp->va_window_size); + info->bank = newbank; + } + sofs %= info->adp->va_window_size; + *(info->vidmem+sofs) = val; + break; + } +} + +/* +** bmp_DecodeRLE4 +** +** Given (data) pointing to a line of RLE4-format data and (line) being the starting +** line onscreen, decode the line. +*/ +static void +bmp_DecodeRLE4(BMP_INFO *info, int line) +{ + int count; /* run count */ + u_char val; + int x,y; /* screen position */ + + x = 0; /* starting position */ + y = line; + + /* loop reading data */ + for (;;) { + /* + * encoded mode starts with a run length, and then a byte with + * two colour indexes to alternate between for the run + */ + if (*info->index) { + for (count = 0; count < *info->index; count++, x++) { + if (count & 1) { /* odd count, low nybble */ + bmp_SetPix(info, x, y, *(info->index+1) & 0x0f); + } else { /* even count, high nybble */ + bmp_SetPix(info, x, y, (*(info->index+1) >>4) & 0x0f); + } + } + info->index += 2; + /* + * A leading zero is an escape; it may signal the end of the + * bitmap, a cursor move, or some absolute data. + */ + } else { /* zero tag may be absolute mode or an escape */ + switch (*(info->index+1)) { + case 0: /* end of line */ + info->index += 2; + return; + case 1: /* end of bitmap */ + info->index = NULL; + return; + case 2: /* move */ + x += *(info->index + 2); /* new coords */ + y += *(info->index + 3); + info->index += 4; + break; + default: /* literal bitmap data */ + for (count = 0; count < *(info->index + 1); count++, x++) { + val = *(info->index + 2 + (count / 2)); /* byte with nybbles */ + if (count & 1) { + val &= 0xf; /* get low nybble */ + } else { + val = (val >> 4); /* get high nybble */ + } + bmp_SetPix(info, x, y, val); + } + /* warning, this depends on integer truncation, do not hand-optimise! */ + info->index += 2 + ((count + 3) / 4) * 2; + break; + } + } + } +} + +/* +** bmp_DecodeRLE8 +** Given (data) pointing to a line of RLE8-format data and (line) being the starting +** line onscreen, decode the line. +*/ +static void +bmp_DecodeRLE8(BMP_INFO *info, int line) +{ + int count; /* run count */ + int x,y; /* screen position */ + + x = 0; /* starting position */ + y = line; + + /* loop reading data */ + for(;;) { + /* + * encoded mode starts with a run length, and then a byte with + * two colour indexes to alternate between for the run + */ + if (*info->index) { + for (count = 0; count < *info->index; count++, x++) + bmp_SetPix(info, x, y, *(info->index+1)); + info->index += 2; + /* + * A leading zero is an escape; it may signal the end of the + * bitmap, a cursor move, or some absolute data. + */ + } else { /* zero tag may be absolute mode or an escape */ + switch(*(info->index+1)) { + case 0: /* end of line */ + info->index += 2; + return; + case 1: /* end of bitmap */ + info->index = NULL; + return; + case 2: /* move */ + x += *(info->index + 2); /* new coords */ + y += *(info->index + 3); + info->index += 4; + break; + default: /* literal bitmap data */ + for (count = 0; count < *(info->index + 1); count++, x++) + bmp_SetPix(info, x, y, *(info->index + 2 + count)); + /* must be an even count */ + info->index += 2 + count + (count & 1); + break; + } + } + } +} + +/* +** bmp_DecodeLine +** +** Given (info) pointing to an image being decoded, (line) being the line currently +** being displayed, decode a line of data. +*/ +static void +bmp_DecodeLine(BMP_INFO *info, int line) +{ + int x; + u_char val, mask, *p; + + switch(info->format) { + case BI_RGB: + switch(info->depth) { + case 8: + for (x = 0; x < info->width; x++, info->index++) + bmp_SetPix(info, x, line, *info->index); + info->index += 3 - (--x % 4); + break; + case 4: + p = info->index; + for (x = 0; x < info->width; x++) { + if (x & 1) { + val = *p & 0xf; /* get low nybble */ + p++; + } else { + val = *p >> 4; /* get high nybble */ + } + bmp_SetPix(info, x, line, val); + } + /* warning, this depends on integer truncation, do not hand-optimise! */ + info->index += ((x + 7) / 8) * 4; + break; + case 1: + p = info->index; + mask = 0x80; + for (x = 0; x < info->width; x++) { + val = (*p & mask) ? 1 : 0; + mask >>= 1; + if (mask == 0) { + mask = 0x80; + p++; + } + bmp_SetPix(info, x, line, val); + } + /* warning, this depends on integer truncation, do not hand-optimise! */ + info->index += ((x + 31) / 32) * 4; + break; + } + break; + case BI_RLE4: + bmp_DecodeRLE4(info, line); + break; + case BI_RLE8: + bmp_DecodeRLE8(info, line); + break; + } +} + +/* +** bmp_Init +** +** Given a pointer (data) to the image of a BMP file, fill in bmp_info with what +** can be learnt from it. Return nonzero if the file isn't usable. +** +** Take screen dimensions (swidth), (sheight) and (sdepth) and make sure we +** can work with these. +*/ +static int +bmp_Init(const char *data, int swidth, int sheight, int sdepth) +{ + BITMAPF *bmf = (BITMAPF *)data; + int pind; + + bmp_info.data = NULL; /* assume setup failed */ + + /* check file ID */ + if (bmf->bmfh.bfType != 0x4d42) { + printf("splash_bmp: not a BMP file\n"); + return(1); /* XXX check word ordering for big-endian ports? */ + } + + /* do we understand this bitmap format? */ + if (bmf->bmfi.bmiHeader.biSize > sizeof(bmf->bmfi.bmiHeader)) { + printf("splash_bmp: unsupported BMP format (size=%d)\n", + bmf->bmfi.bmiHeader.biSize); + return(1); + } + + /* save what we know about the screen */ + bmp_info.swidth = swidth; + bmp_info.sheight = sheight; + bmp_info.sdepth = sdepth; + + /* where's the data? */ + bmp_info.data = (u_char *)data + bmf->bmfh.bfOffBits; + + /* image parameters */ + bmp_info.width = bmf->bmfi.bmiHeader.biWidth; + bmp_info.height = bmf->bmfi.bmiHeader.biHeight; + bmp_info.depth = bmf->bmfi.bmiHeader.biBitCount; + bmp_info.format = bmf->bmfi.bmiHeader.biCompression; + + switch(bmp_info.format) { /* check compression format */ + case BI_RGB: + case BI_RLE4: + case BI_RLE8: + break; + default: + printf("splash_bmp: unsupported compression format\n"); + return(1); /* unsupported compression format */ + } + + /* palette details */ + bmp_info.ncols = (bmf->bmfi.bmiHeader.biClrUsed); + bzero(bmp_info.palette,sizeof(bmp_info.palette)); + if (bmp_info.ncols == 0) { /* uses all of them */ + bmp_info.ncols = 1 << bmf->bmfi.bmiHeader.biBitCount; + } + if ((bmp_info.height > bmp_info.sheight) || + (bmp_info.width > bmp_info.swidth) || + (bmp_info.ncols > (1 << sdepth))) { + if (bootverbose) + printf("splash_bmp: beyond screen capacity (%dx%d, %d colors)\n", + bmp_info.width, bmp_info.height, bmp_info.ncols); + return(1); + } + + /* read palette */ + for (pind = 0; pind < bmp_info.ncols; pind++) { + bmp_info.palette[pind][0] = bmf->bmfi.bmiColors[pind].rgbRed; + bmp_info.palette[pind][1] = bmf->bmfi.bmiColors[pind].rgbGreen; + bmp_info.palette[pind][2] = bmf->bmfi.bmiColors[pind].rgbBlue; + } + return(0); +} + +/* +** bmp_Draw +** +** Render the image. Return nonzero if that's not possible. +** +*/ +static int +bmp_Draw(video_adapter_t *adp) +{ + int line; + int i; + + if (bmp_info.data == NULL) { /* init failed, do nothing */ + return(1); + } + + /* clear the screen */ + bmp_info.vidmem = (u_char *)adp->va_window; + bmp_info.adp = adp; + (*vidsw[adp->va_index]->clear)(adp); + (*vidsw[adp->va_index]->set_win_org)(adp, 0); + bmp_info.bank = 0; + + /* initialise the info structure for drawing */ + bmp_info.index = bmp_info.data; +#ifdef PC98 + bmp_info.prev_val = 255; +#endif + + /* set the palette for our image */ + (*vidsw[adp->va_index]->load_palette)(adp, (u_char *)&bmp_info.palette); + +#if 0 +#ifndef PC98 + /* XXX: this is ugly, but necessary for EGA/VGA 1bpp/4bpp modes */ + if ((adp->va_type == KD_EGA) || (adp->va_type == KD_VGA)) { + inb(adp->va_crtc_addr + 6); /* reset flip-flop */ + outb(ATC, 0x14); + outb(ATC, 0); + for (i = 0; i < 16; ++i) { + outb(ATC, i); + outb(ATC, i); + } + inb(adp->va_crtc_addr + 6); /* reset flip-flop */ + outb(ATC, 0x20); /* enable palette */ + + outw(GDCIDX, 0x0f01); /* set/reset enable */ + + if (bmp_info.sdepth == 1) + outw(TSIDX, 0x0102); /* unmask plane #0 */ + } +#endif +#endif + + for (line = 0; (line < bmp_info.height) && bmp_info.index; line++) { + bmp_DecodeLine(&bmp_info, line); + } + return(0); +} diff --git a/sys/modules/splash/pcx/Makefile b/sys/modules/splash/pcx/Makefile new file mode 100644 index 000000000000..a64a61864db2 --- /dev/null +++ b/sys/modules/splash/pcx/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +KMOD= splash_pcx +SRCS= splash_pcx.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/splash/pcx/splash_pcx.c b/sys/modules/splash/pcx/splash_pcx.c new file mode 100644 index 000000000000..544e8c795785 --- /dev/null +++ b/sys/modules/splash/pcx/splash_pcx.c @@ -0,0 +1,261 @@ +/*- + * Copyright (c) 1999 Michael Smith <msmith@freebsd.org> + * Copyright (c) 1999 Kazutaka YOKOTA <yokota@freebsd.org> + * Copyright (c) 1999 Dag-Erling Coïdan Smørgrav + * 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 + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/linker.h> +#include <sys/fbio.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> + +#define FADE_TIMEOUT 300 /* sec */ + +static int splash_mode = -1; +static int splash_on = FALSE; + +static int pcx_start(video_adapter_t *adp); +static int pcx_end(video_adapter_t *adp); +static int pcx_splash(video_adapter_t *adp, int on); +static int pcx_init(const char *data, int sdepth); +static int pcx_draw(video_adapter_t *adp); + +static splash_decoder_t pcx_decoder = { + "splash_pcx", pcx_start, pcx_end, pcx_splash, SPLASH_IMAGE, +}; + +SPLASH_DECODER(splash_pcx, pcx_decoder); + +static struct +{ + int width, height, bpsl; + int bpp, planes, zlen; + const u_char *zdata, *palette; +} pcx_info; + +static int +pcx_start(video_adapter_t *adp) +{ + static int modes[] = { + M_VGA_CG320, + M_VESA_CG640x480, + M_VESA_CG800x600, + M_VESA_CG1024x768, + -1, + }; + video_info_t info; + int i; + + if (pcx_decoder.data == NULL + || pcx_decoder.data_size <= 0 + || pcx_init((u_char *)pcx_decoder.data, pcx_decoder.data_size)) + return ENODEV; + + if (bootverbose) + printf("splash_pcx: image good:\n" + " width = %d\n" + " height = %d\n" + " depth = %d\n" + " planes = %d\n", + pcx_info.width, pcx_info.height, + pcx_info.bpp, pcx_info.planes); + + for (i = 0; modes[i] >= 0; ++i) { + if (get_mode_info(adp, modes[i], &info) != 0) + continue; + if (bootverbose) + printf("splash_pcx: considering mode %d:\n" + " vi_width = %d\n" + " vi_height = %d\n" + " vi_depth = %d\n" + " vi_planes = %d\n", + modes[i], + info.vi_width, info.vi_height, + info.vi_depth, info.vi_planes); + if (info.vi_width >= pcx_info.width + && info.vi_height >= pcx_info.height + && info.vi_depth == pcx_info.bpp + && info.vi_planes == pcx_info.planes) + break; + } + + splash_mode = modes[i]; + if (splash_mode == -1) + return ENODEV; + if (bootverbose) + printf("pcx_splash: selecting mode %d\n", splash_mode); + return 0; +} + +static int +pcx_end(video_adapter_t *adp) +{ + /* nothing to do */ + return 0; +} + +static int +pcx_splash(video_adapter_t *adp, int on) +{ + if (on) { + if (!splash_on) { + if (set_video_mode(adp, splash_mode) || pcx_draw(adp)) + return 1; + splash_on = TRUE; + } + return 0; + } else { + splash_on = FALSE; + return 0; + } +} + +struct pcxheader { + u_char manufactor; + u_char version; + u_char encoding; + u_char bpp; + u_short xmin, ymin, xmax, ymax; + u_short hres, vres; + u_char colormap[48]; + u_char rsvd; + u_char nplanes; + u_short bpsl; + u_short palinfo; + u_short hsize, vsize; +}; + +#define MAXSCANLINE 1024 + +static int +pcx_init(const char *data, int size) +{ + const struct pcxheader *hdr; + + hdr = (const struct pcxheader *)data; + + if (size < 128 + 1 + 1 + 768 + || hdr->manufactor != 10 + || hdr->version != 5 + || hdr->encoding != 1 + || hdr->nplanes != 1 + || hdr->bpp != 8 + || hdr->bpsl > MAXSCANLINE + || data[size-769] != 12) { + printf("splash_pcx: invalid PCX image\n"); + return 1; + } + pcx_info.width = hdr->xmax - hdr->xmin + 1; + pcx_info.height = hdr->ymax - hdr->ymin + 1; + pcx_info.bpsl = hdr->bpsl; + pcx_info.bpp = hdr->bpp; + pcx_info.planes = hdr->nplanes; + pcx_info.zlen = size - (128 + 1 + 768); + pcx_info.zdata = data + 128; + pcx_info.palette = data + size - 768; + return 0; +} + +static int +pcx_draw(video_adapter_t *adp) +{ + u_char *vidmem; + int swidth, sheight, sbpsl, sdepth, splanes; + int banksize, origin; + int c, i, j, pos, scan, x, y; + u_char line[MAXSCANLINE]; + + if (pcx_info.zlen < 1) + return 1; + + load_palette(adp, pcx_info.palette); + + vidmem = (u_char *)adp->va_window; + swidth = adp->va_info.vi_width; + sheight = adp->va_info.vi_height; + sbpsl = adp->va_line_width; + sdepth = adp->va_info.vi_depth; + splanes = adp->va_info.vi_planes; + banksize = adp->va_window_size; + + for (origin = 0; origin < sheight*sbpsl; origin += banksize) { + set_origin(adp, origin); + bzero(vidmem, banksize); + } + + x = (swidth - pcx_info.width) / 2; + y = (sheight - pcx_info.height) / 2; + origin = 0; + pos = y * sbpsl + x; + while (pos > banksize) { + pos -= banksize; + origin += banksize; + } + set_origin(adp, origin); + + for (scan = i = 0; scan < pcx_info.height; ++scan, ++y, pos += sbpsl) { + for (j = 0; j < pcx_info.bpsl && i < pcx_info.zlen; ++i) { + if ((pcx_info.zdata[i] & 0xc0) == 0xc0) { + c = pcx_info.zdata[i++] & 0x3f; + if (i >= pcx_info.zlen) + return 1; + } else { + c = 1; + } + if (j + c > pcx_info.bpsl) + return 1; + while (c--) + line[j++] = pcx_info.zdata[i]; + } + + if (pos > banksize) { + origin += banksize; + pos -= banksize; + set_origin(adp, origin); + } + + if (pos + pcx_info.width > banksize) { + /* scanline crosses bank boundary */ + j = banksize - pos; + bcopy(line, vidmem + pos, j); + origin += banksize; + pos -= banksize; + set_origin(adp, origin); + bcopy(line + j, vidmem, pcx_info.width - j); + } else { + bcopy(line, vidmem + pos, pcx_info.width); + } + } + + return 0; +} diff --git a/sys/modules/sppp/Makefile b/sys/modules/sppp/Makefile new file mode 100644 index 000000000000..7353089d0b8b --- /dev/null +++ b/sys/modules/sppp/Makefile @@ -0,0 +1,27 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../net + +KMOD= sppp +SRCS= if_spppsubr.c slcompress.c +SRCS+= opt_inet.h opt_inet6.h opt_ipx.h + +EXPORT_SYMS= sppp_attach \ + sppp_detach \ + sppp_input \ + sppp_ioctl \ + sppp_dequeue \ + sppp_pick \ + sppp_isempty \ + sppp_flush + +opt_inet.h: + echo "#define INET 1" > opt_inet.h + +opt_inet6.h: + echo "#define INET6 1" > opt_inet6.h + +opt_ipx.h: + echo "#define IPX 1" > opt_ipx.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/sr/Makefile b/sys/modules/sr/Makefile new file mode 100644 index 000000000000..7b173ab26ad1 --- /dev/null +++ b/sys/modules/sr/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/sr +KMOD = if_sr +SRCS = if_sr.c if_sr_isa.c if_sr_pci.c +SRCS += device_if.h bus_if.h pci_if.h isa_if.h opt_netgraph.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ste/Makefile b/sys/modules/ste/Makefile new file mode 100644 index 000000000000..85459deef0de --- /dev/null +++ b/sys/modules/ste/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_ste +SRCS = if_ste.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/stg/Makefile b/sys/modules/stg/Makefile new file mode 100644 index 000000000000..9313b73a3bbb --- /dev/null +++ b/sys/modules/stg/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/stg + +KMOD= stg +SRCS= tmc18c30.c tmc18c30_isa.c tmc18c30_pccard.c +SRCS+= opt_bdg.h device_if.h bus_if.h pci_if.h isa_if.h card_if.h +SRCS+= opt_cam.h opt_scsi.h opt_ddb.h +KMODDEPS= scsi_low + +.include <bsd.kmod.mk> diff --git a/sys/modules/streams/Makefile b/sys/modules/streams/Makefile new file mode 100644 index 000000000000..04ed90597d68 --- /dev/null +++ b/sys/modules/streams/Makefile @@ -0,0 +1,16 @@ +# $FreeBSD$ + +MAINTAINER = newton@atdot.dotat.org +.if defined(DEBUG) +CFLAGS+= -DDEBUG_SVR4 +.endif + +.PATH: ${.CURDIR}/../../dev/streams +KMOD= streams +SRCS= streams.c opt_streams.h + +NOMAN= + +CFLAGS+= -O + +.include <bsd.kmod.mk> diff --git a/sys/modules/svr4/Makefile b/sys/modules/svr4/Makefile new file mode 100644 index 000000000000..c164d9417b62 --- /dev/null +++ b/sys/modules/svr4/Makefile @@ -0,0 +1,44 @@ +# $FreeBSD$ + +MAINTAINER= newton@FreeBSD.org + +.PATH: ${.CURDIR}/../../${MACHINE_ARCH}/svr4 ${.CURDIR}/../../svr4 +KMOD= svr4 +SRCS= svr4_sysent.c svr4_sysvec.c opt_compat.h opt_svr4.h opt_vmpage.h \ + vnode_if.h imgact_svr4.c svr4_signal.c svr4_fcntl.c svr4_misc.c \ + svr4_ioctl.c svr4_stat.c svr4_filio.c svr4_ttold.c svr4_termios.c \ + svr4_stream.c svr4_socket.c svr4_sockio.c svr4_machdep.c \ + svr4_resource.c svr4_ipc.c +OBJS= svr4_locore.o +MAN= svr4.8 + +EXPORT_SYMS=_svr4_mod +CLEANFILES= svr4_assym.h svr4_genassym.o + +svr4_assym.h: svr4_genassym.o +.if exists(@) +svr4_assym.h: @/kern/genassym.sh +.endif + sh @/kern/genassym.sh svr4_genassym.o > ${.TARGET} + +svr4_locore.o: svr4_locore.s svr4_assym.h + ${CC} -c -x assembler-with-cpp -DLOCORE ${CFLAGS} \ + ${.IMPSRC} -o ${.TARGET} + +svr4_genassym.o: svr4_genassym.c svr4.h @ machine + ${CC} -c ${CFLAGS} ${.IMPSRC} + +opt_compat.h: + echo "#define COMPAT_43 1" > opt_compat.h + +opt_svr4.h: + touch opt_svr4.h +.if defined(DEBUG) + echo "#define DEBUG_SVR4 1" >> opt_svr4.h +.endif + +afterinstall: + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \ + ${.CURDIR}/svr4.sh ${DESTDIR}/usr/sbin/svr4 + +.include <bsd.kmod.mk> diff --git a/sys/modules/svr4/README b/sys/modules/svr4/README new file mode 100644 index 000000000000..0578721e3639 --- /dev/null +++ b/sys/modules/svr4/README @@ -0,0 +1,38 @@ +This is a SysVR4 emulator derived from work done as part of the NetBSD +Project by Christos Zoulas. It has been ported to FreeBSD by Mark Newton. + +To use it: + +1. Choose one of: + a. Add "pseudo-device streams" to your kernel config file and rebuild, + reboot; or + b. Build and install the streams module in /sys/modules/streams + +2. Build and install the svr4 module in /sys/modules/svr4 + +3. Type "svr4" to start it up. + +4. Grab compat_sol26.tar.gz or compat_svr4.tar.gz from + http://www.freebsd.org/~newton/freebsd-svr4 and install them in + /compat/svr4 + +5. Run "sh SVR4_MAKEDEV all" in /compat/svr4/dev + +6. Mount a Solaris/x86 v2.6 or v7 CD-ROM on /cdrom (also works with + v2.4 and v2.5.1, but you need different symlinks in /compat/svr4) + +7. Brand any executables you want to run, and/or set the + kern.fallback_elf_brand sysctl to 'SVR4' to establish this as the + default emulator for unbranded executables. + +8. See if your SysVR4 programs work. + +It's early days yet, folks -- You'll probably have trouble getting 100% +functionality out of most things (specifically, poll() on a socket doesn't +look like it works at the moment, so Netscape doesn't work (among other +things)). Patches will be appreciated (use send-pr). + + - Mark Newton + newton@atdot.dotat.org + +$FreeBSD$ diff --git a/sys/modules/svr4/TO-DO b/sys/modules/svr4/TO-DO new file mode 100644 index 000000000000..078b80d8943a --- /dev/null +++ b/sys/modules/svr4/TO-DO @@ -0,0 +1,15 @@ +TO-DO list +---------- + + * svr4_getdents64() doesn't work properly in 'large' directories. + + * signals are still suspect + + * networking is notworking + + * VM86 and USER_LDT are currently disabled (low-priority) + + * Make SysV emulator use SysV shared memory support (duh) + + +$FreeBSD$ diff --git a/sys/modules/svr4/svr4.8 b/sys/modules/svr4/svr4.8 new file mode 100644 index 000000000000..f3b28e62cde9 --- /dev/null +++ b/sys/modules/svr4/svr4.8 @@ -0,0 +1,52 @@ +.\" +.\" Copyright (c) 2000, Alexey Zelkin +.\" 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, +.\" without modification, immediately at the beginning of the file. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. The name of the author may not be used to endorse or promote products +.\" derived from this software without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" +.\" $FreeBSD$ +.\" +.Dd January 10, 2000 +.Dt SVR4 8 +.Os +.Sh NAME +.Nm svr4 +.Nd load the SystemV emulator module +.Sh SYNOPSIS +.Nm +.Sh DESCRIPTION +The +.Nm +utility loads the SystemV emulator module. +.Sh FILES +.Bl -tag -width /modules/svr4.ko +.It Pa /modules/svr4.ko +SystemV emulator loadable kernel module. +.El +.Sh SEE ALSO +.Xr kld 4 , +.Xr kldload 8 , +.Xr kldstat 8 , +.Xr kldunload 8 diff --git a/sys/modules/svr4/svr4.sh b/sys/modules/svr4/svr4.sh new file mode 100644 index 000000000000..4cb76777fdec --- /dev/null +++ b/sys/modules/svr4/svr4.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +# $FreeBSD$ + +STREAMS=`kldstat -v | egrep 'streams'` +SVR4=`kldstat -v | egrep 'svr4elf'` + +if [ "x$SVR4" != x ] ; then + echo SysVR4 driver already loaded + exit 1 +else + if [ "x$STREAMS" = x ] ; then + kldload streams + echo "Loaded SysVR4 STREAMS driver" + fi + kldload svr4 + echo "Loaded SysVR4 emulator" +fi diff --git a/sys/modules/syscons/Makefile b/sys/modules/syscons/Makefile new file mode 100644 index 000000000000..7e2f2c5d559f --- /dev/null +++ b/sys/modules/syscons/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +SUBDIR = +SUBDIR += blank +SUBDIR += daemon +SUBDIR += dragon +SUBDIR += fade +SUBDIR += fire +SUBDIR += green +SUBDIR += logo +SUBDIR += rain +SUBDIR += snake +SUBDIR += star +SUBDIR += warp + +.if ${MACHINE_ARCH} == "i386" +SUBDIR += apm +.endif + +.include <bsd.subdir.mk> diff --git a/sys/modules/syscons/Makefile.inc b/sys/modules/syscons/Makefile.inc new file mode 100644 index 000000000000..265f86d1ed55 --- /dev/null +++ b/sys/modules/syscons/Makefile.inc @@ -0,0 +1,3 @@ +# $FreeBSD$ + +.include "../Makefile.inc" diff --git a/sys/modules/syscons/apm/Makefile b/sys/modules/syscons/apm/Makefile new file mode 100644 index 000000000000..00a889f90e97 --- /dev/null +++ b/sys/modules/syscons/apm/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +KMOD= apm_saver +SRCS= apm_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/apm/apm_saver.c b/sys/modules/syscons/apm/apm_saver.c new file mode 100644 index 000000000000..c0c248001ecc --- /dev/null +++ b/sys/modules/syscons/apm/apm_saver.c @@ -0,0 +1,92 @@ +/*- + * Copyright (c) 1999 Nick Sayer (who stole shamelessly from blank_saver) + * 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, + * without modification, immediately at the beginning of the file. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +#include <sys/select.h> +#include <machine/apm_bios.h> +#include <machine/pc/bios.h> +#ifdef PC98 +#include <machine/bus.h> +#include <pc98/apm/apm.h> +#else +#include <i386/apm/apm.h> +#endif + +extern int apm_display __P((int newstate)); + +extern struct apm_softc apm_softc; + +static int blanked=0; + +static int +apm_saver(video_adapter_t *adp, int blank) +{ + if (!apm_softc.initialized || !apm_softc.active) + return 0; + + if (blank==blanked) + return 0; + + blanked=blank; + + apm_display(!blanked); + + return 0; +} + +static int +apm_init(video_adapter_t *adp) +{ + if (!apm_softc.initialized || !apm_softc.active) + printf("WARNING: apm_saver module requires apm enabled\n"); + return 0; +} + +static int +apm_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t apm_module = { + "apm_saver", apm_init, apm_term, apm_saver, NULL, +}; + +SAVER_MODULE(apm_saver, apm_module); diff --git a/sys/modules/syscons/blank/Makefile b/sys/modules/syscons/blank/Makefile new file mode 100644 index 000000000000..e299c924f7a9 --- /dev/null +++ b/sys/modules/syscons/blank/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +KMOD= blank_saver +SRCS= blank_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/blank/blank_saver.c b/sys/modules/syscons/blank/blank_saver.c new file mode 100644 index 000000000000..960acca5a512 --- /dev/null +++ b/sys/modules/syscons/blank/blank_saver.c @@ -0,0 +1,69 @@ +/*- + * Copyright (c) 1995-1998 Søren Schmidt + * 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, + * without modification, immediately at the beginning of the file. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +static int +blank_saver(video_adapter_t *adp, int blank) +{ + (*vidsw[adp->va_index]->blank_display)(adp, + (blank) ? V_DISPLAY_BLANK + : V_DISPLAY_ON); + return 0; +} + +static int +blank_init(video_adapter_t *adp) +{ + if ((*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) == 0) + return 0; + return ENODEV; +} + +static int +blank_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t blank_module = { + "blank_saver", blank_init, blank_term, blank_saver, NULL, +}; + +SAVER_MODULE(blank_saver, blank_module); diff --git a/sys/modules/syscons/daemon/Makefile b/sys/modules/syscons/daemon/Makefile new file mode 100644 index 000000000000..ea3407784191 --- /dev/null +++ b/sys/modules/syscons/daemon/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +KMOD= daemon_saver +SRCS= daemon_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/daemon/daemon_saver.c b/sys/modules/syscons/daemon/daemon_saver.c new file mode 100644 index 000000000000..3cd58305cde5 --- /dev/null +++ b/sys/modules/syscons/daemon/daemon_saver.c @@ -0,0 +1,403 @@ +/*- + * Copyright (c) 1997 Sandro Sigala, Brescia, Italy. + * Copyright (c) 1997 Chris Shenton + * Copyright (c) 1995 S ren Schmidt + * 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 + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR 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. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/module.h> +#include <sys/malloc.h> +#include <sys/kernel.h> +#include <sys/sysctl.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <machine/pc/display.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +#ifdef PC98 +#include <pc98/pc98/pc98_machdep.h> +#endif + +#define DAEMON_MAX_WIDTH 32 +#define DAEMON_MAX_HEIGHT 19 + +static u_char *message; +static int messagelen; +static int blanked; + +/* Who is the author of this ASCII pic? */ + +static u_char *daemon_pic[] = { + " , ,", + " /( )`", + " \\ \\___ / |", + " /- _ `-/ '", + " (/\\/ \\ \\ /\\", + " / / | ` \\", + " O O ) / |", + " `-^--'`< '", + " (_.) _ ) /", + " `.___/` /", + " `-----' /", + "<----. __ / __ \\", + "<----|====O)))==) \\) /====", + "<----' `--' `.__,' \\", + " | |", + " \\ / /\\", + " ______( (_ / \\______/", + " ,' ,-----' |", + " `--{__________)", + NULL +}; + +static u_char *daemon_attr[] = { + " R R", + " RR RR", + " R RRRR R R", + " RR W RRR R", + " RWWW W R RR", + " W W W R R", + " B B W R R", + " WWWWWWRR R", + " RRRR R R R", + " RRRRRRR R", + " RRRRRRR R", + "YYYYYY RR R RR R", + "YYYYYYYYYYRRRRYYR RR RYYYY", + "YYYYYY RRRR RRRRRR R", + " R R", + " R R RR", + " CCCCCCR RR R RRRRRRRR", + " CC CCCCCCC C", + " CCCCCCCCCCCCCCC", + NULL +}; + +/* + * Reverse a graphics character, or return unaltered if no mirror; + * should do alphanumerics too, but I'm too lazy. <cshenton@it.hq.nasa.gov> + */ + +static u_char +xflip_symbol(u_char symbol) +{ + static const u_char lchars[] = "`'(){}[]\\/<>"; + static const u_char rchars[] = "'`)(}{][/\\><"; + int pos; + + for (pos = 0; lchars[pos] != '\0'; pos++) + if (lchars[pos] == symbol) + return rchars[pos]; + + return symbol; +} + +static void +clear_daemon(sc_softc_t *sc, int xpos, int ypos, int dxdir, int xoff, int yoff, + int xlen, int ylen) +{ + int y; + + if (xlen <= 0) + return; + for (y = yoff; y < ylen; y++) { + sc_vtb_erase(&sc->cur_scp->scr, + (ypos + y)*sc->cur_scp->xsize + xpos + xoff, + xlen - xoff, + sc->scr_map[0x20], (FG_LIGHTGREY | BG_BLACK) << 8); + } +} + +static void +draw_daemon(sc_softc_t *sc, int xpos, int ypos, int dxdir, int xoff, int yoff, + int xlen, int ylen) +{ + int x, y; + int px; + int attr; + + for (y = yoff; y < ylen; y++) { + if (dxdir < 0) + px = xoff; + else + px = DAEMON_MAX_WIDTH - xlen; + if (px >= strlen(daemon_pic[y])) + continue; + for (x = xoff; (x < xlen) && (daemon_pic[y][px] != '\0'); x++, px++) { + switch (daemon_attr[y][px]) { +#ifndef PC98 + case 'R': attr = (FG_LIGHTRED|BG_BLACK)<<8; break; + case 'Y': attr = (FG_YELLOW|BG_BLACK)<<8; break; + case 'B': attr = (FG_LIGHTBLUE|BG_BLACK)<<8; break; + case 'W': attr = (FG_LIGHTGREY|BG_BLACK)<<8; break; + case 'C': attr = (FG_CYAN|BG_BLACK)<<8; break; + default: attr = (FG_WHITE|BG_BLACK)<<8; break; +#else /* PC98 */ + case 'R': attr = (FG_RED|BG_BLACK)<<8; break; + case 'Y': attr = (FG_BROWN|BG_BLACK)<<8; break; + case 'B': attr = (FG_BLUE|BG_BLACK)<<8; break; + case 'W': attr = (FG_LIGHTGREY|BG_BLACK)<<8; break; + case 'C': attr = (FG_CYAN|BG_BLACK)<<8; break; + default: attr = (FG_LIGHTGREY|BG_BLACK)<<8; break; +#endif /* PC98 */ + } + if (dxdir < 0) { /* Moving left */ + sc_vtb_putc(&sc->cur_scp->scr, + (ypos + y)*sc->cur_scp->xsize + + xpos + x, + sc->scr_map[daemon_pic[y][px]], + attr); + } else { /* Moving right */ + sc_vtb_putc(&sc->cur_scp->scr, + (ypos + y)*sc->cur_scp->xsize + + xpos + DAEMON_MAX_WIDTH + - px - 1, + sc->scr_map[xflip_symbol(daemon_pic[y][px])], + attr); + } + } + } +} + +static void +clear_string(sc_softc_t *sc, int xpos, int ypos, int xoff, char *s, int len) +{ + if (len <= 0) + return; + sc_vtb_erase(&sc->cur_scp->scr, + ypos*sc->cur_scp->xsize + xpos + xoff, len - xoff, + sc->scr_map[0x20], (FG_LIGHTGREY | BG_BLACK) << 8); +} + +static void +draw_string(sc_softc_t *sc, int xpos, int ypos, int xoff, u_char *s, int len) +{ + int x; + + for (x = xoff; x < len; x++) { +#ifdef PC98 + sc_vtb_putc(&sc->cur_scp->scr, + ypos*sc->cur_scp->xsize + xpos + x, + sc->scr_map[s[x]], (FG_GREEN | BG_BLACK) << 8); +#else + sc_vtb_putc(&sc->cur_scp->scr, + ypos*sc->cur_scp->xsize + xpos + x, + sc->scr_map[s[x]], (FG_LIGHTGREEN | BG_BLACK) << 8); +#endif + } +} + +static int +daemon_saver(video_adapter_t *adp, int blank) +{ + static int txpos = 10, typos = 10; + static int txdir = -1, tydir = -1; + static int dxpos = 0, dypos = 0; + static int dxdir = 1, dydir = 1; + static int moved_daemon = 0; + static int xoff, yoff, toff; + static int xlen, ylen, tlen; + sc_softc_t *sc; + scr_stat *scp; + int min, max; + + sc = sc_find_softc(adp, NULL); + if (sc == NULL) + return EAGAIN; + scp = sc->cur_scp; + + if (blank) { + if (adp->va_info.vi_flags & V_INFO_GRAPHICS) + return EAGAIN; + if (blanked == 0) { +#ifdef PC98 + if (epson_machine_id == 0x20) { + outb(0x43f, 0x42); + outb(0x0c17, inb(0xc17) & ~0x08); + outb(0x43f, 0x40); + } +#endif /* PC98 */ + /* clear the screen and set the border color */ + sc_vtb_clear(&scp->scr, sc->scr_map[0x20], + (FG_LIGHTGREY | BG_BLACK) << 8); + (*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1); + sc_set_border(scp, 0); + xlen = ylen = tlen = 0; + } + if (blanked++ < 2) + return 0; + blanked = 1; + + clear_daemon(sc, dxpos, dypos, dxdir, xoff, yoff, xlen, ylen); + clear_string(sc, txpos, typos, toff, message, tlen); + + if (++moved_daemon) { + /* + * The daemon picture may be off the screen, if + * screen size is chagened while the screen + * saver is inactive. Make sure the origin of + * the picture is between min and max. + */ + if (scp->xsize <= DAEMON_MAX_WIDTH) { + /* + * If the screen width is too narrow, we + * allow part of the picture go off + * the screen so that the daemon won't + * flip too often. + */ + min = scp->xsize - DAEMON_MAX_WIDTH - 10; + max = 10; + } else { + min = 0; + max = scp->xsize - DAEMON_MAX_WIDTH; + } + if (dxpos <= min) { + dxpos = min; + dxdir = 1; + } else if (dxpos >= max) { + dxpos = max; + dxdir = -1; + } + + if (scp->ysize <= DAEMON_MAX_HEIGHT) { + min = scp->ysize - DAEMON_MAX_HEIGHT - 10; + max = 10; + } else { + min = 0; + max = scp->ysize - DAEMON_MAX_HEIGHT; + } + if (dypos <= min) { + dypos = min; + dydir = 1; + } else if (dypos >= max) { + dypos = max; + dydir = -1; + } + + moved_daemon = -1; + dxpos += dxdir; dypos += dydir; + + /* clip the picture */ + xoff = 0; + xlen = DAEMON_MAX_WIDTH; + if (dxpos + xlen <= 0) + xlen = 0; + else if (dxpos < 0) + xoff = -dxpos; + if (dxpos >= scp->xsize) + xlen = 0; + else if (dxpos + xlen > scp->xsize) + xlen = scp->xsize - dxpos; + yoff = 0; + ylen = DAEMON_MAX_HEIGHT; + if (dypos + ylen <= 0) + ylen = 0; + else if (dypos < 0) + yoff = -dypos; + if (dypos >= scp->ysize) + ylen = 0; + else if (dypos + ylen > scp->ysize) + ylen = scp->ysize - dypos; + } + + if (scp->xsize <= messagelen) { + min = scp->xsize - messagelen - 10; + max = 10; + } else { + min = 0; + max = scp->xsize - messagelen; + } + if (txpos <= min) { + txpos = min; + txdir = 1; + } else if (txpos >= max) { + txpos = max; + txdir = -1; + } + if (typos <= 0) { + typos = 0; + tydir = 1; + } else if (typos >= scp->ysize - 1) { + typos = scp->ysize - 1; + tydir = -1; + } + txpos += txdir; typos += tydir; + + toff = 0; + tlen = messagelen; + if (txpos + tlen <= 0) + tlen = 0; + else if (txpos < 0) + toff = -txpos; + if (txpos >= scp->xsize) + tlen = 0; + else if (txpos + tlen > scp->xsize) + tlen = scp->xsize - txpos; + + draw_daemon(sc, dxpos, dypos, dxdir, xoff, yoff, xlen, ylen); + draw_string(sc, txpos, typos, toff, message, tlen); + } else { +#ifdef PC98 + if (epson_machine_id == 0x20) { + outb(0x43f, 0x42); + outb(0x0c17, inb(0xc17) | 0x08); + outb(0x43f, 0x40); + } +#endif /* PC98 */ + blanked = 0; + } + return 0; +} + +static int +daemon_init(video_adapter_t *adp) +{ + messagelen = strlen(hostname) + 3 + strlen(ostype) + 1 + + strlen(osrelease); + message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK); + sprintf(message, "%s - %s %s", hostname, ostype, osrelease); + blanked = 0; + return 0; +} + +static int +daemon_term(video_adapter_t *adp) +{ + free(message, M_DEVBUF); + return 0; +} + +static scrn_saver_t daemon_module = { + "daemon_saver", daemon_init, daemon_term, daemon_saver, NULL, +}; + +SAVER_MODULE(daemon_saver, daemon_module); diff --git a/sys/modules/syscons/dragon/Makefile b/sys/modules/syscons/dragon/Makefile new file mode 100644 index 000000000000..349f9033f2ae --- /dev/null +++ b/sys/modules/syscons/dragon/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +KMOD= dragon_saver +SRCS= dragon_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. +CWARNFLAGS= -Wall -pedantic + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/dragon/dragon_saver.c b/sys/modules/syscons/dragon/dragon_saver.c new file mode 100644 index 000000000000..f157e9c79d32 --- /dev/null +++ b/sys/modules/syscons/dragon/dragon_saver.c @@ -0,0 +1,275 @@ +/*- + * Copyright (c) 2000 Chiharu Shibata + * 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 + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/syslog.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <sys/random.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +#define SAVER_NAME "dragon_saver" + +static u_char *vid; +static int blanked; + +#ifdef PC98 +#define VIDEO_MODE M_PC98_EGC640x400 +#define VIDEO_MODE_NAME "M_PC98_EGC640x400" +#define SCRW 640 +#define SCRH 400 +#else +#define VIDEO_MODE M_VGA_CG320 +#define VIDEO_MODE_NAME "M_VGA_CG320" +#define SCRW 320 +#define SCRH 200 +#endif +#define ORDER 13 +#define CURVE 3 +#define OUT 100 + +static int cur_x, cur_y; +static int curve; +static u_char dragon_pal[3*256]; /* zero-filled by the compiler */ + +static __inline int +gpset(int x, int y, int val) +{ + if (x < 0 || y < 0 || SCRW <= x || SCRH <= y) { + return 0; + } +#ifdef PC98 + vid[(x + y * SCRW) >> 3] = (0x80 >> (x & 7)); /* write new dot */ +#else + vid[x + y * SCRW] = val; +#endif + return 1; +} + +static int +gdraw(int dx, int dy, int val) +{ + int i; + int set = 0; + +#ifdef PC98 + outb(0x7c, 0xcc); /* GRCG on & RMW mode(disable planeI,G) */ + outb(0x7e, (val & 1) ? 0xff: 0); /* tile B */ + outb(0x7e, (val & 2) ? 0xff: 0); /* tile R */ +#endif + if (dx != 0) { + i = cur_x; + cur_x += dx; + if (dx < 0) { + i += dx; + dx = -dx; + } + /* horizontal line */ + for (; dx >= 0; --dx, ++i) { + set |= gpset(i, cur_y, val); + } + } + else { /* dy != 0 */ + i = cur_y; + cur_y += dy; + if (dy < 0) { + i += dy; + dy = -dy; + } + /* vertical line */ + for (; dy >= 0; --dy, ++i) { + set |= gpset(cur_x, i, val); + } + } +#ifdef PC98 + outb(0x7c, 0); /* GRCG off */ +#endif + return set; +} + +static void +gcls(void) +{ +#ifdef PC98 + outb(0x7c, 0x80); /* GRCG on & TDW mode */ + outb(0x7e, 0); /* tile B */ + outb(0x7e, 0); /* tile R */ + outb(0x7e, 0); /* tile G */ + outb(0x7e, 0); /* tile I */ + + fillw(0, vid, 0x8000); + + outb(0x7c, 0); /* GRCG off */ +#else + bzero(vid, SCRW*SCRH); +#endif +} + +static void +dragon_update(video_adapter_t *adp) +{ + static int i, p, q; + static int order, mul, out; + static int org_x, org_y; + static int dx, dy; + static unsigned char fold[1 << (ORDER - 3)]; +#define GET_FOLD(x) (fold[(x) >> 3] & (1 << ((x) & 7))) +#define SET_FOLD(x) (fold[(x) >> 3] |= (1 << ((x) & 7))) +#define CLR_FOLD(x) (fold[(x) >> 3] &= ~(1 << ((x) & 7))) + int tmp; + + if (curve > CURVE) { + gcls(); + + /* set palette of each curves */ + for (tmp = 0; tmp < 3*CURVE; ++tmp) { + dragon_pal[3+tmp] = (u_char)random(); + } + load_palette(adp, dragon_pal); + + mul = ((random() & 7) + 1) * (SCRW / 320); + org_x = random() % SCRW; org_y = random() % SCRH; + + curve = 0; + order = ORDER; + } + + if (order >= ORDER) { + ++curve; + + cur_x = org_x; cur_y = org_y; + + switch (curve) { + case 1: + dx = 0; dy = mul; + break; + case 2: + dx = mul; dy = 0; + break; + case 3: + dx = 0; dy = -mul; + break; + } + (void)gdraw(dx, dy, curve); out = 0; + + order = 0; + q = p = 0; i = q + 1; + } + + if (i > q) { + SET_FOLD(p); q = p * 2; + + ++order; + i = p; p = q + 1; + } + + if (GET_FOLD(q-i) != 0) { + CLR_FOLD(i); + tmp = dx; dx = dy; dy = -tmp; /* turn right */ + } + else { + SET_FOLD(i); + tmp = dx; dx = -dy; dy = tmp; /* turn left */ + } + if (gdraw(dx, dy, curve)) { + out = 0; + } + else { + if (++out > OUT) { + order = ORDER; /* force to terminate this curve */ + } + } + ++i; +} + +static int +dragon_saver(video_adapter_t *adp, int blank) +{ + int pl; + + if (blank) { + /* switch to graphics mode */ + if (blanked <= 0) { + pl = splhigh(); + set_video_mode(adp, VIDEO_MODE); + vid = (u_char *)adp->va_window; + curve = CURVE + 1; + ++blanked; + splx(pl); + } + + /* update display */ + dragon_update(adp); + } + else { + blanked = 0; + } + return 0; +} + +static int +dragon_init(video_adapter_t *adp) +{ + video_info_t info; + + /* check that the console is capable of running in 320x200x256 */ + if (get_mode_info(adp, VIDEO_MODE, &info)) { + log(LOG_NOTICE, + "%s: the console does not support " VIDEO_MODE_NAME "\n", + SAVER_NAME); + return ENODEV; + } + + blanked = 0; + return 0; +} + +static int +dragon_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t dragon_module = { + SAVER_NAME, + dragon_init, + dragon_term, + dragon_saver, + NULL, +}; + +SAVER_MODULE(dragon_saver, dragon_module); diff --git a/sys/modules/syscons/fade/Makefile b/sys/modules/syscons/fade/Makefile new file mode 100644 index 000000000000..5fc34ebfe19c --- /dev/null +++ b/sys/modules/syscons/fade/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +KMOD= fade_saver +SRCS= fade_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/fade/fade_saver.c b/sys/modules/syscons/fade/fade_saver.c new file mode 100644 index 000000000000..052fa9225908 --- /dev/null +++ b/sys/modules/syscons/fade/fade_saver.c @@ -0,0 +1,105 @@ +/*- + * Copyright (c) 1995-1998 Søren Schmidt + * 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, + * without modification, immediately at the beginning of the file. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +static u_char palette[256*3]; +static int blanked; + +static int +fade_saver(video_adapter_t *adp, int blank) +{ + static int count = 0; + u_char pal[256*3]; + int i; + + if (blank) { + blanked = TRUE; + if (ISPALAVAIL(adp->va_flags)) { + if (count <= 0) + save_palette(adp, palette); + if (count < 256) { + pal[0] = pal[1] = pal[2] = 0; + for (i = 3; i < 256*3; i++) { + if (palette[i] - count > 60) + pal[i] = palette[i] - count; + else + pal[i] = 60; + } + load_palette(adp, pal); + count++; + } + } else { + (*vidsw[adp->va_index]->blank_display)(adp, + V_DISPLAY_BLANK); + } + } else { + if (ISPALAVAIL(adp->va_flags)) { + load_palette(adp, palette); + count = 0; + } else { + (*vidsw[adp->va_index]->blank_display)(adp, + V_DISPLAY_ON); + } + blanked = FALSE; + } + return 0; +} + +static int +fade_init(video_adapter_t *adp) +{ + if (!ISPALAVAIL(adp->va_flags) + && (*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) != 0) + return ENODEV; + blanked = FALSE; + return 0; +} + +static int +fade_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t fade_module = { + "fade_saver", fade_init, fade_term, fade_saver, NULL, +}; + +SAVER_MODULE(fade_saver, fade_module); diff --git a/sys/modules/syscons/fire/Makefile b/sys/modules/syscons/fire/Makefile new file mode 100644 index 000000000000..d32eec765fb0 --- /dev/null +++ b/sys/modules/syscons/fire/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +KMOD= fire_saver +SRCS= fire_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. +CWARNFLAGS= -Wall -pedantic + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/fire/fire_saver.c b/sys/modules/syscons/fire/fire_saver.c new file mode 100644 index 000000000000..19344922bf1f --- /dev/null +++ b/sys/modules/syscons/fire/fire_saver.c @@ -0,0 +1,135 @@ +/*- + * Copyright (c) 1999 Brad Forschinger + * 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, + * without modification, immediately at the beginning of the file. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR 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. + * + * $FreeBSD$ + */ + +/* + * brad forschinger, 19990504 <retch@flag.blackened.net> + * + * written with much help from warp_saver.c + * + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/syslog.h> +#include <sys/consio.h> +#include <sys/fbio.h> +#include <sys/random.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +#define X_SIZE 320 +#define Y_SIZE 200 + +static int blanked; +static u_char fire_pal[768]; +static u_char buf[X_SIZE * (Y_SIZE + 1)]; +static u_char *vid; + +static int +fire_saver(video_adapter_t *adp, int blank) +{ + int x, y; + + if (blank) { + if (blanked <= 0) { + int red, green, blue; + int palette_index; + + set_video_mode(adp, M_VGA_CG320); + + /* build and load palette */ + red = green = blue = 0; + for (palette_index = 0; palette_index < 256; palette_index++) { + red++; + if (red > 128) + green += 2; + + fire_pal[(palette_index * 3) + 0] = red; + fire_pal[(palette_index * 3) + 1] = green; + fire_pal[(palette_index * 3) + 2] = blue; + } + load_palette(adp, fire_pal); + + blanked++; + vid = (u_char *) adp->va_window; + } + /* make a new bottom line */ + for (x = 0, y = Y_SIZE; x < X_SIZE; x++) + buf[x + (y * X_SIZE)] = random() % 160 + 96; + + /* fade the flames out */ + for (y = 0; y < Y_SIZE; y++) { + for (x = 0; x < X_SIZE; x++) { + buf[x + (y * X_SIZE)] = (buf[(x + 0) + ((y + 0) * X_SIZE)] + + buf[(x - 1) + ((y + 1) * X_SIZE)] + + buf[(x + 0) + ((y + 1) * X_SIZE)] + + buf[(x + 1) + ((y + 1) * X_SIZE)]) / 4; + if (buf[x + (y * X_SIZE)] > 0) + buf[x + (y * X_SIZE)]--; + } + } + + /* blit our buffer into video ram */ + memcpy(vid, buf, X_SIZE * Y_SIZE); + } else { + blanked = 0; + } + + return 0; +} + +static int +fire_initialise(video_adapter_t *adp) +{ + video_info_t info; + + /* check that the console is capable of running in 320x200x256 */ + if (get_mode_info(adp, M_VGA_CG320, &info)) { + log(LOG_NOTICE, "fire_saver: the console does not support M_VGA_CG320\n"); + return (ENODEV); + } + blanked = 0; + + return 0; +} + +static int +fire_terminate(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t fire_module = { + "fire_saver", fire_initialise, fire_terminate, fire_saver, NULL +}; + +SAVER_MODULE(fire_saver, fire_module); diff --git a/sys/modules/syscons/green/Makefile b/sys/modules/syscons/green/Makefile new file mode 100644 index 000000000000..f62b1f4a2757 --- /dev/null +++ b/sys/modules/syscons/green/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +KMOD= green_saver +SRCS= green_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/green/green_saver.c b/sys/modules/syscons/green/green_saver.c new file mode 100644 index 000000000000..d6cfe80da689 --- /dev/null +++ b/sys/modules/syscons/green/green_saver.c @@ -0,0 +1,69 @@ +/*- + * Copyright (c) 1995-1998 Søren Schmidt + * 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, + * without modification, immediately at the beginning of the file. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +static int +green_saver(video_adapter_t *adp, int blank) +{ + (*vidsw[adp->va_index]->blank_display)(adp, + (blank) ? V_DISPLAY_STAND_BY + : V_DISPLAY_ON); + return 0; +} + +static int +green_init(video_adapter_t *adp) +{ + if ((*vidsw[adp->va_index]->blank_display)(adp, V_DISPLAY_ON) == 0) + return 0; + return ENODEV; +} + +static int +green_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t green_module = { + "green_saver", green_init, green_term, green_saver, NULL, +}; + +SAVER_MODULE(green_saver, green_module); diff --git a/sys/modules/syscons/logo/Makefile b/sys/modules/syscons/logo/Makefile new file mode 100644 index 000000000000..2a9ede26cce9 --- /dev/null +++ b/sys/modules/syscons/logo/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +KMOD= logo_saver +SRCS= logo_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. -I${.CURDIR} + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/logo/logo.c b/sys/modules/syscons/logo/logo.c new file mode 100644 index 000000000000..0c122ad9012f --- /dev/null +++ b/sys/modules/syscons/logo/logo.c @@ -0,0 +1,354 @@ +/* $FreeBSD$ */ + +#define logo_w 88 +#define logo_h 88 + +unsigned char logo_pal[768] = { + 0x00, 0x00, 0x00, + 0x33, 0x33, 0x33, + 0x66, 0x66, 0x66, + 0x99, 0x99, 0x99, + 0xcc, 0xcc, 0xcc, + 0xff, 0xff, 0xff, + 0x90, 0x8f, 0x90, + 0x56, 0x4b, 0x55, + 0xa3, 0xa5, 0xab, + 0xfd, 0xfd, 0xfd, + 0x6d, 0x6e, 0x74, + 0x41, 0x2b, 0x39, + 0xcb, 0xc8, 0xcb, + 0xcf, 0xbb, 0xba, + 0x8e, 0x82, 0x87, + 0x5c, 0x5d, 0x60, + 0x52, 0x2a, 0x37, + 0x7f, 0x76, 0x7d, + 0x82, 0x82, 0x85, + 0x7a, 0x3e, 0x45, + 0x7f, 0x6e, 0x70, + 0xef, 0xef, 0xed, + 0x53, 0x41, 0x4b, + 0x67, 0x2b, 0x35, + 0x6a, 0x55, 0x62, + 0xe7, 0xe2, 0xe3, + 0x64, 0x35, 0x3f, + 0xf7, 0xe0, 0xe7, + 0xb1, 0xb2, 0xb2, + 0x31, 0x2b, 0x35, + 0x7a, 0x2d, 0x37, + 0x69, 0x4c, 0x56, + 0x95, 0x9d, 0xa4, + 0x85, 0x61, 0x69, + 0x40, 0x34, 0x41, + 0x8f, 0x2e, 0x39, + 0x7a, 0x50, 0x5a, + 0xde, 0xe1, 0xe0, + 0x32, 0x33, 0x3d, + 0xa0, 0x9b, 0x9c, + 0x68, 0x63, 0x67, + 0x76, 0x60, 0x67, + 0xba, 0xb6, 0xb8, + 0x29, 0x24, 0x41, + 0x38, 0x21, 0x29, + 0x42, 0x21, 0x27, + 0xa2, 0x2a, 0x32, + 0x56, 0x55, 0x58, + 0x55, 0x21, 0x2b, + 0x7a, 0x20, 0x2a, + 0x37, 0x16, 0x21, + 0x4d, 0x18, 0x37, + 0x8a, 0x3a, 0x3e, + 0xc0, 0xc2, 0xc4, + 0x64, 0x23, 0x2c, + 0x37, 0x1a, 0x24, + 0x42, 0x18, 0x20, + 0x4c, 0x21, 0x2b, + 0xa0, 0x23, 0x2e, + 0x95, 0x6c, 0x76, + 0x26, 0x16, 0x1c, + 0xa5, 0x18, 0x23, + 0x84, 0x20, 0x2b, + 0x6d, 0x3f, 0x49, + 0xae, 0xa7, 0xac, + 0x2a, 0x1f, 0x24, + 0x90, 0x21, 0x30, + 0xa0, 0x39, 0x3e, + 0x95, 0x0f, 0x1c, + 0x84, 0x13, 0x1e, + 0x4e, 0x17, 0x24, + 0x8c, 0x56, 0x5f, + 0xe0, 0xc4, 0xcb, + 0xa5, 0x7f, 0x8e, + 0xff, 0xff, 0xf1, + 0x3d, 0x3d, 0x5d, + 0x61, 0x19, 0x26, + 0xd5, 0xd5, 0xd5, + 0xff, 0xf1, 0xed, + 0xb6, 0x9c, 0xa5, + 0x87, 0x4c, 0x5a, + 0xa0, 0x76, 0x76, + 0xc8, 0xa0, 0xa0, + 0xa2, 0xc1, 0xc8, + 0x91, 0xae, 0xb6, + 0x52, 0x8b, 0xae, + 0xb3, 0xd2, 0xd4, + 0x95, 0xb7, 0xc1, + 0x54, 0x6e, 0x83, + 0x67, 0x90, 0xa6, + 0x44, 0x3e, 0x45, + 0x23, 0x40, 0x6a, + 0x41, 0x6e, 0x97, + 0x7e, 0x8e, 0x91, + 0x52, 0x33, 0x41, + 0x39, 0x49, 0x68, + 0x1d, 0x2a, 0x48, + 0x17, 0x21, 0x45, + 0x90, 0x17, 0x1f, + 0x38, 0x54, 0x71, + 0x1c, 0x33, 0x58, + 0x1c, 0x1e, 0x23, + 0x6c, 0x17, 0x21, + 0xb0, 0xc5, 0xc1, + 0x5d, 0x7f, 0x96, + 0xe9, 0xbf, 0xc1, + 0x96, 0x06, 0x0f, + 0x78, 0x16, 0x1e, + 0xab, 0x0e, 0x18, + 0xa6, 0x06, 0x0e, + 0x4c, 0x4c, 0x54, + 0x61, 0x42, 0x4c, + 0x48, 0x5f, 0x84, + 0xa0, 0xb8, 0xbe, + 0x5c, 0x66, 0x7f, + 0x7b, 0x9e, 0xa9, + 0x6f, 0x75, 0x7f, + 0x45, 0x54, 0x74, + 0x32, 0x3e, 0x63, + 0xb1, 0xb4, 0xb3, + 0x66, 0x9d, 0xb4, + 0x7a, 0x9f, 0xbb, + 0x82, 0xaa, 0xba, + 0x13, 0x15, 0x17, + 0x0b, 0x0b, 0x0a, + 0x37, 0x66, 0x92, + 0x4c, 0x7f, 0xa5, + 0x24, 0x4c, 0x7b, + 0x25, 0x5f, 0x91, + 0x40, 0x7d, 0xa5, + 0x1d, 0x56, 0x88, + 0x2d, 0x6f, 0xa0, + 0x70, 0x81, 0x8f, + 0x58, 0x97, 0xbd, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, +}; + +unsigned char logo_img[logo_w*logo_h] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x09, 0x0a, 0x0b, 0x07, 0x0c, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0d, 0x0e, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x09, 0x0f, 0x0b, 0x10, 0x11, 0x09, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x12, 0x13, 0x14, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x15, 0x16, 0x0b, 0x17, 0x18, 0x19, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x11, 0x13, 0x1a, 0x1b, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x1c, 0x1d, 0x10, 0x1e, 0x1f, 0x19, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x20, 0x0b, 0x1e, 0x21, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x19, 0x22, 0x0b, 0x17, 0x23, 0x24, 0x15, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x25, 0x26, 0x10, 0x23, 0x27, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x05, 0x05, 0x05, 0x25, 0x27, 0x11, 0x28, 0x29, 0x11, 0x06, 0x0d, 0x09, 0x05, 0x2a, 0x2b, 0x2c, 0x2d, 0x1e, 0x2e, 0x21, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2f, 0x0b, 0x30, 0x31, 0x0c, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x15, 0x06, 0x16, 0x22, 0x1d, 0x2c, 0x32, 0x33, 0x17, 0x17, 0x17, 0x22, 0x14, 0x16, 0x1d, 0x2c, 0x2d, 0x1e, 0x2e, 0x34, 0x0c, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x2b, 0x2c, 0x36, 0x36, 0x35, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x27, 0x0b, 0x2c, 0x2c, 0x37, 0x32, 0x38, 0x2c, 0x2d, 0x39, 0x36, 0x17, 0x30, 0x2c, 0x2c, 0x2d, 0x2c, 0x2c, 0x1a, 0x3a, 0x3a, 0x3b, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0a, 0x2d, 0x2b, 0x33, 0x31, 0x0e, 0x05, 0x05, 0x05, 0x05, 0x09, 0x28, 0x2c, 0x37, 0x3c, 0x32, 0x38, 0x38, 0x37, 0x2c, 0x30, 0x36, 0x36, 0x17, 0x31, 0x36, 0x23, 0x23, 0x17, 0x2c, 0x17, 0x3a, 0x3d, 0x13, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x22, 0x2c, 0x37, 0x33, 0x3e, 0x31, 0x3f, 0x40, 0x19, 0x05, 0x11, 0x2c, 0x2c, 0x32, 0x32, 0x32, 0x38, 0x37, 0x41, 0x30, 0x3a, 0x3a, 0x2e, 0x42, 0x43, 0x17, 0x1a, 0x13, 0x23, 0x31, 0x1a, 0x2e, 0x3d, 0x1a, 0x09, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0b, 0x37, 0x32, 0x37, 0x33, 0x44, 0x44, 0x45, 0x17, 0x1a, 0x10, 0x2d, 0x37, 0x38, 0x46, 0x33, 0x46, 0x32, 0x2c, 0x23, 0x23, 0x47, 0x21, 0x13, 0x43, 0x34, 0x48, 0x19, 0x49, 0x34, 0x17, 0x1e, 0x3a, 0x13, 0x4a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4b, 0x32, 0x32, 0x32, 0x32, 0x4c, 0x45, 0x44, 0x44, 0x42, 0x36, 0x30, 0x33, 0x46, 0x38, 0x33, 0x46, 0x38, 0x31, 0x23, 0x27, 0x09, 0x4a, 0x4d, 0x47, 0x43, 0x0d, 0x4e, 0x4a, 0x4f, 0x34, 0x1a, 0x2e, 0x29, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x11, 0x33, 0x32, 0x32, 0x32, 0x33, 0x4c, 0x31, 0x45, 0x3e, 0x31, 0x36, 0x46, 0x46, 0x33, 0x33, 0x39, 0x30, 0x23, 0x50, 0x4a, 0x4a, 0x4a, 0x4a, 0x4d, 0x47, 0x51, 0x4e, 0x4a, 0x4a, 0x0e, 0x13, 0x1a, 0x27, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x2b, 0x32, 0x32, 0x2b, 0x32, 0x33, 0x4c, 0x33, 0x4c, 0x4c, 0x36, 0x30, 0x30, 0x30, 0x30, 0x31, 0x23, 0x3a, 0x49, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4f, 0x50, 0x1b, 0x4e, 0x4a, 0x19, 0x50, 0x16, 0x0c, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x32, 0x32, 0x32, 0x32, 0x2b, 0x33, 0x33, 0x30, 0x2d, 0x39, 0x30, 0x30, 0x30, 0x4c, 0x36, 0x42, 0x3a, 0x52, 0x05, 0x4a, 0x4a, 0x4a, 0x4a, 0x09, 0x3b, 0x52, 0x4e, 0x4a, 0x4a, 0x4f, 0x1a, 0x2a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4d, 0x2b, 0x2b, 0x32, 0x32, 0x32, 0x37, 0x2c, 0x2c, 0x2c, 0x2c, 0x2d, 0x10, 0x30, 0x30, 0x3e, 0x23, 0x3a, 0x0d, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x40, 0x51, 0x4a, 0x4a, 0x25, 0x15, 0x1f, 0x27, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x40, 0x22, 0x2c, 0x32, 0x32, 0x32, 0x38, 0x2d, 0x2c, 0x41, 0x32, 0x39, 0x46, 0x4c, 0x31, 0x2e, 0x2e, 0x0c, 0x4a, 0x4a, 0x4a, 0x4a, 0x4a, 0x25, 0x53, 0x18, 0x4a, 0x54, 0x55, 0x56, 0x51, 0x11, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2a, 0x22, 0x32, 0x32, 0x32, 0x38, 0x38, 0x32, 0x2c, 0x37, 0x38, 0x30, 0x30, 0x3e, 0x3a, 0x3a, 0x2a, 0x4a, 0x4a, 0x05, 0x4a, 0x57, 0x58, 0x59, 0x5a, 0x35, 0x58, 0x5b, 0x5c, 0x5d, 0x5e, 0x4a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4d, 0x07, 0x37, 0x32, 0x38, 0x38, 0x32, 0x32, 0x41, 0x38, 0x30, 0x30, 0x3e, 0x3a, 0x3d, 0x27, 0x05, 0x4a, 0x4a, 0x4a, 0x5c, 0x5f, 0x59, 0x1d, 0x29, 0x2f, 0x60, 0x61, 0x26, 0x0b, 0x1c, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4e, 0x0a, 0x2d, 0x38, 0x38, 0x32, 0x37, 0x32, 0x2d, 0x39, 0x36, 0x31, 0x62, 0x3d, 0x0e, 0x4a, 0x4a, 0x4a, 0x09, 0x63, 0x64, 0x64, 0x61, 0x2d, 0x1d, 0x65, 0x61, 0x2b, 0x17, 0x16, 0x4a, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x27, 0x2c, 0x38, 0x38, 0x37, 0x37, 0x38, 0x2d, 0x30, 0x31, 0x42, 0x3a, 0x18, 0x09, 0x05, 0x05, 0x4a, 0x63, 0x60, 0x60, 0x2b, 0x10, 0x2d, 0x41, 0x41, 0x30, 0x42, 0x3e, 0x29, 0x09, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2a, 0x37, 0x32, 0x38, 0x32, 0x41, 0x38, 0x38, 0x30, 0x66, 0x31, 0x3a, 0x1e, 0x67, 0x4a, 0x4a, 0x05, 0x68, 0x64, 0x61, 0x2b, 0x17, 0x36, 0x10, 0x33, 0x31, 0x42, 0x3d, 0x45, 0x06, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x1c, 0x2c, 0x32, 0x32, 0x37, 0x41, 0x2c, 0x46, 0x30, 0x36, 0x36, 0x42, 0x42, 0x29, 0x1b, 0x4a, 0x4a, 0x4d, 0x26, 0x60, 0x0b, 0x17, 0x36, 0x44, 0x45, 0x66, 0x3e, 0x44, 0x44, 0x1a, 0x05, 0x05, 0x05, 0x05, 0x05, 0x15, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0c, 0x2c, 0x32, 0x32, 0x38, 0x37, 0x32, 0x37, 0x30, 0x36, 0x4c, 0x31, 0x1e, 0x10, 0x1f, 0x52, 0x69, 0x52, 0x07, 0x2c, 0x10, 0x36, 0x62, 0x6a, 0x44, 0x6b, 0x3e, 0x44, 0x6c, 0x30, 0x09, 0x05, 0x05, 0x25, 0x54, 0x19, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x25, 0x2c, 0x37, 0x38, 0x37, 0x2c, 0x32, 0x32, 0x46, 0x30, 0x46, 0x4c, 0x31, 0x66, 0x4c, 0x36, 0x1a, 0x1a, 0x17, 0x37, 0x37, 0x10, 0x31, 0x62, 0x45, 0x4c, 0x3e, 0x44, 0x62, 0x30, 0x09, 0x05, 0x0a, 0x70, 0x71, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x22, 0x32, 0x32, 0x38, 0x41, 0x41, 0x38, 0x2d, 0x46, 0x66, 0x44, 0x6c, 0x6c, 0x6c, 0x3d, 0x3a, 0x42, 0x31, 0x32, 0x32, 0x32, 0x33, 0x33, 0x30, 0x36, 0x3e, 0x3e, 0x31, 0x07, 0x05, 0x12, 0x6e, 0x72, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x2d, 0x2c, 0x38, 0x32, 0x41, 0x37, 0x2d, 0x46, 0x66, 0x6a, 0x6c, 0x6d, 0x6d, 0x6c, 0x3d, 0x3d, 0x31, 0x38, 0x38, 0x39, 0x33, 0x39, 0x36, 0x30, 0x30, 0x66, 0x30, 0x40, 0x4d, 0x5f, 0x4d, 0x4d, 0x05, 0x05, 0x05, 0x15, 0x04, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x5a, 0x2d, 0x32, 0x32, 0x37, 0x37, 0x32, 0x38, 0x46, 0x46, 0x66, 0x45, 0x44, 0x62, 0x44, 0x44, 0x3e, 0x31, 0x31, 0x31, 0x31, 0x31, 0x33, 0x37, 0x30, 0x10, 0x06, 0x05, 0x12, 0x0a, 0x05, 0x05, 0x05, 0x08, 0x68, 0x73, 0x05, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x22, 0x32, 0x32, 0x32, 0x3c, 0x37, 0x37, 0x2d, 0x39, 0x39, 0x39, 0x36, 0x36, 0x6b, 0x3e, 0x3e, 0x3e, 0x3e, 0x31, 0x4c, 0x39, 0x2d, 0x10, 0x16, 0x2a, 0x05, 0x05, 0x74, 0x74, 0x05, 0x05, 0x0c, 0x75, 0x5f, 0x1c, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x40, 0x2c, 0x32, 0x32, 0x32, 0x41, 0x37, 0x41, 0x2c, 0x2c, 0x41, 0x2c, 0x33, 0x36, 0x31, 0x36, 0x31, 0x31, 0x17, 0x46, 0x2c, 0x16, 0x40, 0x05, 0x05, 0x05, 0x05, 0x20, 0x5f, 0x4d, 0x72, 0x76, 0x06, 0x25, 0x4a, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x40, 0x0b, 0x2d, 0x37, 0x2d, 0x2c, 0x2c, 0x37, 0x37, 0x38, 0x2c, 0x37, 0x2c, 0x10, 0x10, 0x39, 0x30, 0x0b, 0x2c, 0x11, 0x09, 0x05, 0x09, 0x4a, 0x05, 0x05, 0x19, 0x1d, 0x26, 0x76, 0x08, 0x05, 0x05, 0x05, 0x15, 0x25, 0x4d, 0x53, 0x77, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4d, 0x5a, 0x2c, 0x37, 0x2d, 0x2c, 0x37, 0x37, 0x39, 0x39, 0x33, 0x38, 0x2c, 0x2d, 0x2d, 0x2c, 0x5e, 0x2a, 0x05, 0x15, 0x3b, 0x17, 0x1f, 0x19, 0x05, 0x06, 0x26, 0x60, 0x5f, 0x0c, 0x05, 0x05, 0x05, 0x35, 0x68, 0x78, 0x56, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x2c, 0x2c, 0x2c, 0x37, 0x32, 0x37, 0x2c, 0x37, 0x32, 0x46, 0x33, 0x46, 0x39, 0x11, 0x15, 0x05, 0x05, 0x18, 0x31, 0x44, 0x6a, 0x30, 0x6e, 0x2b, 0x4b, 0x11, 0x5f, 0x63, 0x72, 0x54, 0x20, 0x74, 0x58, 0x25, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x15, 0x0b, 0x2c, 0x38, 0x2d, 0x39, 0x39, 0x2d, 0x37, 0x3c, 0x32, 0x37, 0x0b, 0x18, 0x05, 0x05, 0x05, 0x4e, 0x26, 0x32, 0x45, 0x6a, 0x46, 0x2b, 0x72, 0x4e, 0x05, 0x35, 0x0a, 0x75, 0x5f, 0x70, 0x08, 0x09, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x35, 0x22, 0x2d, 0x30, 0x6b, 0x6b, 0x66, 0x36, 0x30, 0x36, 0x4c, 0x36, 0x30, 0x18, 0x05, 0x05, 0x05, 0x09, 0x4b, 0x32, 0x46, 0x66, 0x38, 0x0b, 0x09, 0x05, 0x05, 0x05, 0x05, 0x09, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0a, 0x2c, 0x2c, 0x31, 0x62, 0x62, 0x6b, 0x31, 0x45, 0x44, 0x44, 0x45, 0x31, 0x10, 0x0c, 0x4d, 0x0c, 0x08, 0x0b, 0x3c, 0x32, 0x33, 0x66, 0x17, 0x06, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x22, 0x2c, 0x2d, 0x31, 0x45, 0x6b, 0x36, 0x31, 0x6b, 0x62, 0x45, 0x6a, 0x66, 0x30, 0x0b, 0x2c, 0x2c, 0x2c, 0x2c, 0x37, 0x46, 0x6b, 0x44, 0x62, 0x5e, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0c, 0x1d, 0x2c, 0x39, 0x36, 0x4c, 0x30, 0x30, 0x30, 0x36, 0x4c, 0x66, 0x4c, 0x36, 0x30, 0x37, 0x41, 0x2c, 0x2d, 0x2c, 0x3c, 0x33, 0x6b, 0x44, 0x44, 0x39, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x2d, 0x2d, 0x2d, 0x36, 0x39, 0x2d, 0x32, 0x38, 0x38, 0x46, 0x6a, 0x6d, 0x3d, 0x62, 0x46, 0x3c, 0x37, 0x2d, 0x32, 0x32, 0x32, 0x38, 0x4c, 0x30, 0x16, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0a, 0x37, 0x38, 0x38, 0x39, 0x37, 0x2c, 0x37, 0x37, 0x30, 0x45, 0x6d, 0x6d, 0x62, 0x62, 0x38, 0x3c, 0x3c, 0x32, 0x37, 0x32, 0x32, 0x32, 0x2c, 0x14, 0x15, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x6e, 0x37, 0x38, 0x38, 0x38, 0x37, 0x2c, 0x2d, 0x30, 0x31, 0x62, 0x6a, 0x6d, 0x6a, 0x6a, 0x46, 0x32, 0x32, 0x37, 0x37, 0x32, 0x30, 0x17, 0x29, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4a, 0x0b, 0x38, 0x38, 0x38, 0x2c, 0x2c, 0x0b, 0x2d, 0x39, 0x4c, 0x45, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x38, 0x37, 0x2c, 0x41, 0x18, 0x1c, 0x0c, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x15, 0x0b, 0x2d, 0x38, 0x38, 0x37, 0x2c, 0x2c, 0x2c, 0x37, 0x32, 0x4c, 0x6b, 0x44, 0x44, 0x45, 0x6a, 0x45, 0x38, 0x37, 0x1c, 0x09, 0x05, 0x05, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x1d, 0x38, 0x38, 0x38, 0x38, 0x2c, 0x3c, 0x37, 0x37, 0x32, 0x32, 0x46, 0x36, 0x1e, 0x6b, 0x4c, 0x46, 0x32, 0x22, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x07, 0x37, 0x32, 0x37, 0x38, 0x38, 0x37, 0x32, 0x3c, 0x32, 0x32, 0x37, 0x38, 0x2d, 0x2d, 0x38, 0x2c, 0x2c, 0x4f, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x08, 0x3c, 0x37, 0x41, 0x38, 0x2d, 0x37, 0x37, 0x3c, 0x32, 0x3c, 0x32, 0x37, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x0c, 0x41, 0x3c, 0x3c, 0x38, 0x32, 0x3c, 0x3c, 0x3c, 0x41, 0x32, 0x41, 0x37, 0x2c, 0x2c, 0x41, 0x38, 0x45, 0x18, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2a, 0x2c, 0x3c, 0x37, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x37, 0x2c, 0x2c, 0x2c, 0x2c, 0x4c, 0x45, 0x6a, 0x1a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x11, 0x2c, 0x37, 0x41, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x41, 0x37, 0x37, 0x4c, 0x44, 0x6d, 0x6a, 0x1a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x5a, 0x2c, 0x41, 0x3c, 0x3c, 0x3c, 0x32, 0x2c, 0x32, 0x2c, 0x2c, 0x38, 0x38, 0x36, 0x45, 0x62, 0x44, 0x45, 0x29, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x2a, 0x2c, 0x3c, 0x3c, 0x3c, 0x3c, 0x3c, 0x37, 0x37, 0x32, 0x37, 0x39, 0x4c, 0x4c, 0x45, 0x62, 0x44, 0x62, 0x30, 0x2a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x4a, 0x5a, 0x41, 0x3c, 0x3c, 0x3c, 0x3c, 0x32, 0x3c, 0x37, 0x37, 0x2d, 0x46, 0x4c, 0x6b, 0x6b, 0x45, 0x3e, 0x36, 0x29, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x27, 0x3c, 0x37, 0x3c, 0x3c, 0x37, 0x37, 0x32, 0x38, 0x37, 0x37, 0x37, 0x38, 0x39, 0x36, 0x4c, 0x30, 0x10, 0x16, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x25, 0x1d, 0x37, 0x37, 0x41, 0x32, 0x3c, 0x32, 0x41, 0x37, 0x32, 0x2c, 0x41, 0x37, 0x2c, 0x32, 0x37, 0x2c, 0x2c, 0x5a, 0x0c, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x05, 0x05, 0x15, 0x5a, 0x37, 0x2c, 0x41, 0x2c, 0x2c, 0x41, 0x37, 0x41, 0x41, 0x3c, 0x2c, 0x41, 0x41, 0x3c, 0x37, 0x2c, 0x39, 0x0b, 0x0b, 0x25, 0x05, 0x05, 0x05, 0x05, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x2a, 0x22, 0x2d, 0x37, 0x2c, 0x3c, 0x1d, 0x2c, 0x38, 0x2c, 0x41, 0x2c, 0x2c, 0x2d, 0x39, 0x37, 0x3c, 0x37, 0x30, 0x1a, 0x5e, 0x6e, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x2a, 0x6e, 0x0b, 0x2d, 0x38, 0x41, 0x41, 0x6e, 0x5a, 0x2c, 0x41, 0x32, 0x38, 0x32, 0x39, 0x3f, 0x6f, 0x16, 0x37, 0x1a, 0x1f, 0x1f, 0x16, 0x1d, 0x0c, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x09, 0x40, 0x07, 0x2c, 0x37, 0x2c, 0x2d, 0x2c, 0x1d, 0x0e, 0x09, 0x0b, 0x4b, 0x07, 0x41, 0x38, 0x2d, 0x10, 0x2d, 0x10, 0x0b, 0x2b, 0x33, 0x3f, 0x21, 0x29, 0x07, 0x5e, 0x2f, 0x12, 0x08, 0x2a, 0x0c, 0x25, 0x09, 0x09, 0x09, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x05, 0x19, 0x40, 0x28, 0x22, 0x2c, 0x38, 0x32, 0x32, 0x32, 0x1d, 0x0e, 0x19, 0x05, 0x35, 0x2c, 0x4b, 0x70, 0x0b, 0x32, 0x2c, 0x16, 0x16, 0x16, 0x0b, 0x22, 0x26, 0x0b, 0x10, 0x3f, 0x29, 0x1f, 0x47, 0x1f, 0x1f, 0x5e, 0x0b, 0x4b, 0x74, 0x84, 0x74, 0x84, 0x06, 0x35, 0x09, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x09, 0x4d, 0x27, 0x0a, 0x22, 0x1d, 0x2c, 0x2c, 0x37, 0x32, 0x41, 0x41, 0x16, 0x27, 0x15, 0x09, 0x4a, 0x09, 0x28, 0x2d, 0x0b, 0x76, 0x2c, 0x37, 0x2d, 0x37, 0x32, 0x37, 0x0b, 0x0b, 0x5e, 0x5a, 0x4b, 0x0b, 0x0b, 0x07, 0x6e, 0x16, 0x5e, 0x10, 0x76, 0x5c, 0x68, 0x79, 0x7a, 0x53, 0x71, 0x54, 0x5d, 0x08, 0x4d, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x25, 0x27, 0x28, 0x0b, 0x2c, 0x2c, 0x2c, 0x2c, 0x2c, 0x41, 0x41, 0x41, 0x22, 0x11, 0x35, 0x4d, 0x4d, 0x35, 0x1c, 0x06, 0x0a, 0x22, 0x38, 0x38, 0x37, 0x38, 0x38, 0x38, 0x2d, 0x39, 0x39, 0x39, 0x10, 0x39, 0x10, 0x4b, 0x12, 0x08, 0x35, 0x67, 0x2a, 0x08, 0x74, 0x70, 0x81, 0x55, 0x78, 0x79, 0x57, 0x53, 0x71, 0x71, 0x73, 0x84, 0x25, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x04, 0x05, 0x09, 0x27, 0x16, 0x0b, 0x2c, 0x2d, 0x2c, 0x41, 0x41, 0x1d, 0x22, 0x5a, 0x0f, 0x14, 0x0a, 0x28, 0x0a, 0x28, 0x28, 0x28, 0x6e, 0x5a, 0x65, 0x1d, 0x0b, 0x2d, 0x38, 0x46, 0x38, 0x38, 0x38, 0x39, 0x2d, 0x46, 0x39, 0x30, 0x39, 0x4b, 0x68, 0x79, 0x7a, 0x57, 0x67, 0x67, 0x56, 0x53, 0x71, 0x68, 0x7e, 0x85, 0x59, 0x73, 0x79, 0x54, 0x7a, 0x54, 0x06, 0x1c, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x05, 0x4d, 0x16, 0x0b, 0x10, 0x39, 0x2d, 0x0b, 0x28, 0x06, 0x2a, 0x25, 0x35, 0x06, 0x11, 0x0a, 0x28, 0x07, 0x5a, 0x22, 0x26, 0x5a, 0x41, 0x7b, 0x7c, 0x60, 0x76, 0x22, 0x1d, 0x32, 0x38, 0x46, 0x46, 0x46, 0x38, 0x38, 0x38, 0x38, 0x2b, 0x75, 0x7d, 0x7e, 0x55, 0x78, 0x7a, 0x57, 0x57, 0x57, 0x71, 0x20, 0x68, 0x55, 0x85, 0x7a, 0x57, 0x53, 0x71, 0x57, 0x5d, 0x19, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x0c, 0x16, 0x0b, 0x30, 0x39, 0x18, 0x2a, 0x09, 0x05, 0x4e, 0x19, 0x25, 0x0c, 0x27, 0x11, 0x0a, 0x0a, 0x2f, 0x5a, 0x5a, 0x26, 0x5a, 0x7b, 0x7c, 0x7c, 0x61, 0x7f, 0x7f, 0x7f, 0x76, 0x22, 0x22, 0x0b, 0x2d, 0x0b, 0x2d, 0x2d, 0x33, 0x0b, 0x5f, 0x80, 0x7d, 0x5c, 0x81, 0x55, 0x59, 0x59, 0x73, 0x73, 0x54, 0x5c, 0x5c, 0x7e, 0x55, 0x59, 0x73, 0x7a, 0x71, 0x19, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x05, 0x05, 0x09, 0x25, 0x08, 0x07, 0x5e, 0x10, 0x22, 0x1c, 0x4a, 0x05, 0x09, 0x05, 0x15, 0x4d, 0x19, 0x19, 0x4d, 0x08, 0x12, 0x74, 0x0f, 0x6e, 0x5a, 0x26, 0x1d, 0x7b, 0x7b, 0x7c, 0x7c, 0x7c, 0x61, 0x5b, 0x82, 0x82, 0x80, 0x80, 0x82, 0x7f, 0x7f, 0x7f, 0x7f, 0x5b, 0x7f, 0x82, 0x80, 0x7d, 0x5c, 0x7e, 0x79, 0x54, 0x54, 0x7a, 0x73, 0x0f, 0x2a, 0x25, 0x19, 0x09, 0x4a, 0x05, 0x05, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x4d, 0x2a, 0x06, 0x74, 0x28, 0x22, 0x22, 0x2d, 0x2c, 0x0e, 0x05, 0x05, 0x05, 0x05, 0x05, 0x3b, 0x07, 0x19, 0x09, 0x25, 0x0c, 0x27, 0x12, 0x0f, 0x2f, 0x26, 0x26, 0x1d, 0x65, 0x65, 0x7c, 0x7c, 0x7b, 0x7c, 0x7b, 0x7b, 0x60, 0x5b, 0x7f, 0x82, 0x82, 0x82, 0x82, 0x82, 0x82, 0x80, 0x80, 0x83, 0x83, 0x81, 0x7e, 0x59, 0x73, 0x73, 0x84, 0x5d, 0x25, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x19, 0x08, 0x12, 0x0a, 0x0f, 0x6e, 0x5a, 0x26, 0x22, 0x2c, 0x2c, 0x0b, 0x27, 0x05, 0x05, 0x05, 0x15, 0x1e, 0x1e, 0x6f, 0x0c, 0x09, 0x15, 0x0c, 0x20, 0x12, 0x0f, 0x6e, 0x5a, 0x26, 0x26, 0x26, 0x65, 0x65, 0x65, 0x65, 0x7b, 0x7c, 0x7b, 0x65, 0x7b, 0x61, 0x61, 0x60, 0x64, 0x64, 0x64, 0x5b, 0x5b, 0x5f, 0x63, 0x70, 0x63, 0x58, 0x5d, 0x2a, 0x15, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x4a, 0x4d, 0x27, 0x11, 0x0a, 0x28, 0x6e, 0x5a, 0x26, 0x65, 0x41, 0x1d, 0x2c, 0x2c, 0x5e, 0x29, 0x0e, 0x14, 0x17, 0x31, 0x6b, 0x30, 0x14, 0x25, 0x09, 0x15, 0x4d, 0x08, 0x74, 0x0a, 0x0f, 0x2f, 0x5a, 0x26, 0x26, 0x1d, 0x1d, 0x1d, 0x2b, 0x65, 0x1d, 0x41, 0x65, 0x65, 0x7b, 0x65, 0x65, 0x1d, 0x6e, 0x74, 0x5d, 0x1c, 0x25, 0x15, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x09, 0x19, 0x4d, 0x08, 0x06, 0x0a, 0x2f, 0x6e, 0x2f, 0x6e, 0x26, 0x41, 0x7b, 0x65, 0x41, 0x37, 0x33, 0x30, 0x36, 0x36, 0x4c, 0x6b, 0x66, 0x30, 0x14, 0x35, 0x4a, 0x09, 0x15, 0x15, 0x25, 0x25, 0x0c, 0x1c, 0x08, 0x06, 0x5d, 0x5d, 0x5d, 0x0e, 0x06, 0x12, 0x06, 0x08, 0x1c, 0x2a, 0x0c, 0x19, 0x09, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x09, 0x09, 0x19, 0x35, 0x08, 0x12, 0x28, 0x2f, 0x2f, 0x6e, 0x5a, 0x41, 0x7c, 0x3c, 0x3c, 0x2c, 0x41, 0x2d, 0x2d, 0x39, 0x30, 0x4c, 0x4c, 0x66, 0x66, 0x31, 0x24, 0x20, 0x4a, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x4a, 0x09, 0x4a, 0x09, 0x09, 0x05, 0x09, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x09, 0x15, 0x0c, 0x1c, 0x12, 0x28, 0x2f, 0x5a, 0x1d, 0x7c, 0x7b, 0x41, 0x7b, 0x3c, 0x7b, 0x3c, 0x41, 0x41, 0x5a, 0x16, 0x28, 0x14, 0x14, 0x14, 0x3b, 0x12, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x05, 0x4a, 0x09, 0x15, 0x1c, 0x12, 0x12, 0x0a, 0x0f, 0x2f, 0x07, 0x2f, 0x0a, 0x12, 0x27, 0x0c, 0x4d, 0x15, 0x09, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x09, 0x15, 0x15, 0x15, 0x19, 0x4e, 0x4e, 0x05, 0x4a, 0x05, 0x05, 0x05, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, +}; diff --git a/sys/modules/syscons/logo/logo_saver.c b/sys/modules/syscons/logo/logo_saver.c new file mode 100644 index 000000000000..2d2c660847ac --- /dev/null +++ b/sys/modules/syscons/logo/logo_saver.c @@ -0,0 +1,157 @@ +/*- + * Copyright (c) 1998 Dag-Erling Coïdan Smørgrav + * 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 + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/syslog.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +static u_char *vid; +static int banksize, scrmode, bpsl, scrw, scrh; +static int blanked; + +#include "logo.c" + +static void +logo_blit(video_adapter_t *adp, int x, int y) +{ + int d, l, o, p; + + for (o = 0, p = y * bpsl + x; p > banksize; p -= banksize) + o += banksize; + set_origin(adp, o); + + for (d = 0; d < sizeof logo_img; d += logo_w) { + if (p + logo_w < banksize) { + bcopy(logo_img + d, vid + p, logo_w); + p += bpsl; + } else if (p < banksize) { + l = banksize - p; + bcopy(logo_img + d, vid + p, l); + set_origin(adp, (o += banksize)); + bcopy(logo_img + d + l, vid, logo_w - l); + p += bpsl - banksize; + } else { + p -= banksize; + set_origin(adp, (o += banksize)); + bcopy(logo_img + d, vid + p, logo_w); + p += bpsl; + } + } +} + +static void +logo_update(video_adapter_t *adp) +{ + static int xpos = 0, ypos = 0; + static int xinc = 1, yinc = 1; + + /* Turn when you hit the edge */ + if ((xpos + logo_w + xinc > scrw) || (xpos + xinc < 0)) + xinc = -xinc; + if ((ypos + logo_h + yinc > scrh) || (ypos + yinc < 0)) + yinc = -yinc; + xpos += xinc; + ypos += yinc; + + /* XXX Relies on margin around logo to erase trail */ + logo_blit(adp, xpos, ypos); +} + +static int +logo_saver(video_adapter_t *adp, int blank) +{ + int i, pl; + + if (blank) { + /* switch to graphics mode */ + if (blanked <= 0) { + pl = splhigh(); + set_video_mode(adp, scrmode); + load_palette(adp, logo_pal); +#if 0 /* XXX conflict */ + set_border(adp, 0); +#endif + blanked++; + vid = (u_char *)adp->va_window; + banksize = adp->va_window_size; + bpsl = adp->va_line_width; + splx(pl); + for (i = 0; i < bpsl*scrh; i += banksize) { + set_origin(adp, i); + bzero(vid, banksize); + } + } + logo_update(adp); + } else { + blanked = 0; + } + return 0; +} + +static int +logo_init(video_adapter_t *adp) +{ + video_info_t info; + + if (!get_mode_info(adp, M_VESA_CG800x600, &info)) { + scrmode = M_VESA_CG800x600; + } else if (!get_mode_info(adp, M_VGA_CG320, &info)) { + scrmode = M_VGA_CG320; + } else { + log(LOG_NOTICE, "logo_saver: no suitable graphics mode\n"); + return ENODEV; + } + + scrw = info.vi_width; + scrh = info.vi_height; + blanked = 0; + + return 0; +} + +static int +logo_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t logo_module = { + "logo_saver", logo_init, logo_term, logo_saver, NULL, +}; + +SAVER_MODULE(logo_saver, logo_module); diff --git a/sys/modules/syscons/rain/Makefile b/sys/modules/syscons/rain/Makefile new file mode 100644 index 000000000000..ecc5ec332581 --- /dev/null +++ b/sys/modules/syscons/rain/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +KMOD= rain_saver +SRCS= rain_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. +CWARNFLAGS= -Wall -pedantic + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/rain/rain_saver.c b/sys/modules/syscons/rain/rain_saver.c new file mode 100644 index 000000000000..7bb9ebb4117e --- /dev/null +++ b/sys/modules/syscons/rain/rain_saver.c @@ -0,0 +1,130 @@ +/*- + * Copyright (c) 1998 Dag-Erling Coïdan Smørgrav + * 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 + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/syslog.h> +#include <sys/consio.h> +#include <sys/fbio.h> +#include <sys/random.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +static u_char *vid; + +#define SCRW 320 +#define SCRH 200 +#define MAX 63 + +static u_char rain_pal[768]; +static int blanked; + +static void +rain_update(video_adapter_t *adp) +{ + int i, t; + + t = rain_pal[(MAX*3+2)]; + for (i = (MAX*3+2); i > 5; i -= 3) + rain_pal[i] = rain_pal[i-3]; + rain_pal[5] = t; + load_palette(adp, rain_pal); +} + +static int +rain_saver(video_adapter_t *adp, int blank) +{ + int i, j, k, pl; + + if (blank) { + /* switch to graphics mode */ + if (blanked <= 0) { + pl = splhigh(); + set_video_mode(adp, M_VGA_CG320); + load_palette(adp, rain_pal); +#if 0 /* XXX conflict */ + set_border(adp, 0); +#endif + blanked++; + vid = (u_char *)adp->va_window; + splx(pl); + bzero(vid, SCRW*SCRH); + for (i = 0; i < SCRW; i += 2) + vid[i] = 1 + (random() % MAX); + for (j = 1, k = SCRW; j < SCRH; j++) + for (i = 0; i < SCRW; i += 2, k += 2) + vid[k] = (vid[k-SCRW] < MAX) ? 1 + vid[k-SCRW] : 1; + } + + /* update display */ + rain_update(adp); + + } else { + blanked = 0; + } + return 0; +} + +static int +rain_init(video_adapter_t *adp) +{ + video_info_t info; + int i; + + /* check that the console is capable of running in 320x200x256 */ + if (get_mode_info(adp, M_VGA_CG320, &info)) { + log(LOG_NOTICE, "rain_saver: the console does not support M_VGA_CG320\n"); + return ENODEV; + } + + /* intialize the palette */ + for (i = 3; i < (MAX+1)*3; i += 3) + rain_pal[i+2] = rain_pal[i-1] + 4; + + blanked = 0; + + return 0; +} + +static int +rain_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t rain_module = { + "rain_saver", rain_init, rain_term, rain_saver, NULL, +}; + +SAVER_MODULE(rain_saver, rain_module); diff --git a/sys/modules/syscons/snake/Makefile b/sys/modules/syscons/snake/Makefile new file mode 100644 index 000000000000..6dab3edc9ac2 --- /dev/null +++ b/sys/modules/syscons/snake/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +KMOD= snake_saver +SRCS= snake_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/snake/snake_saver.c b/sys/modules/syscons/snake/snake_saver.c new file mode 100644 index 000000000000..ea5651fee2f6 --- /dev/null +++ b/sys/modules/syscons/snake/snake_saver.c @@ -0,0 +1,152 @@ +/*- + * Copyright (c) 1995-1998 Søren Schmidt + * 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, + * without modification, immediately at the beginning of the file. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/module.h> +#include <sys/malloc.h> +#include <sys/kernel.h> +#include <sys/sysctl.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <machine/pc/display.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +#ifdef PC98 +#include <pc98/pc98/pc98_machdep.h> +#endif + +static u_char *message; +static int *messagep; +static int messagelen; +static int blanked; + +static int +snake_saver(video_adapter_t *adp, int blank) +{ + static int dirx, diry; + int f; + sc_softc_t *sc; + scr_stat *scp; + +/* XXX hack for minimal changes. */ +#define save message +#define savs messagep + + sc = sc_find_softc(adp, NULL); + if (sc == NULL) + return EAGAIN; + scp = sc->cur_scp; + + if (blank) { + if (adp->va_info.vi_flags & V_INFO_GRAPHICS) + return EAGAIN; + if (blanked <= 0) { +#ifdef PC98 + if (epson_machine_id == 0x20) { + outb(0x43f, 0x42); + outb(0x0c17, inb(0xc17) & ~0x08); + outb(0x43f, 0x40); + } +#endif /* PC98 */ + sc_vtb_clear(&scp->scr, sc->scr_map[0x20], + (FG_LIGHTGREY | BG_BLACK) << 8); + (*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1); + sc_set_border(scp, 0); + dirx = (scp->xpos ? 1 : -1); + diry = (scp->ypos ? + scp->xsize : -scp->xsize); + for (f=0; f< messagelen; f++) + savs[f] = scp->xpos + scp->ypos*scp->xsize; + sc_vtb_putc(&scp->scr, savs[0], sc->scr_map[*save], + (FG_LIGHTGREY | BG_BLACK) << 8); + blanked = 1; + } + if (blanked++ < 4) + return 0; + blanked = 1; + sc_vtb_putc(&scp->scr, savs[messagelen - 1], sc->scr_map[0x20], + (FG_LIGHTGREY | BG_BLACK) << 8); + for (f=messagelen-1; f > 0; f--) + savs[f] = savs[f-1]; + f = savs[0]; + if ((f % scp->xsize) == 0 || + (f % scp->xsize) == scp->xsize - 1 || + (random() % 50) == 0) + dirx = -dirx; + if ((f / scp->xsize) == 0 || + (f / scp->xsize) == scp->ysize - 1 || + (random() % 20) == 0) + diry = -diry; + savs[0] += dirx + diry; + for (f=messagelen-1; f>=0; f--) + sc_vtb_putc(&scp->scr, savs[f], sc->scr_map[save[f]], + (FG_LIGHTGREY | BG_BLACK) << 8); + } + else { +#ifdef PC98 + if (epson_machine_id == 0x20) { + outb(0x43f, 0x42); + outb(0x0c17, inb(0xc17) | 0x08); + outb(0x43f, 0x40); + } +#endif /* PC98 */ + blanked = 0; + } + return 0; +} + +static int +snake_init(video_adapter_t *adp) +{ + messagelen = strlen(ostype) + 1 + strlen(osrelease); + message = malloc(messagelen + 1, M_DEVBUF, M_WAITOK); + sprintf(message, "%s %s", ostype, osrelease); + messagep = malloc(messagelen * sizeof *messagep, M_DEVBUF, M_WAITOK); + return 0; +} + +static int +snake_term(video_adapter_t *adp) +{ + free(message, M_DEVBUF); + free(messagep, M_DEVBUF); + return 0; +} + +static scrn_saver_t snake_module = { + "snake_saver", snake_init, snake_term, snake_saver, NULL, +}; + +SAVER_MODULE(snake_saver, snake_module); diff --git a/sys/modules/syscons/star/Makefile b/sys/modules/syscons/star/Makefile new file mode 100644 index 000000000000..7ae11d782852 --- /dev/null +++ b/sys/modules/syscons/star/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +KMOD= star_saver +SRCS= star_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/star/star_saver.c b/sys/modules/syscons/star/star_saver.c new file mode 100644 index 000000000000..a1f24b89fcc1 --- /dev/null +++ b/sys/modules/syscons/star/star_saver.c @@ -0,0 +1,139 @@ +/*- + * Copyright (c) 1995-1998 Søren Schmidt + * 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, + * without modification, immediately at the beginning of the file. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/consio.h> +#include <sys/fbio.h> + +#include <machine/pc/display.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +#ifdef PC98 +#include <pc98/pc98/pc98_machdep.h> +#endif + +#define NUM_STARS 50 + +static int blanked; + +/* + * Alternate saver that got its inspiration from a well known utility + * package for an inferior^H^H^H^H^H^Hfamous OS. + */ +static int +star_saver(video_adapter_t *adp, int blank) +{ + sc_softc_t *sc; + scr_stat *scp; + int cell, i; + static u_char pattern[] = {"...........++++*** "}; +#ifndef PC98 + static char colors[] = {FG_DARKGREY, FG_LIGHTGREY, + FG_WHITE, FG_LIGHTCYAN}; +#else + static char colors[] = {FG_BLUE, FG_LIGHTGREY, + FG_LIGHTGREY, FG_CYAN}; +#endif /* PC98 */ + static u_short stars[NUM_STARS][2]; + + sc = sc_find_softc(adp, NULL); + if (sc == NULL) + return EAGAIN; + scp = sc->cur_scp; + + if (blank) { + if (adp->va_info.vi_flags & V_INFO_GRAPHICS) + return EAGAIN; + if (!blanked) { +#ifdef PC98 + if (epson_machine_id == 0x20) { + outb(0x43f, 0x42); + outb(0x0c17, inb(0xc17) & ~0x08); + outb(0x43f, 0x40); + } +#endif /* PC98 */ + /* clear the screen and set the border color */ + sc_vtb_clear(&scp->scr, sc->scr_map[0x20], + (FG_LIGHTGREY | BG_BLACK) << 8); + (*vidsw[adp->va_index]->set_hw_cursor)(adp, -1, -1); + sc_set_border(scp, 0); + blanked = TRUE; + for(i=0; i<NUM_STARS; i++) { + stars[i][0] = + random() % (scp->xsize*scp->ysize); + stars[i][1] = 0; + } + } + cell = random() % NUM_STARS; + sc_vtb_putc(&scp->scr, stars[cell][0], + sc->scr_map[pattern[stars[cell][1]]], + colors[random()%sizeof(colors)] << 8); + if ((stars[cell][1]+=(random()%4)) >= sizeof(pattern)-1) { + stars[cell][0] = random() % (scp->xsize*scp->ysize); + stars[cell][1] = 0; + } + } + else { +#ifdef PC98 + if (epson_machine_id == 0x20) { + outb(0x43f, 0x42); + outb(0x0c17, inb(0xc17) | 0x08); + outb(0x43f, 0x40); + } +#endif /* PC98 */ + blanked = FALSE; + } + return 0; +} + +static int +star_init(video_adapter_t *adp) +{ + blanked = FALSE; + return 0; +} + +static int +star_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t star_module = { + "star_saver", star_init, star_term, star_saver, NULL, +}; + +SAVER_MODULE(star_saver, star_module); diff --git a/sys/modules/syscons/warp/Makefile b/sys/modules/syscons/warp/Makefile new file mode 100644 index 000000000000..45a3af9ecb23 --- /dev/null +++ b/sys/modules/syscons/warp/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +KMOD= warp_saver +SRCS= warp_saver.c + +NOMAN= +CFLAGS+= -I${.CURDIR}/.. +CWARNFLAGS= -Wall -pedantic + +.include <bsd.kmod.mk> diff --git a/sys/modules/syscons/warp/warp_saver.c b/sys/modules/syscons/warp/warp_saver.c new file mode 100644 index 000000000000..ba868f121f4a --- /dev/null +++ b/sys/modules/syscons/warp/warp_saver.c @@ -0,0 +1,138 @@ +/*- + * Copyright (c) 1998 Dag-Erling Coïdan Smørgrav + * 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 + * in this position and unchanged. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. The name of the author may not be used to endorse or promote products + * derived from this software without specific prior written permission + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * $FreeBSD$ + */ + +#include <sys/param.h> +#include <sys/systm.h> +#include <sys/kernel.h> +#include <sys/module.h> +#include <sys/syslog.h> +#include <sys/consio.h> +#include <sys/fbio.h> +#include <sys/random.h> + +#include <dev/fb/fbreg.h> +#include <dev/fb/splashreg.h> +#include <dev/syscons/syscons.h> + +static u_char *vid; +static int blanked; + +#define SCRW 320 +#define SCRH 200 +#define SPP 15 +#define STARS (SPP*(1+2+4+8)) + +static int star[STARS]; +static u_char warp_pal[768] = { + 0x00, 0x00, 0x00, + 0x66, 0x66, 0x66, + 0x99, 0x99, 0x99, + 0xcc, 0xcc, 0xcc, + 0xff, 0xff, 0xff + /* the rest is zero-filled by the compiler */ +}; + +static void +warp_update(void) +{ + int i, j, k, n; + + for (i = 1, k = 0, n = SPP*8; i < 5; i++, n /= 2) + for (j = 0; j < n; j++, k++) { + vid[star[k]] = 0; + star[k] += i; + if (star[k] > SCRW*SCRH) + star[k] -= SCRW*SCRH; + vid[star[k]] = i; + } +} + +static int +warp_saver(video_adapter_t *adp, int blank) +{ + int pl; + + if (blank) { + /* switch to graphics mode */ + if (blanked <= 0) { + pl = splhigh(); + set_video_mode(adp, M_VGA_CG320); + load_palette(adp, warp_pal); +#if 0 /* XXX conflict */ + set_border(adp, 0); +#endif + blanked++; + vid = (u_char *)adp->va_window; + splx(pl); + bzero(vid, SCRW*SCRH); + } + + /* update display */ + warp_update(); + + } else { + blanked = 0; + } + return 0; +} + +static int +warp_init(video_adapter_t *adp) +{ + video_info_t info; + int i; + + /* check that the console is capable of running in 320x200x256 */ + if (get_mode_info(adp, M_VGA_CG320, &info)) { + log(LOG_NOTICE, "warp_saver: the console does not support M_VGA_CG320\n"); + return ENODEV; + } + + /* randomize the star field */ + for (i = 0; i < STARS; i++) { + star[i] = random() % (SCRW*SCRH); + } + + blanked = 0; + + return 0; +} + +static int +warp_term(video_adapter_t *adp) +{ + return 0; +} + +static scrn_saver_t warp_module = { + "warp_saver", warp_init, warp_term, warp_saver, NULL, +}; + +SAVER_MODULE(warp_saver, warp_module); diff --git a/sys/modules/ti/Makefile b/sys/modules/ti/Makefile new file mode 100644 index 000000000000..dc5e4dcd8f26 --- /dev/null +++ b/sys/modules/ti/Makefile @@ -0,0 +1,7 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_ti +SRCS = if_ti.c opt_bdg.h device_if.h bus_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/tl/Makefile b/sys/modules/tl/Makefile new file mode 100644 index 000000000000..6e1170649b95 --- /dev/null +++ b/sys/modules/tl/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_tl +SRCS = if_tl.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/trm/Makefile b/sys/modules/trm/Makefile new file mode 100644 index 000000000000..f984794b3070 --- /dev/null +++ b/sys/modules/trm/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/trm + +KMOD= trm +SRCS= trm.c trm.h opt_cam.h device_if.h bus_if.h \ + opt_scsi.h pci_if.h + +opt_scsi.h: + echo "#define SCSI_DELAY 15000" > opt_scsi.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/twa/Makefile b/sys/modules/twa/Makefile new file mode 100644 index 000000000000..36456e53f785 --- /dev/null +++ b/sys/modules/twa/Makefile @@ -0,0 +1,25 @@ +# $FreeBSD$ + +# +# In the line following this comment, a value of 0 on the right hand +# side will not cause firmware to be bundled. Change this value to 1 +# to bundle the firmware with the driver, which may be flashed onto +# the controller, if the firmware on the controller is older than the +# one bundled, and needs to be upgraded. The size of the driver will +# increase significantly (to over 500kB) if this option is selected. +# +TWA_FLASH_FIRMWARE?=0 + +KMOD = twa +.PATH: ${.CURDIR}/../../dev/${KMOD} +SRCS = twa_freebsd.c twa_cam.c twa.c twa_globals.c \ + bus_if.h device_if.h pci_if.h opt_scsi.h opt_cam.h opt_twa.h + +.if $(TWA_FLASH_FIRMWARE) != 0 +CFLAGS+=-DTWA_FLASH_FIRMWARE +SRCS += twa_fwimg.c +.endif + +#CFLAGS+=-DTWA_DEBUG=0 + +.include <bsd.kmod.mk> diff --git a/sys/modules/twe/Makefile b/sys/modules/twe/Makefile new file mode 100644 index 000000000000..2d0639bcd4e8 --- /dev/null +++ b/sys/modules/twe/Makefile @@ -0,0 +1,32 @@ +# $FreeBSD$ + +# +# The 3ware controller offers a choice of options related to handling of +# mirror consistency in shutdown situations. +# +# If TWE_SHUTDOWN_NOTIFICATION is defined, the driver will inform the +# controller on clean shutdown. On reboot after an unclean shutdown, the +# controller will perform a complete mirror rebuild. This is the most +# "safe" configuration, but it imposes a severe performance penalty in the +# event of an unexpected reboot. +# +# In the alternate configuration, the controller assumes that all writes to +# a mirror complete successfully. In the case of an unclean shutdown, +# mirror corruption may occur if the controller is reset or power is lost +# during a disk write. This configuration is more suitable if the system +# has reliable power, but may be unstable for other reasons. +# +CFLAGS+=-DTWE_SHUTDOWN_NOTIFICATION + +# +# The module can be built to override a compiled-in driver +# +#CFLAGS+=-DTWE_OVERRIDE + +.PATH: ${.CURDIR}/../../dev/twe +KMOD= twe +SRCS= bus_if.h device_if.h pci_if.h twe.c twe_freebsd.c + +#CFLAGS+=-DTWE_DEBUG=0 + +.include <bsd.kmod.mk> diff --git a/sys/modules/tx/Makefile b/sys/modules/tx/Makefile new file mode 100644 index 000000000000..e6e06a02073b --- /dev/null +++ b/sys/modules/tx/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/tx +KMOD = if_tx +SRCS = if_tx.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/txp/Makefile b/sys/modules/txp/Makefile new file mode 100644 index 000000000000..7e1f500e85c5 --- /dev/null +++ b/sys/modules/txp/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/txp + +KMOD= if_txp +SRCS= if_txp.c opt_bdg.h device_if.h bus_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ubsa/Makefile b/sys/modules/ubsa/Makefile new file mode 100644 index 000000000000..10b772f4ed05 --- /dev/null +++ b/sys/modules/ubsa/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= ubsa +SRCS= ubsa.c ucomvar.h opt_usb.h device_if.h bus_if.h vnode_if.h +NOMAN= +KMODDEPS= ucom + +.include <bsd.kmod.mk> diff --git a/sys/modules/ubsec/Makefile b/sys/modules/ubsec/Makefile new file mode 100644 index 000000000000..4c9f58cf14b1 --- /dev/null +++ b/sys/modules/ubsec/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ubsec +KMOD = ubsec +SRCS = ubsec.c opt_ubsec.h +SRCS += device_if.h bus_if.h pci_if.h +SRCS += opt_bdg.h opt_bus.h crypto_if.h + +opt_ubsec.h: + echo "#define UBSEC_DEBUG 1" > opt_ubsec.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ucom/Makefile b/sys/modules/ucom/Makefile new file mode 100644 index 000000000000..b3cfc72613f9 --- /dev/null +++ b/sys/modules/ucom/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= ucom +SRCS= ucom.c ucomvar.h opt_usb.h device_if.h bus_if.h vnode_if.h +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/ufm/Makefile b/sys/modules/ufm/Makefile new file mode 100644 index 000000000000..3a19febf465a --- /dev/null +++ b/sys/modules/ufm/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/usb +KMOD= ufm +SRCS= bus_if.h device_if.h vnode_if.h opt_usb.h ufm.c dsbr100io.h +NOMAN= YES + +.include <bsd.kmod.mk> diff --git a/sys/modules/uftdi/Makefile b/sys/modules/uftdi/Makefile new file mode 100644 index 000000000000..e6574d1437cd --- /dev/null +++ b/sys/modules/uftdi/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= uftdi +SRCS= uftdi.c uftdireg.h opt_usb.h device_if.h bus_if.h vnode_if.h +NOMAN= +KMODDEPS= ucom + +.include <bsd.kmod.mk> diff --git a/sys/modules/ugen/Makefile b/sys/modules/ugen/Makefile new file mode 100644 index 000000000000..777b04b10163 --- /dev/null +++ b/sys/modules/ugen/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org + +.PATH: ${.CURDIR}/../../dev/usb + +KMOD= ugen +SRCS= bus_if.h device_if.h vnode_if.h opt_usb.h ugen.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/uhid/Makefile b/sys/modules/uhid/Makefile new file mode 100644 index 000000000000..7475f82da703 --- /dev/null +++ b/sys/modules/uhid/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org + +.PATH: ${.CURDIR}/../../dev/usb + +KMOD= uhid +SRCS= bus_if.h device_if.h vnode_if.h opt_usb.h uhid.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/ukbd/Makefile b/sys/modules/ukbd/Makefile new file mode 100644 index 000000000000..d6ca0487494d --- /dev/null +++ b/sys/modules/ukbd/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ +MAINTAINER= n_hibma@freebsd.org + +.PATH: ${.CURDIR}/../../dev/usb + +KMOD= ukbd +SRCS= bus_if.h device_if.h vnode_if.h \ + opt_usb.h opt_kbd.h opt_ukbd.h \ + ukbd.c + +opt_kbd.h: + echo '#define KBD_INSTALL_CDEV 1' > opt_kbd.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/ulpt/Makefile b/sys/modules/ulpt/Makefile new file mode 100644 index 000000000000..aa0f091400c8 --- /dev/null +++ b/sys/modules/ulpt/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org + +.PATH: ${.CURDIR}/../../dev/usb + +KMOD= ulpt +SRCS= bus_if.h device_if.h vnode_if.h opt_usb.h ulpt.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/umapfs/Makefile b/sys/modules/umapfs/Makefile new file mode 100644 index 000000000000..488590ff1bb6 --- /dev/null +++ b/sys/modules/umapfs/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../miscfs/umapfs +KMOD= umap +SRCS= vnode_if.h \ + umap_subr.c umap_vfsops.c umap_vnops.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/umass/Makefile b/sys/modules/umass/Makefile new file mode 100644 index 000000000000..94922ac0a178 --- /dev/null +++ b/sys/modules/umass/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org + +.PATH: ${.CURDIR}/../../dev/usb + +KMOD= umass +SRCS= bus_if.h device_if.h \ + opt_usb.h opt_cam.h opt_scsi.h \ + umass.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/umct/Makefile b/sys/modules/umct/Makefile new file mode 100644 index 000000000000..f4086041808e --- /dev/null +++ b/sys/modules/umct/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= umct +SRCS= umct.c ucomvar.h opt_usb.h device_if.h bus_if.h vnode_if.h +NOMAN= +KMODDEPS= ucom + +.include <bsd.kmod.mk> diff --git a/sys/modules/umodem/Makefile b/sys/modules/umodem/Makefile new file mode 100644 index 000000000000..e3c395f2b054 --- /dev/null +++ b/sys/modules/umodem/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org + +.PATH: ${.CURDIR}/../../dev/usb + +KMOD= umodem +SRCS= bus_if.h device_if.h vnode_if.h opt_usb.h umodem.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/ums/Makefile b/sys/modules/ums/Makefile new file mode 100644 index 000000000000..f5163312e788 --- /dev/null +++ b/sys/modules/ums/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org + +.PATH: ${.CURDIR}/../../dev/usb + +KMOD= ums +SRCS= bus_if.h device_if.h vnode_if.h opt_usb.h ums.c + +.include <bsd.kmod.mk> diff --git a/sys/modules/union/Makefile b/sys/modules/union/Makefile new file mode 100644 index 000000000000..6825a6376d91 --- /dev/null +++ b/sys/modules/union/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../miscfs/union +KMOD= union +SRCS= vnode_if.h \ + union_subr.c union_vfsops.c union_vnops.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/uplcom/Makefile b/sys/modules/uplcom/Makefile new file mode 100644 index 000000000000..5380bb596c26 --- /dev/null +++ b/sys/modules/uplcom/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= uplcom +SRCS= uplcom.c ucomvar.h opt_usb.h opt_uplcom.h \ + device_if.h bus_if.h vnode_if.h +NOMAN= +KMODDEPS= ucom + +.include <bsd.kmod.mk> diff --git a/sys/modules/usb/Makefile b/sys/modules/usb/Makefile new file mode 100644 index 000000000000..daffaa86e010 --- /dev/null +++ b/sys/modules/usb/Makefile @@ -0,0 +1,29 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org + +S= ${.CURDIR}/../.. + +.PATH: $S/dev/usb $S/pci + +KMOD= usb +SRCS= bus_if.h device_if.h usb_if.h usb_if.c \ + vnode_if.h \ + opt_usb.h \ + hid.c hid.h usbhid.h \ + uhub.c \ + usb.c usb.h \ + usb_mem.c usb_mem.h \ + usb_port.h \ + usb_quirks.c usb_quirks.h \ + usb_subr.c \ + usbdevs.h usbdevs_data.h \ + usbdi.c usbdi.h usbdivar.h \ + usbdi_util.c usbdi_util.h \ + usb_ethersubr.c + +SRCS+= uhci_pci.c uhci.c uhcireg.h uhcivar.h +SRCS+= ohci_pci.c ohci.c ohcireg.h ohcivar.h +SRCS+= opt_bus.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/uscanner/Makefile b/sys/modules/uscanner/Makefile new file mode 100644 index 000000000000..d6abda3370ad --- /dev/null +++ b/sys/modules/uscanner/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +MAINTAINER= n_hibma@freebsd.org + +.PATH: ${.CURDIR}/../../dev/usb + +KMOD= uscanner +SRCS= bus_if.h device_if.h vnode_if.h opt_usb.h uscanner.c + +CFLAGS+= -g + +.include <bsd.kmod.mk> diff --git a/sys/modules/uvisor/Makefile b/sys/modules/uvisor/Makefile new file mode 100644 index 000000000000..a875c8fbd1f1 --- /dev/null +++ b/sys/modules/uvisor/Makefile @@ -0,0 +1,11 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= uvisor +SRCS= uvisor.c ucomvar.h opt_usb.h device_if.h bus_if.h vnode_if.h +NOMAN= +KMODDEPS= ucom + +.include <bsd.kmod.mk> diff --git a/sys/modules/uvscom/Makefile b/sys/modules/uvscom/Makefile new file mode 100644 index 000000000000..b539b85cf1d1 --- /dev/null +++ b/sys/modules/uvscom/Makefile @@ -0,0 +1,12 @@ +# $FreeBSD$ + +S= ${.CURDIR}/../.. +.PATH: $S/dev/usb + +KMOD= uvscom +SRCS= uvscom.c ucomvar.h opt_usb.h opt_uvscom.h \ + device_if.h bus_if.h vnode_if.h +NOMAN= +KMODDEPS= ucom + +.include <bsd.kmod.mk> diff --git a/sys/modules/vesa/Makefile b/sys/modules/vesa/Makefile new file mode 100644 index 000000000000..e2da541a3fd5 --- /dev/null +++ b/sys/modules/vesa/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/syscons ${.CURDIR}/../../i386/isa +KMOD = vesa +SRCS = vesa.c scvesactl.c opt_vga.h +NOMAN = + +.include <bsd.kmod.mk> diff --git a/sys/modules/vinum/.gdbinit.crash b/sys/modules/vinum/.gdbinit.crash new file mode 100644 index 000000000000..f3e643671cb8 --- /dev/null +++ b/sys/modules/vinum/.gdbinit.crash @@ -0,0 +1,4 @@ +source .gdbinit.kernel +source .gdbinit.vinum.paths +source .gdbinit.vinum +asf diff --git a/sys/modules/vinum/.gdbinit.kernel b/sys/modules/vinum/.gdbinit.kernel new file mode 100644 index 000000000000..c814d7f1d56a --- /dev/null +++ b/sys/modules/vinum/.gdbinit.kernel @@ -0,0 +1,645 @@ +set remotebaud 38400 +set remotetimeout 1 +set complaints 1 +set print pretty +define xi +x/10i $eip +end +define xs +x/12x $esp +end +define xb +x/12x $ebp +end +define z +ni +x/1i $eip +end +define zs +si +x/1i $eip +end +define xp +printf " esp: " +output/x $esp +echo ( +output (((int)$ebp)-(int)$esp)/4-4 +printf " words on stack)\n ebp: " +output/x $ebp +printf "\n eip: " +x/1i $eip +printf "Saved ebp: " +output/x *(int*)$ebp +printf " (maximum of " +output ((*(int*)$ebp)-(int)$ebp)/4-4 +printf " parameters possible)\nSaved eip: " +x/1i *(int*)($ebp+4) +printf "\nParm 1 at " +output/x (int) ($ebp+8) +printf ": " +output (char*) *(int*)($ebp+8) +printf "\nParm 2 at " +output/x (int) ($ebp+12) +printf ": " +output (char*) *(int*)($ebp+12) +printf "\nParm 3 at " +output/x (int) ($ebp+16) +printf ": " +output (char*) *(int*)($ebp+16) +printf "\nParm 4 at " +output/x (int) ($ebp+20) +printf ": " +output (char*) *(int*)($ebp+20) +echo \n +end +document xp +Show the register contents and the first four parameter +words of the current frame. +end +define xxp +printf " esp: " +output/x $esp +printf "\n ebp: " +output/x $ebp +printf "\n eip: " +x/1i $eip +printf "Saved ebp: " +output/x *(int*)$ebp +printf " (maximum of " +output ((*(int*)$ebp)-(int)$ebp)/4-4 +printf " parameters possible)\nSaved eip: " +x/1i *(int*)($ebp+4) +printf "\nParm 1 at " +output/x (int) ($ebp+8) +printf ": " +output (char*) *(int*)($ebp+8) +printf "\nParm 2 at " +output/x (int) ($ebp+12) +printf ": " +output (char*) *(int*)($ebp+12) +printf "\nParm 3 at " +output/x (int) ($ebp+16) +printf ": " +output (char*) *(int*)($ebp+16) +printf "\nParm 4 at " +output/x (int) ($ebp+20) +printf ": " +output (char*) *(int*)($ebp+20) +printf "\nParm 5 at " +output/x (int) ($ebp+24) +printf ": " +output (char*) *(int*)($ebp+24) +printf "\nParm 6 at " +output/x (int) ($ebp+28) +printf ": " +output (char*) *(int*)($ebp+28) +printf "\nParm 7 at " +output/x (int) ($ebp+32) +printf ": " +output (char*) *(int*)($ebp+32) +printf "\nParm 8 at " +output/x (int) ($ebp+36) +printf ": " +output (char*) *(int*)($ebp+36) +printf "\nParm 9 at " +output/x (int) ($ebp+40) +printf ": " +output (char*) *(int*)($ebp+40) +printf "\nParm 10 at " +output/x (int) ($ebp+44) +printf ": " +output (char*) *(int*)($ebp+44) +echo \n +end +document xxp +Show the register contents and the first ten parameter +words of the current frame. +end +define xp0 +x/12x *(int*)$esp +p *(int*)$esp +p (char*)*$esp +end +define xp1 +x/12x *(int*)($ebp+4) +p *(int*)($ebp+4) +p (char**)($ebp+4) +end +define xp2 +x/12x *(int*)($ebp+8) +p *(int*)($ebp+8) +p *(char**)($ebp+8) +end +define xp3 +x/12x *(int*)($ebp+12) +p *(int*)($ebp+12) +p (char**)($ebp+12) +end +define xp4 +x/12x *(int*)($ebp+16) +p *(int*)($ebp+16) +p (char**)($ebp+16) +end +document xp0 +Show the first parameter of current stack frame in various formats +end +document xp1 +Show the second parameter of current stack frame in various formats +end +document xp2 +Show the third parameter of current stack frame in various formats +end +document xp3 +Show the fourth parameter of current stack frame in various formats +end +document xp4 +Show the fifth parameter of current stack frame in various formats +end +define f0 +f 0 +xp +end +define f1 +f 1 +xp +end +define f2 +f 2 +xp +end +define f3 +f 3 +xp +end +define f4 +f 4 +xp +end +define f5 +f 5 +xp +end +document f0 +Select stack frame 0 and show assembler-level details +end +document f1 +Select stack frame 1 and show assembler-level details +end +document f2 +Select stack frame 2 and show assembler-level details +end +document f3 +Select stack frame 3 and show assembler-level details +end +document f4 +Select stack frame 4 and show assembler-level details +end +document f5 +Select stack frame 5 and show assembler-level details +end +document z +Single step 1 instruction (over calls) and show next instruction. +end +document zs +Single step 1 instruction (through calls) and show next instruction. +end +document xi +List the next 10 instructions from the current IP value +end +document xs +Show the last 12 words on stack in hex +end +document xb +Show 12 words starting at current BP value in hex +end +define tr +target remote /dev/cuaa1 +end +document tr +Attach to a remote kernel via /dev/cuaa0 +end +set output-radix 16 +define pname +p (char *)curproc->p_comm +end +document pname +Print the command name of the current process +end +define bpp +set $bp = (struct buf *) $arg0 + if $bp->b_dev + printf " Buffer at 0x%x: dev 0x%x data 0x%x bcount 0x%x blkno 0x%x resid 0x%x\n", \ + $bp, \ + $bp->b_dev->si_udev, \ + $bp->b_data, \ + $bp->b_bcount, \ + $bp->b_blkno, \ + $bp->b_resid + else + printf " Buffer at 0x%x: dev (none) data 0x%x bcount 0x%x blkno 0x%x resid 0x%x\n", \ + $bp, \ + $bp->b_data, \ + $bp->b_bcount, \ + $bp->b_blkno, \ + $bp->b_resid + end + printf " flags 0x%x: ", $bp->b_flags + if $bp->b_flags & 0x10 + printf "busy " + end + if $bp->b_flags & 0x40 + printf "call " + end + if $bp->b_flags & 0x200 + printf "done " + end + if $bp->b_flags & 0x800 + printf "error " + end + if $bp->b_flags & 0x40000 + printf "phys " + end + if $bp->b_flags & 0x100000 + printf "read " + end + printf "\n" +end +define bpl +set $bp = (struct buf *) $arg0 +printf "b_proc: " +output $bp->b_proc +printf "\nb_flags: " +output $bp->b_flags +printf "\nb_qindex: " +output $bp->b_qindex +printf "\nb_usecount: " +output $bp->b_usecount +printf "\nb_error: " +output $bp->b_error +printf "\nb_bufsize: " +output $bp->b_bufsize +printf "\nb_bcount: " +output $bp->b_bcount +printf "\nb_resid: " +output $bp->b_resid +printf "\nb_dev: " +output $bp->b_dev +printf "\nb_data: " +output $bp->b_data +printf "\nb_kvasize: " +output $bp->b_kvasize +printf "\nb_lblkno: " +output $bp->b_lblkno +printf "\nb_blkno: " +output $bp->b_blkno +printf "\nb_iodone: " +output $bp->b_iodone +printf "\nb_vp: " +output $bp->b_vp +printf "\nb_dirtyoff: " +output $bp->b_dirtyoff +printf "\nb_dirtyend: " +output $bp->b_dirtyend +printf "\nb_generation: " +output $bp->b_generation +printf "\nb_rcred: " +output $bp->b_rcred +printf "\nb_wcred: " +output $bp->b_wcred +printf "\nb_validoff: " +output $bp->b_validoff +printf "\nb_validend: " +output $bp->b_validend +printf "\nb_pblkno: " +output $bp->b_pblkno +printf "\nb_saveaddr: " +output $bp->b_saveaddr +printf "\nb_savekva: " +output $bp->b_savekva +printf "\nb_driver1: " +output $bp->b_driver1 +printf "\nb_driver2: " +output $bp->b_driver2 +printf "\nb_spc: " +output $bp->b_spc +printf "\nb_npages: " +output $bp->b_npages +printf "\n" +end +define bp +bpp bp +end +define bpd + printf "Buffer data:\n%s", (char *) bp->b_data +end +document bpd +Show the contents (char*) of bp->data in the current frame. +end +document bp +Show information about the buffer header pointed to by the +variable bp in the current frame. +end +document bpp +Show summary information about the buffer header (struct bp) pointed +at by the parameter. +end +document bpl +Show detailled information about the buffer header (struct bp) pointed +at by the parameter. +end +document bpl +Show detailled information about the buffer header (struct bp) pointed +at by the local variable bp. +end +define bx +printf "\n b_vnbufs " +output/x bp->b_vnbufs +printf "\n b_freelist " +output/x bp->b_freelist +printf "\n b_act " +output/x bp->b_act +printf "\n b_flags " +output/x bp->b_flags +printf "\n b_qindex " +output/x bp->b_qindex +printf "\n b_usecount " +output/x bp->b_usecount +printf "\n b_error " +output/x bp->b_error +printf "\n b_bufsize " +output/x bp->b_bufsize +printf "\n b_bcount " +output/x bp->b_bcount +printf "\n b_resid " +output/x bp->b_resid +printf "\n b_dev " +output/x bp->b_dev +printf "\n b_data " +output/x bp->b_data +printf "\n b_kvasize " +output/x bp->b_kvasize +printf "\n b_blkno " +output/x bp->b_blkno +printf "\n b_iodone_chain " +output/x bp->b_iodone_chain +printf "\n b_vp " +output/x bp->b_vp +printf "\n b_dirtyoff " +output/x bp->b_dirtyoff +printf "\n b_validoff " +output/x bp->b_validoff +echo \n +end +define ddb +set boothowto=0x80000000 +s +end +document ddb +Switch back to ddb. +end +define ps + set $nproc = nprocs + set $aproc = allproc.lh_first + set $proc = allproc.lh_first + printf " pid proc addr uid ppid pgrp flag stat comm wchan\n" + while (--$nproc >= 0) + set $pptr = $proc.p_pptr + if ($pptr == 0) + set $pptr = $proc + end + if ($proc.p_stat) + printf "%5d %08x %08x %4d %5d %5d %06x %d %-10s ", \ + $proc.p_pid, $aproc, \ + $proc.p_addr, $proc.p_cred->p_ruid, $pptr->p_pid, \ + $proc.p_pgrp->pg_id, $proc.p_flag, $proc.p_stat, \ + &$proc.p_comm[0] + if ($proc.p_wchan) + if ($proc.p_wmesg) + printf "%s ", $proc.p_wmesg + end + printf "%x", $proc.p_wchan + end + printf "\n" + end + set $aproc = $proc.p_list.le_next + if ($aproc == 0 && $nproc > 0) + set $aproc = zombproc + end + set $proc = $aproc + end +end +document ps +"ps" -- when kernel debugging, type out a ps-like listing of active processes. +end +define pcb + set $nproc = nprocs + set $aproc = allproc.lh_first + set $proc = allproc.lh_first + while (--$nproc >= 0) + set $pptr = $proc.p_pptr + if ($proc->p_pid == $arg0) + set $pcba = $pptr->p_addr->u_pcb + printf "ip: %08x sp: %08x bp: %08x bx: %08x\n", $pcba->pcb_eip, $pcba->pcb_esp, $pcba->pcb_ebp, $pcba->pcb_ebx + x/1i $pcba->pcb_eip + set $nproc = 0 + end + set $aproc = $proc.p_list.le_next + if ($aproc == 0 && $nproc > 0) + set $aproc = zombproc + end + set $proc = $aproc + end +end +document pcb +Show some pcb contents of process whose pid is specified. +end +define btr +set $frame = $arg0 +set $fno = 0 +while (*(int *) $frame > 0xc0000000) + set $myebp = *(int *) $frame + set $myeip = *(int *) ($frame + 4) + printf " frame %d at %p: ebp %8x, eip ", $fno, $frame, $myebp + x/1i $myeip + set $frame = $myebp + set $fno = $fno + 1 +end +end +document btr +Show a backtrace from the ebp address specified. This can be used to +get a backtrace from any stack resident in memory. +end +define btp + set $nproc = nprocs + set $aproc = allproc.lh_first + set $proc = allproc.lh_first + while (--$nproc >= 0) + if ($proc->p_pid == $arg0) + btr $proc->p_addr->u_pcb->pcb_ebp + set $nproc = 0 + else + set $aproc = $proc.p_list.le_next + if ($aproc == 0 && $nproc > 0) + set $aproc = zombproc + end + set $proc = $aproc + end + end +end +document btp +Show a backtrace for the process whose pid is specified as a parameter. +end +define btpa + set $nproc = nprocs + set $aproc = allproc.lh_first + set $proc = allproc.lh_first + printf " pid proc addr uid ppid pgrp flag stat comm wchan\n" + while (--$nproc >= 0) + set $pptr = $proc.p_pptr + if ($pptr == 0) + set $pptr = $proc + end + if ($proc.p_stat) + printf "%5d %08x %08x %4d %5d %5d %06x %d %-10s ", \ + $proc.p_pid, $aproc, \ + $proc.p_addr, $proc.p_cred->p_ruid, $pptr->p_pid, \ + $proc.p_pgrp->pg_id, $proc.p_flag, $proc.p_stat, \ + &$proc.p_comm[0] + if ($proc.p_wchan) + if ($proc.p_wmesg) + printf "%s ", $proc.p_wmesg + end + printf "%x", $proc.p_wchan + end + printf "\n" + if ($proc->p_flag & 4) + btr $proc->p_addr->u_pcb->pcb_ebp + else + echo (not loaded)\n + end + end + set $aproc = $proc.p_list.le_next + if ($aproc == 0 && $nproc > 0) + set $aproc = zombproc + end + set $proc = $aproc + end +end +document btpa +Show backtraces for all processes in the system. +end +define btpp + if ($myvectorproc->p_flag & 4) + btr $myvectorproc->p_addr->u_pcb->pcb_ebp + else + echo (not loaded)\n + end +end +document btpp +Show a backtrace for the process previously selected with 'defproc'. +end +define defproc + set $nproc = nprocs + set $aproc = allproc.lh_first + set $proc = allproc.lh_first + while (--$nproc >= 0) + if ($proc->p_pid == $arg0) + set $pptr = $proc.p_pptr + if ($pptr == 0) + set $pptr = $proc + end + set $myvectorproc = $proc + if ($proc.p_stat) + printf "%5d %08x %08x %4d %5d %5d %06x %d %-10s ", \ + $proc.p_pid, $aproc, \ + $proc.p_addr, $proc.p_cred->p_ruid, $pptr->p_pid, \ + $proc.p_pgrp->pg_id, $proc.p_flag, $proc.p_stat, \ + &$proc.p_comm[0] + if ($proc.p_wchan) + if ($proc.p_wmesg) + printf "%s ", $proc.p_wmesg + end + printf "%x", $proc.p_wchan + end + printf "\n" + end + btpp + set $nproc = 0 + else + set $proc = $proc.p_list.le_next + end + end +end +document defproc +Specify a process for btpp and fr commands. +end +define fr +set $fno = 0 +set $searching = 1 +if ($myvectorproc->p_flag & 4) + set $frame = $myvectorproc->p_addr->u_pcb->pcb_ebp + while (($searching == 1) && (*(int *) $frame > 0xc0000000)) + set $myebp = *(int *) $frame + set $myeip = *(int *) ($frame + 4) + if ($fno == $arg0) + printf " frame %d at %p: ebp %8x, eip ", $fno, $frame, $myebp + x/1i $myeip + printf "Called from %8x, stack frame at %8x\n", *(int *) ($myebp+4), *(int *) $myebp + printf "last 20 local variables:\n" + x/20x ($myebp-80) + printf "call parameters:\n" + x/8x ($myebp+8) + set $searching = 0 + else + set $frame = $myebp + set $fno = $fno + 1 + end + end + if ($searching == 1) + echo frame not found\n + end +else + printf "process %d is not loaded in memory\n", $myvectorproc->p_pid +end +end +document fr +Show the frame of the stack of the process previously selected with 'defproc'. +end +set height 70 +set width 120 +define vdev +if (vp->v_type == VBLK) + p *vp->v_un.vu_spec.vu_specinfo + printf "numoutput: %d\n", vp->v_numoutput +else + echo "Not a block device" +end +end +document vdev +Show some information of the vnode pointed to by the local variable vp. +end +define y +echo Check your .gdbinit, it contains a y command\n +end +define kldstat + set $file = files.tqh_first + printf "Id Refs Address Size Name\n" + while ($file != 0) + printf "%2d %4d 0x%8x %8x %s\n", \ + $file->id, \ + $file->refs, \ + $file->address, \ + $file->size, \ + $file->filename + set $file = $file->link.tqe_next + end +end +document kldstat +Equivalent of the kldstat(9) command, without options. +end +define msgbuf +printf "%s", msgbufp->msg_ptr +end +document msgbuf +Print the system message buffer (dmesg). This can take a long time due to the time it takes to transmit the data across a serial line. +end diff --git a/sys/modules/vinum/.gdbinit.serial b/sys/modules/vinum/.gdbinit.serial new file mode 100644 index 000000000000..d302f8aff479 --- /dev/null +++ b/sys/modules/vinum/.gdbinit.serial @@ -0,0 +1,5 @@ +source .gdbinit.kernel +source .gdbinit.vinum.paths +source .gdbinit.vinum +tr +asf diff --git a/sys/modules/vinum/.gdbinit.vinum b/sys/modules/vinum/.gdbinit.vinum new file mode 100644 index 000000000000..d494be39afaf --- /dev/null +++ b/sys/modules/vinum/.gdbinit.vinum @@ -0,0 +1,299 @@ +define rq +rqq rq +end +document rq +Show information about the request pointed to by the variable rq in the current frame. +end +define rqq +set $rq = (struct request *) $arg0 +printf "Request: \n" +output/x *$rq +printf "\n" +bpp $rq->bp +set $rqg = $rq->rqg +while ($rqg != 0) + printf "\nRequest group at %x:\n", $rqg + output/x *$rqg + printf "\n" + set $rqno = 0 + while ($rqno < $rqg->count) + printf "rqg->rqe [%d]: ", $rqno + rrqe &$rqg->rqe[$rqno] + set $rqno = $rqno + 1 + end + set $rqg = $rqg->next + end +end +document rqq +Show information about the request (struct rq) pointed at by the parameter +end +define rqe +rrqe rqe +end +define rrqe +set $rqe = (struct rqelement *) $arg0 + printf "sdoffset 0x%x, useroffset 0x%x, dataoffset 0x%x, datalen 0x%x, groupoffset 0x%x, grouplen 0x%x, buflen 0x%x\n", \ + $rqe->sdoffset, \ + $rqe->useroffset, \ + $rqe->dataoffset, \ + $rqe->datalen, \ + $rqe->groupoffset, \ + $rqe->grouplen, \ + $rqe->buflen + printf " Flags 0x%x, Subdisk %d Drive %d\n", \ + $rqe->flags, \ + $rqe->sdno, \ + $rqe->driveno + bpp &$rqe->b +end +document rqe +Show information about the request element pointed to by the variable rqe in the current frame. +end +document rrqe +Show information about the request element (struct rqe) pointed at by the parameter. +end +define rqq0 +printf "rq->prq [0].rqe[0].sdno: " +output/x rq->prq[0].rqe[0].sdno +printf "\nBuffer: device: " +output/x rq->prq[0].rqe[0].b.b_dev +printf " data: " +output/x rq->prq[0].rqe[0].b.b_data +printf " length: " +output/x rq->prq[0].rqe[0].b.b_bcount +printf " drive offset: " +output/x rq->prq[0].rqe[0].b.b_blkno +printf " subdisk offset: " +output/x rq->prq[0].rqe[0].sdoffset +printf "\nFlags: " +if (rq->prq[0].rqe[0].b.b_flags & 0x10) +printf "busy " +end +if (rq->prq[0].rqe[0].b.b_flags & 0x200) +printf "done " +end +if (rq->prq[0].rqe[0].b.b_flags & 0x800) +printf "error " +end +if (rq->prq[0].rqe[0].b.b_flags & 0x100000) +printf "read " +end +output/x rq->prq[0].rqe[0].b.b_flags +printf "\nrq->prq [0].rqe[1].sdno: " +output/x rq->prq[0].rqe[1].sdno +printf "\nBuffer: device: " +output/x rq->prq[0].rqe[1].b.b_dev +printf " data: " +output/x rq->prq[0].rqe[1].b.b_data +printf " length: " +output/x rq->prq[0].rqe[1].b.b_bcount +printf " drive offset: " +output/x rq->prq[0].rqe[1].b.b_blkno +printf " subdisk offset: " +output/x rq->prq[0].rqe[1].sdoffset +printf "\nFlags: " +output/x rq->prq[0].rqe[1].b.b_flags +echo \n +end +define rqq1 +printf "\nrq->prq [1].rqe[0].sdno: " +output/x rq->prq[1].rqe[0].sdno +printf "\nBuffer: device: " +output/x rq->prq[1].rqe[0].b.b_dev +printf " data: " +output/x rq->prq[1].rqe[0].b.b_data +printf " length: " +output/x rq->prq[1].rqe[0].b.b_bcount +printf " drive offset: " +output/x rq->prq[1].rqe[0].b.b_blkno +printf " subdisk offset: " +output/x rq->prq[1].rqe[0].sdoffset +printf "\nFlags: " +output/x rq->prq[1].rqe[0].b.b_flags +printf "\nrq->prq [1].rqe[1].sdno: " +output/x rq->prq[1].rqe[1].sdno +printf "\nBuffer: device: " +output/x rq->prq[1].rqe[1].b.b_dev +printf " data: 0x%x length 0x%x drive offset 0x%x sd offset 0x%x\n" rq->prq[1].rqe[1].b.b_data, + rq->prq[1].rqe[1].b.b_bcount, + rq->prq[1].rqe[1].b.b_blkno, + rq->prq[1].rqe[1].sdoffset +printf "\nFlags: " +output/x rq->prq[1].rqe[1].b.b_flags +echo \n +end +define xy +bpp +echo stripeoffset +p stripeoffset +echo stripebase +p stripebase +echo sdno +p sdno +echo sdoffset +p sdoffset +echo rqe->sectors +p rqe->sectors +echo rqe->sdoffset +p rqe->sdoffset +end +# kernel equivalent of 'info -V' +define rqi + set $rqipe = rqip + set $rqip = $rqipe + 1 + set $rqend = rqinfo + 128 + if ($rqip == $rqend) + set $rqip = rqinfo + end + set $done = 0 + while ($done == 0) + if ($rqip->bp != 0) + printf "%X:\t%d.%06d\tUBP: %x\t", $rqip, $rqip->timestamp.tv_sec, $rqip->timestamp.tv_usec, $rqip->bp + p $rqip->type + printf " user " + bpp $rqip->bp + if ($rqip->type < loginfo_rqe) + printf " copied" + bpp &$rqip->info + else + rrqe &$rqip->info + end + end + set $rqip = $rqip + 1 + if ($rqip == $rqipe) + set $done = 1 + end + if ($rqip == $rqend) + set $rqip = rqinfo + end + end +end +define rqinfo + set $rqipe = rqip + set $rqip = $rqipe + 1 + set $rqend = rqinfo + 128 + if ($rqip == $rqend) + set $rqip = rqinfo + end + set $done = 0 + printf "\nTime\t\t\t Event\t\t Buf\tDev\t Offset\tBytes\tSD\tSDoff\tDoffset\tGoffset\n\n" + while ($done == 0) + if ($rqip->bp != 0) + printf "%d.%06d\t", $rqip->timestamp.tv_sec, $rqip->timestamp.tv_usec + if ($rqip->type == loginfo_user_bp) + if ($rqip->info.b.b_flags & 0x00100000) + printf "1VS Read" + else + printf "1VS Write" + end + printf "\t%p\t%d.%d\t0x%-9x\t%ld\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount + end + + if ($rqip->type == loginfo_user_bpl) + if ($rqip->info.b.b_flags & 0x00100000) + printf "2LR Read" + else + printf "2LR Write" + end + printf "\t%p\t%d.%d\t0x%-9x\t%ld\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount + end + + if ($rqip->type == loginfo_rqe) + if ($rqip->info.b.b_flags & 0x00100000) + printf "3RQ Read" + else + printf "3RQ Write" + end + printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset + end + + if ($rqip->type == loginfo_iodone) + if ($rqip->info.b.b_flags & 0x00100000) + printf "4DN Read" + else + printf "4DN Write" + end + printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset + end + + if ($rqip->type == loginfo_raid5_data) + if ($rqip->info.b.b_flags & 0x00100000) + printf "5RD Read" + else + printf "5RD Write" + end + printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset + end + + if ($rqip->type == loginfo_raid5_parity) + if ($rqip->info.b.b_flags & 0x00100000) + printf "6RP Read" + else + printf "6RP Write" + end + printf "\t%p\t%d.%d\t0x%-9x\t%ld\t%d\t%x\t%x\t%x\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.rqe.b.b_blkno, $rqip->info.rqe.b.b_bcount, $rqip->info.rqe.sdno, $rqip->info.rqe.sdoffset, $rqip->info.rqe.dataoffset, $rqip->info.rqe.groupoffset + end + + if ($rqip->type == loginfo_sdio) + if ($rqip->info.b.b_flags & 0x00100000) + printf "7VS Read" + else + printf "7VS Write" + end + printf "\t%p\t\t 0x%-9x\t%ld\t%d\n", $rqip->bp, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount, $rqip->devminor & 0xff + end + + if ($rqip->type == loginfo_sdiol) + if ($rqip->info.b.b_flags & 0x00100000) + printf "8LR Read" + else + printf "8LR Write" + end + printf "\t%p\t%d.%d\t0x%-9x\t%ld\n", $rqip->bp, $rqip->devmajor, $rqip->devminor & 0xff, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount + end + + if ($rqip->type == loginfo_lockwait) + printf "Lockwait %p\t%d\t 0x%x\n", $rqip->bp, $rqip->info.lockinfo.plexno, $rqip->info.lockinfo.stripe + end + + if ($rqip->type == loginfo_lock) + printf "Lock \t%p\t%d\t 0x%x\n", $rqip->bp, $rqip->info.lockinfo.plexno, $rqip->info.lockinfo.stripe + end + + if ($rqip->type == loginfo_unlock) + printf "Unlock \t%p\t%d\t 0x%x\n", $rqip->bp, $rqip->info.lockinfo.plexno, $rqip->info.lockinfo.stripe + end + + if ($rqip->type == loginfo_sdiodone) + if ($rqip->info.b.b_flags & 0x00100000) + printf "9DN Read" + else + printf "9DN Write" + end + printf "\t%p\t\t 0x%-9x\t%ld\t%d\n", $rqip->bp, $rqip->info.b.b_blkno, $rqip->info.b.b_bcount, $rqip->devminor + end + + end + set $rqip = $rqip + 1 + if ($rqip == $rqipe) + set $done = 1 + end + if ($rqip == $rqend) + set $rqip = rqinfo + end + end +end +document rqinfo +Show the Vinum request log buffer, like 'vinum info -V' +end +define meminfo +printf "Block\tSequence\t size\t address\t line\t\tfile\n" +set $i = 0 +while $i < malloccount + printf "%6d\t%6d\t\t%6d\t0x%08x\t%6d\t\t%s\n", $i, malloced [$i].seq, malloced[$i].size, malloced[$i].address, malloced[$i].line, &malloced[$i].file + set $i = $i + 1 +end +end +document meminfo +Equivalent of 'vinum info -v' command +end diff --git a/sys/modules/vinum/.gdbinit.vinum.paths b/sys/modules/vinum/.gdbinit.vinum.paths new file mode 100644 index 000000000000..104ffec1c5fc --- /dev/null +++ b/sys/modules/vinum/.gdbinit.vinum.paths @@ -0,0 +1,19 @@ +dir /usr/src/sys/modules/vinum +dir /usr/src/sys/i386/conf +dir /usr/src/sys +define asf + set $file = linker_files.tqh_first + set $found = 0 + while ($found == 0) + if (*$file->filename == 'v') + set $found = 1 + else + set $file = $file->link.tqe_next + end + end + shell /usr/bin/objdump --section-headers /modules/vinum.ko | grep ' .text' | awk '{print "add-symbol-file /modules/vinum.ko \$file->address+0x" $4}' > .asf + source .asf +end +document asf +Find the load address of Vinum in the kernel and add the symbols at this address +end diff --git a/sys/modules/vinum/Makefile b/sys/modules/vinum/Makefile new file mode 100644 index 000000000000..568c82d3b3e0 --- /dev/null +++ b/sys/modules/vinum/Makefile @@ -0,0 +1,20 @@ +# $FreeBSD$ + +MAINTAINER= grog@FreeBSD.org + +.PATH: ${.CURDIR}/../../dev/vinum +KMOD= vinum + +SRCS= opt_vinum.h request.h vinum.c vinumconfig.c vinumdaemon.c \ + vinumext.h vinumhdr.h vinuminterrupt.c vinumio.c vinumio.h \ + vinumioctl.c vinumkw.h vinumlock.c vinummemory.c vinumparser.c \ + vinumraid5.c vinumrequest.c vinumrevive.c vinumstate.c \ + vinumstate.h vinumutil.c vinumvar.h vnode_if.h + +NOMAN= + +# If you remove -DVINUMDEBUG here, you must also do it in src/sbin/Makefile. +# Otherwise a number of ioctls will fail. +CFLAGS+= -DVINUMDEBUG -g -O + +.include <bsd.kmod.mk> diff --git a/sys/modules/vn/Makefile b/sys/modules/vn/Makefile new file mode 100644 index 000000000000..e9117dc3e568 --- /dev/null +++ b/sys/modules/vn/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/vn +KMOD= vn +SRCS= vn.c vnode_if.h +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/vpo/Makefile b/sys/modules/vpo/Makefile new file mode 100644 index 000000000000..3934e031c9d3 --- /dev/null +++ b/sys/modules/vpo/Makefile @@ -0,0 +1,10 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/ppbus +KMOD= vpo +SRCS= bus_if.h device_if.h ppbus_if.h \ + opt_cam.h opt_scsi.h opt_vpo.h \ + immio.c vpo.c vpoio.c +NOMAN= + +.include <bsd.kmod.mk> diff --git a/sys/modules/vr/Makefile b/sys/modules/vr/Makefile new file mode 100644 index 000000000000..55f8298c8132 --- /dev/null +++ b/sys/modules/vr/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_vr +SRCS = if_vr.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/wb/Makefile b/sys/modules/wb/Makefile new file mode 100644 index 000000000000..b2a8ced7fa47 --- /dev/null +++ b/sys/modules/wb/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_wb +SRCS = if_wb.c opt_bdg.h device_if.h +SRCS += bus_if.h miibus_if.h pci_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/wi/Makefile b/sys/modules/wi/Makefile new file mode 100644 index 000000000000..e031b34fd5af --- /dev/null +++ b/sys/modules/wi/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/wi + +KMOD= if_wi +SRCS= if_wi.c if_wi_pccard.c if_wi_pci.c wi_hostap.c \ + card_if.h device_if.h bus_if.h pci_if.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/wx/Makefile b/sys/modules/wx/Makefile new file mode 100644 index 000000000000..63ed60cefaa8 --- /dev/null +++ b/sys/modules/wx/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_wx +SRCS = if_wx.c opt_bdg.h device_if.h bus_if.h pci_if.h miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> diff --git a/sys/modules/xe/Makefile b/sys/modules/xe/Makefile new file mode 100644 index 000000000000..3dce82cbcf97 --- /dev/null +++ b/sys/modules/xe/Makefile @@ -0,0 +1,8 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../dev/xe +KMOD = if_xe +SRCS = if_xe.c opt_bdg.h device_if.h card_if.h bus_if.h pci_if.h +SRCS += if_xevar.h if_xereg.h + +.include <bsd.kmod.mk> diff --git a/sys/modules/xl/Makefile b/sys/modules/xl/Makefile new file mode 100644 index 000000000000..82931cf84e92 --- /dev/null +++ b/sys/modules/xl/Makefile @@ -0,0 +1,9 @@ +# $FreeBSD$ + +.PATH: ${.CURDIR}/../../pci +KMOD = if_xl +SRCS = if_xl.c opt_bdg.h device_if.h bus_if.h pci_if.h +SRCS += miibus_if.h +KMODDEPS = miibus + +.include <bsd.kmod.mk> |
