MSR Tutorial MSRConfig and the AAL 5Download Utilitiy

  • Slides: 16
Download presentation
MSR Tutorial: MSR_Config and the AAL 5_Download Utilitiy John De. Hart Washington University, Applied

MSR Tutorial: MSR_Config and the AAL 5_Download Utilitiy John De. Hart Washington University, Applied Research Lab jdd@arl. wustl. edu http: //www. arl. wustl. edu/arl/ June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial

MSR_Config The MSR Configuration module and the beginnings of the MSR Control Processor Software

MSR_Config The MSR Configuration module and the beginnings of the MSR Control Processor Software June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial

MSR Control Processor (CP) • PC connected to MSR Port 0 • CP Software

MSR Control Processor (CP) • PC connected to MSR Port 0 • CP Software runs on Linux or Net. BSD – Will use threads in the future – Eventually it will probably be only Linux • new. GBNSC and Jammer – new. GBNSC: WUGS Switch Controller • Replaces old GBNSC – – Jammer: WUGS scripting language interpreter Not part of the CP Can still be used for monitoring CP takes care of its own WUGS connections • it formulates and sends WUGS control cells directly John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 3

Current CP: MSR_Config • Phases of Operation – Switch Reset (resets WUGS, SPCs and

Current CP: MSR_Config • Phases of Operation – Switch Reset (resets WUGS, SPCs and FPXs) – Switch Configuration • Build connections needed by MSR – Discovery • Determine what is on each port (SPC, FPX, Glink, …) – SPC • Configure connections for Download • Download – system(3) and shell script to invoke SPC utility: AAL 5_Download – AAL 5_Download to be discussed separately • MSR Kernel Initialization – uses sendcmd API library – Run • Currently: exit() • Eventually: thread invocation John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 4

Source and Executables • source location: wu_arl/msr/cp/configuration • executable location: – wu_arl/msr/bin/$OSTYPE/MSR_Config • Actually,

Source and Executables • source location: wu_arl/msr/cp/configuration • executable location: – wu_arl/msr/bin/$OSTYPE/MSR_Config • Actually, probably doesn’t work from here right now because it is dependent on a few scripts which are kept in the source directory. • For now, run it from the source directory: Ø cd wu_arl/msr/cp/configuration Ø Linux/MSR_Config –f config. MSR • This is how we will do it in the exercises • Scripts used (located in wu_arl/msr/cp/configuration) – msr. Download. sh (invokes AAL 5_download…) – INITIALIZATION: uses libcmd APIC: • wu_arl/msr/utils/command/cmd. API. [ch] • When you get idle time during exercises, look through the various scripts and source code. John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 5

MSR_Config Usage • Typical usage: Ø cd wu_arl/msr/cp/configuration Ø. /$OSTYPE/MSR_Config –f <configuration file> •

MSR_Config Usage • Typical usage: Ø cd wu_arl/msr/cp/configuration Ø. /$OSTYPE/MSR_Config –f <configuration file> • other options –drr: turn on DRR –dq: turn on Distributed Queueing -fipl: Turn on FIPL -d: turn on debug info -p: turn on WUGS read port test John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 6

AAL 5_Download • Replaces old download_APIC utility • Can “shotgun” download to <= 8

AAL 5_Download • Replaces old download_APIC utility • Can “shotgun” download to <= 8 SPCs at once – – Puts exactly same kernel on all 8 This works fine for MSR where we want same kernel May not be good for all uses “Shotgun” number controlled from command line • Can download kernel and file system separately – no need to load file system into kernel before download – still need to load symbol version of kernel into file system before downloading • Takes about 1 minute for the whole download and boot process. John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 7

AAL 5_Download • Implemented and runs in Stages: – Stage 1 uses APIC Control

AAL 5_Download • Implemented and runs in Stages: – Stage 1 uses APIC Control cells to: • reset the SPC(s) • download Stage 2 to run on the SPC(s) – Stage 2 (boot. out) runs on the SPC • • runs SPC boot code to configure CPU and Northbridge configures APIC on SPC to use AAL 5 descriptors sends pings back to CP, waiting for Stage 3 receives AAL 5 frames from Stage 3 and sends ACK/NACK – Stage 3 runs on PC • syncs with Stage 2 • downloads the kernel or FS via 36 KB AAL 5 frames • retransmits if any errors John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 8

Simple View Stage 1 PC VCI=21 Stage 3 John De. Hart SPC VCI=0 x

Simple View Stage 1 PC VCI=21 Stage 3 John De. Hart SPC VCI=0 x 321 VCI=25 VCI=24 VCI=23 June 17, 2002 APIC Stage 2 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 9

Sequential View PC Stage 1 SPC Memory Boot and Stage 2 SPC Control Reset

Sequential View PC Stage 1 SPC Memory Boot and Stage 2 SPC Control Reset cells cell 0 x 0 APIC RESET 0 0 0 0 1 0 x 0 FFE 00 Stage 3 AAL 5 Frames Stage 2 0 x. FFFFFFF 0 John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS Kernel and Filesystem 0 x 0100000 Boot ROM MSR Tutorial 10

Source and Executables • source location: wu_arl/utilities/SPC/AAL 5 Download • binary location: – –

Source and Executables • source location: wu_arl/utilities/SPC/AAL 5 Download • binary location: – – – wu_arl/utilities/bin/$OSTYPE/Stage 1 wu_arl/utilities/bin/$OSTYPE/Stage 3 wu_arl/utilities/bin/$OSTYPE/AAL 5_download. sh wu_arl/utilities/bin/$OSTYPE/boot. out wu_arl/utilities/bin/$OSTYPE/Find. NM John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 11

Usage • Individual command line commands –. /Stage 1 –shotgun 8 –svci 21 –rvci

Usage • Individual command line commands –. /Stage 1 –shotgun 8 –svci 21 –rvci 21 –dvci 23 –uvci 24 –cvci 25 –. /Stage 3 –shotgun 8 –native netbsd. MSR –both 24 –. /Stage 3 –shotgun 8 –bss SPC 24 MB. fs –address 0 x 0196434 –both 24 -go • AAL 5 download. sh script –. /AAL 5 download 8 netbsd. MSR SCP 24 MB. fs 21 21 23 24 25 • Use from MSR Configuration Module – system(msr. Download. sh); John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 12

Special Usage Note on Linux • AAL 5 download. sh script: – needs to

Special Usage Note on Linux • AAL 5 download. sh script: – needs to be able to determine the start location for the File System – Net. BSD uses nm(1) – Linux nm(1) won’t work on a Net. BSD binary – We have written a version of nm specifically for AAL 5_download. sh: Find. NM – Find. NM is used automatically when AAL 5_download. sh is run on Linux John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 13

AAL 5_download. sh Usage • • >. /AAL 5_download. sh Usage: . /AAL 5_download.

AAL 5_download. sh Usage • • >. /AAL 5_download. sh Usage: . /AAL 5_download. sh <netbsd_file> <filesystem_file> <start_vci> [<second_vci>] [<third_vci>][<fourth_vci>] [<fifth_vci>] John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 14

Stage 1 Usage • • • • • • >. /Stage 1: [vpi/vci data]

Stage 1 Usage • • • • • • >. /Stage 1: [vpi/vci data] [load info]. /Stage 1: [-svpi #] (VPI for local sending of AAL 5 control cells (0)). /Stage 1: [-svci #] (VCI for local sending of AAL 5 control cells). /Stage 1: [-rvpi #] (VPI for local reading of AAL 5 control cells (0)). /Stage 1: [-rvci #] (VCI for local reading of AAL 5 control cells). /Stage 1: [-cvpi #] (VPI for remote CC writes of AAL 5 control cells (0)). /Stage 1: [-cvci #] (VCI for remote CC writes of AAL 5 control cells). /Stage 1: [-dvpi #] (VPI for local write of AAL 5 data frames (0)). /Stage 1: [-dvci #] (VCI for local write of AAL 5 data frames). /Stage 1: [-uvpi #] (VPI for local read of AAL 5 data frames (0)). /Stage 1: [-uvci #] (VCI for local read of AAL 5 data frames). /Stage 1: [-resp #] (Response port of AAL 5 control cells). /Stage 1: [-start #] (Initial VCI sequence (41, 42, 43, 44)). /Stage 1: [-watch 0 x#] (Monitor location for changes). /Stage 1: [-apic #] (Linux: Apic Id (0 <= X <= 3)). /Stage 1: [-abit #] (Alternating bit setting). /Stage 1: [-file <path>] (Name of boot loader (boot. out)). /Stage 1: [-swap] (use htonl() on output). /Stage 1: [-shotgun #] (multicast loading 8 X). /Stage 1: [-msr #] (VCI for MSR ONLY AAL 5 data frames). /Stage 1: [-address #] (Physical data write address (0)). /Stage 1: [-noreset] (do not write reset register) John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 15

Stage 3 Usage • • • • • >. /Stage 3 -help [-switches] (-help)

Stage 3 Usage • • • • • >. /Stage 3 -help [-switches] (-help) args -bss <file> Load. bss format file -native <file> Load native uncompressed file -strip Remove Symbols from kernel -debug print lots of stuff -verbose Dump Elf headers -elf Elf format execution -rvpi <VPI> Load VPI number -rvci <VCI> Load VCI number -svpi <VPI> Load VCI number -svci <VCI> Load VCI number -both <VCI> Set both VCI numbers -address <Phys. Addr> Load file at <addr> -start <Phys. Addr> Start file at <addr> -go Start kernel -shotgun <count> Multicast loading 8 X John De. Hart June 17, 2002 Washington WASHINGTON UNIVERSITY IN ST LOUIS MSR Tutorial 16