MSR Tutorial: MSR_Config and the AAL5_Download Utilitiy - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

MSR Tutorial: MSR_Config and the AAL5_Download Utilitiy

Description:

Actually, probably doesn't work from here right now because it is dependent on a ... still need to load symbol version of kernel into file system before downloading ... – PowerPoint PPT presentation

Number of Views:22
Avg rating:3.0/5.0
Slides: 17
Provided by: johnd51
Category:

less

Transcript and Presenter's Notes

Title: MSR Tutorial: MSR_Config and the AAL5_Download Utilitiy


1
MSR TutorialMSR_Configand theAAL5_Download
Utilitiy
John DeHartWashington University, Applied
Research Labjdd_at_arl.wustl.eduhttp//www.arl.wust
l.edu/arl/
2
MSR_Config
  • The MSR Configuration module and the beginnings
    of the MSR Control Processor Software

3
MSR Control Processor (CP)
  • PC connected to MSR Port 0
  • CP Software runs on Linux or NetBSD
  • Will use threads in the future
  • Eventually it will probably be only Linux
  • newGBNSC and Jammer
  • newGBNSC 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

4
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
    AAL5_Download
  • AAL5_Download to be discussed separately
  • MSR Kernel Initialization
  • system(3) and shell script to invoke MSR utility
    sendcmd
  • sendcmd to be discussed separately
  • Run
  • Currently exit()
  • Eventually thread invocation

5
Source and Executables
  • source location wu_arl/msr/cp/configuration
  • executable location
  • wu_arl/msr/bin/OSTYPE/MSR_Config
  • Actually, probably doesnt 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/configurati
    on)
  • msrDownload.sh (invokes AAL5_download)
  • INITIALIZATION/init.port (uses sendcmd and fip
    utilities)
  • When you get idle time during exercises, look
    through the various scripts

6
MSR_Config Usage
  • Typical usage
  • cd wu_arl/msr/cp/configuration
  • ./OSTYPE/MSR_Config f ltconfiguration filegt
  • other options
  • dq turn on Distributed Queueing
  • -fipl Turn on FIPL
  • -d turn on debug info
  • -p turn on WUGS read port test

7
AAL5_Download
  • Replaces old download_APIC utility
  • Can shotgun download to lt 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.

8
AAL5_Download
  • Implemented and runs in Stages
  • Stage1 uses APIC Control cells to
  • reset the SPC(s)
  • download Stage2 to run on the SPC(s)
  • Stage2 (boot.out) runs on the SPC
  • runs SPC boot code to configure CPU and
    Northbridge
  • configures APIC on SPC to use AAL5 descriptors
  • sends pings back to CP, waiting for Stage3
  • receives AAL5 frames from Stage3 and sends
    ACK/NACK
  • Stage3 runs on PC
  • syncs with Stage2
  • downloads the kernel or FS via 36KB AAL5 frames
  • retransmits if any errors

9
Simple View
Stage1
PC
SPC
VCI0x321
Stage1
APIC
VCI21
VCI21
VCI25
Stage3
VCI23
Stage2
VCI24
10
Sequential View
SPC Memory
PC
SPC
0x0
Boot and Stage2
Stage1
APIC
RESET
0x0FFE00
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1
Stage3
Stage2
Kernel and Filesystem
0x0100000
0xFFFFFFF0
Boot ROM
11
Source and Executables
  • source location wu_arl/utilities/SPC/AAL5Download
  • binary location
  • wu_arl/utilities/bin/OSTYPE/Stage1
  • wu_arl/utilities/bin/OSTYPE/Stage3
  • wu_arl/utilities/bin/OSTYPE/AAL5_download.sh
  • wu_arl/utilities/bin/OSTYPE/boot.out
  • wu_arl/utilities/bin/OSTYPE/FindNM

12
Usage
  • Individual command line commands
  • ./Stage1 shotgun 8 svci 21 rvci 21 dvci 23
    uvci 24 cvci 25
  • ./Stage3 shotgun 8 native netbsd.MSR both 24
  • ./Stage3 shotgun 8 bss SPC24MB.fs address
    0x0196434 both 24 -go
  • AAL5download.sh script
  • ./AAL5download 8 netbsd.MSR SCP24MB.fs 21 21 23
    24 25
  • Use from MSR Configuration Module
  • system(msrDownload.sh)

13
Special Usage Note on Linux
  • AAL5download.sh script
  • needs to be able to determine the start location
    for the File System
  • NetBSD uses nm(1)
  • Linux nm(1) wont work on a NetBSD binary
  • We have written a version of nm specifically for
    AAL5_download.sh FindNM
  • FindNM is used automatically when
    AAL5_download.sh is run on Linux

14
AAL5_download.sh Usage
  • gt ./AAL5_download.sh
  • Usage ./AAL5_download.sh ltnetbsd_filegt
    ltfilesystem_filegt ltstart_vcigt ltsecond_vcigt
    ltthird_vcigtltfourth_vcigt ltfifth_vcigt

15
Stage1 Usage
  • gt ./Stage1
  • ./Stage1 vpi/vci data load info
  • ./Stage1 -svpi (VPI for local sending of
    AAL5 control cells (0))
  • ./Stage1 -svci (VCI for local sending of
    AAL5 control cells)
  • ./Stage1 -rvpi (VPI for local reading of
    AAL5 control cells (0))
  • ./Stage1 -rvci (VCI for local reading of
    AAL5 control cells)
  • ./Stage1 -cvpi (VPI for remote CC writes of
    AAL5 control cells (0))
  • ./Stage1 -cvci (VCI for remote CC writes of
    AAL5 control cells)
  • ./Stage1 -dvpi (VPI for local write of AAL5
    data frames (0))
  • ./Stage1 -dvci (VCI for local write of AAL5
    data frames)
  • ./Stage1 -uvpi (VPI for local read of AAL5
    data frames (0))
  • ./Stage1 -uvci (VCI for local read of AAL5
    data frames)
  • ./Stage1 -resp (Response port of AAL5
    control cells)
  • ./Stage1 -start (Initial VCI sequence (41,
    42, 43, 44))
  • ./Stage1 -watch 0x (Monitor location for
    changes)
  • ./Stage1 -apic (Linux Apic Id (0 lt X lt
    3))
  • ./Stage1 -abit (Alternating bit setting)
  • ./Stage1 -file ltpathgt (Name of boot loader
    (boot.out))
  • ./Stage1 -swap (use htonl() on output)

16
Stage3 Usage
  • gt ./Stage3 -help
  • -switches (-help) args
  • -bss ltfilegt Load .bss format file
  • -native ltfilegt Load native uncompressed file
  • -strip Remove Symbols from kernel
  • -debug print lots of stuff
  • -verbose Dump Elf headers
  • -elf Elf format execution
  • -rvpi ltVPIgt Load VPI number
  • -rvci ltVCIgt Load VCI number
  • -svpi ltVPIgt Load VCI number
  • -svci ltVCIgt Load VCI number
  • -both ltVCIgt Set both VCI numbers
  • -address ltPhysAddrgt Load file at ltaddrgt
  • -start ltPhysAddrgt Start file at ltaddrgt
  • -go Start kernel
  • -shotgun ltcountgt Multicast loading 8X
Write a Comment
User Comments (0)
About PowerShow.com