;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; Title: BS1.A86 ; ; The Bootstrap Loader First Stage configuration file consists of ; invocations of selected configuration macros for option selection, ; macros for the devices, and the "end" macro. ; ; ; CPU(cpu type) Specifies the type of CPU. The bootstrap recognizes ; 80186 and 80188 as CPUs requiring special programming. ; The type of CPU determines timing values to be used. ; ; The CPU selection macro determines what type of CPU is used. ; If the type is 80186 or 80188 and the iSDM monitor is not included on ; the CPU board, the iAPX_186_init macro can be invoked to specify the ; programmimg of the chip select registers. ; ; iAPX_186_init(RMX, UMCS, LMCS, MPCS, MMCS, PACS) ; Specifies the values for the chip selects and mode ; for 80186 and 80188 CPUs. This may only be invoked ; after a CPU(80186) or CPU(80188) macro. RMX should ; be set to 'yes' to place the 186 in iRMX mode. For ; information on the other argments, see iAPX 186 ; documentation. ; ; auto_configure_memory(btype,saddr) ; Specifies the bus type and optionally the starting address of ; memory. This macro is used only on Multibus II systems. The ; macro automatically configures all memory boards to LBX, PSB ; or both addresses. Only on PSB memory is a starting address ; other than the default of 0 allowed. The address should be ; the number of the starting 64K paragraph of PSB memory. This ; macro should only be specified when no monitor will be used and the ; Bootstrap Loader is the first code to be executed on reset. ; ; bist(address) ; Invokes the Built-In Self Tests (BIST) located at the given address. ; The address must be of the form base:offset. This macro should be ; specified only with systems containing a BIST. ; ; copy(src_lo,src_hi,dest_lo,dest_hi,count_lo,count_hi) ; This macro is used for 386/100 based systems and copies the first ; stage of the bootstrap loader to the low megabyte of ram. This macro ; should be specified when no monitor is used and the bootstrap loader ; is executed first on system reset. ; ; clear_sdm_extensions ; Calls the iSDM Command Extension Interface to clear ; any monitor command extensions that may be set This macro cannot ; be invoked if a standalone Bootstrap Loader is being configured. ; ; These option selection macros serve to determine how the bootstrap ; will determine the boot file name and boot device. ; ; 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' and is supplied ; by the second stage. ; ; 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. ; ; ; MBII Message Passing Bootstrap support configuration ; ; bmps( Base I/O port address of the message passing device (MPC) ; Separation between ports on the MPC ; MPC duty cycle on the local bus ; Base I/O port address of the DMA controller ; DMA channel used for data input ; DMA channel used for data output ; I/O port where DMA data transfers occur ; Data width of the local bus) ; ; 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 iRMX ci/co ; routines are desired, invoke one of the default ; invocations to configure the proper serial channel. ; Consult the Bootstrap Loader reference manual for ; information on how to use the serial channel 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, Device$unit$info) ; ; 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. ; Device$unit$info is a label corresponding to an invocation ; of the SASI$UNIT$INFO macro in BSCSI.A86. This is only ; needed if the SCSI driver is selected in the configuration. ; No other driver requires this value and it can be left blank. ; ; If neither auto nor 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:bmb2.inc) $include(:f1:bmps.inc) $include(:f1:bs1.inc) %cpu(80386) ; iSBC 188/48 initialization of the iAPX 188 ;iAPX_186_INIT(y,0fc38h,none,80bbh,none,003bh) ; iSBC 186/03(A) and iSBC 186/51 initialization of the iAPX 186 ;iAPX_186_INIT(y,none,none,80bbh,none,0038h) %console %manual %auto %loadfile %defaultfile('/system/rmx86') %retries(5) ;clear_sdm_extensions ;cico ; iSBC 86/05/12a/14/30/35 ;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) ; iSBX 354 Channel A (on iSBX #0) ;serial_channel(82530,084H,2,82530,084H,2,0,0eh,a) ; iSBX 354 Channel B (on iSBX #0) ;serial_channel(82530,080H,2,82530,080H,2,0,0eh,b) ; 8 MHz iSBC 186/03A Channel A ;serial_channel(8274,0d8h,2,80186,0ff00h,2,0,0dh) ; 8 MHz iSBC 186/03A Channel B ;serial_channel(8274,0dah,2,80186,0ff00h,2,1,0dh) ;serial_channel(8274,0dah,2,80130,0e0h,2,2,034h) ; 6 MHz iSBC 186/03/51 Channel A ;serial_channel(8274,0d8h,2,80186,0ff00h,2,0,0ah) ; 6 MHz iSBC 186/03/51 Channel B ;serial_channel(8274,0dah,2,80186,0ff00h,2,1,0ah) ;serial_channel(8274,0dah,2,80130,0e0h,2,2,027h) ; iSBC 188/48/56 SCC #1 Channel A ;serial_channel(82530,0d0h,1,82530,0d0h,1,0,0eh,a) ; iSBC 188/48/56 SCC #1 Channel B ;serial_channel(82530,0d2h,1,82530,0d2h,1,0,0eh,b) ; iSBC 286/10(A)/12 Channel A ;serial_channel(8274,0d8h,2,8254,0d0h,2,2,8) ; iSBC 286/10(A)/12 Channel B ;serial_channel(8274,0dah,2,8254,0d0h,2,1,8) ; iSBC 386/2X and iSBC 386/3X ;serial_channel(8251a,0d8h,2,8254,0d0h,2,2,8) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Multibus I devices ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; %device(af0, 0, deviceinit208gen, deviceread208gen) %device(af1, 1, deviceinit208gen, deviceread208gen) %device(w0, 0, deviceinitmscgen, devicereadmscgen) %device(w1, 1, deviceinitmscgen, devicereadmscgen) %device(wf0, 8, deviceinitmscgen, devicereadmscgen) %device(wf1, 9, deviceinitmscgen, devicereadmscgen) %device(s0, 0, deviceinitscsi, devicereadscsi) %device(sx1410a0, 0, deviceinitscsi, devicereadscsi, sasi_x1410a) %device(sx1410b0, 0, deviceinitscsi, devicereadscsi, sasi_x1410b) %device(smf0, 2, deviceinitscsi, devicereadscsi, sasi_x1420mf) %device(pmf0, 0, deviceinit218A, deviceread218A) %device(pb0, 0, deviceinit251, deviceread251) %device(b0, 0, deviceinit254, deviceread254) %device(ba0, 0, deviceinit264, deviceread264) %device(r0, 0, deviceinit552A, deviceread552A) %device(scw_2, 2, scsi_38612s_init, scsi_38612s_read) %device(scw_3, 3, scsi_38612s_init, scsi_38612s_read) %device(sqf0, 00H, scsi_38612s_init, scsi_38612s_read) %end