;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Sample Bootstrap First Stage Configuration File ; ; Bootstrap First Stage configuration files consist of ; an include of the configuration macros in "bs1.inc", ; followed by configuration macros for option selection, ; macros for the devices, and the "end" macro. ; ; The CPU selection macro determines what type of CPU is used. ; If the type is 80186 or 80188, the iAPX_186_init macro is ; invoked to specify the programmimg of the chip select registers. ; ; CPU(cpu type) Specifies the type of CPU. The bootstrap recognizes ; 80186 and 80188 as CPUs requiring special programming. ; Other cpu types are ignored. ; ; iAPX_186_init(R, UMCS, LMCS, MMCS, MPCS, PACS) ; ; Specifies the values for the chip selects and mode ; for 80186 and 80188 CPUs. This may only be invoked ; after a CPU(80186) ot CPU(80188) macro. R should ; be set to 'yes' to place the 186 in R mode. For ; information on the other argments, see iAPX 186 ; documentation. ; ; The option selection macros have no arguments and serve to ; determine how the bootstrap will determine the boot file ; name and boot device. If no options are selected, the ; second stage default file name ("/system/rmx86" for named ; file volumes) and a single boot device are used. ; ; console Causes the bootstrap to input the file name ; from a console device. ; ; auto Causes the bootstrap to use automatic device ; selection (hunts for first ready device). ; ; manual Causes the bootstrap to use manual device ; selection based on the file name input from ; the console. This macro automatically invokes ; console and auto. ; ; loadfile Causes the bootstrap to print the pathname of the file ; that it is attempting to load. This message is printed ; after a ready device has been found and the second stage ; has been loaded. ; ; defaultfile Used to indicate the name of the file to be ; loaded when console is not specified, or the default ; device and/or file to be used if console is specified ; but no file is given. If this macro is not used, the ; default file name is '/system/rmx86'. ; ; retries(x) Causes the bootstrap to try to find a ready device (when ; in manual or automatic) x times. If it fails after x times, ; an error will be generated. If this macro is not invoked, ; the bootstrap will try forever. The valid range for x ; is 1 to 0fffeh. ; ; cico Indicates that the bootstrap will be linked to ; user or intel supplied ci/co routines rather than ; the monitor ci/co routines. ; ; serial_channel (ser_type, ser_base_port, ser_port_delta, ; cntr_type, cntr_base_port, cntr_port_delta, ; baud_counter, count, flags) ; ; Configuration of intel supplied standalone ci/co routines. ; If the cico macro has been invoked, and intel ci/co ; routines are desired, invoke one of the default ; invocations to configure the proper serial channel. ; Consult the iRMX 86 Bootstrap Loader reference manual for ; information on how to use the serialchannel macro for ; custom hardware configurations. ; ; ; ; The device macros give characteristics of the devices and ; the search sequence for automatic device selection. ; ; device(Name, Unit, Device$init, Device$read) ; ; Name is the device name. No quotes are needed. ; Unit is the unit number. ; Device$init is the device$init procedure of the ; bootstrap device driver for the device. ; Device$read is the device$read procedure of the ; bootstrap device driver for the device. ; ; If neither auto or manual device selection is used, only ; one device macro can be given. ; ; The file must end with an end macro. ; ; Macros called have a percent sign, others have a semicolon. ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; name bs1 $include(:f1:bcico.inc) $include(:f1:bs1.inc) %cpu(8086) ;iAPX_186_INIT(y,0fc38h,none,80bbh,none,003bh) ; 188/48 board ;iAPX_186_INIT(y,none,none,80bbh,none,0038h) ; 186/03 and 186/51 boards ; %console %manual %auto %loadfile %defaultfile('/system/rmx86') %retries(5) ; ;cico ; ; iSBC 86/05/12a/14/30 ;serial_channel(8251a,0d8h,2,8253,0d0h,2,2,8) ; ; iSBX 351 (on iSBX #0) ;serial_channel(8251a,0A0h,2,8253,0B0h,2,2,8) ; ; 8MHz iSBC 186/03/51 ;serial_channel(8274,0d8h,2,80186,0ff00h,2,0,0dh) ;serial_channel(8274,0dah,2,80186,0ff00h,2,1,0dh) ;serial_channel(8274,0dah,2,80130,0e0h,2,2,034h) ; ; 6MHz iSBC 186/03/51 ;serial_channel(8274,0d8h,2,80186,0ff00h,2,0,0ah) ;serial_channel(8274,0dah,2,80186,0ff00h,2,1,0ah) ;serial_channel(8274,0dah,2,80130,0e0h,2,2,027h) ; ; iSBC 188/48 SCC #1 ;serial_channel(82530,0d0h,1,82530,0d0h,1,0,0eh,a) ;serial_channel(82530,0d2h,1,82530,0d2h,1,0,0eh,b) ; ; ; ; ; %device(f0, 0, deviceinit204, deviceread204) %device(f1, 1, deviceinit204, deviceread204) %device(f2, 2, deviceinit204, deviceread204) %device(f3, 3, deviceinit204, deviceread204) %device(af0, 0, deviceinit208gen, deviceread208gen) %device(af1, 1, deviceinit208gen, deviceread208gen) %device(af2, 2, deviceinit208gen, deviceread208gen) %device(af3, 3, deviceinit208gen, deviceread208gen) %device(d0, 0, deviceinit206, deviceread206) %device(w0, 0, deviceinit215gen, deviceread215gen) %device(wf0, 8, deviceinit215gen, deviceread215gen) %device(wf1, 9, deviceinit215gen, deviceread215gen) %device(wf2, 10, deviceinit215gen, deviceread215gen) %device(wf3, 11, deviceinit215gen, deviceread215gen) %device(pmf0, 0, deviceinit218Agen, deviceread218Agen) %device(bx0, 0, deviceinit251, deviceread251) %device(b0, 0, deviceinit254, deviceread254) %device(sa0, 0, deviceinitsasi, devicereadsasi) %device(sc0, 0, deviceinitscsi, devicereadscsi) %end