├── bin ├── bin2obj ├── bin2srec ├── comp ├── depend.mk ├── didepend ├── elf2bin ├── forth ├── forth.dic ├── fscope ├── gen-seeprom ├── jbos_mkflash ├── makedi ├── makeprom ├── mkflash ├── move-if-changed ├── sparcv9 │ ├── forth │ └── fscope └── tokenize.dic ├── default.mk ├── include ├── depend.mk └── sys │ ├── dilib.h │ ├── dropins.h │ └── obpdefs.h ├── lib ├── defines.h ├── depend.mk ├── libchksum.a ├── libdef.a ├── libdropin.a ├── libxref.a ├── sparcv9 │ ├── libchksum.a │ ├── libdef.a │ ├── libdropin.a │ ├── libsa.a │ └── libxref.a ├── xref.h └── xref_support.h ├── make.mk ├── obp ├── arch │ ├── common.mk │ ├── preload.fth │ ├── sun │ │ ├── auto-field.fth │ │ ├── cmn-msg-format.fth │ │ ├── dynamic-user.fth │ │ ├── forthinit.fth │ │ ├── idprom.fth │ │ ├── keystore.fth │ │ ├── model.fth │ │ ├── reset-cleanup.fth │ │ ├── reset-dropin.fth │ │ └── reset │ │ │ └── common.fth │ ├── sun4j │ │ └── nvram-personality.fth │ ├── sun4s │ │ ├── msloop.fth │ │ ├── reentry-table.fth │ │ └── reset │ │ │ └── common.fth │ ├── sun4u │ │ ├── arcbpsup.fth │ │ ├── asmmacros.fth │ │ ├── config │ │ │ ├── banner.fth │ │ │ ├── console.fth │ │ │ ├── nvramrc.fth │ │ │ ├── reset-recovery.fth │ │ │ ├── scsi-id.fth │ │ │ └── termemu.fth │ │ ├── consredir.fth │ │ ├── fieldberr.fth │ │ ├── go.fth │ │ ├── help.fth │ │ ├── openboot.map │ │ ├── power-off.fth │ │ ├── quark │ │ │ └── le-access.fth │ │ ├── reboot.fth │ │ ├── reenter.fth │ │ ├── retained.fth │ │ ├── slavecpu.fth │ │ ├── startcpu.fth │ │ ├── starthacks.fth │ │ ├── startup.fth │ │ ├── switchcpu.fth │ │ ├── trans.fth │ │ ├── traptable.fth │ │ └── unixmap.fth │ └── sun4v │ │ ├── api-group-id.fth │ │ ├── api-version.fth │ │ ├── auto-boot-on-error.fth │ │ ├── catchexc.fth │ │ ├── common.mk │ │ ├── console-tty.fth │ │ ├── cpu.fth │ │ ├── cpustruct.fth │ │ ├── devalias.fth │ │ ├── diagprint.fth │ │ ├── erie │ │ ├── intrmap.fth │ │ └── local-mac-addr.fth │ │ ├── error-reset.fth │ │ ├── fastfill.fth │ │ ├── forthint.fth │ │ ├── hfcodes.fth │ │ ├── hslave.fth │ │ ├── hv-errcode.fth │ │ ├── hyperconsole.fth │ │ ├── machine-init.fth │ │ ├── mapdi.fth │ │ ├── mdload.fth │ │ ├── mdscan.fth │ │ ├── memprobe.fth │ │ ├── mmumiss.fth │ │ ├── mondo.fth │ │ ├── niagara │ │ ├── boot.fth │ │ ├── bootscript.fth │ │ ├── cleanup.fth │ │ ├── fixed.fth │ │ ├── hv-apis.fth │ │ ├── loadconfig.fth │ │ ├── loadprom.fth │ │ ├── probeall.fth │ │ ├── reset.fth │ │ ├── sysinfo.fth │ │ ├── tlbsetup.fth │ │ └── virtaddrs.fth │ │ ├── ontario │ │ ├── depend.mk │ │ ├── release │ │ │ ├── Makefile │ │ │ ├── debug.fth │ │ │ ├── dropins.src │ │ │ ├── getsz.awk │ │ │ ├── obp │ │ │ ├── reset.symbols │ │ │ └── revlevel │ │ └── reset.mk │ │ ├── ramforth.fth │ │ ├── root-prober.fth │ │ ├── rootnexus.fth │ │ ├── savestate.fth │ │ └── xcall.fth ├── cpu │ └── sparc │ │ ├── acall.fth │ │ ├── asi9.fth │ │ ├── asmmacro.fth │ │ ├── assem.fth │ │ ├── call.fth │ │ ├── call32.fth │ │ ├── ccall.fth │ │ ├── ccalls.fth │ │ ├── code.fth │ │ ├── cpustate.fth │ │ ├── disforw.fth │ │ ├── doccall.fth │ │ ├── fentry9.fth │ │ ├── fpu9.fth │ │ ├── init-c9.fth │ │ ├── memtest.fth │ │ ├── mutex.fth │ │ ├── register.fth │ │ ├── register9.fth │ │ ├── traps.fth │ │ ├── traps9.fth │ │ ├── ultra │ │ ├── implasm.fth │ │ ├── impldis.fth │ │ ├── mmu-policy │ │ │ └── 8k-pages.fth │ │ └── mmu.fth │ │ ├── ultra3 │ │ └── asmmacro.fth │ │ └── ultra4v │ │ ├── asmmacro.fth │ │ ├── hypermmu.fth │ │ ├── hypervisor.fth │ │ ├── implasm.fth │ │ ├── loadultra.fth │ │ ├── map.fth │ │ ├── mmuregs.fth │ │ ├── savecpu.fth │ │ ├── tlb.fth │ │ ├── tlbasm.fth │ │ ├── tte-lookup.fth │ │ └── tte.fth ├── dev │ ├── builtin.fth │ ├── deblock.fth │ ├── ebus │ │ └── utility.fth │ ├── flash │ │ └── dropins │ │ │ └── misc.fth │ ├── ide │ │ ├── ata │ │ │ ├── disk.fth │ │ │ └── support.fth │ │ ├── atapi │ │ │ ├── cdrom.fth │ │ │ ├── misc.fth │ │ │ └── support.fth │ │ ├── ide.fth │ │ ├── methods.fth │ │ ├── pci │ │ │ ├── depend.mk │ │ │ ├── ide.tok │ │ │ └── pci.fth │ │ ├── pktdata.fth │ │ └── probe.fth │ ├── network │ │ ├── common │ │ │ ├── devargs.fth │ │ │ ├── link-params.fth │ │ │ └── mif │ │ │ │ ├── gmii-h.fth │ │ │ │ └── mii-h.fth │ │ └── ophir │ │ │ ├── core.fth │ │ │ ├── depend.mk │ │ │ ├── eeprom.fth │ │ │ ├── load.fth │ │ │ ├── map.fth │ │ │ ├── mif.fth │ │ │ ├── ophir.tok │ │ │ ├── phy.fth │ │ │ ├── pkg.fth │ │ │ ├── test.fth │ │ │ └── util.fth │ ├── pci-bridge │ │ ├── dec21152 │ │ │ ├── config.fth │ │ │ ├── dec21152.tok │ │ │ ├── depend.mk │ │ │ └── pcibridg.fth │ │ ├── hotplugalloc.fth │ │ ├── pcinode.fth │ │ └── range.fth │ ├── pci │ │ ├── cfgio.fth │ │ ├── compatible-prop.fth │ │ ├── compatible.fth │ │ ├── config-access.fth │ │ ├── debug.fth │ │ ├── device-props.fth │ │ ├── fcode-rom.fth │ │ ├── generic-names.fth │ │ ├── hotplugdetect.fth │ │ ├── knownprops.fth │ │ ├── make-device.fth │ │ ├── make-path.fth │ │ ├── map.fth │ │ ├── memstack.fth │ │ ├── pcibus.fth │ │ ├── preprober.fth │ │ ├── probe-reg.fth │ │ └── unit.fth │ ├── psycho │ │ └── memdebug.fth │ ├── rtc │ │ └── support.fth │ ├── scsi │ │ ├── adapters │ │ │ └── hacom.fth │ │ ├── probescsi.fth │ │ └── targets │ │ │ ├── scsicom.fth │ │ │ ├── scsidisk.fth │ │ │ └── scsitape.fth │ ├── serial │ │ ├── keyboard │ │ │ ├── buffer.fth │ │ │ ├── mutex.fth │ │ │ └── options.fth │ │ ├── mode-data.fth │ │ ├── mode-decode.fth │ │ ├── su16550 │ │ │ └── io.fth │ │ └── ttydriver.fth │ ├── southbridge │ │ ├── isa-devices │ │ │ ├── serial │ │ │ │ ├── depend.mk │ │ │ │ └── serial.tok │ │ │ └── superio │ │ │ │ └── registers.fth │ │ ├── isa │ │ │ ├── isa.fth │ │ │ └── registers.fth │ │ ├── ontario │ │ │ ├── config.fth │ │ │ └── isa │ │ │ │ ├── depend.mk │ │ │ │ ├── init.fth │ │ │ │ └── isa.tok │ │ └── usb │ │ │ ├── depend.mk │ │ │ ├── southroot.fth │ │ │ ├── southusb.tok │ │ │ └── usbload.fth │ ├── sun4v-devices │ │ ├── console │ │ │ ├── console.tok │ │ │ ├── depend.mk │ │ │ ├── io.fth │ │ │ └── methods.fth │ │ ├── fire │ │ │ ├── master-pcia │ │ │ │ ├── depend.mk │ │ │ │ └── master-pcia.tok │ │ │ └── master-pcib │ │ │ │ ├── depend.mk │ │ │ │ └── master-pcib.tok │ │ ├── flashprom │ │ │ ├── depend.mk │ │ │ └── flashprom.tok │ │ ├── iommu │ │ │ └── iommu.fth │ │ ├── legion-disk │ │ │ ├── depend.mk │ │ │ ├── disk.tok │ │ │ └── methods.fth │ │ ├── legion-nvram │ │ │ ├── depend.mk │ │ │ └── nvram.tok │ │ ├── ncp │ │ │ ├── depend.mk │ │ │ └── ncp.tok │ │ ├── nvram │ │ │ ├── depend.mk │ │ │ ├── methods.fth │ │ │ └── nvram.tok │ │ ├── svc-channel │ │ │ ├── depend.mk │ │ │ └── svc-channel.tok │ │ ├── tod │ │ │ ├── depend.mk │ │ │ ├── tod.tok │ │ │ └── utc2tod.fth │ │ ├── utilities │ │ │ ├── mdscan_addition.fth │ │ │ ├── pd-vd-methods.fth │ │ │ └── svc.fth │ │ ├── vnexus │ │ │ ├── depend.mk │ │ │ ├── methods.fth │ │ │ ├── probe.fth │ │ │ └── vnexus.tok │ │ └── vpci │ │ │ ├── bus-ops.fth │ │ │ ├── common.fth │ │ │ ├── depend.mk │ │ │ ├── hv-iface.fth │ │ │ ├── methods.fth │ │ │ ├── msi-props.fth │ │ │ └── vpci.tok │ ├── usb-devices │ │ ├── combined │ │ │ ├── combined.tok │ │ │ ├── compatible.fth │ │ │ ├── depend.mk │ │ │ ├── endpoints.fth │ │ │ ├── gen.fth │ │ │ ├── name.fth │ │ │ ├── node.fth │ │ │ ├── packets.fth │ │ │ ├── parse.fth │ │ │ └── requests.fth │ │ ├── device │ │ │ ├── compatible.fth │ │ │ ├── depend.mk │ │ │ ├── dev-required.fth │ │ │ ├── device.tok │ │ │ ├── name.fth │ │ │ ├── nodes.fth │ │ │ ├── packets.fth │ │ │ ├── parse.fth │ │ │ └── requests.fth │ │ ├── hub │ │ │ ├── bad-dev.fth │ │ │ ├── depend.mk │ │ │ ├── hub-control.fth │ │ │ ├── hub-gen.fth │ │ │ ├── hub-requests.fth │ │ │ ├── hub-required.fth │ │ │ ├── hub.tok │ │ │ ├── packets.fth │ │ │ └── probe.fth │ │ ├── interface │ │ │ ├── compatible.fth │ │ │ ├── depend.mk │ │ │ ├── endpoints.fth │ │ │ ├── interface.tok │ │ │ ├── name.fth │ │ │ ├── node.fth │ │ │ ├── packets.fth │ │ │ ├── parse.fth │ │ │ └── requests.fth │ │ └── kbd │ │ │ ├── depend.mk │ │ │ ├── kbdutils.fth │ │ │ ├── probe.fth │ │ │ ├── usbdebug.fth │ │ │ ├── usbdefs.fth │ │ │ ├── usbdescr.fth │ │ │ ├── usbkbd.tok │ │ │ ├── usbkeyin.fth │ │ │ └── usbutils.fth │ ├── usb │ │ ├── allocator.fth │ │ ├── bad-dev.fth │ │ ├── chipmap.fth │ │ ├── common.fth │ │ ├── distributor.fth │ │ ├── dq.fth │ │ ├── endpointmap.fth │ │ ├── finder.fth │ │ ├── gen.fth │ │ ├── nq.fth │ │ ├── ohci.fth │ │ ├── packets.fth │ │ ├── power-on.fth │ │ ├── probe.fth │ │ ├── requests.fth │ │ ├── required.fth │ │ ├── sync.fth │ │ ├── transfermap.fth │ │ └── usb.fth │ └── utilities │ │ ├── cif.fth │ │ ├── get-option.fth │ │ ├── memlist.fth │ │ ├── memlistdebug.fth │ │ ├── misc.fth │ │ ├── probe.fth │ │ ├── shifter.fth │ │ └── swapped-access.fth ├── firmware.rel ├── fm │ ├── cwrapper │ │ ├── binhdr.fth │ │ ├── sparc │ │ │ ├── boot.fth │ │ │ └── savefort.fth │ │ ├── sysdisk.fth │ │ └── syskey.fth │ ├── kernel │ │ ├── ansio.fth │ │ ├── catchsel.fth │ │ ├── cmdline.fth │ │ ├── cold.fth │ │ ├── comment.fth │ │ ├── compiler.fth │ │ ├── definers.fth │ │ ├── disk.fth │ │ ├── dmul.fth │ │ ├── dmuldiv.fth │ │ ├── double.fth │ │ ├── filecomm.fth │ │ ├── fileio.fth │ │ ├── guarded.fth │ │ ├── hashcach.fth │ │ ├── init.fth │ │ ├── interp.fth │ │ ├── io.fth │ │ ├── is.fth │ │ ├── kernel2.fth │ │ ├── kernport.fth │ │ ├── nswapmap.fth │ │ ├── order.fth │ │ ├── readline.fth │ │ ├── sparc │ │ │ ├── checkpt.fth │ │ │ ├── depend.mk │ │ │ ├── divrem.fth │ │ │ ├── divrem9.fth │ │ │ ├── double.fth │ │ │ ├── extra.fth │ │ │ ├── field.fth │ │ │ ├── filecode.fth │ │ │ ├── finish.fth │ │ │ ├── kerncode.fth │ │ │ ├── loadkern.fth │ │ │ ├── loadsyms.fth │ │ │ ├── metainit.fth │ │ │ ├── move.fth │ │ │ ├── moveslow.fth │ │ │ ├── multiply.fth │ │ │ ├── mulv9.fth │ │ │ └── parseline.fth │ │ ├── stresc.fth │ │ ├── tagvoc.fth │ │ ├── uservars.fth │ │ └── voccom.fth │ ├── lib │ │ ├── action-primitives.fth │ │ ├── alias.fth │ │ ├── ansiterm.fth │ │ ├── array.fth │ │ ├── brackif.fth │ │ ├── breakpt.fth │ │ ├── caller.fth │ │ ├── callfind.fth │ │ ├── chains.fth │ │ ├── cirstack.fth │ │ ├── cmdcpl.fth │ │ ├── copyrigh.fth │ │ ├── cstrings.fth │ │ ├── debug.fth │ │ ├── decomp.fth │ │ ├── dispose.fth │ │ ├── dump.fth │ │ ├── dumphead.fth │ │ ├── editcmd.fth │ │ ├── fastspac.fth │ │ ├── fcmdcpl.fth │ │ ├── fileed.fth │ │ ├── filetool.fth │ │ ├── format.fth │ │ ├── headless.fth │ │ ├── headtool.fth │ │ ├── hidden.fth │ │ ├── initsave.fth │ │ ├── instdis.fth │ │ ├── linklist.fth │ │ ├── loadcomm.fth │ │ ├── loadedit.fth │ │ ├── loclabel.fth │ │ ├── message.fth │ │ ├── needs.fth │ │ ├── objects.fth │ │ ├── parses1.fth │ │ ├── patch.fth │ │ ├── pseudors.fth │ │ ├── rstrace.fth │ │ ├── savedstk.fth │ │ ├── seechain.fth │ │ ├── showspac.fth │ │ ├── sift.fth │ │ ├── sparc │ │ │ ├── bitops.fth │ │ │ ├── cpubpsup.fth │ │ │ ├── ctrace.fth │ │ │ ├── ctrace9.fth │ │ │ ├── debugm.fth │ │ │ ├── decompm.fth │ │ │ ├── dfill.fth │ │ │ ├── external.fth │ │ │ ├── ftrace.fth │ │ │ ├── lmove.fth │ │ │ └── objsup.fth │ │ ├── split.fth │ │ ├── stringar.fth │ │ ├── strings.fth │ │ ├── stubs.fth │ │ ├── substrin.fth │ │ ├── suspend.fth │ │ ├── th.fth │ │ ├── transien.fth │ │ ├── unixedit.fth │ │ ├── util.fth │ │ ├── version.fth │ │ ├── words.fth │ │ └── xref.fth │ └── meta │ │ ├── compilin.fth │ │ ├── conf64.fth │ │ ├── conft32.fth │ │ ├── forward.fth │ │ ├── meta1.fth │ │ ├── nswapmap.fth │ │ └── sparc │ │ ├── fixvoc.fth │ │ ├── savemeta.fth │ │ └── target.fth ├── forth.mk ├── os │ ├── bootprom │ │ ├── alarm.fth │ │ ├── allocmor.fth │ │ ├── allocph.fth │ │ ├── allocsym.fth │ │ ├── allocvir.fth │ │ ├── availmem.fth │ │ ├── breadth.fth │ │ ├── callback.fth │ │ ├── canon.fth │ │ ├── clientif.fth │ │ ├── clntmem.fth │ │ ├── comprop.fth │ │ ├── console.fth │ │ ├── contigph.fth │ │ ├── deladdr.fth │ │ ├── devpaths.fth │ │ ├── devtree.fth │ │ ├── diagmode.fth │ │ ├── dlbin.fth │ │ ├── dload.fth │ │ ├── dropin.fth │ │ ├── eject.fth │ │ ├── execall.fth │ │ ├── execbuf.fth │ │ ├── finddev.fth │ │ ├── finddisp.fth │ │ ├── fwfileop.fth │ │ ├── initdict.fth │ │ ├── instance.fth │ │ ├── instmall.fth │ │ ├── loaddevt.fth │ │ ├── loadlist.fth │ │ ├── malloc.fth │ │ ├── mapdev.fth │ │ ├── memlist.fth │ │ ├── memmap.fth │ │ ├── msgbuf.fth │ │ ├── pdump.fth │ │ ├── propenc.fth │ │ ├── regwords.fth │ │ ├── release.fth │ │ ├── relinkdt.fth │ │ ├── scrubmem.fth │ │ ├── showdisk.fth │ │ ├── showlocation.fth │ │ ├── showvers.fth │ │ ├── siftdevs.fth │ │ ├── sparc │ │ │ └── instance.fth │ │ ├── standini.fth │ │ ├── sysintf.fth │ │ ├── sysnodes.fth │ │ ├── testdevt.fth │ │ └── trace.fth │ ├── stand │ │ ├── probe.fth │ │ ├── romable.fth │ │ ├── sparc │ │ │ └── notmeta.fth │ │ └── sysuart.fth │ ├── sun │ │ ├── aout.fth │ │ ├── elf.fth │ │ ├── elf64.fth │ │ ├── elfdbg64.fth │ │ ├── elfdebug.fth │ │ ├── elfsym.fth │ │ ├── exports.fth │ │ ├── nlist.fth │ │ ├── saveelf.fth │ │ ├── sparc │ │ │ ├── catchexc.fth │ │ │ ├── depend.mk │ │ │ ├── elf.fth │ │ │ ├── forth.dic │ │ │ ├── loadfw.fth │ │ │ ├── loadmach.fth │ │ │ ├── loadutil.fth │ │ │ ├── makecent9.fth │ │ │ ├── reloc.fth │ │ │ └── signal.fth │ │ ├── symcif.fth │ │ └── symdebug.fth │ └── unix │ │ ├── fsys.c │ │ ├── simforth │ │ ├── findnext.fth │ │ └── sparc │ │ │ └── depend.mk │ │ ├── sparc │ │ ├── arcbpsup.fth │ │ ├── depend.mk │ │ ├── forth │ │ └── sys.fth │ │ ├── sparcv9 │ │ ├── depend.mk │ │ └── forth │ │ ├── termcap.c │ │ ├── wrapper.c │ │ └── wrapper.h └── pkg │ ├── asr │ ├── pci-prober-support.fth │ └── prober-support.fth │ ├── boot │ ├── bootparm.fth │ └── sunlabel.fth │ ├── confvar │ ├── access.fth │ ├── accesstypes.fth │ ├── attach.fth │ ├── confact.fth │ ├── definitions │ │ ├── byte.fth │ │ ├── bytes.fth │ │ ├── confvoc │ │ │ ├── boolean.fth │ │ │ ├── recovery-types-voc.fth │ │ │ └── verbosity-types-voc.fth │ │ ├── fixed-byte.fth │ │ ├── fixed-int.fth │ │ ├── fixed-string.fth │ │ ├── fixedvocab.fth │ │ ├── int.fth │ │ ├── longstring.fth │ │ ├── nvramrc.fth │ │ ├── reboot.fth │ │ ├── security.fth │ │ ├── standard.fth │ │ ├── string.fth │ │ ├── vocab-util.fth │ │ └── vocab.fth │ ├── fixed-access.fth │ ├── hashdevice.fth │ ├── interfaces │ │ ├── nvalias.fth │ │ ├── nvramrc.fth │ │ ├── security.fth │ │ ├── standard.fth │ │ ├── ui-cvars.fth │ │ └── user-vars.fth │ ├── loadcvar.fth │ └── nvdevice.fth │ ├── console │ ├── banner.fth │ ├── instcons.fth │ └── sysconfig.fth │ ├── decompressor │ ├── data.fth │ ├── decompress.fth │ ├── dropin.fth │ └── sparc │ │ └── decomp.fth │ ├── dhcp │ └── macaddr.fth │ ├── dropins │ ├── finder.fth │ ├── loadpkg.fth │ ├── methods.fth │ └── sparc │ │ └── find-dropin.fth │ ├── fcode │ ├── applcode.fth │ ├── byteload.fth │ ├── chkfcod.fth │ ├── common.fth │ ├── comptokt.fth │ ├── detokeni.fth │ ├── fb-fcodes.fth │ ├── loadfcod.fth │ ├── memtest.fth │ ├── obsfcod0.fth │ ├── obsfcod1.fth │ ├── obsfcod2.fth │ ├── obsfcode.fth │ ├── primlist.fth │ ├── probepkg.fth │ ├── regcodes.fth │ ├── sparc │ │ └── fcode32.fth │ ├── spectok.fth │ ├── sysprims-nofb.fth │ ├── sysprims.fth │ ├── sysprm64.fth │ ├── vfcodes.fth │ └── vfcodes │ │ ├── cmn-msg.fth │ │ ├── obdiag.fth │ │ └── sun4v.fth │ ├── inet │ └── watchnet.fth │ ├── keyboard │ ├── debug.fth │ ├── headers.fth │ ├── install.fth │ ├── keycodes.fth │ ├── keytable.fth │ ├── tablecode.fth │ ├── tables │ │ └── usb │ │ │ ├── aliases.fth │ │ │ ├── builddi.fth │ │ │ ├── depend.mk │ │ │ ├── keyboard.mk │ │ │ ├── keycodes.fth │ │ │ ├── options.fth │ │ │ ├── usb-arabic.fth │ │ │ ├── usb-belgium.fth │ │ │ ├── usb-danish.fth │ │ │ ├── usb-finnish.fth │ │ │ ├── usb-french.fth │ │ │ ├── usb-german.fth │ │ │ ├── usb-italian.fth │ │ │ ├── usb-netherlands.fth │ │ │ ├── usb-norwegian.fth │ │ │ ├── usb-portuguese.fth │ │ │ ├── usb-spanish.fth │ │ │ ├── usb-swedish.fth │ │ │ ├── usb-swiss-french.fth │ │ │ ├── usb-swiss-german.fth │ │ │ ├── usb-turkeyf.fth │ │ │ ├── usb-turkeyq.fth │ │ │ ├── usb-uk.fth │ │ │ └── usb-us.fth │ ├── tableutil.fth │ ├── translator │ │ ├── depend.mk │ │ ├── get-properties.fth │ │ ├── kbddi.fth │ │ ├── kbdtrans.mk │ │ ├── kbdtrans.tok │ │ ├── keyboard.fth │ │ └── options.fth │ └── usb │ │ └── support.fth │ ├── loadpkg.fth │ ├── netinet │ ├── args.fth │ ├── arp-h.fth │ ├── arp.fth │ ├── cfg-params.fth │ ├── depend.mk │ ├── dhcp-h.fth │ ├── dhcp.fth │ ├── ethernet.fth │ ├── hmac-sha1.fth │ ├── http.fth │ ├── icmp.fth │ ├── in-cksum.fth │ ├── in-h.fth │ ├── inet.fth │ ├── inpcb.fth │ ├── insock.fth │ ├── ip-h.fth │ ├── ip-input.fth │ ├── ip-output.fth │ ├── ip.fth │ ├── ipreasm-h.fth │ ├── nbpools.fth │ ├── netif-h.fth │ ├── netif.fth │ ├── netload.fth │ ├── obptftp.mk │ ├── obptftp.tok │ ├── prerrors-h.fth │ ├── props.fth │ ├── queue.fth │ ├── rarp.fth │ ├── route.fth │ ├── sha1.fth │ ├── sock-h.fth │ ├── sockif.fth │ ├── strings.fth │ ├── tcb.fth │ ├── tcp-debug.fth │ ├── tcp-h.fth │ ├── tcp-input.fth │ ├── tcp-output.fth │ ├── tcp-reqs.fth │ ├── tcp-timer.fth │ ├── tcp-trace.fth │ ├── tcp.fth │ ├── tcpbuf.fth │ ├── tftp-h.fth │ ├── tftp.fth │ ├── timer.fth │ ├── udp-h.fth │ ├── udp-reqs.fth │ ├── udp.fth │ ├── uriparse.fth │ ├── utils.fth │ └── wanboot.fth │ ├── selftest │ ├── selftest.fth │ └── test.fth │ ├── sun4v-asr │ ├── asr.mk │ ├── asr.tok │ ├── attach-fcode.fth │ ├── attach.fth │ ├── common.fth │ ├── defs.fth │ ├── depend.mk │ ├── package.fth │ ├── support.fth │ └── svc.fth │ ├── sunlogo │ ├── logo.fth │ ├── logo.mk │ ├── logodata.fth │ └── mklogo.fth │ ├── termemu │ ├── datatype.fth │ ├── fb8.fth │ ├── font.fth │ ├── fontdi.fth │ ├── fonts.mk │ ├── framebuf.fth │ ├── fwritstr.fth │ ├── gallant.fth │ ├── install.fth │ ├── loadfb.fth │ ├── mkfonts.fth │ └── sparc │ │ └── fb8-ops.fth │ └── tokenizr │ ├── crosslis.fth │ ├── obsfcdtk.fth │ ├── obsfcod0.fth │ ├── obsfcode.fth │ ├── obsfdtk0.fth │ ├── primlist.fth │ ├── sparc │ ├── depend.mk │ ├── loadtok.fth │ └── tokenize.dic │ ├── tokenize.fth │ └── vendorfcodes.fth ├── release.mk └── tools ├── Makefile ├── bin2obj.sh ├── bin2srec.c ├── checksum ├── Makefile ├── checksum.c └── crc32.c ├── comp.c ├── decomp.c ├── depend.mk ├── didepend.c ├── dropin ├── Makefile ├── finddropin.c └── include │ └── sys │ ├── dilib.h │ └── dropins.h ├── elf2bin.c ├── fscope ├── Makefile ├── format_grep.c ├── format_tags.c ├── fscope.c ├── fscope.h ├── interact.c ├── search.c ├── sparc │ └── fscope └── sparcv9 │ └── fscope ├── gen-seeprom ├── Makefile ├── common.c ├── cpu-seeprom.c ├── cpu-seeprom.h ├── depend.mk ├── env-seeprom.c ├── env-seeprom.h ├── gen-seeprom ├── gen-seeprom.c ├── gen-seeprom.h ├── mem-seeprom.c ├── mem-seeprom.h ├── prototypes.h ├── sys-seeprom.c └── sys-seeprom.h ├── headers ├── jbos_mkflash.sh ├── libdef ├── Makefile ├── defines.c ├── defines.h ├── sparc │ └── libdef.a └── sparcv9 │ └── libdef.a ├── libxref ├── Makefile ├── datafile.c ├── filepath.c ├── find.c ├── sparc │ └── libxref.a ├── sparcv9 │ └── libxref.a ├── xref.c ├── xref.h ├── xref_support.c └── xref_support.h ├── makedi.c ├── makeprom.c ├── mkflash.sh ├── move-if-changed.sh └── promif ├── Makefile ├── common ├── prom_2path.c ├── prom_boot.c ├── prom_console.c ├── prom_enter.c ├── prom_exit.c ├── prom_file.c ├── prom_findnode.c ├── prom_gettime.c ├── prom_handler.c ├── prom_interp.c ├── prom_io.c ├── prom_ioctl.c ├── prom_mapin.c ├── prom_node.c ├── prom_panic.c ├── prom_path.c ├── prom_phandle.c ├── prom_printf.c ├── prom_prop.c ├── prom_propnames.c ├── prom_reboot.c ├── prom_string.c ├── prom_sysnodes.c └── prom_test.c ├── crt0.s ├── include ├── sun4u │ └── sys │ │ └── prom_plat.h ├── sys │ ├── obpdefs.h │ ├── promif.h │ └── promimpl.h └── v9 │ └── sys │ └── prom_isa.h ├── memz.c ├── prom_glue.c └── sun4u ├── prom_alloc.c ├── prom_cpuctl.c ├── prom_heartbeat.c ├── prom_init.c ├── prom_mem.c ├── prom_mmu.c ├── prom_power_off.c ├── prom_retain.c ├── prom_set_traptable.c └── prom_sparc.c /bin/bin2srec: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/bin2srec -------------------------------------------------------------------------------- /bin/comp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/comp -------------------------------------------------------------------------------- /bin/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 02/05/02 43 | # purpose: 44 | # copyright: Copyright 2001-2002 Sun Microsystems, Inc. All Rights Reserved. 45 | # copyright: Use is subject to license terms. 46 | 47 | ${ROOT}/bin/sparcv9: 48 | if [ ! -x $@ ]; then /bin/mkdir $@; fi 49 | 50 | -------------------------------------------------------------------------------- /bin/didepend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/didepend -------------------------------------------------------------------------------- /bin/elf2bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/elf2bin -------------------------------------------------------------------------------- /bin/forth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/forth -------------------------------------------------------------------------------- /bin/forth.dic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/forth.dic -------------------------------------------------------------------------------- /bin/fscope: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/fscope -------------------------------------------------------------------------------- /bin/gen-seeprom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/gen-seeprom -------------------------------------------------------------------------------- /bin/makedi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/makedi -------------------------------------------------------------------------------- /bin/makeprom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/makeprom -------------------------------------------------------------------------------- /bin/sparcv9/forth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/sparcv9/forth -------------------------------------------------------------------------------- /bin/sparcv9/fscope: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/sparcv9/fscope -------------------------------------------------------------------------------- /bin/tokenize.dic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/bin/tokenize.dic -------------------------------------------------------------------------------- /lib/libchksum.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/libchksum.a -------------------------------------------------------------------------------- /lib/libdef.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/libdef.a -------------------------------------------------------------------------------- /lib/libdropin.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/libdropin.a -------------------------------------------------------------------------------- /lib/libxref.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/libxref.a -------------------------------------------------------------------------------- /lib/sparcv9/libchksum.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/sparcv9/libchksum.a -------------------------------------------------------------------------------- /lib/sparcv9/libdef.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/sparcv9/libdef.a -------------------------------------------------------------------------------- /lib/sparcv9/libdropin.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/sparcv9/libdropin.a -------------------------------------------------------------------------------- /lib/sparcv9/libsa.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/sparcv9/libsa.a -------------------------------------------------------------------------------- /lib/sparcv9/libxref.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/lib/sparcv9/libxref.a -------------------------------------------------------------------------------- /obp/arch/sun/reset-cleanup.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: reset-cleanup.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)reset-cleanup.fth 1.1 02/08/22 43 | purpose: 44 | copyright: Copyright 2002 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | [ifndef] TARGET-FILE 48 | true abort" TARGET-FILE undefined in reset.fth" 49 | [then] 50 | [defined] TARGET-FILE dup 1+ alloc-mem pack save-obj 51 | -------------------------------------------------------------------------------- /obp/arch/sun4u/config/banner.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: banner.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)banner.fth 1.1 00/04/20 43 | purpose: 44 | copyright: Copyright 2000 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | false config-flag oem-banner? 47 | d# 68 nodefault-string oem-banner 48 | false config-flag oem-logo? 49 | 50 | d# 64 constant logo-width 51 | d# 64 constant logo-height 52 | 53 | logo-width logo-height * 8 / nodefault-bytes oem-logo 54 | -------------------------------------------------------------------------------- /obp/arch/sun4u/config/nvramrc.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: nvramrc.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)nvramrc.fth 1.1 00/04/25 43 | purpose: 44 | copyright: Copyright 2000 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | nvramrc-bytes nvramrc 47 | 48 | false config-flag use-nvramrc? 49 | -------------------------------------------------------------------------------- /obp/arch/sun4u/config/reset-recovery.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: reset-recovery.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)reset-recovery.fth 1.2 01/11/02 43 | purpose: 44 | copyright: Copyright 2000-2001 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | fload ${BP}/pkg/confvar/definitions/confvoc/recovery-types-voc.fth 47 | 48 | " boot" ' recovery-types vocab-variable error-reset-recovery 49 | -------------------------------------------------------------------------------- /obp/arch/sun4u/config/scsi-id.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: scsi-id.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)scsi-id.fth 1.6 99/04/16 43 | purpose: 44 | copyright: Copyright 1994 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | headers 47 | 7 config-char scsi-initiator-id 48 | 49 | headerless 50 | : set-scsi-id-prop ( -- ) 51 | scsi-initiator-id " scsi-initiator-id" integer-property 52 | ; 53 | 54 | stand-init: Setting scsi-initiator-id 55 | root-device 56 | set-scsi-id-prop 57 | device-end 58 | ; 59 | -------------------------------------------------------------------------------- /obp/arch/sun4u/config/termemu.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: termemu.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)termemu.fth 1.1 00/04/20 43 | purpose: 44 | copyright: Copyright 2000 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | d# 34 config-int screen-#rows 47 | d# 80 config-int screen-#columns 48 | true config-flag ansi-terminal? 49 | -------------------------------------------------------------------------------- /obp/arch/sun4v/api-group-id.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: api-group-id.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)api-group-id.fth 1.2 06/05/10 43 | purpose: 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | \ Hypervisor API Group ids 48 | 0 constant sun4v-id 49 | 1 constant core-id 50 | 2 constant intr-id 51 | h# 100 constant vpci-id 52 | h# 102 constant service-id 53 | h# 103 constant niagara-crypto-service-id 54 | h# 200 constant niagara-id 55 | -------------------------------------------------------------------------------- /obp/arch/sun4v/mapdi.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: mapdi.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)mapdi.fth 1.1 06/02/16 43 | purpose: 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | headerless 48 | 49 | : map-drop-in ( -- va ) monvirtbase ; 50 | : unmap-drop-in ( va -- ) drop ; 51 | 52 | headers 53 | -------------------------------------------------------------------------------- /obp/arch/sun4v/niagara/sysinfo.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: sysinfo.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)sysinfo.fth 1.1 06/02/16 43 | purpose: 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | d# 32 value max-#cpus 48 | alias max-mondo-target# max-#cpus 49 | 4 value max-#cpumondo-queue-entries 50 | 4 value max-#tsb-entries 51 | 8 /x* constant /queue-entry 52 | -------------------------------------------------------------------------------- /obp/arch/sun4v/ontario/release/Makefile: -------------------------------------------------------------------------------- 1 | # id: @(#)Makefile 1.1 06/02/16 2 | # purpose: 3 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 4 | # Use is subject to license terms. 5 | 6 | ROOT = ../../../../.. 7 | BP = ${ROOT}/obp 8 | SUN4V = ${BP}/arch/sun4v 9 | PLATFORM = ${SUN4V}/ontario 10 | RESET = ${SUN4V}/niagara/reset.fth 11 | LOADFILE = ${SUN4V}/niagara/loadprom.fth 12 | DROPINSRC = ${PLATFORM}/release/dropins.src 13 | 14 | PLATFLAGS += -D SUN4V 15 | PLATFLAGS += -D Ontario 16 | 17 | # Uncomment the following line to have verbose output for reset code. 18 | # PLATFLAGS += -D VERBOSE-RESET 19 | 20 | all: openboot.bin 21 | 22 | include ${SUN4V}/common.mk 23 | include ../depend.mk 24 | include ../reset.mk 25 | 26 | FORCE: 27 | -------------------------------------------------------------------------------- /obp/arch/sun4v/ontario/release/debug.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: debug.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)debug.fth 1.1 06/02/16 43 | purpose: 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | \ [define] stand-init-interact 48 | \ [define] stand-init-debug 49 | 50 | -------------------------------------------------------------------------------- /obp/arch/sun4v/ontario/release/getsz.awk: -------------------------------------------------------------------------------- 1 | BEGIN {start = 0; sum = 0} 2 | { 3 | for (i = 1; i <= NF ; i++) { 4 | if ($i == "text") { 5 | start = 1; 6 | sum = $(i-1); 7 | } 8 | if (start) { 9 | if ((i % 2) == 1) sum = sum + $i; 10 | } 11 | if ($i == "data") { 12 | start = 0; 13 | printf "%d\n",sum; 14 | } 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /obp/arch/sun4v/ontario/release/obp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/obp/arch/sun4v/ontario/release/obp -------------------------------------------------------------------------------- /obp/arch/sun4v/ontario/release/reset.symbols: -------------------------------------------------------------------------------- 1 | # This is a machine generated file 2 | reset-vector: 0 3 | sccs-string: e0 4 | boot-name$: 114 5 | obp-name$: 120 6 | setup-itlb-entry: 124 7 | setup-dtlb-entry: 164 8 | setup-i/d-tlbs: 1a4 9 | save-reset-state: 218 10 | error-reset-recovery: 484 11 | puts: 4f4 12 | puthex: 528 13 | find-drop-in: 534 14 | find©-dropin: 5ec 15 | power-on-reset: 758 16 | -------------------------------------------------------------------------------- /obp/arch/sun4v/ontario/release/revlevel: -------------------------------------------------------------------------------- 1 | 27 2 | -------------------------------------------------------------------------------- /obp/cpu/sparc/acall.fth: -------------------------------------------------------------------------------- 1 | \ acall.fth 2.4 94/09/06 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Usage: 5 | \ " external-procedure-name" $acall 6 | \ or 7 | \ " external-procedure-name" $acall: name { args -- results } 8 | 9 | 10 | : $acall ( procedure-name$ -- ) 11 | [ also assembler ] 12 | 13 | dictionary-size ( procedure-name$ offset ) 14 | here call \ make space for relocatable addr 15 | -rot $add-call \ symtab entry 16 | 17 | [ previous ] 18 | ; 19 | 20 | \ : $acall: \ name ( procedure-name$ -- procedure-name$ 'subroutine-call ) 21 | \ ['] $acall code current token@ context token! 22 | \ ; 23 | -------------------------------------------------------------------------------- /obp/cpu/sparc/call.fth: -------------------------------------------------------------------------------- 1 | \ call.fth 2.5 94/05/30 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ From Forth, call the C subroutine whose address is on the stack 5 | 6 | code call ( [ arg5 .. arg0 ] adr -- [ arg5 .. arg0 ] result ) 7 | \ Pass up to 6 arguments 8 | sp 0 /n* %o0 nget 9 | sp 1 /n* %o1 nget 10 | sp 2 /n* %o2 nget 11 | sp 3 /n* %o3 nget 12 | sp 4 /n* %o4 nget 13 | sp 5 /n* %o5 nget 14 | 15 | do-ccall call 16 | tos %l0 move 17 | 18 | %o0 tos move \ Return subroutine result 19 | c; 20 | -------------------------------------------------------------------------------- /obp/cpu/sparc/call32.fth: -------------------------------------------------------------------------------- 1 | \ call32.fth 1.2 95/04/19 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ From Forth, call the C subroutine whose address is on the stack 5 | 6 | code call32 ( [ arg5 .. arg0 ] adr -- [ arg5 .. arg0 ] result ) 7 | %o6 /entry-frame %o6 save 8 | %o6 V9_SP_BIAS %o6 add 9 | %o0 rdpstate 10 | %o0 h# 10 %o0 or 11 | %o0 0 wrpstate 12 | 13 | sp 0 /n* %o0 nget 14 | sp 1 /n* %o1 nget 15 | sp 2 /n* %o2 nget 16 | sp 3 /n* %o3 nget 17 | sp 4 /n* %o4 nget 18 | sp 5 /n* %o5 nget 19 | 20 | do-ccall call 21 | tos %l0 move 22 | 23 | %o0 0 tos srl 24 | %o0 rdpstate 25 | %o0 h# 10 %o0 andn 26 | %o0 0 wrpstate 27 | %o6 V9_SP_BIAS %o6 sub 28 | %g0 %g0 %g0 restore 29 | nop 30 | c; 31 | -------------------------------------------------------------------------------- /obp/cpu/sparc/ccall.fth: -------------------------------------------------------------------------------- 1 | \ ccall.fth 2.6 94/09/06 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Usage: 5 | \ Subroutine calls: 6 | \ 7 | \ " external-procedure-name" $ccall 8 | \ or 9 | \ " external-procedure-name" $ccall: name { args -- results } 10 | 11 | \ NOTE: sc1 through sc6 (%l1 through %l6) are destroyed 12 | \ 13 | \ Data references: 14 | \ 15 | \ " external-name" $set-external 16 | 17 | \ Assembler macro to assemble code to call a named C subroutine. 18 | \ This is an implementation word used by "ccall:". 19 | \ The code to transfer the arguments from the stack must be generated 20 | \ before executing this macro. Afterwards, the code to transfer the 21 | \ results back onto the stack must be generated. "ccall" generates: 22 | \ 23 | \ sethi %hi(c_entry_point), %l0 24 | \ call do-ccall 25 | \ or %l0, %lo(c_entry_point), %l0 26 | \ 27 | \ do-ccall is a shared procedure that saves and restores the Forth 28 | \ virtual machine state before calling the C procedure. 29 | 30 | : $ccall ( procedure-name-adr,len -- ) 31 | [ also assembler ] 32 | ?$add-symbol ( sym# ) 33 | 34 | \ To optimize the generated code, we move the "or" half of the 35 | \ "set" instruction into the delay slot of the call, generating 36 | \ relocation table entries accordingly. 37 | 38 | dictionary-size over 0 sparc-hi22 make-relocation ( sym# ) 39 | 0 %l0 sethi ( sym# ) 40 | 41 | do-ccall call ( sym# ) 42 | 43 | dictionary-size swap 0 sparc-lo10 make-relocation ( ) 44 | %l0 0 %l0 or 45 | [ previous ] 46 | ; 47 | : $ccall: \ name ( procedure-name$ -- procedure-name$ 'subroutine-call ) 48 | ['] $ccall code current token@ context token! 49 | ; 50 | also assembler definitions 51 | : $set-external ( name$ register -- ) 52 | dictionary-size 2swap $set-reference ( register ) 53 | 0 over sethi ( register ) 54 | 0 over or 55 | ; 56 | previous definitions 57 | -------------------------------------------------------------------------------- /obp/cpu/sparc/code.fth: -------------------------------------------------------------------------------- 1 | \ code.fth 2.6 02/05/02 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1990-2002 Sun Microsystems, Inc. All Rights Reserved 4 | \ Copyright Use is subject to license terms. 5 | 6 | headers 7 | 8 | defer do-label-hook ' noop is do-label-hook 9 | 10 | : label \ name ( -- ) 11 | create do-entercode do-label-hook does> aligned 12 | ; 13 | 14 | : code \ name ( -- ) 15 | code do-label-hook 16 | ; 17 | 18 | headerless 19 | -------------------------------------------------------------------------------- /obp/cpu/sparc/cpustate.fth: -------------------------------------------------------------------------------- 1 | id: @(#)cpustate.fth 2.11 99/04/16 2 | purpose: Buffers for saving program state 3 | copyright: Copyright 1990 Sun Microsystems, Inc. All Rights Reserved 4 | 5 | \ cpustate.fth 2.9 94/08/25 6 | \ Copyright 1985-1990 Bradley Forthware 7 | 8 | headers 9 | \ Data structures defining the CPU state saved by a breakpoint trap. 10 | \ This must be loaded before either catchexc.fth or register.fth, 11 | \ and is the complete interface between those 2 modules. 12 | 13 | \ Offset into the register save array of the window register save area. 14 | \ During compilation, we use this as an allocation pointer for the 15 | \ global register save area, and then when we're finished allocating 16 | \ global registers, it's final value will be the offset to the the 17 | \ window register save area. 18 | headerless 19 | 0 value window-registers 20 | 21 | headers 22 | \ A place to save the CPU registers when we take a trap 23 | defer cpu-state ( -- adr ) ' 0 to cpu-state \ Pointer to CPU state save area 24 | 25 | \ Compile-time allocator for saved register space 26 | transient 27 | : allocate-reg ( -- offset ) 28 | window-registers dup na1+ to window-registers 29 | ; 30 | resident 31 | 32 | headerless 33 | : >state ( offset -- adr ) cpu-state + ; 34 | 35 | h# 40 constant ua-size 36 | 37 | 0 value pssave \ A place to save the Forth data stack 38 | 0 value rssave \ A place to save the Forth return stack 39 | 40 | headers 41 | defer .exception \ Display the exception type 42 | defer handle-breakpoint \ What to do after saving the state 43 | 8 constant #windows \ # of windows implemented 44 | -------------------------------------------------------------------------------- /obp/cpu/sparc/doccall.fth: -------------------------------------------------------------------------------- 1 | \ doccall.fth 2.4 94/08/13 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Shared code for ccall interface. This file is used in conjunction with 5 | \ ccall.fth. The 2 files are separate because the code in this file must 6 | \ be resident, while the code in ccall.fth can be transient. 7 | \ 8 | \ do-ccall is a shared subroutine which is called from code generated by 9 | \ "ccall". The calling sequence looks like: 10 | \ 11 | \ 12 | \ sethi %hi(c_entry_point), %l0 13 | \ call do-ccall 14 | \ or %l0, %lo(c_entry_point), %l0 15 | \ 16 | 17 | label do-ccall \ Subroutine address in %l0, return address in %o7 18 | 19 | sp 'user saved-sp nput \ Save for callbacks 20 | rp 'user saved-rp nput \ Save for callbacks 21 | 22 | %o7 %l1 move \ Exchange %l0 and %o7 23 | %l0 %o7 move 24 | %l1 %l0 move 25 | 26 | \ Save the globals in case C changes them 27 | %g1 %l1 move 28 | %g2 %l2 move 29 | %g3 %l3 move 30 | %g4 %l4 move 31 | %g5 %l5 move 32 | %g6 %l6 move 33 | %o7 0 %o7 jmpl 34 | %g7 %l7 move \ Delay slot 35 | 36 | \ Restore the globals 37 | %l1 %g1 move 38 | %l2 %g2 move 39 | %l3 %g3 move 40 | %l4 %g4 move 41 | %l5 %g5 move 42 | %l6 %g6 move 43 | %l0 8 %g0 jmpl \ Return 44 | %l7 %g7 move 45 | end-code 46 | -------------------------------------------------------------------------------- /obp/cpu/sparc/traps.fth: -------------------------------------------------------------------------------- 1 | \ traps.fth 2.6 94/05/04 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | hex 5 | 6 | headers 7 | code %i6! ( n -- ) tos %i6 move sp tos pop c; 8 | code %i7! ( n -- ) tos %i7 move sp tos pop c; 9 | code %o6! ( n -- ) tos %o6 move sp tos pop c; 10 | code %o6@ ( n -- ) tos sp push %o6 tos move c; 11 | code tbr@ ( -- adr ) tos sp push tos rdtbr c; 12 | code tbr! ( adr -- ) tos 0 wrtbr sp tos pop c; 13 | code psr@ ( -- n ) tos sp push tos rdpsr c; 14 | code psr! ( n -- ) tos 0 wrpsr sp tos pop c; 15 | code wim@ ( -- n ) tos sp push tos rdwim c; 16 | code wim! ( n -- ) tos 0 wrwim sp tos pop c; 17 | code y@ ( -- n ) tos sp push tos rdy c; 18 | code y! ( n -- ) tos 0 wry sp tos pop c; 19 | : cwp! ( window# -- ) psr@ h# 1f invert and or psr! ; 20 | : cwp@ ( -- window# ) psr@ h# 1f and ; 21 | : pil@ ( -- priiority ) psr@ h# f00 and 8 >> ; 22 | : pil! ( priority -- ) 8 << psr@ h# f00 invert and or psr! ; 23 | alias spl pil! ( priority -- ) 24 | headerless 25 | 26 | : traps-on ( -- ) psr@ h# 20 or psr! ; 27 | : traps-off ( -- ) psr@ h# 20 invert and psr! ; 28 | 29 | : setl4 ( n -- setlow sethi ) 30 | dup 0a >> ( n hibits ) h# 29000000 + ( n sethi ) 31 | swap h# 3ff and h# a8052000 + swap 32 | ; 33 | 34 | h# 10 constant /vector 35 | : vector-adr ( vector# -- adr ) /vector * tbr@ h# ffff.f000 and + ; 36 | 37 | defer vector-l! ( l adr -- ) ' l! is vector-l! 38 | headers 39 | 40 | : vector! ( handler-adr trap# -- ) 41 | vector-adr ( handler trap-entry-adr ) 42 | swap setl4 ( trap-entry-adr setlow sethi ) 43 | 2 pick vector-l! ( trap-entry-adr setlow ) 44 | over la1+ vector-l! ( trap-entry-adr ) \ handler %l4 set 45 | h# 81c52000 over 2 la+ vector-l! ( trap-entry-adr ) \ %l4 0 %g0 jmpl 46 | h# a1480000 over 3 la+ vector-l! ( trap-entry-adr ) \ %l0 rdpsr 47 | drop 48 | ; 49 | 50 | \ Assumes handler was installed with vector! 51 | : vector@ ( trap# -- handler-adr ) 52 | vector-adr ( trap-adr ) 53 | dup l@ h# 0a << ( trap-adr hibits ) 54 | swap la1+ l@ h# 3ff and or ( handler-adr ) 55 | ; 56 | -------------------------------------------------------------------------------- /obp/cpu/sparc/ultra4v/asmmacro.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: asmmacro.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)asmmacro.fth 1.1 06/02/16 43 | purpose: 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | also assembler definitions 48 | 49 | : rdstick ( scr reg -- ) nip %r24 swap rdasr ; 50 | 51 | previous definitions 52 | -------------------------------------------------------------------------------- /obp/dev/pci-bridge/dec21152/dec21152.tok: -------------------------------------------------------------------------------- 1 | id: @(#)dec21152.tok 1.1 99/11/30 2 | purpose: Load file for PCI probe code 3 | copyright: Copyright 1994 Firmworks All Rights Reserved 4 | 5 | FCode-version2 6 | 7 | fload ${BP}/dev/pci-bridge/dec21152/pcibridg.fth 8 | 9 | end0 10 | -------------------------------------------------------------------------------- /obp/dev/pci-bridge/pcinode.fth: -------------------------------------------------------------------------------- 1 | id: @(#)pcinode.fth 1.7 05/10/12 2 | purpose: PCI bridge probe code 3 | copyright: Copyright 1994 Firmworks All Rights Reserved 4 | copyright: Copyright 2005 Sun Microsystems, Inc. All Rights Reserved 5 | copyright: Use is subject to license terms. 6 | 7 | 8 | hex 9 | headerless 10 | 11 | " pci" device-name 12 | pci-express? if " pciex" else " pci" then device-type 13 | 14 | 2 encode-int " #size-cells" property 15 | 3 encode-int " #address-cells" property 16 | 17 | 0 value my-bus# 18 | 19 | defer parent-decode-unit 20 | 21 | external 22 | : allocate-bus# ( n -- bus# mem-lo io-low mem-hi io-high ) 23 | " allocate-bus#" $call-parent 24 | ; 25 | : decode-unit ( adr len -- phys.lo..hi ) 26 | parent-decode-unit lwsplit drop my-bus# wljoin 27 | ; 28 | defer encode-unit ( phys.lo..hi -- adr len ) 29 | 30 | \ 31 | \ This routine allows allocation of resources from the current IO/MEM lists. 32 | \ 33 | : resource-alloc ( physhi align size -- addr|0 ) 34 | " resource-alloc" $call-parent 35 | ; 36 | 37 | \ This routine returns a range to the relevant list. 38 | \ Be CAREFUL no checking is done to verify that an allocation from one 39 | \ pool is not returned to the other, nor that you are freeing more than 40 | \ you alloc'd. 41 | : resource-free ( physhi addr len -- ) 42 | " resource-free" $call-parent 43 | ; 44 | 45 | \ decode-unit and encode-unit must be static methods, so they can't use 46 | \ $call-parent at run-time 47 | 48 | " decode-unit" my-parent ihandle>phandle find-method drop ( xt ) 49 | to parent-decode-unit 50 | 51 | " encode-unit" my-parent ihandle>phandle find-method drop ( xt ) 52 | to encode-unit 53 | 54 | : prober-xt ( -- xt ) " prober-xt" $call-parent ; 55 | 56 | : assign-int-line ( phys.hi.func int-pin -- false | irq true ) 57 | nip my-space swap " assign-int-line" $call-parent 58 | ; 59 | 60 | : dma-alloc ( size -- vaddr ) " dma-alloc" $call-parent ; 61 | : dma-free ( vaddr size -- ) " dma-free" $call-parent ; 62 | : dma-map-in ( vaddr size cache? -- devaddr ) " dma-map-in" $call-parent ; 63 | : dma-map-out ( vaddr devaddr size -- ) " dma-map-out" $call-parent ; 64 | : dma-sync ( virt-addr dev-addr size -- ) " dma-sync" $call-parent ; 65 | 66 | : open ( -- okay? ) true ; 67 | : close ( -- ) ; 68 | 69 | headerless 70 | -------------------------------------------------------------------------------- /obp/dev/pci/compatible.fth: -------------------------------------------------------------------------------- 1 | id: @(#)compatible.fth 1.6 06/05/03 2 | purpose: 3 | copyright: Copyright 1994 Firmworks All Rights Reserved 4 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 5 | copyright: Use is subject to license terms. 6 | 7 | headerless 8 | 9 | : $hold ( adr len -- ) 10 | dup if bounds swap 1- ?do i c@ hold -1 +loop else 2drop then 11 | ; 12 | 13 | : vid,did ( -- ven-id dev-id ) 0 my-l@ lwsplit ; 14 | 15 | : class-code ( -- n ) 8 my-l@ 8 rshift ; 16 | 17 | : subsystem-base ( -- n ) 18 | h# 0e my-b@ h# 7f and 2 = if h# 40 else h# 2c then 19 | ; 20 | 21 | : svid,ssid ( -- subven-id subsys-id ) 22 | class-code h# 60400 = if 23 | \ Bridges dont implement subvendor ID and Subsystem ID 24 | 0 0 25 | else 26 | subsystem-base my-l@ lwsplit 27 | then 28 | ; 29 | 30 | : rev-id ( -- rev-id ) h# 8 my-b@ ; 31 | 32 | h# ffff constant invalid-std-cap 33 | h# ffff.ffff constant invalid-ext-cap 34 | 35 | : find-std-capability ( id -- pointer | 0 ) 36 | h# 34 my-b@ ( id pointer ) 37 | begin dup while ( id pointer ) 38 | 2dup my-w@ dup invalid-std-cap <> if ( id pointer id w-value ) 39 | wbsplit -rot = if ( id pointer next ) 40 | drop nip exit ( pointer ) 41 | else 42 | nip ( id next ) 43 | then 44 | else 45 | cmn-warn[ " Standard Capability Config access failed" ]cmn-end 46 | abort 47 | then 48 | repeat 49 | nip 50 | ; 51 | 52 | : find-extd-capability ( id -- pointer | 0 ) 53 | h# 100 54 | begin dup while ( id pointer ) 55 | 2dup my-l@ dup invalid-ext-cap <> if ( id poinetr id l-value ) 56 | lwsplit 4 >> -rot = if ( id pointer next ) 57 | drop nip exit ( pointer ) 58 | else 59 | nip ( id next ) 60 | then 61 | else 62 | cmn-warn[ " Extended Capability Config access failed" ]cmn-end 63 | abort 64 | then 65 | repeat 66 | nip 67 | ; 68 | 69 | : pcie-capability-regs ( -- pointer | 0 ) h# 10 find-std-capability ; 70 | : aer-capability-regs ( -- pointer | 0 ) 1 find-extd-capability ; 71 | : shpc-capability-regs ( -- pointer | 0 ) h# 0c find-std-capability ; 72 | 73 | : get-port-type ( -- port-type ) 74 | pcie-capability-regs 2 + my-w@ 4 >> h# f and 75 | ; 76 | 77 | pcie-capability-regs 0<> value pci-express? 78 | 79 | fload ${BP}/dev/pci/compatible-prop.fth 80 | -------------------------------------------------------------------------------- /obp/dev/southbridge/ontario/config.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: config.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)config.fth 1.1 06/02/16 43 | purpose: 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | \ this is the ontario southbridge config file 48 | [define] disable-audio? 49 | [define] disable-secondary-ide? 50 | -------------------------------------------------------------------------------- /obp/dev/sun4v-devices/fire/master-pcia/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 06/02/16 43 | # purpose: 44 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | # copyright: Use is subject to license terms. 46 | # This is a machine generated file 47 | # DO NOT EDIT IT BY HAND 48 | 49 | master-pcia.fc: ${BP}/dev/sun4v-devices/fire/master-pcia/master-pcia.tok 50 | -------------------------------------------------------------------------------- /obp/dev/sun4v-devices/fire/master-pcib/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 06/02/16 43 | # purpose: 44 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | # copyright: Use is subject to license terms. 46 | # This is a machine generated file 47 | # DO NOT EDIT IT BY HAND 48 | 49 | master-pcib.fc: ${BP}/dev/sun4v-devices/fire/master-pcib/master-pcib.tok 50 | -------------------------------------------------------------------------------- /obp/dev/sun4v-devices/legion-disk/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 06/02/16 43 | # purpose: 44 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | # copyright: Use is subject to license terms. 46 | # This is a machine generated file 47 | # DO NOT EDIT IT BY HAND 48 | 49 | sim-disk.fc: ${BP}/dev/sun4v-devices/legion-disk/methods.fth 50 | sim-disk.fc: ${BP}/dev/sun4v-devices/legion-disk/disk.tok 51 | -------------------------------------------------------------------------------- /obp/dev/sun4v-devices/legion-nvram/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 06/02/16 43 | # purpose: 44 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | # copyright: Use is subject to license terms. 46 | # This is a machine generated file 47 | # DO NOT EDIT IT BY HAND 48 | 49 | sim-nvram.fc: ${BP}/dev/sun4v-devices/legion-nvram/nvram.tok 50 | -------------------------------------------------------------------------------- /obp/dev/sun4v-devices/ncp/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 06/02/16 43 | # purpose: 44 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | # copyright: Use is subject to license terms. 46 | # This is a machine generated file 47 | # DO NOT EDIT IT BY HAND 48 | 49 | ncp.fc: ${BP}/dev/sun4v-devices/utilities/mdscan_addition.fth 50 | ncp.fc: ${BP}/dev/sun4v-devices/utilities/pd-vd-methods.fth 51 | ncp.fc: ${BP}/dev/sun4v-devices/ncp/ncp.tok 52 | -------------------------------------------------------------------------------- /obp/dev/sun4v-devices/nvram/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 06/02/16 43 | # purpose: 44 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | # copyright: Use is subject to license terms. 46 | # This is a machine generated file 47 | # DO NOT EDIT IT BY HAND 48 | 49 | nvram.fc: ${BP}/dev/sun4v-devices/nvram/methods.fth 50 | nvram.fc: ${BP}/dev/sun4v-devices/utilities/svc.fth 51 | nvram.fc: ${BP}/dev/sun4v-devices/nvram/nvram.tok 52 | -------------------------------------------------------------------------------- /obp/dev/sun4v-devices/nvram/nvram.tok: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: nvram.tok 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)nvram.tok 1.1 06/02/16 43 | purpose: 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | Fcode-Version3 48 | 49 | " nvram" device-name 50 | " nvram" device-type 51 | my-space encode-int " reg" property 52 | 53 | fload ${BP}/dev/sun4v-devices/utilities/svc.fth 54 | fload ${BP}/dev/sun4v-devices/nvram/methods.fth 55 | 56 | end0 57 | -------------------------------------------------------------------------------- /obp/dev/sun4v-devices/tod/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 06/02/16 43 | # purpose: 44 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | # copyright: Use is subject to license terms. 46 | # This is a machine generated file 47 | # DO NOT EDIT IT BY HAND 48 | 49 | tod.fc: ${BP}/dev/rtc/support.fth 50 | tod.fc: ${BP}/dev/sun4v-devices/tod/utc2tod.fth 51 | tod.fc: ${BP}/dev/sun4v-devices/tod/tod.tok 52 | -------------------------------------------------------------------------------- /obp/dev/usb/gen.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: gen.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)gen.fth 1.3 00/07/27 43 | purpose: 44 | copyright: Copyright 1997, 2000 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | external 47 | 48 | : dma-alloc ( size -- virt ) " dma-alloc" $call-parent ; 49 | : dma-free ( virt size -- ) " dma-free" $call-parent ; 50 | 51 | headers 52 | 53 | fload ${BP}/dev/usb/common.fth 54 | 55 | -------------------------------------------------------------------------------- /obp/firmware.rel: -------------------------------------------------------------------------------- 1 | 4.23.0 2 | -------------------------------------------------------------------------------- /obp/fm/cwrapper/binhdr.fth: -------------------------------------------------------------------------------- 1 | \ binhdr.fth 2.6 96/02/29 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Header for Forth ".exe" file to be executed by the C wrapper program. 5 | hex 6 | 7 | only forth also hidden also 8 | forth definitions 9 | headerless 10 | 11 | hidden definitions 12 | h# 20 buffer: bin-header 13 | : wstruct 0 ; 14 | : wfield \ name ( offset size -- offset' ) 15 | create 16 | over w, + 17 | does> ( struct-base -- field-addr ) 18 | w@ bin-header + 19 | ; 20 | : long 4 wfield ; 21 | 22 | wstruct ( Binary header) 23 | long h_magic ( 0) \ Magic Number 24 | long h_tlen ( 4) \ length of text (code) 25 | long h_dlen ( 8) \ length of initialized data 26 | long h_blen ( c) \ length of BSS unitialized data 27 | long h_slen ( 10) \ length of symbol table 28 | long h_entry ( 14) \ Entry address 29 | long h_trlen ( 18) \ Text Relocation Table length 30 | long h_drlen ( 1c) \ Data Relocation Table length 31 | constant /bin-header ( 20) 32 | 33 | : text-size ( -- size-of-dictionary ) dictionary-size aligned ; 34 | headers 35 | 36 | only forth also definitions 37 | -------------------------------------------------------------------------------- /obp/fm/cwrapper/sparc/savefort.fth: -------------------------------------------------------------------------------- 1 | \ savefort.fth 2.5 94/09/01 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ save-forth ( filename -- ) 5 | \ Saves the Forth dictionary to a file so it may be later used under Unix 6 | \ 7 | \ save-image ( header-adr header-len init-routine-name filename -- ) 8 | \ Primitive save routine. Saves the dictionary image to a file. 9 | \ The header is placed at the start of the file. The latest definition 10 | \ whose name is the same as the "init-routine-name" argument is 11 | \ installed as the init-io routine. 12 | 13 | only forth also hidden also forth definitions 14 | 15 | 16 | headerless 17 | : save-image ( header header-len init-routine-name filename -- ) 18 | new-file ( header header-len init-routine-name ) 19 | 20 | init-save ( header header-len ) 21 | 22 | ( header header-len ) ofd @ fputs \ Write header 23 | origin text-size ofd @ fputs \ Write dictionary 24 | up@ user-size ofd @ fputs \ Write user area 25 | ofd @ fclose 26 | ; 27 | headers 28 | 29 | 0 value growth-size 30 | 31 | \ Save an image of the target system in a file. 32 | : save-forth ( str -- ) 33 | >r 34 | 35 | 30800008 h_magic l! \ This is a ba,a .+0x20 instruction 36 | text-size h_tlen l! \ Set the text size in program header 37 | user-size h_dlen l! \ Set the data size in program header 38 | growth-size h_blen l! \ Set the bss size in program header 39 | 0 h_slen l! \ Set the symbol size in program header 40 | origin h_entry l! \ Set the current starting address 41 | 0 h_trlen l! \ Set the relocation size 42 | 0 h_drlen l! \ Set the data relocation size 43 | 44 | " unix-init-io" $find-name is init-io 45 | bin-header /bin-header " unix-init" r> save-image 46 | ; 47 | 48 | only forth also definitions 49 | -------------------------------------------------------------------------------- /obp/fm/cwrapper/syskey.fth: -------------------------------------------------------------------------------- 1 | \ syskey.fth 2.5 98/10/21 2 | \ Copyright 1985-1994 Bradley Forthware 3 | 4 | \ Console I/O using the C wrapper program 5 | 6 | headerless 7 | decimal 8 | 9 | : sys-emit ( c -- ) 1 syscall drop ; \ Outputs a character 10 | : sys-key ( -- c ) 0 syscall retval ; \ Inputs a character 11 | : sys-(key? ( -- f ) 8 syscall retval ; \ Is a character waiting? 12 | : sys-cr ( -- ) 27 syscall #out off 1 #line +! ; \ Go to next line 13 | 14 | \ Is the input stream coming from a keyboard? 15 | 16 | : sys-interactive? ( -- f ) 12 syscall retval 0= ; 17 | 18 | headers 19 | \ Reads at most "len" characters into memory starting at "adr". 20 | \ Performs keyboard editing (erase character, erase line, etc). 21 | \ The operation terminates when either a "return" is typed or "len" 22 | \ characters have been read. 23 | \ The operating system does the line editing until we load the line editor 24 | 25 | : sys-accept ( adr len -- actual ) 26 | 14 syscall 2drop retval #out off 1 #line +! 27 | ; 28 | headerless 29 | 30 | \ Outputs "len" characters from memory starting at "adr" 31 | 32 | : sys-type ( adr len -- ) 13 syscall 2drop ; 33 | 34 | \ Returns to the OS 35 | 36 | : sys-bye ( -- ) 0 9 syscall ; 37 | 38 | \ Memory allocation 39 | 40 | : sys-alloc-mem (s #bytes -- adr ) 26 syscall drop retval ; 41 | : sys-free-mem (s adr #bytes -- ) 32 syscall 2drop ; 42 | 43 | \ Cache flushing - needed for copyback data caches (e.g. 68040) 44 | 45 | : sys-sync-cache ( adr len -- ) swap 29 syscall 2drop ; 46 | 47 | : install-wrapper-io ( -- ) 48 | ['] sys-alloc-mem is alloc-mem 49 | ['] sys-free-mem is free-mem 50 | 51 | ['] sys-cr is cr 52 | ['] sys-type is (type 53 | ['] sys-emit is (emit 54 | ['] sys-key is (key 55 | ['] sys-(key? is key? 56 | ['] sys-bye is bye 57 | ['] sys-accept is accept 58 | ['] sys-interactive? is (interactive? 59 | 60 | ['] sys-sync-cache is sync-cache 61 | ; 62 | headers 63 | -------------------------------------------------------------------------------- /obp/fm/kernel/catchsel.fth: -------------------------------------------------------------------------------- 1 | id: @(#)catchsel.fth 2.5 03/12/08 13:21:57 2 | purpose: 3 | copyright: Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Copyright 1985-1990 Bradley Forthware 5 | copyright: Use is subject to license terms. 6 | 7 | \ Special version of catch and throw for Open Boot PROMs. This version 8 | \ saves and restores the "my-self" current package instance variable. 9 | 10 | 0 value my-self 11 | 12 | nuser handler \ Most recent exception handler 13 | 14 | \ This was nasty, but we no longer need to arrange things so that my-self 15 | \ can be defined later. 16 | \ The new kernel 'is' is now about 30% faster than even an avalue , so 17 | \ moving my-self into devtree.fth is no longer a performance win. 18 | 19 | \ : get-my-self ( -- n ) 0 ; 20 | \ : set-my-self ( n -- ) drop ; 21 | 22 | : catch ( execution-token -- error# | 0 ) 23 | ( token ) \ Return address is already on the stack 24 | sp@ >r ( token ) \ Save data stack pointer 25 | my-self >r ( token ) \ Save current package instance handle 26 | handler @ >r ( token ) \ Previous handler 27 | rp@ handler ! ( token ) \ Set current handler to this one 28 | execute ( ) \ Execute the word passed in on the stack 29 | r> handler ! ( ) \ Restore previous handler 30 | r> drop ( ) \ Discard saved package instance handle 31 | r> drop ( ) \ Discard saved stack pointer 32 | 0 ( 0 ) \ Signify normal completion 33 | ; 34 | 35 | : throw ( ??? [ error# | 0 ] -- ???' [ error# ] ) \ Returns to saved context 36 | ?dup if \ Don't throw 0 37 | handler @ rp! ( err# ) \ Return to saved return stack context 38 | r> handler ! ( err# ) \ Restore previous handler 39 | r> is my-self ( err# ) \ Restore package instance handle 40 | ( err# ) \ Remember error# on return stack 41 | ( err# ) \ before changing data stack pointer 42 | r> swap >r ( saved-sp ) \ err# is on return stack 43 | sp! drop r> ( err# ) \ Change stack pointer 44 | \ This return will return to the caller of catch, because the return 45 | \ stack has been restored to the state that existed when CATCH began 46 | \ execution . 47 | then 48 | ; 49 | -------------------------------------------------------------------------------- /obp/fm/kernel/cmdline.fth: -------------------------------------------------------------------------------- 1 | \ cmdline.fth 1.4 02/05/02 2 | \ Copyright 1993-1994 Bradley Forthware, Inc. All Rights Reserved. 3 | \ Copyright 1994-2002 Sun Microsystems, Inc. All Rights Reserved 4 | \ Copyright Use is subject to license terms. 5 | 6 | \ Get the arguments passed from the program 7 | 8 | \ Returns the command line argument indexed by arg#, as a string. 9 | \ In most systems, the 0'th argument is the name of the program file. 10 | \ If the arg#'th argument doesn't exist, returns 0. 11 | : >arg ( arg# -- false | arg-adr arg-len true ) 12 | dup #args >= if ( arg# ) 13 | drop false 14 | else ( arg# ) 15 | args swap na+ @ cscount true 16 | then 17 | ; 18 | 19 | variable arg# 20 | 21 | \ Get the next argument from the command line. 22 | \ Returns 0 when there are no more arguments. 23 | \ arg# should be set to 1 before the first call. 24 | \ argument number 0 is usually the name of the program file. 25 | : next-arg ( -- false | arg-adr arg-len true ) 26 | arg# @ >arg dup if 1 arg# +! then 27 | ; 28 | defer cmdline-file ' 2drop is cmdline-file 29 | 30 | 31 | : bootstrap-file ( str,len -- ) 32 | ?dup if 33 | d# 46 d# 45 fsyscall ( ) \ grab whole file 34 | 2>r 2r@ evaluate ( ) 35 | 2r> sys-free-mem ( ) 36 | else ( adr ) 37 | drop ( ) 38 | then ( ) 39 | ; 40 | \ ' bootstrap-file is cmdline-file \ No bootstrap yet! 41 | 42 | : process-argument ( adr len -- ) 43 | 2dup " -s" $= if ( adr len ) 44 | 2drop next-arg 0= ( ?? ) abort" Missing argument after '-s'" 45 | evaluate ( ?? ) 46 | else ( adr len ) 47 | 2dup " -b" $= if ( adr len ) 48 | 2drop next-arg 0= abort" Missing argument after '-b'" 49 | bootstrap-file ( ) 50 | else 51 | 2dup " -x" $= if ( adr len ) 52 | 2drop \ prepare-xref ( ) 53 | else 54 | 2dup " -" $= if ( adr len ) 55 | 2drop 56 | interact 57 | else ( adr len ) 58 | cmdline-file 59 | then then then then 60 | ; 61 | 62 | : process-command-line ( -- ) 63 | #args 1 <= if exit then 64 | 1 arg# ! 65 | begin next-arg while ( adr len ) 66 | ['] process-argument catch ?dup if .error bye then 67 | repeat 68 | bye 69 | ; 70 | -------------------------------------------------------------------------------- /obp/fm/kernel/cold.fth: -------------------------------------------------------------------------------- 1 | \ cold.fth 2.6 94/09/11 2 | \ Copyright 1985-1994 Bradley Forthware 3 | 4 | \ Some hooks for multitasking 5 | \ Main task points to the initial task. This usage is currently not ROM-able 6 | \ since the user area address has to be later stored in the parameter field 7 | \ of main-task. It could be made ROM-able by allocating the user area 8 | \ at a fixed location and storing that address in main-task at compile time. 9 | 10 | defer pause \ for multitasking 11 | ' noop is pause 12 | 13 | defer init-io ( -- ) 14 | defer do-init ( -- ) 15 | defer cold-hook ( -- ) 16 | defer init-environment ( -- ) 17 | 18 | [ifndef] run-time 19 | : (cold-hook (s -- ) 20 | [compile] [ 21 | ; 22 | 23 | ' (cold-hook is cold-hook 24 | [then] 25 | 26 | : cold (s -- ) 27 | decimal 28 | init-io \ Memory allocator and character I/O 29 | do-init \ Kernel 30 | ['] init-environment guarded \ Environmental dependencies 31 | ['] cold-hook guarded \ Last-minute stuff 32 | 33 | process-command-line 34 | 35 | \ interactive? won't work because the fd hasn't been initialized yet 36 | (interactive? if title then 37 | 38 | quit 39 | ; 40 | 41 | [ifndef] run-time 42 | headerless 43 | : single (s -- ) \ Turns off multitasking 44 | ['] noop ['] pause (is 45 | ; 46 | headers 47 | : warm (s -- ) single sp0 @ sp! quit ; 48 | [then] 49 | -------------------------------------------------------------------------------- /obp/fm/kernel/dmul.fth: -------------------------------------------------------------------------------- 1 | \ dmul.fth 1.1 95/03/04 2 | \ Copyright 1994 FirmWorks 3 | 4 | \ AB * CD = BD + (BC + DA)<r ( b a d c ) ( r: d.low ) 13 | 14 | \ Check for C = 0 and optimize if so 15 | dup if ( b a d c ) ( r: d.low ) 16 | \ C is not zero, so compute and add BC<< 17 | 3 pick over half* 18 | 2r> d+ 2>r ( b a d c ) ( r: d.intermed ) 19 | 20 | \ We are done with B 21 | 2swap nip ( d c a ) 22 | \ Check for A = 0 and optimize if so 23 | dup if ( d c a ) 24 | \ A is not zero, so compute and add DA<< and AC<<< 25 | rot over half* ( c a da.low da.high ) 26 | 2r> d+ 2>r ( c a ) ( r: d.intermed' ) 27 | * 0 swap 2r> d+ 28 | else 29 | \ A is zero, so we are finished 30 | 3drop 2r> 31 | then 32 | else 33 | \ C is zero, so all we have to do is compute and add DA<< 34 | drop rot drop ( a d ) ( r: d.low ) 35 | half* ( low1 high1 ) 36 | 2r> d+ 37 | then 38 | ; 39 | -------------------------------------------------------------------------------- /obp/fm/kernel/guarded.fth: -------------------------------------------------------------------------------- 1 | \ guarded.fth 1.1 02/05/02 2 | \ Copyright 1985-1994 Bradley Forthware 3 | \ Copyright 1994-2002 Sun Microsystems, Inc. All Rights Reserved 4 | \ Copyright Use is subject to license terms. 5 | 6 | \ A version that knows about multi-segment dictionaries can be installed 7 | \ if such dictionaries exist. 8 | : (in-dictionary? ( adr -- ) origin here between ; 9 | headers 10 | defer in-dictionary? ' (in-dictionary? is in-dictionary? 11 | 12 | defer .error# 13 | : .error ( error# -- ) 14 | dup -13 = if 15 | show-error 16 | drop abort-message type 17 | ." ?" 18 | else 19 | dup -2 = if 20 | show-error 21 | drop abort-message type 22 | else 23 | dup -1 = if 24 | drop 25 | else 26 | show-error 27 | dup in-dictionary? if count type else .error# then 28 | then 29 | then 30 | then 31 | cr 32 | ; 33 | : guarded ( acf -- ) catch ?dup if .error then ; 34 | -------------------------------------------------------------------------------- /obp/fm/kernel/init.fth: -------------------------------------------------------------------------------- 1 | id: @(#)init.fth 2.6 03/12/08 13:22:04 2 | purpose: 3 | copyright: Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Copyright 1985-1994 Bradley Forthware 5 | copyright: Use is subject to license terms. 6 | 7 | \ Now that everything is defined, we can set the values of the 8 | \ user variables that are shadowed in the metacompiler. 9 | 10 | #user-t @ is #user 11 | 12 | voc-link-t link-t@ is voc-link 13 | 14 | here-t is fence 15 | -------------------------------------------------------------------------------- /obp/fm/kernel/kernport.fth: -------------------------------------------------------------------------------- 1 | \ @(#)kernport.fth 2.9 03/07/17 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1993-1994 Sun Microsystems, Inc. All Rights Reserved 4 | \ Copyright 2003 Sun Microsystems, Inc. All Rights Reserved 5 | \ Use is subject to license terms. 6 | 7 | \ Some 32-bit compatibility words 8 | 9 | \ These are for links that are just the same as addresses 10 | /a constant /link 11 | : link@ (s addr -- link ) a@ ; 12 | : link! (s link addr -- ) a! ; 13 | : link, (s link -- ) a, ; 14 | 15 | headers 16 | 17 | [ifndef] run-time 18 | 19 | \itc : \itc ; immediate 20 | \itc : \dtc [compile] \ ; immediate 21 | \itc : \ttc [compile] \ ; immediate 22 | \dtc : \itc [compile] \ ; immediate 23 | \dtc : \dtc ; immediate 24 | \dtc : \ttc [compile] \ ; immediate 25 | \ttc : \itc [compile] \ ; immediate 26 | \ttc : \dtc [compile] \ ; immediate 27 | \ttc : \ttc ; immediate 28 | \t8 : \t8 ; immediate 29 | \t8 : \t16 [compile] \ ; immediate 30 | \t8 : \t32 [compile] \ ; immediate 31 | \t16 : \t8 [compile] \ ; immediate 32 | \t16 : \t16 ; immediate 33 | \t16 : \t32 [compile] \ ; immediate 34 | \t32 : \t8 [compile] \ ; immediate 35 | \t32 : \t16 [compile] \ ; immediate 36 | \t32 : \t32 ; immediate 37 | 16\ : 16\ ; immediate 38 | 16\ : 32\ [compile] \ ; immediate 39 | 16\ : 64\ [compile] \ ; immediate 40 | 32\ : 16\ [compile] \ ; immediate 41 | 32\ : 32\ ; immediate 42 | 32\ : 64\ [compile] \ ; immediate 43 | 64\ : 16\ [compile] \ ; immediate 44 | 64\ : 32\ [compile] \ ; immediate 45 | 64\ : 64\ ; immediate 46 | [then] 47 | -------------------------------------------------------------------------------- /obp/fm/kernel/nswapmap.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: nswapmap.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | \ Null byte swap table management 43 | 44 | : set-swap-bit ( addr -- ) drop ; 45 | : note-string ( adr len -- adr len ) ; 46 | -------------------------------------------------------------------------------- /obp/fm/kernel/sparc/double.fth: -------------------------------------------------------------------------------- 1 | id: @(#)double.fth 1.3 04/02/02 10:01:53 2 | purpose: 3 | copyright: Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Copyright 1985-1994 Bradley Forthware 5 | copyright: Use is subject to license terms. 6 | 7 | code (dlit) ( -- d ) 8 | tos sp push 9 | \t16 ip 0 tos lduh 10 | \t16 tos d# 16 tos slln ip 2 scr lduh tos scr tos add 11 | 64\ \t16 tos d# 16 tos sllx ip 4 scr lduh tos scr tos add 12 | 64\ \t16 tos d# 16 tos sllx ip 6 scr lduh tos scr tos add 13 | \t32 ip tos lget 14 | 64\ \t32 tos d# 32 tos sllx ip /l scr ld tos scr tos add 15 | ip ainc 16 | tos sp push 17 | \t16 ip 0 tos lduh 18 | \t16 tos d# 16 tos slln ip 2 scr lduh tos scr tos add 19 | 64\ \t16 tos d# 16 tos sllx ip 4 scr lduh tos scr tos add 20 | 64\ \t16 tos d# 16 tos sllx ip 6 scr lduh tos scr tos add 21 | \t32 ip tos lget 22 | 64\ \t32 tos d# 32 tos sllx ip /l scr ld tos scr tos add 23 | ip ainc 24 | c; 25 | 26 | \ Double-precision arithmetic 27 | code dnegate ( d# -- d#' ) 28 | ( 0 L: ) mloclabel dneg1 29 | sp 0 scr nget 30 | %g0 scr scr subcc 31 | %g0 tos tos subx 32 | scr sp 0 nput 33 | c; 34 | 35 | code dabs ( dbl.lo dbl.hi -- dbl.lo' dbl.hi' ) 36 | tos %g0 %g0 subcc 37 | ( 0 B: ) dneg1 0< brif 38 | nop 39 | c; 40 | 41 | \ Words that need to be defined in high-level belong in fm/kernel/double.fth 42 | \ : dmax ( d1 d2 -- d3 ) 2over 2over d- nip 0< if 2swap then 2drop ; 43 | 44 | code d+ ( x1 x2 -- x3 ) 45 | sp 0 /n* sc1 nget \ x2.low 46 | sp 2 /n* sc3 nget \ x1.low 47 | sp 1 /n* sc2 nget \ x1.high 48 | sp 2 /n* sp add \ Pop args 49 | sc3 sc1 sc1 addcc \ x3.low 50 | 32\ sc2 tos tos addx \ x3.high 51 | 64\ sc2 tos tos add \ x3.high 52 | 64\ u>= if annul tos 1 tos add 53 | 64\ then 54 | sc1 sp 0 nput \ Push result (x3.high already in tos) 55 | c; 56 | code d- ( x1 x2 -- x3 ) 57 | sp 0 /n* sc1 nget \ x2.low 58 | sp 2 /n* sc3 nget \ x1.low 59 | sp 1 /n* sc2 nget \ x1.high 60 | sp 2 /n* sp add \ Pop args 61 | sc3 sc1 sc1 subcc \ x3.low 62 | 32\ sc2 tos tos subx \ x3.high 63 | 64\ sc2 tos tos sub \ x3.high 64 | 64\ u>= if annul tos 1 tos sub 65 | 64\ then 66 | sc1 sp 0 nput \ Push result (x3.high already in tos) 67 | c; 68 | -------------------------------------------------------------------------------- /obp/fm/kernel/sparc/field.fth: -------------------------------------------------------------------------------- 1 | \ field.fth 2.6 94/09/05 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ field creates words which add their offset within the structure 5 | \ to the base address of the structure 6 | 7 | : struct ( -- 0 ) 0 ; 8 | 9 | : field \ name ( offset size -- offset+size ) 10 | create over l, + 11 | \ does> l@ + ; 12 | ;code ( struct-adr -- field-adr ) 13 | \t32 apf scr ld \ Get the offset 14 | \t16 apf scr lduh \ Get the high word of the offset 15 | \t16 apf 2+ sc1 lduh \ Get the low word of the offset 16 | \t16 scr d# 16 scr sll \ Multiply by 2^^16 17 | \t16 scr sc1 scr add \ Merge the two halves 18 | scr tos tos add \ Return the structure member address 19 | c; 20 | -------------------------------------------------------------------------------- /obp/fm/kernel/sparc/finish.fth: -------------------------------------------------------------------------------- 1 | \ finish.fth 2.4 91/08/19 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | ' init is do-init 5 | 6 | also assembler 7 | cold-code cld branch! 8 | previous 9 | 10 | forth-h 11 | metaoff 12 | only forth also definitions 13 | fix-vocabularies 14 | ' symbols fixall 15 | -------------------------------------------------------------------------------- /obp/fm/kernel/sparc/loadsyms.fth: -------------------------------------------------------------------------------- 1 | id: @(#)loadsyms.fth 1.5 02/05/02 2 | copyright: Copyright 1991-1994 Sun Microsystems, Inc. All Rights Reserved 3 | copyright: Copyright 1994 Firmworks All Rights Reserved 4 | copyright: Copyright 1994-2002 Sun Microsystems, Inc. All Rights Reserved 5 | copyright: Use is subject to license terms. 6 | 7 | : headerless: ( r-xt -- ) origin+ create 0 setalias ; 8 | : header: ( r-xt -- ) drop [compile] \ ; immediate 9 | 10 | hex alias h# noop 11 | 12 | [ifndef] kernel-hdr-file 13 | true abort" kernel-hdr-file not defined" 14 | [then] 15 | [defined] kernel-hdr-file included 16 | 17 | -------------------------------------------------------------------------------- /obp/fm/kernel/sparc/metainit.fth: -------------------------------------------------------------------------------- 1 | \ id: @(#)metainit.fth 2.7 02/05/02 2 | \ purpose: 3 | \ Copyright 1985-1990 Bradley Forthware 4 | \ Copyright 1995-2002 Sun Microsystems, Inc. All Rights Reserved 5 | \ Copyright Use is subject to license terms. 6 | 7 | \ Metacompiler initialization 8 | 9 | \ Debugging aids 10 | 11 | 0 #words ! h# 2a0 threshold ! 10 granularity ! warning-t on 12 | 13 | forth definitions 14 | 15 | metaon 16 | meta definitions 17 | 18 | \ We want the kernel to be romable, so we put variables in the user area 19 | :-h variable ( -- ) nuser ;-h 20 | alias \m \ 21 | 22 | initmeta 23 | 24 | \ Allocate space for the target image 25 | th 22000 alloc-mem h# 1000 round-up target-image 26 | 27 | \ org sets the lowest address that is used by Forth kernel. 28 | hex 29 | 30 | 0.0000 org 0.0000 31 | voc-link-t a-t! 32 | 33 | 200 equ ps-size 34 | 35 | assembler 36 | 37 | \ This is at the first location in the Forth image. 38 | 39 | \ init-forth is the initialization entry point. It should be called 40 | \ exactly once, with arguments (dictionary_start, dictionary_size). 41 | \ init-forth sets up some global variables which allow Forth to locate 42 | \ its RAM areas, including the data stack, return stack, user area, 43 | \ cpu-state save area, and dictionary. 44 | 45 | hex 46 | mlabel cld 47 | 9000 always brif annul \ The address will be fixed later. 48 | nop \ Delay slot 49 | nop 50 | nop 51 | [ifdef] miniforth? 52 | \ truncated traptable 53 | 64\ 100 10 - 0 ?do unimp /l +loop 54 | [else] 55 | 64\ 8000 10 - 0 ?do unimp /l +loop 56 | [then] 57 | 58 | meta 59 | -------------------------------------------------------------------------------- /obp/fm/kernel/sparc/parseline.fth: -------------------------------------------------------------------------------- 1 | \ parseline.fth 1.1 02/05/02 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1990-2002 Sun Microsystems, Inc. All Rights Reserved 4 | \ Copyright Use is subject to license terms. 5 | \ 6 | \ Splits a buffer into two parts around the first line delimiter 7 | \ sequence. A line delimiter sequence is either CR, LF, CR followed by LF, 8 | \ or LF followed by CR. 9 | \ adr1 len2 is the initial substring before, but not including, 10 | \ the first line delimiter sequence. 11 | \ adr2 len3 is the trailing substring after, but not including, 12 | \ the first line delimiter sequence. 13 | 14 | code parse-line ( adr1 len1 -- adr1 len2 adr1+len2 len1-len2 ) 15 | tos sc1 move \ len1 16 | sp 0 /n* scr nget \ adr1 17 | sp 2 /n* sp sub \ Make room for extra return values 18 | 19 | h# 0a tos move \ Delimiter 1 20 | h# 0d sc4 move \ Delimiter 2 21 | 22 | scr sc1 scr add \ Point to end 23 | %g0 sc1 sc3 sub \ Index counts up from -len1 24 | sc3 1 sc3 sub \ Account for pre-increment 25 | 26 | ahead 27 | sc3 1 sc3 addcc \ Delay: Increment and test counter 28 | begin 29 | 30 | tos sc2 cmp = if annul sc4 sc2 cmp then \ Compare to delimiters 31 | 32 | = if annul \ Exit if delimiter found 33 | sc3 1 sc3 addcc \ Delay: Increment and test counter 34 | 35 | sc1 sc3 sc1 add \ Compute len2 36 | sc1 sp 1 /n* nput \ .. and store on stack 37 | 38 | sc3 1 sc3 addcc \ Consume first delimiter 39 | \ Check next character too, unless we're at the end of the buffer 40 | 0<> if nop 41 | scr sc3 sc5 ldub \ Get the next character 42 | 43 | \ Compare next character to other delimiter 44 | tos sc2 cmp = if tos sc5 cmp sc4 sc5 cmp then 45 | 46 | <> if annul \ If next character is the other delimiter 47 | sc3 1 sc3 add \ ... consume it 48 | then 49 | then 50 | scr sc3 scr add \ Compute adr1+len2 51 | scr sp 0 /n* nput \ .. and store on stack 52 | 53 | %g0 sc3 tos sub \ Return len1-len2 54 | next 55 | then 56 | 57 | but then 58 | 0= until annul 59 | scr sc3 sc2 ldub \ Delay: Get the next character 60 | 61 | \ There is no line delimiter in the input string 62 | 63 | scr sp 0 /n* nput \ Store adr1+len2 on stack 64 | %g0 tos move \ Return rem-len=0 65 | c; 66 | -------------------------------------------------------------------------------- /obp/fm/kernel/uservars.fth: -------------------------------------------------------------------------------- 1 | id: @(#)uservars.fth 2.14 03/12/08 13:22:17 2 | purpose: 3 | copyright: Copyright 1999-2003 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Copyright 1985-1994 Bradley Forthware 5 | copyright: Use is subject to license terms. 6 | 7 | decimal 8 | 9 | \ Initial user number 10 | 11 | [ifexist] #user-init 12 | #user-init 13 | [else] 14 | 0 15 | [then] 16 | 17 | [ifndef] run-time 18 | \ First 5 user variables are used for multitasking 19 | dup user link \ link to next task 20 | /n + dup user entry \ entry address for this task 21 | /n + dup user saved-rp \ this is not MP safe 22 | /n + dup user saved-sp \ this is not MP safe 23 | [then] 24 | 25 | \ next 2 user variables are used for booting 26 | /n + dup user up0 \ initial up 27 | /n + dup user #user \ next available user location 28 | /n + #user-t ! 29 | 30 | /n constant #ualign 31 | : ualigned ( n -- n' ) #ualign round-up ; 32 | 33 | : (check-user-size) ( #bytes -- #bytes ) 34 | dup #user @ + user-size >= abort" ERROR: User area used up!" ( #bytes ) 35 | ; 36 | 37 | \ These will be altered later to enable user space to grow on demand: 38 | user-size-t value user-size 39 | defer check-user-size ' (check-user-size) is check-user-size 40 | 41 | : ualloc ( #bytes -- new-user-number ) \ allocates user space 42 | check-user-size 43 | \ If we are allocating fewer bytes than the alignment granularity, 44 | \ it is safe to assume that strict alignment is not required. 45 | \ For example, a 2-byte token doesn't have to be aligned on a 4-byte 46 | \ boundary. 47 | ( #bytes ) 48 | #user @ ( #bytes user# ) 49 | over #ualign >= if ualigned dup #user ! then ( #bytes user#' ) 50 | 51 | swap #user +! 52 | ; 53 | 54 | [ifndef] run-time 55 | : nuser \ name ( -- ) \ like user but automatically allocates space 56 | /n ualloc user 57 | ; 58 | : tuser \ name ( -- ) \ like user but automatically allocates space 59 | /token ualloc user 60 | ; 61 | : auser \ name ( -- ) \ like user but automatically allocates space 62 | /a ualloc user 63 | ; 64 | [then] 65 | 66 | nuser .sp0 \ initial parameter stack 67 | nuser .rp0 \ initial return stack 68 | 69 | defer sp0 ' .sp0 is sp0 \ MPsafe versions 70 | defer rp0 ' .rp0 is rp0 \ MPsafe versions 71 | 72 | headerless 73 | \ This is the beginning of the initialization chain 74 | chain: init ( -- ) up@ link ! ; \ Initially, only one task is active 75 | headers 76 | -------------------------------------------------------------------------------- /obp/fm/lib/alias.fth: -------------------------------------------------------------------------------- 1 | \ alias.fth 2.6 94/09/04 2 | \ Copyright 1985-1994 Bradley Forthware 3 | 4 | \ Alias makes a new word which behaves exactly like an existing 5 | \ word. This works whether the new word is encountered during 6 | \ compilation or interpretation, and does the right thing even 7 | \ if the old word is immediate. 8 | 9 | decimal 10 | 11 | : setalias ( xt +-1 -- ) 12 | 0> if immediate then ( acf ) 13 | flagalias 14 | lastacf here - allot token, 15 | ; 16 | : alias \ new-name old-name ( -- ) 17 | create hide 'i reveal setalias 18 | ; 19 | -------------------------------------------------------------------------------- /obp/fm/lib/ansiterm.fth: -------------------------------------------------------------------------------- 1 | id: @(#)ansiterm.fth 1.1 94/09/01 2 | purpose: Terminal control for ANSI terminals 3 | copyright: Copyright 1994 FirmWorks All Rights Reserved. 4 | 5 | headerless 6 | : .esc[ ( -- ) control [ (emit [char] [ (emit ; 7 | : .esc[x ( c -- ) .esc[ (emit ; 8 | headers 9 | 10 | : left ( -- ) [char] D .esc[x -1 #out +! ; 11 | : right ( -- ) [char] C .esc[x 1 #out +! ; 12 | : up ( -- ) [char] A .esc[x -1 #line +! ; 13 | : down ( -- ) [char] B .esc[x 1 #line +! ; 14 | : insert-char ( c -- ) [char] @ .esc[x (emit ; 15 | : delete-char ( -- ) [char] P .esc[x ; 16 | : kill-line ( -- ) [char] K .esc[x ; 17 | : kill-screen ( -- ) [char] J .esc[x ; 18 | : insert-line ( -- ) [char] L .esc[x ; 19 | : delete-line ( -- ) [char] M .esc[x ; 20 | : dark ( -- ) [char] 7 .esc[x [char] m (emit ; 21 | : light ( -- ) [char] m .esc[x ; 22 | 23 | : at-xy ( col row -- ) 24 | 2dup #line ! #out ! 25 | base @ >r decimal 26 | .esc[ 1+ (.) (type [char] ; (emit 1+ (.) (type [char] H (emit 27 | r> base ! 28 | ; 29 | : page ( -- ) 0 0 at-xy kill-screen ; 30 | 31 | false [if] 32 | headerless 33 | : color: ( adr len "name" -- ) 34 | create ", does> .esc[ count (type [char] m (emit 35 | ; 36 | headers 37 | 38 | " 0" color: default-colors 39 | " 1" color: bright 40 | " 2" color: dim 41 | " 30" color: black-letters 42 | " 31" color: red-letters 43 | " 32" color: green-letters 44 | " 33" color: yellow-letters 45 | " 34" color: blue-letters 46 | " 35" color: magenta-letters 47 | " 36" color: cyanletters 48 | " 37" color: white-letters 49 | " 40" color: black-screen 50 | " 41" color: red-screen 51 | " 42" color: green-screen 52 | " 43" color: yellow-screen 53 | " 44" color: blue-screen 54 | " 45" color: magenta-screen 55 | " 46" color: cyan-screen 56 | " 47" color: white-screen 57 | [then] 58 | -------------------------------------------------------------------------------- /obp/fm/lib/array.fth: -------------------------------------------------------------------------------- 1 | \ array.fth 2.3 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | forth definitions 5 | headerless 6 | : array \ name ( #elements -- ) 7 | \ create /n* allot does> swap na+ \ not ROMable 8 | /n* buffer: does> do-buffer swap na+ \ buffer: action plus "swap na+" 9 | ; 10 | headers 11 | -------------------------------------------------------------------------------- /obp/fm/lib/caller.fth: -------------------------------------------------------------------------------- 1 | \ caller.fth 2.3 96/02/29 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ .current-word ( ip -- ) "ip" is an address which is presumed to 5 | \ be within the body of some colon definition. 6 | \ .current-word displays the name of that 7 | \ definition. 8 | 9 | \ .caller ( -- ) Displays the colon definition name as in 10 | \ .current-word, and also the address "ip" 11 | 12 | decimal 13 | 14 | only forth also hidden also forth definitions 15 | 16 | headerless0 17 | : .current-word ( ip -- ) find-cfa ( acf ) .name ; 18 | 19 | headerless 20 | : .caller ( ip -- ) 21 | d# 18 to-column ." Called from " dup .current-word 22 | d# 56 to-column ." at " 9 u.r 23 | ; 24 | headers 25 | only forth also definitions 26 | -------------------------------------------------------------------------------- /obp/fm/lib/callfind.fth: -------------------------------------------------------------------------------- 1 | \ callfind.fth 2.2 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Callfinder 5 | \ The place to start searching is implementation-dependent. 6 | \ The best place would be at the lowest Forth definition in the 7 | \ dictionary. 8 | 9 | decimal 10 | 11 | : .calls ( cfa -- ) 12 | hi-segment-base 13 | begin ( cfa search-start ) 14 | 2dup hi-segment-limit tsearch ( acf last [ found-at ] f ) 15 | while dup .caller cr ( acf last found-at) 16 | exit? if exit then 17 | nip ta1+ 18 | repeat drop 19 | ( acf ) 20 | lo-segment-base 21 | begin ( cfa search-start ) 22 | 2dup lo-segment-limit tsearch ( acf last [ found-at ] f ) 23 | while dup .caller cr ( acf last found-at) 24 | exit? if exit then 25 | nip ta1+ 26 | repeat 2drop 27 | ; 28 | only forth also definitions 29 | -------------------------------------------------------------------------------- /obp/fm/lib/copyrigh.fth: -------------------------------------------------------------------------------- 1 | \ copyrigh.fth 1.2 01/05/18 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved 4 | 5 | alias id: \ 6 | alias copyright: \ 7 | alias purpose: \ 8 | -------------------------------------------------------------------------------- /obp/fm/lib/cstrings.fth: -------------------------------------------------------------------------------- 1 | \ cstrings.fth 2.8 01/04/06 2 | \ Copyright 1985-1994 Bradley Forthware 3 | \ Copyright 1994-2001 Sun Microsystems, Inc. All Rights Reserved 4 | 5 | \ Conversion between Forth-style strings and C-style null-terminated strings. 6 | \ cstrlen and cscount are defined in cmdline.fth 7 | 8 | decimal 9 | 10 | headerless 11 | 0 value cstrbuf \ Initialized in 12 | chain: init ( -- ) d# 258 alloc-mem is cstrbuf ; 13 | 14 | headers 15 | \ Convert an unpacked string to a C string 16 | : $cstr ( adr len -- c-string-adr ) 17 | \ If, as is usually the case, there is already a null byte at the end, 18 | \ we can avoid the copy. 19 | 2dup + c@ 0= if drop exit then 20 | >r cstrbuf r@ cmove 0 cstrbuf r> + c! cstrbuf 21 | ; 22 | 23 | \ Convert a packed string to a C string 24 | : cstr ( forth-pstring -- c-string-adr ) count $cstr ; 25 | 26 | \ Find the length of a C string, not counting the null byte 27 | : cstrlen ( c-string -- length ) 28 | dup begin dup c@ while ca1+ repeat swap - 29 | ; 30 | \ Convert a null-terminated C string to an unpacked string 31 | : cscount ( cstr -- adr len ) dup cstrlen ; 32 | 33 | headers 34 | -------------------------------------------------------------------------------- /obp/fm/lib/dump.fth: -------------------------------------------------------------------------------- 1 | \ @(#)dump.fth 2.6 95/04/19 2 | \ From Perry/Laxen, largely verbatim 3 | \ Copyright 1985-1990 Bradley Forthware 4 | 5 | \ The dump utility gives you a formatted hex dump with the ascii 6 | \ text corresponding to the bytes on the right hand side of the 7 | \ screen. In addition you can use the SM word to set a range of 8 | \ memory locations to desired values. SM displays an address and 9 | \ its contents. You can go forwards or backwards depending upon 10 | \ which character you type. Entering a hex number changes the 11 | \ contents of the location. DL can be used to dump a line of 12 | \ text from a screen. 13 | 14 | decimal 15 | 16 | only forth also hidden also definitions 17 | 18 | headers 19 | defer dc@ ' c@ is dc@ 20 | headerless 21 | : .2 (s n -- ) <# u# u# u#> type space ; 22 | : d.2 (s addr len -- ) bounds ?do i dc@ .2 loop ; 23 | : emit. (s char -- ) 24 | d# 127 and dup printable? 0= if drop ascii . then emit 25 | ; 26 | : emit.ln (s addr len -- ) 27 | bounds ?do i dc@ emit. loop 28 | ; 29 | : dln (s addr --- ) 30 | ??cr dup n->l 8 u.r 2 spaces 8 2dup d.2 space 31 | over + 8 d.2 space 32 | d# 16 emit.ln 33 | ; 34 | 35 | : ?.n (s n1 n2 -- n1 ) 36 | 2dup = if ." \/" drop else 2 .r then space ; 37 | : ?.a (s n1 n2 -- n1 ) 38 | 2dup = if ." v" drop else 1 .r then ; 39 | 40 | : .head (s addr len -- addr' len' ) 41 | ??cr over d# 16 >> d# 16 >> ?dup if 42 | 8 u.r 2 spaces 43 | else 44 | 10 spaces 45 | then 46 | swap dup d# -16 and swap d# 15 and 47 | 8 0 do i ?.n loop space d# 16 8 do i ?.n loop 48 | space d# 16 0 do i ?.a loop rot + 49 | ; 50 | headers 51 | 52 | : (dump) ( addr len -- ) 53 | base @ -rot hex .head ( addr len ) 54 | dup 0= if 1+ then 55 | bounds do i dln exit? ?leave 16 +loop base ! 56 | ; 57 | also forth definitions 58 | 59 | : dump ( addr len -- ) ['] c@ is dc@ (dump) ; 60 | : du ( addr -- addr+64 ) dup d# 64 dump d# 64 + ; 61 | 62 | only forth also definitions 63 | -------------------------------------------------------------------------------- /obp/fm/lib/dumphead.fth: -------------------------------------------------------------------------------- 1 | \ dumphead.fth 2.4 92/01/28 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Modify 'dispose' to dump out all heads, not just transient ones. 5 | \ This file is loaded later, because we need 'over-vocabulary'. 6 | 7 | : head. ( alf -- ) l>name dup new-name> f.name ; 8 | : dumpheads ( -- ) 9 | header:? on \ Dump using 'header:' 10 | voc-link begin another-link? while 11 | ['] head. over voc> over-vocabulary ( voc-link ) 12 | >voc-link 13 | repeat 14 | ; 15 | 16 | \ New dispose, calls old and then dumps all remaining heads 17 | : dispose ( -- ) 18 | dispose 19 | base @ >r hex 20 | open-headerfile 21 | dumpheads 22 | close-headerfile 23 | r> base ! 24 | ; 25 | 26 | -------------------------------------------------------------------------------- /obp/fm/lib/fastspac.fth: -------------------------------------------------------------------------------- 1 | \ fastspac.fth 2.4 94/09/01 2 | \ Copyright 1985-1994 Bradley Forthware 3 | 4 | \ Version of "spaces" which uses "type" instead of "emit", for systems 5 | \ where "type" is significantly faster than "emit". 6 | 7 | headerless 8 | create spacebuf here 80 allot 80 blank 9 | headers 10 | : spaces ( #spaces -- ) 11 | begin dup 0> while 12 | dup 80 min ( #remaining #thistime ) 13 | spacebuf over type - ( #remaining ) 14 | repeat ( #remaining ) 15 | drop 16 | ; 17 | -------------------------------------------------------------------------------- /obp/fm/lib/fcmdcpl.fth: -------------------------------------------------------------------------------- 1 | \ fcmdcpl.fth 2.5 95/04/19 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Command completion interface for the Forth line editor 5 | 6 | only forth also hidden also command-completion definitions 7 | 8 | headerless 9 | : install-fcmd 10 | ['] end-of-word is find-end 11 | ['] insert-character is cinsert 12 | ['] erase-previous-character is cerase 13 | ; 14 | install-fcmd 15 | 16 | only forth also command-completion also keys-forth definitions 17 | 18 | headers 19 | : ^` expand-word ; \ Control-space or control-back-tick 20 | : ^| expand-word ; \ Control-vertical-bar or control-backslash 21 | : ^} do-show ; \ Control-right-bracket 22 | : ^? do-show ; \ Control-question-mark 23 | h# 7f last @ name>string drop 1+ c! \ Hack hack 24 | 25 | only forth also definitions 26 | 27 | -------------------------------------------------------------------------------- /obp/fm/lib/format.fth: -------------------------------------------------------------------------------- 1 | \ format.fth 2.3 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Output Formatting 5 | decimal 6 | headerless0 7 | 8 | variable lmargin 0 lmargin ! 9 | variable rmargin 79 rmargin ! 10 | : ?line (s n -- ) 11 | #out @ + rmargin @ > if cr lmargin @ spaces then 12 | ; 13 | : ?cr (s -- ) 0 ?line ; 14 | : to-column (s column -- ) #out @ - 1 max spaces ; 15 | 16 | variable tabstops 8 tabstops ! 17 | : ?to-column ( string-length starting-column -- ) 18 | tuck + rmargin @ > if 19 | drop cr lmargin @ spaces 20 | else 21 | #out @ - spaces 22 | then 23 | ; 24 | : .tab ( string-length -- ) 25 | \ Find the next tab stop after the current cursor position 26 | rmargin @ tabstops @ + dup lmargin @ do ( string-length target-column ) 27 | i #out @ >= if drop i leave then ( string-length target-column ) 28 | tabstops @ +loop ( string-length target-column ) 29 | ?to-column 30 | ; 31 | headers 32 | -------------------------------------------------------------------------------- /obp/fm/lib/headtool.fth: -------------------------------------------------------------------------------- 1 | id: @(#)headtool.fth 1.9 03/12/11 09:22:54 2 | purpose: 3 | copyright: Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Use is subject to license terms. 5 | \ Copyright 1985-1990 Bradley Forthware 6 | 7 | \ Tools to make headerless definitions easier to live with. 8 | \ To reheader the headerless words, download the headers file 9 | \ via DL or something like it. 10 | 11 | headers 12 | 13 | \ The format of each line of the "headers" file produced by the OBP 14 | \ make process is: 15 | \ h# 16 | \ 17 | \ After reading the "headers" file through these definitions, it should 18 | \ be possible to find a name for most definitions. 19 | 20 | \ Re-create headers by making them an alias for the actual name. Keep them 21 | \ within the special re-created headers' vocabulary. If they are leftover 22 | \ transient words, i.e., outside the dictionary, ignore them... 23 | : headerless: \ name ( offset -- ) compile-time 24 | \ ( ??? -- ??? ) run-time 25 | origin+ dup in-dictionary? parse-word rot if 26 | [ also hidden ] 27 | ['] re-heads 28 | [ previous ] $create-word flagalias acf-align token, 29 | else 30 | 3drop 31 | then 32 | ; 33 | 34 | : header: \ name ( offset -- ) compile-time 35 | \ ( ??? -- ??? ) run-time 36 | drop [compile] \ 37 | ; 38 | 39 | 40 | \ Before faking-out a headerless name, scan the vocabulary of the 41 | \ re-created headers. Fake-out the name only if it isn't found. 42 | : find-head ( cfa -- nfa ) 43 | [ also hidden ] 44 | ['] re-heads 45 | [ previous ] follow begin ( cfa ) 46 | another? ( cfa nfa flag ) 47 | while ( cfa nfa ) 48 | 2dup name> token@ ( cfa nfa cfa cfa2 ) 49 | = if ( cfa nfa ) 50 | nip exit ( nfa ) 51 | else 52 | drop ( cfa ) 53 | then ( cfa ) 54 | repeat ( cfa ) 55 | fake-name ( nfa ) 56 | ; 57 | 58 | 59 | \ Plug the routine to scan the re-created headers' vocabulary in to 60 | \ the word that looks up names. It does no harm to have it plugged 61 | \ in place even if the headers file has not been read, because the 62 | \ initial link-pointer in the re-created headers' vocabulary is null. 63 | 64 | patch find-head fake-name >name 65 | 66 | 67 | -------------------------------------------------------------------------------- /obp/fm/lib/hidden.fth: -------------------------------------------------------------------------------- 1 | \ hidden.fth 2.2 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ This is a vocabulary that can be used to contain implementation words 5 | \ that shouldn't appear in the forth dictionary. It would nice to have 6 | \ the option to compile such words headerless to save space, but that 7 | \ feature will have to wait till later. (Besides, headerless words make 8 | \ the decompiler less useful). 9 | 10 | only forth also definitions 11 | vocabulary hidden 12 | 13 | -------------------------------------------------------------------------------- /obp/fm/lib/initsave.fth: -------------------------------------------------------------------------------- 1 | \ initsave.fth 1.1 94/09/01 2 | \ Copyright 1985-1990 FirmWorks All rights reserved 3 | 4 | : $find-name ( name -- acf ) 5 | $find 0= if ." Can't find " type cr abort then 6 | ; 7 | : init-save ( 'init-environment -- ) 8 | $find-name is init-environment 9 | " init" $find-name is do-init 10 | " (cold-hook" $find-name is cold-hook 11 | 12 | here fence a! \ Protect the dictionary 13 | ; 14 | -------------------------------------------------------------------------------- /obp/fm/lib/instdis.fth: -------------------------------------------------------------------------------- 1 | \ instdis.fth 2.2 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Assumes that the decompiler (which defines "defer disassemble") is 5 | \ already loaded. 6 | only forth also hidden 7 | ' dis is disassemble 8 | only forth also definitions 9 | -------------------------------------------------------------------------------- /obp/fm/lib/loadcomm.fth: -------------------------------------------------------------------------------- 1 | id: @(#)loadcomm.fth 1.13 03/12/11 09:22:50 2 | purpose: 3 | copyright: Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Copyright 1994 FirmWorks All Rights Reserved 5 | copyright: Use is subject to license terms. 6 | 7 | transient fload ${BP}/fm/lib/xref.fth resident 8 | fload ${BP}/fm/lib/th.fth 9 | 10 | transient fload ${BP}/fm/lib/filetool.fth resident 11 | \ needed for dispose, savefort.fth 12 | transient fload ${BP}/fm/lib/dispose.fth resident 13 | 14 | transient fload ${BP}/fm/lib/showspac.fth resident 15 | 16 | \ 17 | 18 | fload ${BP}/fm/lib/chains.fth 19 | 20 | fload ${BP}/fm/lib/patch.fth 21 | \ fload ${BP}/fm/kernel/hashcach.fth 22 | 23 | headers transient alias headerless0 headers resident 24 | 25 | fload ${BP}/fm/lib/ansiterm.fth 26 | 27 | fload ${BP}/fm/lib/strings.fth 28 | 29 | fload ${BP}/fm/lib/fastspac.fth 30 | 31 | fload ${BP}/fm/lib/cirstack.fth \ Circular stack 32 | fload ${BP}/fm/lib/pseudors.fth \ Interpretable >r and r> 33 | 34 | fload ${BP}/fm/lib/headtool.fth 35 | 36 | transient fload ${BP}/fm/lib/needs.fth resident 37 | 38 | fload ${BP}/fm/lib/suspend.fth 39 | 40 | fload ${BP}/fm/lib/util.fth 41 | fload ${BP}/fm/lib/format.fth 42 | 43 | fload ${BP}/fm/lib/stringar.fth 44 | 45 | fload ${BP}/fm/lib/parses1.fth \ String parsing 46 | 47 | fload ${BP}/fm/lib/split.fth 48 | 49 | fload ${BP}/fm/lib/dump.fth 50 | fload ${BP}/fm/lib/words.fth 51 | fload ${BP}/fm/lib/decomp.fth 52 | 53 | \ Uses over-vocabulary from words.fth 54 | transient fload ${BP}/fm/lib/dumphead.fth resident 55 | 56 | fload ${BP}/fm/lib/seechain.fth 57 | 58 | fload ${BP}/fm/lib/loadedit.fth \ Command line editor module 59 | 60 | fload ${BP}/fm/lib/caller.fth 61 | 62 | fload ${BP}/fm/lib/callfind.fth 63 | fload ${BP}/fm/lib/substrin.fth 64 | fload ${BP}/fm/lib/sift.fth 65 | 66 | fload ${BP}/fm/lib/array.fth 67 | 68 | fload ${BP}/fm/lib/linklist.fth \ Linked list routines 69 | 70 | fload ${BP}/fm/lib/initsave.fth \ Common code for save-forth et al 71 | -------------------------------------------------------------------------------- /obp/fm/lib/loadedit.fth: -------------------------------------------------------------------------------- 1 | \ loadedit.fth 2.10 94/10/30 2 | \ Copyright 1985-1994 Bradley Forthware 3 | 4 | \ Load file for command line editor. 5 | 6 | start-module 7 | fload ${BP}/fm/lib/fileed.fth 8 | fload ${BP}/fm/lib/editcmd.fth \ I emacs-edit 9 | fload ${BP}/fm/lib/unixedit.fth 10 | fload ${BP}/fm/lib/cmdcpl.fth 11 | fload ${BP}/fm/lib/fcmdcpl.fth 12 | end-module 13 | -------------------------------------------------------------------------------- /obp/fm/lib/loclabel.fth: -------------------------------------------------------------------------------- 1 | \ loclabel.fth 2.10 02/05/02 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1990-2002 Sun Microsystems, Inc. All Rights Reserved 4 | \ Copyright Use is subject to license terms. 5 | 6 | \ Local labels for the assembler. 7 | \ A local label can be inserted in an assembly-language program 8 | \ to mark a position. A relative branch instruction can then reference 9 | \ that location by its local name. 10 | \ 11 | \ Local label names: 0 L: 1 L: 2 L: 3 L: etc. 12 | \ Local label forward references: 0 F: 1 F: etc 13 | \ Local label backward references: 0 B: 1 B: etc 14 | \ 15 | \ There are 5 local labels, numbered 0 to 4. 16 | \ Each local label may be referenced from up to 10 locations. 17 | \ 18 | decimal 19 | also assembler definitions 20 | 21 | headerless 22 | 20 constant #references-max 23 | 10 constant #labels-max 24 | 25 | #labels-max #references-max * /n* buffer: references 26 | #labels-max /n* buffer: local-labels 27 | #labels-max /n* buffer: next-references 28 | 29 | : >reference ( index -- adr ) /n* #references-max * references + ; 30 | 31 | : >label ( index -- adr ) local-labels swap na+ ; 32 | 33 | : >next-reference ( index -- adr ) next-references swap na+ ; 34 | 35 | : resolve-forward-references ( label# -- ) 36 | dup >next-reference @ 37 | [ also forth ] swap [ previous ] >reference 38 | 39 | ?do i @ >resolve /n +loop 40 | ; 41 | 42 | \ Erase all forward references from this label 43 | : clear-label ( label# -- ) dup >reference swap >next-reference ! ; 44 | 45 | headers 46 | : L: ( label# -- ) 47 | dup resolve-forward-references ( label# ) 48 | dup >label over >next-reference ! ( label# ) 49 | dup clear-label ( label# ) 50 | >label label @ mark 59 | over >next-reference @ ! 60 | /n [ also forth ] swap [ previous ] >next-reference +! 61 | here \ the address we leave is a dummy 62 | ; 63 | 64 | headerless 65 | : init-labels ( -- ) 66 | #labels-max 0 do i clear-label loop 67 | ; 68 | 69 | init-labels 70 | 71 | [ifexist] do-label-hook 72 | 73 | ' init-labels is do-label-hook 74 | 75 | [else] 76 | 77 | where ." Bootstrap code.." cr 78 | \ Bootstrapping.. 79 | 80 | also forth definitions 81 | : code code [ also assembler ] init-labels [ previous ] ; 82 | : label label [ also assembler ] init-labels [ previous ] ; 83 | previous definitions 84 | 85 | [then] 86 | 87 | 88 | previous definitions 89 | -------------------------------------------------------------------------------- /obp/fm/lib/needs.fth: -------------------------------------------------------------------------------- 1 | \ needs.fth 2.5 94/11/15 2 | \ Copyright 1985-1994 Bradley Forthware 3 | 4 | \ Implements needs and \needs. These work as follows: 5 | \ 6 | \ needs foo tools.fth 7 | \ 8 | \ If foo is not defined, the file tools.fth will be loaded, which should 9 | \ define foo. If foo is already defined, nothing will happen. 10 | \ 11 | \ \needs foo 12 | \ 13 | \ If foo is not defined, the rest of the line is executed, else it is ignored 14 | 15 | : needs \ wordname filename ( -- ) 16 | safe-parse-word $canonical $find if ( cfa +-1 ) 17 | drop safe-parse-word 2drop 18 | else 19 | 2drop safe-parse-word included 20 | then 21 | ; 22 | : \needs ( -- ) ( Input Stream: desired-word more-forth-commands ) 23 | safe-parse-word $canonical $find if ( cfa +-1 ) 24 | drop postpone \ 25 | else ( adr len ) 26 | 2drop 27 | then 28 | ; 29 | -------------------------------------------------------------------------------- /obp/fm/lib/parses1.fth: -------------------------------------------------------------------------------- 1 | \ parses1.fth 2.8 95/04/19 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | headers 5 | : +string ( adr len -- adr len+1 ) 1+ ; 6 | : -string ( adr len -- adr+1 len-1 ) swap 1+ swap 1- ; 7 | 8 | \ Splits a string into two halves before the first occurrence of 9 | \ a delimiter character. 10 | \ adra,lena is the string including and after the delimiter 11 | \ adrb,lenb is the string before the delimiter 12 | \ lena = 0 if there was no delimiter 13 | 14 | : split-before ( adr len delim -- adra lena adrb lenb ) 15 | split-string 2swap 16 | ; 17 | alias $split left-parse-string 18 | 19 | : cindex ( adr len char -- [ index true ] | false ) 20 | false swap 2swap bounds ?do ( false char ) 21 | dup i c@ = if nip i true rot leave then 22 | loop ( false char | index true char ) 23 | drop 24 | ; 25 | 26 | \ Splits a string into two halves after the last occurrence of 27 | \ a delimiter character. 28 | \ adra,lena is the string after the delimiter 29 | \ adrb,lenb is the string before and including the delimiter 30 | \ lena = 0 if there was no delimiter 31 | 32 | \ adra,lena is the string after the delimiter 33 | \ adrb,lenb is the string before and including the delimiter 34 | \ lena = 0 if there was no delimiter 35 | 36 | : split-after ( adr len char -- adra lena adrb lenb ) 37 | >r 2dup + 0 ( adrb lenb adra 0 ) 38 | 39 | \ Throughout the loop, we maintain both substrings. Each time through, 40 | \ we add a character to the "after" string and remove it from the "before". 41 | \ The loop terminates when either the "before" string is empty or the 42 | \ desired character is found 43 | 44 | begin 2 pick while ( adrb lenb adra lena ) 45 | over 1- c@ r@ = if \ Found it ( adrb lenb adra lena ) 46 | r> drop 2swap exit ( adrb lenb adra lena ) 47 | then 48 | 2swap 1- 2swap swap 1- swap 1+ ( adrb lenb adra lena ) 49 | repeat ( adrb lenb adr1 len1 ) 50 | 51 | \ Character not found. lenb is 0. 52 | r> drop 2swap 53 | ; 54 | headers 55 | -------------------------------------------------------------------------------- /obp/fm/lib/pseudors.fth: -------------------------------------------------------------------------------- 1 | id: @(#)pseudors.fth 1.4 03/12/08 13:22:25 2 | purpose: 3 | copyright: Copyright 1995-2001 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Copyright 1994 FirmWorks All Rights Reserved 5 | copyright: Use is subject to license terms. 6 | 7 | headerless 8 | d# 64 circular-stack: pseudo-rs 9 | : >pr ( n -- ) pseudo-rs push ; 10 | : pr> ( -- n ) pseudo-rs pop ; 11 | : pr@ ( -- n ) pseudo-rs top@ ; 12 | : 2>pr ( m n -- ) swap >pr >pr ; 13 | : 2pr> ( -- m n ) pr> pr> swap ; 14 | : 2pr@ ( -- m n ) pr> pr@ swap dup >pr ; 15 | headers 16 | : >r ( n -- ) 17 | state @ if compile >r else >pr then 18 | ; immediate 19 | : r> ( -- n ) 20 | state @ if compile r> else pr> then 21 | ; immediate 22 | : r@ ( -- n ) 23 | state @ if compile r@ else pr@ then 24 | ; immediate 25 | : 2>r ( m n -- ) 26 | state @ if compile 2>r else 2>pr then 27 | ; immediate 28 | : 2r> ( -- m n ) 29 | state @ if compile 2r> else 2pr> then 30 | ; immediate 31 | : 2r@ ( -- m n ) 32 | state @ if compile 2r@ else 2pr@ then 33 | ; immediate 34 | 35 | -------------------------------------------------------------------------------- /obp/fm/lib/rstrace.fth: -------------------------------------------------------------------------------- 1 | id: @(#)rstrace.fth 2.5 04/03/30 2 | copyright: 1985-1990 Bradley Forthware 3 | copyright: 1991-2004 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Use is subject to license terms. 5 | 6 | \ Forth stack backtrace 7 | \ Implements: 8 | \ (rstrace ( low-adr high-adr -- ) 9 | \ Shows the calling sequence that is stored in memory between the 10 | \ two addresses. This is assumed to be a saved return stack image. 11 | \ \ rstrace ( -- ) 12 | \ \ Shows the calling sequence that is stored on the return stack, 13 | \ \ without destroying the return stack. 14 | 15 | decimal 16 | only forth also hidden also definitions 17 | headerless 18 | : .last-executed ( ip -- ) 19 | ip>token token@ ( acf ) 20 | dup reasonable-ip? if .name else drop ." ??" then 21 | ; 22 | : .traceline ( ipaddr -- ) 23 | push-hex 24 | dup reasonable-ip? 25 | if dup .last-executed ip>token .caller else d# 17 u.r then cr 26 | pop-base 27 | ; 28 | : (rstrace ( bottom-adr top-adr -- ) 29 | do i @ .traceline exit? ?leave /n +loop 30 | ; 31 | headers 32 | forth definitions 33 | \ : rstrace ( -- ) \ Return stack backtrace 34 | \ rp@ rp0 @ u> if 35 | \ ." Return Stack Underflow" rp0 @ rp! 36 | \ else 37 | \ rp0 @ rp@ (rstrace 38 | \ then 39 | \ ; 40 | only forth also definitions 41 | -------------------------------------------------------------------------------- /obp/fm/lib/savedstk.fth: -------------------------------------------------------------------------------- 1 | \ savedstk.fth 2.2 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Converts stack addresses to the address of the corresponding location 5 | \ in the stack save areas. 6 | 7 | decimal 8 | only forth also hidden also forth definitions 9 | 10 | headerless 11 | : rssave-end ( -- adr ) rssave rs-size + ; 12 | : pssave-end ( -- adr ) pssave ps-size + ; 13 | 14 | : in-return-stack? ( adr -- flag ) rp0 @ rs-size - rp0 @ between ; 15 | : in-data-stack? ( adr -- flag ) sp0 @ ps-size - sp0 @ between ; 16 | 17 | headers 18 | \ Given an address within the stack, translate it to the corresponding 19 | \ address within the saved stack area. 20 | : >saved ( adr -- save-adr ) 21 | dup in-data-stack? ( adr flag ) 22 | if sp0 @ - pssave-end + then ( adr' ) 23 | dup in-return-stack? ( adr flag ) 24 | if rp0 @ - rssave-end + then ( adr'' ) 25 | ; 26 | -------------------------------------------------------------------------------- /obp/fm/lib/seechain.fth: -------------------------------------------------------------------------------- 1 | \ seechain.fth 2.7 95/04/19 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Recursively decompile initialization chains. 5 | \ 6 | \ (see-chain) ( acf -- ) 7 | \ see-chain \ name ( -- ) 8 | 9 | only forth also hidden also forth definitions 10 | headers 11 | : (see-chain) ( acf -- ) 12 | dup definer ['] defer = if behavior then ( acf ) 13 | begin ( acf ) 14 | dup definer ['] : = exit? 0= and ( acf cont? ) 15 | while ( acf ) 16 | dup .x dup (see) >body ( apf ) 17 | dup token@ dup ['] (") = if ( apf acf' ) 18 | drop ta1+ +str token@ ( acf" ) 19 | else ( apf acf' ) 20 | nip ( acf' ) 21 | then ( acf"|acf' ) 22 | repeat ( acf"|acf' ) 23 | drop ( ) 24 | ; 25 | : see-chain \ name ( -- ) 26 | ' ['] (see-chain) catch if drop then 27 | ; 28 | 29 | only forth also definitions 30 | -------------------------------------------------------------------------------- /obp/fm/lib/showspac.fth: -------------------------------------------------------------------------------- 1 | \ showspac.fth 2.2 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ show-space ( -- ) displays the amount of remaining space in the 5 | \ resident and transient dictionaries 6 | 7 | : show-space ( -- ) 8 | base @ >r decimal 9 | ." Bytes available (decimal): Resident: " limit here - . 10 | ." Transient " hedge there - . cr 11 | r> base ! 12 | ; 13 | -------------------------------------------------------------------------------- /obp/fm/lib/sparc/bitops.fth: -------------------------------------------------------------------------------- 1 | \ bitops.fth 2.2 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ id bitops.fth 1.1 88/06/02 5 | 6 | code bitset ( bit# array -- ) 7 | \ Adr in tos 8 | sp scr pop \ Bit# in scr 9 | h# 80 sc1 move \ Mask 10 | scr 7 sc2 and \ Bit Shift count 11 | scr 3 sc4 srl \ Byte offset in sc4 12 | tos sc4 sc3 ldub \ Get the byte 13 | sc1 sc2 sc1 srl \ Interesting bit in sc1 14 | sc1 sc3 sc3 or \ Set the appropriate bit 15 | sc3 tos sc4 stb \ Put the byte back 16 | sp tos pop \ Clean up stack 17 | c; 18 | code bitclear ( bit# array -- ) 19 | \ Adr in tos 20 | sp scr pop \ Bit# in scr 21 | h# 80 sc1 move \ Mask 22 | scr 7 sc2 and \ Bit Shift count 23 | scr 3 sc4 srl \ Byte offset in sc4 24 | tos sc4 sc3 ldub \ Get the byte 25 | sc1 sc2 sc1 srl \ Interesting bit in sc1 26 | sc3 sc1 sc3 andn \ Clear the appropriate bit 27 | sc3 tos sc4 stb \ Put the byte back 28 | sp tos pop \ Clean up stack 29 | c; 30 | code bittest ( bit# array -- flag ) 31 | \ Adr in tos 32 | sp scr pop \ Bit# in scr 33 | h# 80 sc1 move \ Mask 34 | scr 7 sc2 and \ Bit Shift count 35 | scr 3 sc4 srl \ Byte offset in sc4 36 | tos sc4 sc3 ldub \ Get the byte 37 | sc1 sc2 sc1 srl \ Interesting bit in sc1 38 | sc1 sc3 sc3 andcc \ Clear the appropriate bit 39 | 0<> if 40 | false tos move \ Expect false (delay slot) 41 | true tos move \ True 42 | then 43 | c; 44 | -------------------------------------------------------------------------------- /obp/fm/lib/sparc/ctrace.fth: -------------------------------------------------------------------------------- 1 | id: @(#)ctrace.fth 2.5 04/04/15 19:10:01 2 | purpose: 3 | copyright: Copyright 1990-2004 Sun Microsystems, Inc. All Rights Reserved 4 | copyright: Use is subject to license terms. 5 | \ Copyright 1985-1990 Bradley Forthware 6 | 7 | \ After a crash, displays a backtrace of C stack frames. 8 | \ This assumes the stack format used by the Sun SPARC C compiler. 9 | 10 | only forth also hidden also forth definitions 11 | 12 | headerless 13 | defer .subname ( adr -- ) 14 | \ : .8x ( n -- ) push-hex 8 u.r pop-base ; 15 | ' .x is .subname 16 | 17 | : >reg ( reg# -- addr ) 18 | dup 3 >> case 19 | 0 of addr %g0 endof 20 | 1 of addr %o0 endof 21 | 2 of addr %l0 endof 22 | 3 of addr %i0 endof 23 | endcase ( reg# base ) 24 | swap h# 7 and la+ 25 | ; 26 | : >ea ( instruction -- address ) 27 | dup h# 1000 and if ( instruction ) \ Immediate 28 | dup d# 20 << d# 12 >>a ( instruction immediate ) 29 | else 30 | dup h# 1f and >reg l@ ( instruction regval ) 31 | then 32 | swap d# 14 >> h# 1f and >reg l@ + ( target-address ) 33 | ; 34 | : decode-jmpl ( instruction -- false | target true ) 35 | dup h# 81f80000 and h# 81c00000 = if >ea true else drop false then 36 | ; 37 | : .subroutine ( return-adr -- ) \ Show subroutine address 38 | dup pointer-bad? over 0= or if drop ." XXXXXXX " exit then 39 | dup l@ th c000.0000 and th 4000.0000 = if \ call instruction ? 40 | ." call " dup l@ th 3fff.ffff and 2 << + .subname 41 | else 42 | \ XXX decode the address specification from the jmpl 43 | \ if that address spec references OUT's or GLOBAL's, we can't 44 | \ be sure that it is correct. The next window context contains 45 | \ the relevant registers. 46 | l@ decode-jmpl if 47 | ." jmpl " .subname \ indirect call (jmpl) 48 | else 49 | ." ???? " 50 | then 51 | then 52 | ; 53 | : .2x ( n -- ) push-hex 2 u.r pop-base ; 54 | : .c-call ( -- exit? ) 55 | %o7 .subroutine ." from " %o7 .subname cr 56 | ." " window# .2x ." w %o0-%o5: (" addr %o0 6 .ndump ." )" cr 57 | cr exit? 58 | ; 59 | 60 | headers 61 | : ctrace ( -- ) \ C stack backtrace 62 | state-valid @ 0= if ." No saved state" exit then 63 | ." PC: " %pc .subname cr 64 | ." Last leaf: " 65 | 66 | window# ( previous-window# ) 67 | 0w begin .c-call (+w) or until ( previous-window# ) 68 | set-window 69 | ; 70 | -------------------------------------------------------------------------------- /obp/fm/lib/sparc/decompm.fth: -------------------------------------------------------------------------------- 1 | \ decompm.fth 2.9 94/06/11 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Machine/implementation-dependent definitions 5 | decimal 6 | headerless 7 | 8 | only forth also hidden also definitions 9 | : dictionary-base ( -- adr ) origin ; 10 | 11 | \ forth definitions 12 | \ defer hi-segment-base ' here is hi-segment-base 13 | \ defer hi-segment-limit ' here is hi-segment-limit 14 | \ defer lo-segment-base ' origin is lo-segment-base 15 | \ defer lo-segment-limit ' here is lo-segment-limit 16 | \ hidden definitions 17 | 18 | : ram/rom-in-dictionary? ( adr -- flag ) 19 | dup #talign 1- and 0= if 20 | dup lo-segment-base lo-segment-limit within 21 | swap hi-segment-base hi-segment-limit within or 22 | else 23 | drop false 24 | then 25 | ; 26 | 27 | ' ram/rom-in-dictionary? is in-dictionary? 28 | 29 | \ True if adr is a reasonable value for the interpreter pointer 30 | : reasonable-ip? ( adr -- flag ) 31 | dup in-dictionary? if ( ip ) 32 | #talign 1- and 0= \ must be token-aligned 33 | else 34 | drop false 35 | then 36 | ; 37 | 38 | \ variable isvar \ already defined 39 | \ create iscreate \ already defined 40 | 41 | headerless0 42 | only forth also definitions 43 | headers 44 | -------------------------------------------------------------------------------- /obp/fm/lib/sparc/external.fth: -------------------------------------------------------------------------------- 1 | \ external.fth 2.6 94/09/06 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ external: defining word for "constants" whose value is the value 5 | \ of an external symbol to be resolved by the linker. Usage example: 6 | \ 7 | \ p" _root_node" external: root-node 8 | \ 9 | \ Later: 10 | \ 11 | \ root-node . 12 | \ 13 | 14 | : do-external ( apf -- ext-adr ) does> aligned l@ ; 15 | transient 16 | : $external: \ name ( external-name-adr,len -- ) 17 | create align dictionary-size 0 l, ( external-name-adr,len offset ) 18 | -rot $add-reference 19 | do-external 20 | ; 21 | resident 22 | -------------------------------------------------------------------------------- /obp/fm/lib/sparc/ftrace.fth: -------------------------------------------------------------------------------- 1 | \ ftrace.fth 2.2 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Display a Forth stack backtrace 5 | only forth also hidden also forth definitions 6 | 7 | : ftrace ( -- ) \ Forth stack 8 | %ip >saved .traceline 9 | %rp >saved rssave-end swap (rstrace 10 | ; 11 | 12 | only forth also definitions 13 | -------------------------------------------------------------------------------- /obp/fm/lib/sparc/lmove.fth: -------------------------------------------------------------------------------- 1 | \ lmove.fth 2.4 94/05/30 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | code lmove (s from-addr to-addr cnt -- ) 5 | sp 1 /n* scr nget \ Src into scr 6 | sp 0 /n* sc1 nget \ Dst into sc1 7 | 8 | scr tos scr add \ Src = src+cnt (optimize for low-to-high copy) 9 | sc1 tos sc1 add \ Dst = dst+cnt 10 | sc1 4 sc1 sub \ Account for the position of the addcc instruction 11 | %g0 tos tos subcc \ Negate cnt 12 | 13 | <> if 14 | nop 15 | begin 16 | scr tos sc2 ld \ (delay) Load byte 17 | tos 4 tos addcc \ (delay) Increment cnt 18 | >= until 19 | sc2 sc1 tos st \ Store byte 20 | then 21 | 22 | sp 2 /n* tos nget \ Delete 3 stack items 23 | sp 3 /n* sp add \ " 24 | c; 25 | code wmove (s from-adr to-adr #bytes -- ) 26 | sp 1 /n* scr nget \ Src into scr 27 | sp 0 /n* sc1 nget \ Dst into sc1 28 | 29 | scr tos scr add \ Src = src+cnt (optimize for low-to-high copy) 30 | sc1 tos sc1 add \ Dst = dst+cnt 31 | sc1 2 sc1 sub \ Account for the position of the addcc instruction 32 | %g0 tos tos subcc \ Negate cnt 33 | 34 | <> if 35 | nop 36 | begin 37 | scr tos sc2 lduh \ (delay) Load byte 38 | tos 2 tos addcc \ (delay) Increment cnt 39 | >= until 40 | sc2 sc1 tos sth \ Store byte 41 | then 42 | 43 | sp 2 /n* tos nget \ Delete 3 stack items 44 | sp 3 /n* sp add \ " 45 | c; 46 | -------------------------------------------------------------------------------- /obp/fm/lib/split.fth: -------------------------------------------------------------------------------- 1 | id: @(#)split.fth 2.3 95/04/19 2 | purpose: 3 | copyright: Copyright 1995 Sun Microsystems, Inc. All Rights Reserved 4 | \ Copyright 1985-1990 Bradley Forthware 5 | 6 | headers 7 | : lbsplit ( l -- b.lo b.1 b.2 b.hi ) lwsplit >r wbsplit r> wbsplit ; 8 | : bljoin ( b.lo b.1 b.2 b.hi -- l ) bwjoin >r bwjoin r> wljoin ; 9 | 10 | 64\ : xwsplit ( x -- w.lo w.2 w.3 w.hi ) xlsplit >r lwsplit r> lwsplit ; 11 | 64\ : wxjoin ( w.lo w.2 w.3 w.hi -- x ) wljoin >r wljoin r> lxjoin ; 12 | 13 | 64\ : xbsplit ( x -- b.lo b.2 b.3 b.4 b.5 b.6 b.7 b.hi ) 14 | 64\ xlsplit >r lbsplit r> lbsplit 15 | 64\ ; 16 | 64\ : bxjoin ( b.lo b.2 b.3 b.4 b.5 b.6 b.7 b.hi -- x ) 17 | 64\ bljoin >r bljoin r> lxjoin 18 | 64\ ; 19 | -------------------------------------------------------------------------------- /obp/fm/lib/strings.fth: -------------------------------------------------------------------------------- 1 | \ strings.fth 2.10 96/07/25 2 | \ Copyright 1985-1994 Bradley Forthware 3 | 4 | \ Primitives to concatenate ( "cat ), and print ( ". ) strings. 5 | decimal 6 | headerless 7 | 8 | h# 260 buffer: string2 9 | 10 | headerless0 11 | 12 | : save-string ( pstr1 -- pstr2 ) string2 "copy string2 ; 13 | 14 | headers 15 | : $number ( adr len -- true | n false ) 16 | $dnumber? case 17 | 0 of true endof 18 | 1 of false endof 19 | 2 of drop false endof 20 | endcase 21 | ; 22 | 23 | headerless 24 | : $hnumber ( adr len -- true | n false ) push-hex $number pop-base ; 25 | headers 26 | 27 | \ Here is a direct implementation of $number, except that it doesn't handle 28 | \ DPL, and it allows , in addition to . for number punctuation 29 | \ : $number ( adr len -- n false | true ) 30 | \ 1 0 2swap ( sign n adr len ) 31 | \ bounds ?do ( sign n ) 32 | \ i c@ base @ digit if ( sign n digit ) 33 | \ swap base @ ul* + ( sign n' ) 34 | \ else ( sign n char ) 35 | \ case ( sign n ) 36 | \ ascii - of swap negate swap endof ( -sign n ) 37 | \ ascii . of endof ( sign n ) 38 | \ ascii , of endof ( sign n ) 39 | \ ( sign n char ) drop nip 0 swap leave ( 0 n ) 40 | \ endcase 41 | \ then 42 | \ loop ( sign|0 n ) 43 | \ over if ( sign n ) 44 | \ * false ( n' false ) 45 | \ else ( 0 n ) 46 | \ 2drop true ( true ) 47 | \ then 48 | \ ; 49 | -------------------------------------------------------------------------------- /obp/fm/lib/stubs.fth: -------------------------------------------------------------------------------- 1 | \ stubs.fth 2.7 01/05/18 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved 4 | 5 | \ stubs.fth -- stubby words until source straightens out 6 | 7 | : dispose ; 8 | : start-module ; : end-module ; 9 | : light ; immediate 10 | : dark ; immediate 11 | : headerless0 ; 12 | 13 | resident 14 | : headers ; 15 | : headerless ; 16 | : external ; 17 | -------------------------------------------------------------------------------- /obp/fm/lib/substrin.fth: -------------------------------------------------------------------------------- 1 | \ substrin.fth 2.6 94/09/06 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ High level versions of string utilities needed for sifting 5 | 6 | only forth also hidden also definitions 7 | decimal 8 | forth definitions 9 | \ True if str1 is a substring of str2 10 | : substring? ( adr1 len1 adr2 len2 -- flag ) 11 | rot tuck ( adr1 adr2 len1 len2 len1 ) 12 | < if drop 2drop false else tuck $= then 13 | ; 14 | 15 | headerless 16 | : unpack-name ( anf where -- where) \ Strip funny chars from a name field 17 | swap name>string rot pack 18 | ; 19 | hidden definitions 20 | : 4drop ( n1 n2 n3 n4 -- ) 2drop 2drop ; 21 | : 4dup ( n1 n2 n3 n4 -- n1 n2 n3 n4 n1 n2 n3 n4 ) 2over 2over ; 22 | 23 | headers 24 | forth definitions 25 | : sindex ( adr1 len1 adr2 len2 -- n ) 26 | 0 >r 27 | begin ( adr1 len1 adr2' len2' ) 28 | \ If string 1 is longer than string 2, it is not a substring 29 | 2 pick over > if 4drop r> drop -1 exit then 30 | 4dup substring? if 4drop r> exit then 31 | \ Not found, so remove the first character from string 2 and try again 32 | swap 1+ swap 1- 33 | r> 1+ >r 34 | again 35 | ; 36 | only forth also definitions 37 | -------------------------------------------------------------------------------- /obp/fm/lib/suspend.fth: -------------------------------------------------------------------------------- 1 | \ suspend.fth 2.7 99/05/04 2 | \ Copyright 1985-1994 Bradley Forthware 3 | 4 | \ Smart keyboard driven exit 5 | \ Type q to abort the listing, anything else to pause it. 6 | \ While it's paused, type q to abort, anything else to resume. 7 | 8 | decimal 9 | 10 | only forth also hidden also 11 | hidden definitions 12 | 13 | headerless 14 | variable 1-more-line? 1-more-line? off 15 | true value page-mode? 16 | 17 | forth definitions 18 | headers 19 | : no-page ( -- ) false is page-mode? ; 20 | : page-mode ( -- ) true is page-mode? ; 21 | headerless 22 | : (reset-page) #line off 1-more-line? off ; 23 | ' (reset-page) is reset-page 24 | : suspend ( -- flag ) 25 | #line off 26 | ??cr dark ." More [,,q,n,p,c] ? " light 27 | key #out @ (cr spaces (cr #out off 28 | dup ascii q = if drop true exit then 29 | dup ascii n = if drop true exit then 30 | dup ascii p = if drop page-mode false exit then 31 | dup ascii c = if drop no-page false exit then 32 | dup linefeed = swap carret = or if 1-more-line? on then 33 | false 34 | ; 35 | d# 24 value default-#lines 36 | headers 37 | 38 | defer lines/page ' default-#lines is lines/page 39 | 40 | headerless 41 | : (exit?) ( -- flag ) \ True if the listing should be stopped 42 | interactive? 0= if false exit then 43 | 44 | \ In case we start with lines/page already too large, we clear it out 45 | page-mode? if #line @ lines/page u>= if suspend exit then then 46 | 1-more-line? @ if 1-more-line? off suspend exit then 47 | page-mode? if #line @ 1+ lines/page = if suspend exit then then 48 | key? if 49 | key ascii q = if #line off true else suspend then 50 | else 51 | false 52 | then 53 | ; 54 | headers 55 | defer exit? 56 | ' (exit?) is exit? 57 | only forth also definitions 58 | -------------------------------------------------------------------------------- /obp/fm/lib/th.fth: -------------------------------------------------------------------------------- 1 | \ id: @(#)th.fth 2.6 96/06/04 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Modified by M.Milendorf 4 | \ and again by Tayfun. 5 | \ Copied over by Dave Redman from Tayfun's tree. 6 | \ 7 | \ Temporary hex, and temporary decimal. "h#" interprets the next word 8 | \ as though the base were hex, regardless of what the base happens to be. 9 | \ "d#" interprets the next word as though the base were decimal. 10 | \ "o#" interprets the next word as though the base were octal. 11 | \ "b#" interprets the next word as though the base were binary. 12 | 13 | \ Also, words to stash and set, and retrieve, the base during execution 14 | \ of a word in which they're used. The words of the form push- 15 | \ (where is hex, decimal, etcetera) does the equivalent of 16 | \ base @ >r The word pop-base recovers the old base... 17 | 18 | decimal 19 | : #: \ name ( base -- ) \ Define a temporary-numeric-mode word 20 | create c, immediate 21 | does> 22 | base @ >r c@ base ! 23 | parse-word 24 | 2dup 2>r $handle-literal? 0= if 25 | 2r@ $compile 26 | then 27 | 2r> 2drop 28 | r> base ! 29 | ; 30 | 31 | \ The old names; use h# and d# instead 32 | 10 #: td 33 | 16 #: th 34 | 35 | : push-base: \ name ( base -- ) \ Define a base stash-and-set word 36 | create c, 37 | does> r> base @ >r >r c@ base ! 38 | ; 39 | 40 | \ Stash the old base on the return stack and set the base to ... 41 | 10 push-base: push-decimal 42 | 16 push-base: push-hex 43 | 44 | 2 push-base: push-binary 45 | 8 push-base: push-octal 46 | 47 | \ Retrieve the old base from the return stack 48 | : pop-base ( -- ) r> r> base ! >r ; 49 | 50 | headers 51 | 52 | 2 #: b# \ Binary number 53 | 8 #: o# \ Octal number 54 | 10 #: d# \ Decimal number 55 | 16 #: h# \ Hex number 56 | 57 | headers 58 | -------------------------------------------------------------------------------- /obp/fm/lib/transien.fth: -------------------------------------------------------------------------------- 1 | \ transien.fth 2.10 99/05/04 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Transient vocabulary 5 | \ 6 | \ transient ( -- ) Compile following definitions into the 7 | \ transient dictionary 8 | \ Nested 'transient's are *not* allowed 9 | \ resident ( -- ) Compile following definitions into the resident 10 | \ dictionary. 11 | 12 | decimal 13 | 0 value transize 14 | 0 value transtart 15 | 16 | 0 value there 17 | 0 value hedge 18 | 0 value ouser 19 | \ Two dictionary pointers exist, for transient space and 20 | \ resident space. "Here" always points to the set currently being used. 21 | \ "There" points to the "other" one. 22 | \ "limit" is top of current space, "hedge" is top of other space 23 | \ "ouser" is the other user area allocation pointer. 24 | 0 value transient? 25 | 26 | hex 27 | : set-transize ( transient-size user-transient-size -- ) 28 | over 0= if ( 0 user-transient-size ) 29 | transize if ( 0 user-transient-size ) 30 | transtart transize + is limit ( 0 user-transient-size ) 31 | then ( 0 user-transient-size ) 32 | drop is transize ( ) 33 | exit 34 | then 35 | 36 | there transtart <> abort" Cannot change transient area unless unused." 37 | 38 | user-size swap - is ouser 39 | 40 | is transize 41 | limit is hedge \ Top of transient space 42 | hedge transize - is transtart 43 | transtart is there 44 | transtart is limit 45 | ; 46 | decimal 47 | \ \t16 decimal 30000 set-transize 48 | \ \t32 decimal 40000 set-transize 49 | 50 | : exchange ( -- ) \ switch "here" with "there" 51 | here there dp ! is there 52 | limit hedge is limit is hedge 53 | 54 | #user @ ouser #user ! is ouser 55 | \ XXX need to support limit checking for user area too. 56 | ; 57 | 58 | : in-any-dictionary? ( adr -- flag ) 59 | dup origin here between ( adr flag ) 60 | transize if 61 | swap transtart dup transize + between or 62 | else 63 | nip 64 | then 65 | ; 66 | ' in-any-dictionary? is in-dictionary? 67 | 68 | false value suppress-transient? 69 | : transient ( -- ) 70 | suppress-transient? if exit then 71 | transient? abort" Nested transient's not allowed" 72 | true is transient? 73 | exchange 74 | ; 75 | : resident ( -- ) transient? if false is transient? exchange then ; 76 | 77 | : headerless: ( r-xt -- ) origin+ create 0 setalias ; 78 | : header: ( r-xt -- ) drop [compile] \ ; immediate 79 | -------------------------------------------------------------------------------- /obp/fm/lib/unixedit.fth: -------------------------------------------------------------------------------- 1 | \ unixedit.fth 2.4 95/08/30 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ To make the line editor handle ^U and ^W just like Unix normally does 5 | 6 | only forth hidden also forth also keys-forth definitions 7 | 8 | headers 9 | : ^u beginning-of-line kill-to-end-of-line ; 10 | : ^w erase-previous-word ; 11 | : ^r retype-line ; 12 | : del erase-previous-character ; 13 | : ^c accepting? if ^u then ^x ; 14 | only forth also definitions 15 | -------------------------------------------------------------------------------- /obp/fm/lib/version.fth: -------------------------------------------------------------------------------- 1 | \ version.fth 2.6 01/05/24 2 | \ Copyright 1985-1994 Bradley Forthware 3 | \ copyright: Copyright 1994-2001 Sun Microsystems, Inc. All Rights Reserved 4 | 5 | headerless 6 | : .copyright (s -- ) 7 | ." Forthmacs version 4" cr 8 | ." Copyright (c) 1994 FirmWorks All Rights Reserved" cr 9 | ; 10 | headers 11 | ' .copyright is title 12 | -------------------------------------------------------------------------------- /obp/fm/lib/words.fth: -------------------------------------------------------------------------------- 1 | \ words.fth 2.9 02/11/26 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1990-2002 Sun Microsystems, Inc. All Rights Reserved 4 | \ Copyright Use is subject to license terms. 5 | 6 | \ Display the WORDS in the Context Vocabulary 7 | 8 | decimal 9 | 10 | only forth also definitions 11 | 12 | : over-vocabulary (s acf-of-word-to-execute voc-acf -- ) 13 | follow begin another? while ( acf anf ) 14 | n>link over execute ( acf ) 15 | repeat ( acf ) drop 16 | ; 17 | : +words (s -- ) 18 | 0 lmargin ! d# 64 rmargin ! d# 14 tabstops ! 19 | ??cr 20 | begin another? while ( anf ) 21 | dup name>string nip .tab ( anf ) 22 | .id ( ) 23 | exit? if exit then ( ) 24 | repeat ( ) 25 | ; 26 | : follow-to (s adr voc-acf -- error? ) 27 | follow begin another? while ( adr anf ) 28 | over u< if drop false exit then ( adr ) 29 | repeat ( adr ) 30 | drop true 31 | ; 32 | : prior-words (s adr -- ) 33 | context token@ follow-to if 34 | ." There are no words prior to this address." cr 35 | else 36 | +words 37 | then 38 | ; 39 | 40 | \ [ifdef] Daktari 41 | \ [message] XXX (words) and voc-words for Daktari 42 | : (words) ( lmarg rmarg tabs -- ) 43 | tabstops ! \ Set tab/column width 44 | rmargin ! \ Set right-hand margin 45 | lmargin ! \ Set left-hand margin 46 | ??cr 47 | 0 context token@ ( 0 voc-acf ) 48 | begin another-word? while ( alf voc-acf anf ) 49 | dup name>string nip .tab ( alf voc-acf anf ) 50 | .id ( alf voc-acf ) 51 | exit? if 2drop exit then ( alf voc-acf ) 52 | repeat ( ) 53 | ; 54 | \ [then] 55 | 56 | : words (s -- ) 57 | 0 lmargin ! d# 64 rmargin ! d# 14 tabstops ! ??cr 58 | 0 context token@ ( 0 voc-acf ) 59 | begin another-word? while ( alf voc-acf anf ) 60 | dup name>string nip .tab ( alf voc-acf anf ) 61 | .id ( alf voc-acf ) 62 | exit? if 2drop exit then ( alf voc-acf ) 63 | repeat ( ) 64 | ; 65 | 66 | \ [ifdef] Daktari 67 | \ voc-words -- List all words in a specified vocabulary 68 | 69 | : voc-words (s lmarg rmarg tabs vocabulary-xt -- ) 70 | also execute \ Select specified vocabulary 71 | (words) \ List out the vocabulary 72 | previous \ Discard specified vocabulary 73 | ; 74 | \ [then] 75 | 76 | only definitions forth also 77 | : words words ; \ Version for 'root' vocabulary 78 | only forth also definitions 79 | -------------------------------------------------------------------------------- /obp/fm/meta/conf64.fth: -------------------------------------------------------------------------------- 1 | \ @(#)conf64.fth 1.3 01/05/18 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1994-2001 Sun Microsystems, Inc. All Rights Reserved 4 | 5 | only forth also definitions 6 | 7 | warning @ warning off 8 | : 16\ [compile] \ ; immediate 9 | : 32\ [compile] \ ; immediate 10 | : 64\ ; immediate 11 | warning ! 12 | 13 | : \itc-t ( -- ) [compile] \ ; immediate 14 | : \dtc-t ( -- ) ; immediate 15 | : \ttc-t ( -- ) [compile] \ ; immediate 16 | : \t8-t ( -- ) [compile] \ ; immediate 17 | : \t16-t ( -- ) [compile] \ ; immediate 18 | : \t32-t ( -- ) ; immediate 19 | -------------------------------------------------------------------------------- /obp/fm/meta/conft32.fth: -------------------------------------------------------------------------------- 1 | \ @(#)conft32.fth 2.7 01/05/18 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1990-2001 Sun Microsystems, Inc. All Rights Reserved 4 | 5 | only forth also definitions 6 | 7 | warning @ warning off 8 | : 16\ [compile] \ ; immediate 9 | : 32\ ; immediate 10 | : 64\ [compile] \ ; immediate 11 | warning ! 12 | 13 | : \itc-t ( -- ) [compile] \ ; immediate 14 | : \dtc-t ( -- ) ; immediate 15 | : \ttc-t ( -- ) [compile] \ ; immediate 16 | : \t8-t ( -- ) [compile] \ ; immediate 17 | : \t16-t ( -- ) [compile] \ ; immediate 18 | : \t32-t ( -- ) ; immediate 19 | -------------------------------------------------------------------------------- /obp/fm/meta/nswapmap.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: nswapmap.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | \ Null byte swap table management 43 | 44 | decimal 45 | 46 | only forth also meta also definitions 47 | h# 10000 constant max-kernel-t 48 | 49 | : set-swap-bit-t ( addr -- ) drop ; 50 | : note-string-t ( adr len -- adr len ) ; 51 | : init-swap-t ( -- ) ; 52 | -------------------------------------------------------------------------------- /obp/fm/meta/sparc/fixvoc.fth: -------------------------------------------------------------------------------- 1 | \ fixvoc.fth 2.3 93/11/01 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | only forth meta also forth also definitions 5 | \ Nasty kludge to resolve the to pointer to the does> clause of vocabulary 6 | \ within "forth". The problem is that the code field of "forth" contains 7 | \ a call instruction to the does> clause of vocabulary. This call is a 8 | \ forward reference which cannot be resolved in the same way as compiled 9 | \ addresses. 10 | 11 | : used-t ( definer-acf child-acf -- ) 12 | \t32-t \ Construct a call instruction to the definer acf 13 | \t32-t 2dup - n->l 2 >> h# 4000.0000 or ( definer-acf child-acf call-instr ) 14 | \t32-t swap [ also meta ] l!-t [ previous ] ( definer-acf ) drop 15 | \t16-t [ also meta ] token!-t [ previous ] 16 | ; 17 | 18 | : fix-vocabularies ( -- ) 19 | [""] also symbols find previous ( acf true | str false ) 20 | 0= abort" Can't find in symbols" 21 | dup resolution@ >r ( acf ) ( RS: -adr ) 22 | dup first-occurrence@ ( acf occurrence ) 23 | \ Don't let fixall muck with this entry later 24 | 0 rot first-occurrence! ( occurrence ) 25 | begin another-occurrence? while ( occurrence ) 26 | dup [ meta ] rlink@-t [ forth ] swap ( next-occurrence occurrence ) 27 | r@ swap used-t 28 | repeat 29 | r> drop 30 | ; 31 | -------------------------------------------------------------------------------- /obp/os/bootprom/allocsym.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: allocsym.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)allocsym.fth 2.3 90/11/28 43 | purpose: 44 | copyright: Copyright 1990 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | headerless 47 | 48 | : allocate-symtab ( size -- adr ) 49 | alloc-mem 50 | ; 51 | headers 52 | -------------------------------------------------------------------------------- /obp/os/bootprom/eject.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: eject.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)eject.fth 1.3 94/09/06 43 | purpose: 44 | copyright: Copyright 1993 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | headers 47 | 48 | : $eject ( alias$ -- ) 49 | 2dup " eject" execute-device-method if 50 | 2drop 51 | else 52 | ." Don't know how to eject " type 53 | then 54 | ; 55 | : eject ( -- ) \ device-name 56 | parse-word dup 0= if 2drop " floppy" then $eject 57 | ; 58 | -------------------------------------------------------------------------------- /obp/os/bootprom/fwfileop.fth: -------------------------------------------------------------------------------- 1 | id: @(#)fwfileop.fth 1.5 01/04/06 2 | purpose: File I/O interface using Open Firmware 3 | copyright: Copyright 1994 FirmWorks All Rights Reserved 4 | copyright: Copyright 1994-2001 Sun Microsystems, Inc. All Rights Reserved 5 | 6 | \ Closes an open file, freeing its descriptor for reuse. 7 | 8 | headerless 9 | : _ofclose ( file# -- ) 10 | bfbase @ bflimit @ over - free-mem \ Hack! Hack! 11 | close-dev 12 | ; 13 | 14 | \ Writes "count" bytes from the buffer at address "adr" to a file. 15 | \ Returns the number of bytes actually written. 16 | 17 | : _ofwrite ( adr #bytes file# -- #written ) " write" rot $call-method ; 18 | 19 | \ Reads at most "count" bytes into the buffer at address "adr" from a file. 20 | \ Returns the number of bytes actually read. 21 | 22 | : _ofread ( adr #bytes file# -- #read ) " read" rot $call-method ; 23 | 24 | \ Positions to byte number "l.byte#" in a file 25 | 26 | : _ofseek ( d.byte# file# -- ) " seek" rot $call-method drop ; 27 | 28 | \ Returns the current size "l.size" of a file 29 | 30 | : _ofsize ( file# -- d.size ) " size" rot $call-method ; 31 | 32 | \ Prepares a file for later access. Name is the pathname of the file 33 | \ and mode is the mode (0 read, 1 write, 2 modify). If the operation 34 | \ succeeds, returns the addresses of routines to perform I/O on the 35 | \ open file and true. If the operation fails, returns false. 36 | 37 | : _ofopen 38 | ( name mode -- [ fid mode sizeop alignop closeop writeop readop ] okay? ) 39 | >r count open-dev 40 | dup 0= if r> 2drop false exit then ( fid ) 41 | r@ ['] _ofsize ['] _dfalign ['] _ofclose ['] _ofseek 42 | r@ r/o = if ['] nullwrite else ['] _ofwrite then 43 | r> w/o = if ['] nullread else ['] _ofread then 44 | true 45 | ; 46 | 47 | \ .( XXX fwfileop.fth: need ofmake ) cr 48 | 49 | stand-init: Install do-fopen 50 | ['] _ofopen to do-fopen 51 | ; 52 | 53 | 54 | -------------------------------------------------------------------------------- /obp/os/bootprom/siftdevs.fth: -------------------------------------------------------------------------------- 1 | id: @(#)siftdevs.fth 1.5 00/09/15 2 | purpose: Sift through the device-tree, using the enhanced display format. 3 | copyright: Copyright 1994 FirmWorks All Rights Reserved 4 | copyright: Copyright 1995-1999 Sun Microsystems, Inc. All Rights Reserved 5 | 6 | only forth also hidden also definitions 7 | 8 | headerless 9 | 10 | \ Plug this in to the "hook" for showing a name only once. 11 | \ Show the name of the device being sifted. 12 | : .dev ( -- ) .in ." device " pwd ['] noop is .voc ; 13 | 14 | \ Sift through the given node, 15 | \ using the sift-string packed into pad . 16 | \ Control the display with exit? 17 | : (sift-node?) ( node-acf -- exit? ) 18 | ['] .dev is .voc 19 | pad count rot 20 | vsift? 21 | ; 22 | 23 | 24 | \ Sift through the current device-node, 25 | \ using the sift-string packed into pad . 26 | \ and controlling the display with exit? 27 | : (sift-dev?) ( -- exit? ) 28 | context-voc (sift-node?) 29 | ; 30 | 31 | \ Do the actual work, using the sift-string given 32 | \ on the stack as addr,len and the ACF of 33 | \ either sift-dev or sift-props (also given) 34 | : $sift-nodes ( addr len ACF -- ) 35 | >r 36 | pad place 37 | current-voc also \ Save current search-order 38 | root-node r@ execute 0= if \ Search root-device as well! 39 | r@ ['] (search-preorder) catch 2drop 40 | then r> drop 41 | previous current token! \ Restore old search-order 42 | ; 43 | 44 | 45 | headers 46 | forth definitions 47 | 48 | \ Sift through all the device-nodes for the string given on the stack 49 | : $sift-devs ( addr len -- ) 50 | ['] (sift-dev?) $sift-nodes 51 | ; 52 | 53 | \ Sift through all the device-nodes for the string given in the input stream. 54 | : sift-devs \ name ( -- ) 55 | safe-parse-word $sift-devs 56 | ; 57 | 58 | only forth also definitions 59 | -------------------------------------------------------------------------------- /obp/os/stand/romable.fth: -------------------------------------------------------------------------------- 1 | \ romable.fth 2.5 94/09/01 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Warns about stores into the dictionary to help catch non-ROMable code. 5 | forth definitions 6 | headerless 7 | : variable nuser ; 8 | : 2variable 2 /n* ualloc user ; 9 | : lvariable /l ualloc user ; 10 | : n! ( val adr -- ) ! ; 11 | : shared-variable nuser ; 12 | headers 13 | 14 | -------------------------------------------------------------------------------- /obp/os/stand/sparc/notmeta.fth: -------------------------------------------------------------------------------- 1 | \ notmeta.fth 2.2 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | headerless 5 | : \m ; immediate 6 | headers 7 | 8 | -------------------------------------------------------------------------------- /obp/os/stand/sysuart.fth: -------------------------------------------------------------------------------- 1 | id: @(#)sysuart.fth 2.11 00/08/02 2 | purpose: 3 | copyright: Copyright 1985-1990 Bradley Forthware 4 | copyright: Copyright 1990-2000 Sun Microsystems, Inc. All Rights Reserved 5 | 6 | headerless 7 | : install-uart-io ( -- ) 8 | ['] lf-pstr ['] newline-pstring (is 9 | ['] ukey? ['] key? (is 10 | ['] ukey ['] (key (is 11 | ['] uemit ['] (emit (is 12 | ['] default-type ['] (type (is 13 | ['] emit1 ['] emit (is 14 | ['] type1 ['] type (is 15 | ['] crlf ['] cr (is 16 | ['] true ['] (interactive? (is 17 | ['] key1 ['] key (is 18 | ; 19 | headers 20 | -------------------------------------------------------------------------------- /obp/os/sun/aout.fth: -------------------------------------------------------------------------------- 1 | \ aout.fth 2.4 97/01/23 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Support for reading "a.out" (linker) files 5 | \ This is system-dependent; this version is correct for Sun Microsystems' 6 | \ implementation of 4.2 BSD. Other systems may be more or less different 7 | \ For instance, Masscomp splits the a_magic field into 2 16-bit words. 8 | \ System V uses a "common object file format" which is much different. 9 | 10 | decimal 11 | headerless 12 | struct \ "a.out-header" structure - a.out header 13 | 0 field a_magicword \ Alias for the next 4 bytes as a whole 14 | /c field a_toolversion 15 | /c field a_machtype 16 | /w field a_magic 17 | /l field a_text 18 | /l field a_data 19 | /l field a_bss 20 | /l field a_syms 21 | /l field a_entry 22 | /l field a_trsize 23 | /l field a_drsize 24 | constant /a.out-header 25 | /a.out-header buffer: a.out-header 26 | 27 | \ Words which return the size in bytes of various components of the a.out file 28 | 29 | : /text ( -- size-of-text-segment ) a.out-header a_text l@ ; 30 | : /data ( -- size-of-data-segment ) a.out-header a_data l@ ; 31 | : /bss ( -- size-of-bss-segment ) a.out-header a_bss l@ ; 32 | : /syms ( -- size-of-symbol-table ) a.out-header a_syms l@ ; 33 | : /reloc ( -- size-of-relocation ) a.out-header a_trsize l@ 34 | a.out-header a_drsize l@ + ; 35 | : entry-adr ( -- load-address ) a.out-header a_entry l@ ; 36 | 37 | \ Words which return the offset from the start of the a.out file of various 38 | \ components of the a.out file 39 | 40 | : text0 ( -- file-address-of-text ) /a.out-header ; 41 | : data0 ( -- file-address-of-data ) text0 /text + ; 42 | : reloc0 ( -- file-address-of-relocation ) data0 /data + ; 43 | : syms0 ( -- file-address-of-symbols ) reloc0 /reloc + ; 44 | : string0 ( -- file-address-of-strings ) syms0 /syms + ; 45 | 46 | : ?magic ( -- ) 47 | a.out-header a_magic w@ h# 107 <> 48 | abort" Magic number is not (octal) 407" 49 | ; 50 | : read-header ( -- ) 51 | a.out-header 4 ifd @ fgets 4 <> abort" Can't read the magic number" 52 | ?magic 53 | a.out-header 4 + /a.out-header 4 - ifd @ fgets 54 | /a.out-header 4 - <> abort" Can't read header" 55 | ; 56 | headers 57 | -------------------------------------------------------------------------------- /obp/os/sun/exports.fth: -------------------------------------------------------------------------------- 1 | \ exports.fth 2.6 94/09/06 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ Words to export Forth procedures and user variable to the linker. 5 | 6 | \ needs "= ../extensions/stringeq.fth 7 | \ needs /sym ../unix/nlist.fth 8 | \ needs add-symbol ../unix/symtab.fth 9 | \ needs relocation-table ../unix/sparc/reloc.fth 10 | \ needs add-call ../unix/sparc/call.fth 11 | 12 | : $export-procedure ( adr name-adr,len -- ) 13 | rot origin- -rot external-procedure $add-symbol 14 | ; 15 | : $export-variable ( adr name-adr,len -- ) 16 | rot up@ - -rot external-variable $add-symbol 17 | ; 18 | -------------------------------------------------------------------------------- /obp/os/sun/nlist.fth: -------------------------------------------------------------------------------- 1 | \ nlist.fth 2.5 01/04/06 2 | \ Copyright 1985-1990 Bradley Forthware 3 | \ Copyright 1994-2001 Sun Microsystems, Inc. All Rights Reserved 4 | 5 | \ : struct ( -- 0 ) 0 ; Use lib/struct.fth 6 | \ : field ( offset size -- offset' ) 7 | \ create over , + 8 | \ does> @ + 9 | \ ; 10 | 11 | headerless 12 | struct \ symbol table entry 13 | /l field sym_strx 14 | /c field sym_type 15 | /c field sym_other 16 | /w field sym_desc 17 | /l field sym_value 18 | constant /aout-symbol 19 | 20 | \ Interesting values for sym_type 21 | \ 5 constant external-procedure \ unused dup 22 | \ 7 constant external-variable \ unused dup 23 | 24 | headers 25 | -------------------------------------------------------------------------------- /obp/os/sun/sparc/elf.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: elf.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)elf.fth 1.3 01/04/06 43 | purpose: 44 | copyright: Copyright 1991-2001 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | \ ELF SPARC relocation type codes 47 | h# 3 constant sparc-32 48 | \ h# 7 constant sparc-wdisp30 49 | h# 9 constant sparc-hi22 50 | h# c constant sparc-lo10 51 | 52 | \ Elf32 linker expects 'adr' to be 0 53 | : sparc-wdisp30 ( adr -- 0 7 ) drop 0 ( sparc-wdisp30 ) 7 ; 54 | -------------------------------------------------------------------------------- /obp/os/sun/sparc/forth.dic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/obp/os/sun/sparc/forth.dic -------------------------------------------------------------------------------- /obp/os/sun/sparc/signal.fth: -------------------------------------------------------------------------------- 1 | \ signal.fth 2.3 98/10/21 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | decimal 5 | only forth also definitions 6 | vocabulary signals 7 | signals also definitions 8 | 9 | 32 constant NSIG 10 | 11 | 1 constant SIGHUP \ hangup 12 | 2 constant SIGINT \ interrupt 13 | 3 constant SIGQUIT \ quit 14 | 4 constant SIGILL \ illegal instruction not reset when caught 15 | 5 constant SIGTRAP \ trace trap not reset when caught 16 | 6 constant SIGIOT \ IOT instruction 17 | 7 constant SIGEMT \ EMT instruction 18 | 8 constant SIGFPE \ floating point exception 19 | 9 constant SIGKILL \ kill cannot be caught or ignored 20 | 10 constant SIGBUS \ bus error 21 | 11 constant SIGSEGV \ segmentation violation 22 | 12 constant SIGSYS \ bad argument to system call 23 | 13 constant SIGPIPE \ write on a pipe with no one to read it 24 | 14 constant SIGALRM \ alarm clock 25 | 15 constant SIGTERM \ software termination signal from kill 26 | 16 constant SIGURG \ urgent condition on IO channel 27 | 17 constant SIGSTOP \ sendable stop signal not from tty 28 | 18 constant SIGTSTP \ stop signal from tty 29 | 19 constant SIGCONT \ continue a stopped process 30 | 20 constant SIGCHLD \ to parent on child stop or exit 31 | 21 constant SIGTTIN \ to readers pgrp upon background tty read 32 | 22 constant SIGTTOU \ like TTIN for output if tp->t_local<OSTOP 33 | 23 constant SIGIO \ input/output possible signal 34 | 24 constant SIGXCPU \ exceeded CPU time limit 35 | 25 constant SIGXFSZ \ exceeded file size limit 36 | 26 constant SIGVTALRM \ virtual time alarm 37 | 27 constant SIGPROF \ profiling time alarm 38 | 28 constant SIGWINCH \ window changed 39 | 40 | -1 constant BADSIG 41 | 0 constant SIG_DFL 42 | 1 constant SIG_IGN 43 | 44 | : signal ( handler signal# -- oldhandler ) 45 | td 23 syscall lretval l>r 2drop lr> 46 | ; 47 | only forth also definitions 48 | -------------------------------------------------------------------------------- /obp/os/unix/simforth/sparc/depend.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: depend.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)depend.mk 1.1 99/11/30 43 | # purpose: 44 | # copyright: Copyright 1995 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | ${BP}/os/unix/simforth/sparc/simforth: 47 | cd ${BP}/os/unix/simforth/sparc; ${MAKE} ${MFLAGS} simforth 48 | 49 | -------------------------------------------------------------------------------- /obp/os/unix/sparc/arcbpsup.fth: -------------------------------------------------------------------------------- 1 | \ arcbpsup.fth 2.3 90/09/03 2 | \ Copyright 1985-1990 Bradley Forthware 3 | 4 | \ System-architecture-dependent definitions for breakpoints. 5 | \ Version for running as a Unix user process. 6 | 7 | : unix-breakpoint-trap? ( -- flag ) 8 | [ also hidden ] exception l@ [ signals ] SIGILL = [ previous ] 9 | ; 10 | 11 | code flush-instruction ( adr -- ) 12 | tos 0 iflush 13 | sp tos pop 14 | c; 15 | 16 | : unix-op! ( op adr -- ) dup flush-instruction l! ; 17 | 18 | : install-unix-bp ( -- ) 19 | h# 0000.0000 is breakpoint-opcode \ An illegal instruction 20 | ['] unix-breakpoint-trap? is breakpoint-trap? 21 | ['] l@ is op@ ['] unix-op! is op! 22 | ; 23 | install-unix-bp 24 | 25 | : unix-init ( -- ) unix-init install-unix-bp ; 26 | -------------------------------------------------------------------------------- /obp/os/unix/sparc/forth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/obp/os/unix/sparc/forth -------------------------------------------------------------------------------- /obp/os/unix/sparcv9/forth: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/obp/os/unix/sparcv9/forth -------------------------------------------------------------------------------- /obp/pkg/confvar/definitions/confvoc/boolean.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: boolean.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)boolean.fth 1.1 01/11/30 43 | purpose: Boolean keyword vocabulary 44 | copyright: Copyright 2001 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | resident 47 | headers 48 | vocabulary boolean-voc also boolean-voc definitions 49 | 50 | false byte-keyword false 51 | true byte-keyword true 52 | 53 | previous definitions 54 | headerless 55 | -------------------------------------------------------------------------------- /obp/pkg/confvar/definitions/confvoc/recovery-types-voc.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: recovery-types-voc.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)recovery-types-voc.fth 1.1 01/11/02 43 | purpose: Keyword vocabulary for error-reset-recovery 44 | copyright: Copyright 2001 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | resident 47 | headers 48 | vocabulary recovery-types also recovery-types definitions 49 | 50 | 0 byte-keyword none 51 | 1 byte-keyword boot 52 | 2 byte-keyword sync 53 | 54 | previous definitions 55 | headerless 56 | -------------------------------------------------------------------------------- /obp/pkg/fcode/vfcodes.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: vfcodes.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)vfcodes.fth 1.1 06/02/07 43 | purpose: Common sun vendor fcode token number assignments 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | fload ${BP}/pkg/fcode/vfcodes/cmn-msg.fth 48 | -------------------------------------------------------------------------------- /obp/pkg/keyboard/tables/usb/aliases.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: aliases.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | \ id: @(#)aliases.fth 1.1 99/07/23 43 | \ purpose: 44 | \ copyright: Copyright 1999 Sun Microsystems, Inc. All Rights Reserved 45 | \ 46 | 47 | decimal 48 | 49 | 0 33 alias-keyboard: undefined kend-alias 50 | 30 33 alias-keyboard: taiwan kend-alias 51 | 15 33 alias-keyboard: japan kend-alias 52 | 16 33 alias-keyboard: korea kend-alias 53 | -------------------------------------------------------------------------------- /obp/pkg/keyboard/tables/usb/keyboard.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: keyboard.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)keyboard.mk 1.3 99/12/06 43 | # purpose: 44 | # copyright: Copyright 1999 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | include ${BP}/pkg/keyboard/tables/usb/depend.mk 47 | 48 | usbkbds.dat: ${BP}/pkg/keyboard/tables/usb/builddi.fth 49 | ( BP=${BP}; export BP; \ 50 | ${FORTHTOOL} ${BP}/pkg/keyboard/tables/usb/builddi.fth ) 51 | 52 | usbkbds.di: usbkbds.dat 53 | ${MAKEDI} usbkbds.dat usbkbds 54 | -------------------------------------------------------------------------------- /obp/pkg/keyboard/translator/get-properties.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: get-properties.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | \ id: @(#)get-properties.fth 1.3 99/04/29 43 | \ purpose: 44 | \ copyright: Copyright 1998 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | " /options" find-package drop constant /options 47 | 48 | : keymap ( -- adr len ) 49 | " keymap" /options get-package-property if 50 | 0 0 51 | then 52 | ; 53 | 54 | fload ${BP}/pkg/keyboard/translator/options.fth 55 | 56 | -------------------------------------------------------------------------------- /obp/pkg/keyboard/translator/kbdtrans.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: kbdtrans.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)kbdtrans.mk 1.3 99/12/01 43 | # purpose: 44 | # copyright: Copyright 1999 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | include ${BP}/pkg/keyboard/translator/depend.mk 47 | 48 | kbdtrans.di: kbdtrans.fc 49 | ${MAKEDI} kbdtrans.fc support-pkg 50 | 51 | -------------------------------------------------------------------------------- /obp/pkg/loadpkg.fth: -------------------------------------------------------------------------------- 1 | id: @(#)loadpkg.fth 1.6 05/02/14 2 | purpose: 3 | copyright: Copyright 1994 Firmworks All Rights Reserved 4 | copyright: Copyright 2005 Sun Microsystems, Inc. All Rights Reserved 5 | copyright: Use is subject to license terms. 6 | 7 | fload ${BP}/dev/deblock.fth \ Block-to-byte conversion package 8 | fload ${BP}/pkg/boot/sunlabel.fth \ Sun Disk Label package 9 | fload ${BP}/pkg/termemu/loadfb.fth \ Frame buffer & terminal emulator 10 | fload ${BP}/pkg/boot/bootparm.fth \ S boot command parser 11 | fload ${BP}/os/bootprom/callback.fth \ Client callbacks 12 | fload ${BP}/pkg/console/instcons.fth \ install-console 13 | fload ${BP}/arch/sun4u/go.fth \ Initial program state 14 | fload ${BP}/os/bootprom/dlbin.fth \ Serial line loading 15 | fload ${BP}/pkg/dhcp/macaddr.fth 16 | fload ${BP}/os/bootprom/dload.fth \ Diagnostic loading 17 | fload ${BP}/pkg/sunlogo/logo.fth 18 | fload ${BP}/pkg/console/sysconfig.fth \ System configuration information 19 | fload ${BP}/pkg/console/banner.fth \ Banner with logo 20 | [ifndef] Littleneck? 21 | fload ${BP}/arch/sun4u/help.fth \ Help package 22 | [else] 23 | [message] XXX FIXME! HELP PKG REMOVED XXX 24 | [then] 25 | -------------------------------------------------------------------------------- /obp/pkg/netinet/obptftp.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: obptftp.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)obptftp.mk 1.1 04/09/07 43 | # purpose: 44 | # copyright: Copyright 2004 Sun Microsystems, Inc. All Rights Reserved 45 | # copyright: Use is subject to license terms. 46 | 47 | include ${BP}/pkg/netinet/depend.mk 48 | 49 | obptftp.di: obptftp.fc 50 | ${MAKEDI} obptftp.fc support-pkg 51 | -------------------------------------------------------------------------------- /obp/pkg/sun4v-asr/asr.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: asr.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)asr.mk 1.1 06/02/16 43 | # purpose: 44 | # copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | # Use is subject to license terms. 46 | 47 | asr.fc: ${FORTH} ${TOKENIZEDIC} 48 | 49 | asr.di: ${TOOLS}/makedi asr.fc 50 | ${MAKEDI} asr.fc support-pkg 51 | 52 | include ${BP}/pkg/sun4v-asr/depend.mk 53 | 54 | -------------------------------------------------------------------------------- /obp/pkg/sunlogo/logo.mk: -------------------------------------------------------------------------------- 1 | # ========== Copyright Header Begin ========================================== 2 | # 3 | # Hypervisor Software File: logo.mk 4 | # 5 | # Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | # 7 | # - Do no alter or remove copyright notices 8 | # 9 | # - Redistribution and use of this software in source and binary forms, with 10 | # or without modification, are permitted provided that the following 11 | # conditions are met: 12 | # 13 | # - Redistribution of source code must retain the above copyright notice, 14 | # this list of conditions and the following disclaimer. 15 | # 16 | # - Redistribution in binary form must reproduce the above copyright notice, 17 | # this list of conditions and the following disclaimer in the 18 | # documentation and/or other materials provided with the distribution. 19 | # 20 | # Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | # may be used to endorse or promote products derived from this software 22 | # without specific prior written permission. 23 | # 24 | # This software is provided "AS IS," without a warranty of any kind. 25 | # ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | # INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | # PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | # MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | # ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | # DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | # OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | # FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | # DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | # ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | # SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | # 37 | # You acknowledge that this software is not designed, licensed or 38 | # intended for use in the design, construction, operation or maintenance of 39 | # any nuclear facility. 40 | # 41 | # ========== Copyright Header End ============================================ 42 | # id: @(#)logo.mk 1.1 99/11/05 43 | # purpose: 44 | # copyright: Copyright 1999 Sun Microsystems, Inc. All Rights Reserved 45 | 46 | sun-logo.di: sun-logo.dat 47 | ${MAKEDI} sun-logo.dat sunlogo 48 | 49 | sun-logo.dat: ${BP}/pkg/sunlogo/mklogo.fth 50 | sun-logo.dat: ${BP}/pkg/sunlogo/logodata.fth 51 | ( BP=${BP}; export BP; ${FORTHTOOL} ${BP}/pkg/sunlogo/mklogo.fth ) 52 | -------------------------------------------------------------------------------- /obp/pkg/tokenizr/sparc/tokenize.dic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/obp/pkg/tokenizr/sparc/tokenize.dic -------------------------------------------------------------------------------- /obp/pkg/tokenizr/vendorfcodes.fth: -------------------------------------------------------------------------------- 1 | \ ========== Copyright Header Begin ========================================== 2 | \ 3 | \ Hypervisor Software File: vendorfcodes.fth 4 | \ 5 | \ Copyright (c) 2006 Sun Microsystems, Inc. All Rights Reserved. 6 | \ 7 | \ - Do no alter or remove copyright notices 8 | \ 9 | \ - Redistribution and use of this software in source and binary forms, with 10 | \ or without modification, are permitted provided that the following 11 | \ conditions are met: 12 | \ 13 | \ - Redistribution of source code must retain the above copyright notice, 14 | \ this list of conditions and the following disclaimer. 15 | \ 16 | \ - Redistribution in binary form must reproduce the above copyright notice, 17 | \ this list of conditions and the following disclaimer in the 18 | \ documentation and/or other materials provided with the distribution. 19 | \ 20 | \ Neither the name of Sun Microsystems, Inc. or the names of contributors 21 | \ may be used to endorse or promote products derived from this software 22 | \ without specific prior written permission. 23 | \ 24 | \ This software is provided "AS IS," without a warranty of any kind. 25 | \ ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, 26 | \ INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A 27 | \ PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED. SUN 28 | \ MICROSYSTEMS, INC. ("SUN") AND ITS LICENSORS SHALL NOT BE LIABLE FOR 29 | \ ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR 30 | \ DISTRIBUTING THIS SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN 31 | \ OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR 32 | \ FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE 33 | \ DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, 34 | \ ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF 35 | \ SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 36 | \ 37 | \ You acknowledge that this software is not designed, licensed or 38 | \ intended for use in the design, construction, operation or maintenance of 39 | \ any nuclear facility. 40 | \ 41 | \ ========== Copyright Header End ============================================ 42 | id: @(#)vendorfcodes.fth 1.5 06/02/16 43 | purpose: Vendor FCode token number assignments 44 | copyright: Copyright 2006 Sun Microsystems, Inc. All Rights Reserved 45 | copyright: Use is subject to license terms. 46 | 47 | fload ${BP}/pkg/fcode/vfcodes/obdiag.fth 48 | fload ${BP}/pkg/fcode/vfcodes/sun4v.fth 49 | fload ${BP}/pkg/fcode/vfcodes/cmn-msg.fth 50 | -------------------------------------------------------------------------------- /tools/fscope/sparc/fscope: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/tools/fscope/sparc/fscope -------------------------------------------------------------------------------- /tools/fscope/sparcv9/fscope: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/tools/fscope/sparcv9/fscope -------------------------------------------------------------------------------- /tools/gen-seeprom/gen-seeprom: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/tools/gen-seeprom/gen-seeprom -------------------------------------------------------------------------------- /tools/libdef/sparc/libdef.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/tools/libdef/sparc/libdef.a -------------------------------------------------------------------------------- /tools/libdef/sparcv9/libdef.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/tools/libdef/sparcv9/libdef.a -------------------------------------------------------------------------------- /tools/libxref/sparc/libxref.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/tools/libxref/sparc/libxref.a -------------------------------------------------------------------------------- /tools/libxref/sparcv9/libxref.a: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/openbios/openboot/1a08f436a931a5cedc10112a106dc1ae09d5507d/tools/libxref/sparcv9/libxref.a -------------------------------------------------------------------------------- /tools/move-if-changed.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # move-if-changed 4 | # 5 | # if (file2 != file1) then copy file2 to file1. 6 | # 7 | src=$1 8 | dest=$2 9 | tmp1=$src.tmp 10 | tmp2=$dest.tmp 11 | 12 | RM="/usr/bin/rm -f" 13 | GREP="/usr/bin/grep" 14 | SCCS="/usr/ccs/bin/sccs" 15 | CP="/usr/bin/cp -p" 16 | TOUCH="/usr/bin/touch" 17 | CMP="/usr/bin/cmp -s" 18 | CHMOD="/usr/bin/chmod" 19 | 20 | $RM $tmp1 $tmp2 21 | $GREP -v '#' $src > $tmp1 22 | $GREP -v '#' $dest > $tmp2 23 | $TOUCH $tmp1 $tmp2 24 | if $CMP $tmp1 $tmp2; then 25 | /bin/true 26 | else 27 | dir=`dirname $src`; 28 | fname=`basename $src`; 29 | here=`pwd`; 30 | cd $dir 31 | $CHMOD -w $fname 32 | $RM SCCS/p.$fname 33 | $SCCS edit $fname > /dev/null 34 | cd $here 35 | $CP -f $dest $src 36 | fi 37 | $RM $tmp1 $tmp2 $dest 38 | exit 0 39 | --------------------------------------------------------------------------------