|
|
1.1 ! root 1: \ ***************************************************************************** ! 2: \ * Copyright (c) 2004, 2011 IBM Corporation ! 3: \ * All rights reserved. ! 4: \ * This program and the accompanying materials ! 5: \ * are made available under the terms of the BSD License ! 6: \ * which accompanies this distribution, and is available at ! 7: \ * http://www.opensource.org/licenses/bsd-license.php ! 8: \ * ! 9: \ * Contributors: ! 10: \ * IBM Corporation - initial implementation ! 11: \ ****************************************************************************/ ! 12: ! 13: \ The master file. Everything else is included into here. ! 14: ! 15: hex ! 16: ! 17: ' ll-cr to cr ! 18: ! 19: #include "header.fs" ! 20: ! 21: #include "hvterm.fs" ! 22: ! 23: #include "base.fs" ! 24: ! 25: \ Little-endian accesses. Also known as `wrong-endian'. ! 26: #include <little-endian.fs> ! 27: ! 28: : #join ( lo hi #bits -- x ) lshift or ; ! 29: : #split ( x #bits -- lo hi ) 2dup rshift dup >r swap lshift xor r> ; ! 30: ! 31: : blink ; ! 32: : reset-dual-emit ; ! 33: : console-clean-fifo ; ! 34: : bootmsg-nvupdate ; ! 35: : asm-cout 2drop drop ; ! 36: ! 37: #include "logging.fs" ! 38: ! 39: : log-string 2drop ; ! 40: ! 41: #include "bootmsg.fs" ! 42: ! 43: 000 cp ! 44: ! 45: #include "exception.fs" ! 46: ! 47: : mm-log-warning 2drop ; ! 48: ! 49: : write-mm-log ( data length type -- status ) ! 50: 3drop 0 ! 51: ; ! 52: ! 53: 080 cp ! 54: ! 55: 100 cp ! 56: ! 57: \ Input line editing. ! 58: #include "accept.fs" ! 59: ! 60: 120 cp ! 61: ! 62: #include "dump.fs" ! 63: ! 64: cistack ciregs >r1 ! \ kernel wants a stack :-) ! 65: ! 66: #include "romfs.fs" ! 67: ! 68: 140 cp ! 69: ! 70: 200 cp ! 71: ! 72: 201 cp ! 73: #include <slof-logo.fs> ! 74: #include <banner.fs> ! 75: ! 76: : .banner .slof-logo .banner ; ! 77: ! 78: 220 cp ! 79: ! 80: DEFER find-boot-sector ( -- ) ! 81: ! 82: 240 cp ! 83: \ Timebase frequency, in Hz. Start with a good default ! 84: \ Use device-tree later to fix it up ! 85: d# 512000000 VALUE tb-frequency \ default value - needed for "ms" to work ! 86: -1 VALUE cpu-frequency ! 87: ! 88: #include "helper.fs" ! 89: 260 cp ! 90: ! 91: #include <timebase.fs> ! 92: ! 93: 280 cp ! 94: ! 95: 2c0 cp ! 96: ! 97: 2e0 cp ! 98: ! 99: #include <quiesce.fs> ! 100: ! 101: 300 cp ! 102: ! 103: #include <usb/usb-static.fs> ! 104: ! 105: 320 cp ! 106: ! 107: #include <scsi-loader.fs> ! 108: ! 109: 340 cp ! 110: ! 111: 360 cp ! 112: ! 113: #include "fdt.fs" ! 114: ! 115: 370 cp ! 116: ! 117: #include "tree.fs" ! 118: ! 119: 800 cp ! 120: ! 121: #include "nvram.fs" ! 122: ! 123: 880 cp ! 124: ! 125: #include "envvar.fs" ! 126: check-for-nvramrc ! 127: ! 128: 890 cp ! 129: ! 130: #include "qemu-bootlist.fs" ! 131: ! 132: 8a0 cp ! 133: ! 134: \ The client interface. ! 135: #include "client.fs" ! 136: \ ELF binary file format. ! 137: #include "elf.fs" ! 138: #include <loaders.fs> ! 139: ! 140: 8b0 cp ! 141: ! 142: 8e0 cp ! 143: ! 144: 8ff cp ! 145: ! 146: #include <start-up.fs> ! 147: ! 148: ." " \ Clear last checkpoint ! 149: ! 150: #include <boot.fs> ! 151: ! 152: cr .( Welcome to Open Firmware) ! 153: cr ! 154: #include "copyright-oss.fs" ! 155: cr cr ! 156: ! 157: \ this CATCH is to ensure the code bellow always executes: boot may ABORT! ! 158: ' start-it CATCH drop ! 159: ! 160: cr ." Ready!"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.