Alpha Microprocessors Motherboard Software Design Tools User’s Guide Order Number: EC–QHUWD–TE Revision/Update Information: This is a revised document. It supersedes the Alpha Microprocessors Motherboard Software Design Tools User’s Guide, EC–QHUWC–TE. Digital Equipment Corporation Maynard, Massachusetts http://www.digital.
October 1997 While DIGITAL believes the information included in this publication is correct as of the date of publication, it is subject to change without notice. Digital Equipment Corporation makes no representations that the use of its products in the manner described in this publication will not infringe on existing or future patent rights, nor do the descriptions contained in this publication imply the granting of licenses to make, use, or sell equipment or software in accordance with the description.
Contents Preface 1 Introduction 1.1 1.2 2 2–1 2–1 2–2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–1 3–1 ASTRIP 4.1 4.2 5 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tools Created or Modified. . . . . . . . . . . . . . . . . . . . . . .
6 CSTRIP 6.1 6.2 7 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9–1 9–1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12.2.3 12.3 12.3.1 12.3.2 12.3.2.1 12.3.2.2 12.3.2.3 12.4 12.5 12.6 13 12–3 12–4 12–5 12–6 12–6 12–7 12–7 12–8 12–8 12–9 12–10 12–11 12–13 12–14 12–15 12–16 12–17 12–18 12–21 12–22 12–23 12–24 12–25 12–26 12–30 12–32 12–33 12–34 12–35 12–36 RCSV 13.1 13.2 14 Description of PVC Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Labels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15 SROM Packer 15.1 15.2 16 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Support, Products, and Documentation Index vi Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Command Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figures 11–1 12–1 MAKEROM Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PVC Tool Map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tables 1–1 2–1 12–1 12–2 viii Software Design Tools Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tools and Supported Operating System. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PVC Label Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . PVC Label Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Preface Introduction This document describes the toolset used to develop Alpha microprocessor motherboard firmware. Audience The Alpha Microprocessors Motherboard Software Design Tools are for tool developers and designers who use the following Alpha microprocessors: 21164PC 21164 21068 21066A 21064A 21066 21064 Content Overview The information in this document is organized as follows: • Chapter 1 is a general overview of the software design tools.
• Chapter 3 through Chapter 17 describe the tools created or modified for the Alpha Microprocessors Software Design Tools Kit. • Appendix A contains information about technical support services and associated documentation. Conventions The following conventions are used in this document: x Convention Definition A percent sign (%) Indicates the DIGITAL UNIX operating system command prompt. A greater than sign (>) Indicates the Windows NT operating system command prompt.
1 Introduction 1.1 Overview This document describes tools that have been modified or created for designers who develop firmware for an Alpha microprocessor. With these tools, you can verify your PALcode and produce data to program SROMs in Intel Hex and Motorola S-record formats. 1.2 Software Design Tools Summary Table 1–1 summarizes the tools developed or modified for the software design tools.
Software Design Tools Summary Table 1–1 Software Design Tools Summary Tool Name Purpose Input HFCOMP Compresses an input file System ROM file (Sheet 2 of 2) Output Options Compressed file -v, -h, -t, -21164PC, -21164, -21066, -21064 MAKEROM Builds a ROM image ROM image files -o output file PVC Checks for PALcode violations Executable file, entry point file, map file Log Not applicable RCSV Generates an output file that can be used as an include file Source file Include file -h, -v SREC
2 Installation and Setup 2.1 Overview The Alpha Microprocessors Motherboard Software Design Tools are supported for Alpha microprocessor-based hardware that runs the DIGITAL UNIX or Windows NT operating system. To install the tools, see the Read Me First document. 2.2 Tools Created or Modified Table 2–1 lists the tools that have been created or modified for the software design tools and the operating systems that currently support them.
Sample Files Table 2–1 Tools and Supported Operating System (Sheet 2 of 2) Tool Name Description Operating System HFCOMP Compresses the specified input file using a Huffman encoding algorithm DIGITAL UNIX, Windows NT MAKEROM Builds a ROM image by adding header information and then concatenates the files DIGITAL UNIX, Windows NT PVC Checks for PALcode violations DIGITAL UNIX, Windows NT RCSV Generates an output file that can be used as an DIGITAL UNIX, include file Windows NT SREC Takes an
3 ALIST 3.1 Overview The ALIST tool produces a listing of disassembled object code and symbolic information from an a.out style object file generated by GAS. ALIST is also used to generate the entry point and map file for PVC. 3.
Command Format If ALIST is specified with no options or file information, then ALIST searches the current default directory for an a.out file, generates a listing of that object file, and sends the output to stdout. The list output may be piped to an output file. For example: % alist osfpal.o > osfpal.lis To produce an entry points file for PVC, enter this command: % alist -e osfpal.o > osfpal.ent To produce a PVC symbols (.map) file, enter this command: % alist -m osfpal.o > osfpal.
4 ASTRIP 4.1 Overview The ASTRIP tool postprocesses the object file produced by GAS for input into PVC, SROM, and SREC. This tool is used to strip header information from the object file. 4.2 Command Format The basic ASTRIP command format is: >% astrip [-options] input_file [> output_file] The following table lists the options: Option Designation Description v verbose Prints more information than usual. h help Prints information about how to use ASTRIP.
Command Format If an output file name is not specified, then the default for the DIGITAL UNIX operating system is the input file name with a .strip extension. For the Windows NT operating system, the default extension is .stp. For example, to produce an executable file format for PVC, enter this command: % astrip osfpal.o > osfpal.
5 CLIST 5.1 Overview The CLIST tool produces a listing from the coff format object file. 5.
6 CSTRIP 6.1 Overview The CSTRIP tool postprocesses a coff format object file. This tool strips header and trailer information and leaves the code and initialized data in the output file. The output file can then be loaded onto the motherboard. 6.2 Command Format The basic CSTRIP command format is: >% cstrip [-options] input_file [> output_file] The following table lists the options: Option Designation Description v verbose Prints more information than usual.
7 GNU Assembler 7.1 Overview The Free Software Foundation GNU assembler (GAS) takes source files as input and assembles them into a.out format object files.
PALcode Assembler Instructions Added to GAS The following table describes the options: Option Description P Automatically runs the C preprocessor standard with the operating system. This gives support for C macros, defines, and so on. o filename Specifies the name of the output object file. The default output file name is a.out. l Creates a list output. By default, the list output is sent to stdout; however, this output can be piped to a file. v Prints the version number.
PALcode Assembler Instructions Added to GAS Option Field Description q QW Quadword data length v VPTE Flags a virtual PTE fetch (21164 microprocessor family only) l LOCK Load lock version of HW_LD (21164 microprocessor family only) The options, if used, must be specified in the order listed in the previous table.
PALcode Assembler Instructions Added to GAS There are two variants of the hw_st instruction: hw_stq/[p][a][c] ra,disp(rb) hw_stl/[p][a][c] ra,disp(rb) hw_stq is an abbreviation for hw_st/q (quadword), and hw_stl is a variant for the default (longword) condition. The c option applies only to the Alpha 21164 microprocessor family.
GAS and GLD Programming Considerations You can use one or more of the following options: Option Field Description p PAL References a PAL_TEMP register a ABX References an Abox register i IBX References an Ibox register The Alpha 21164 microprocessor family does not support any options for this instruction.
GAS and GLD Programming Considerations Because GAS aligns code within segments, you must be careful about how you use the .= directive to alter the location counter. For example, to start data at address 2000: .text code .=0x2000 .data data If the .= directive is given in the second segment (.data), then you would get the code followed by 0x2000 bytes of space followed by the data. This causes the data to be offset rather than assigned to the specific address (see the following example).
8 HEX32 8.1 Overview The HEX32 tool generates an Intel Hex32 (MCS86) file from a stripped executable. 8.2 Command Format The basic HEX32 command format is: >% hex32 [-options] [input_file] [output_file] The following table lists the options: Option Designation Description v verbose Prints more information than usual o offset Specifies image offset If input and output files are not specified, then stdin and stdout are used.
9 HEXPAD 9.1 Overview The HEXPAD tool uses an Intel Hex file format (see SROM Packer tool) to add a specific amount of padding to a file. This tool can be used to fill all unused bytes in an SROM with a known value. 9.
10 HFCOMP 10.1 Overview The HFCOMP tool compresses the specified input file using a Huffman encoding algorithm to produce a compressed, executable image that will automatically decompress itself to the proper memory location when executed. This tool is intended to allow for more optimal usage of ROM space by reducing the size of ROM images. When you execute the hfcomp command, the compressed files automatically decompress to the location specified by the -t option.
Command Format The following table lists the options: 10–2 Option Designation Description v verbose Gives more information than usual h help Prints information about how to use HFCOMP t target Target location where decompressed image should go (default = 0) 21164PC 21164PC code Generate code for Alpha 21164PC 21164 21164 code Generate code for Alpha 21164 21066 21066/68 code Generate code for Alpha 21066/68 21064 21064 code Generate code for Alpha 21064 (default) HFCOMP
11 MAKEROM 11.1 Overview The MAKEROM tool builds a ROM image by adding header information to the input files. Each input file generates one header plus the image, which is then concatenated and written to the output file. These headers are used by the SROM and other software to identify an image contained in the ROM. MAKEROM can also compress these input files using a simple repeating byte compression algorithm. The decompression code is provided in the SROM.
ROM Header Information Fields Figure 11–1 MAKEROM Fields Offset Header Revisions Supported 0x00 all Header Size (Bytes) Image Checksum 0x04 0x08 0x0C all all all Image Size (Memory Footprint) Decompression Flag Destination Address Lower Longword 0x10 0x14 0x18 all all Destination Address Upper Longword 0x1C all all 0x20 1+ 0x24 1+ 1+ 31 0 Validation Pattern 0x5A5AC3C3 Inverse Validation Pattern 0xA5A53C3C Firmware ID <15:8> Reserved <31:24> Header Rev <7:0> Header Rev Ext <23:16> ROM
ROM Header Information Fields • Image Size The image size is used by the SROM code to determine how much of the system ROM should be loaded. • Decompression Flag The decompression flag tells the SROM code if the MAKEROM tool was used to compress the ROM image with a “trivial repeating byte algorithm.” The SROM code contains routines that perform this decompression algorithm. Other compression/decompression schemes may be employed that work independently from this one.
Command Format • Header Rev Ext The header revision for Version 1 or greater headers is determined by the sum of this field and the Header Rev field. See Header Rev. • ROM Image Size The ROM image size reflects the size of the image as it is contained in the flash ROM. See Image Size. • Optional Firmware ID This optional field can be used to provide additional firmware information such as firmware revision or a character descriptive string of up to 8 characters.
Command Format The following table lists the options: Option Designation Description v verbose Gives more information than usual h help Prints information about how to use MAKEROM r offset Provides optional offset into the ROM where image is located o output file Specifies output file The following table lists input_file_options: Option Designation Description laddress load Specifies destination address. c compress Compresses this file. Default is no compression.
Command Format % cat timestmp.fw 0104009504181217 Version: 1.4 950418.
12 PALcode Violation Checker 12.1 Overview The PALcode Violation Checker (PVC) tool checks assembly language code for instruction sequences that could cause unexpected results, and produces warning messages that describe the violation. 12.2 PVC Input Files Three input files are required by PVC: • An executable PALcode image (.exe or .nh) • A set of PALcode entry points (.ent or .entry) • A description of PVC symbols (.
PVC Input Files Figure 12–1 PVC Tool Map Source File CPP GAS -P -o Object File (a.out Format) ALIST -e .ent ASTRIP -m .map PVC .exe .log FM-03667.AI4 12.2.1 Executable PALcode Image File The executable PALcode image file contains machine code instructions. This file is normally generated from the GAS object file. ASTRIP postprocesses the GAS object file to extract the machine code instructions and strip header information.
PVC Input Files The file format is: offset_value(hex) pal_entry_point_label Note that offset_value is the offset from the base of the executable code. For example: 0000 0020 0060 00e0 PAL$RESET PAL$MCHK PAL$ARITH PAL$INTERRUPT This file is normally generated from a GAS object file with the ALIST tool. For example: % alist -e filename.o > filename.ent Note: An entry point file generated by ALIST may require some editing to remove entries that are not legal PAL entry points (for example, local labels).
Labels The format of the output .map file generated by the ALIST tool is: label address For example: pvc$osf11$5000 00004298 pvc$osf28$5000.1 00004430 pvc$osf29$5000.2 000044B8 pvc$osf0$3000 000053BC pvc$osf1$3000.1 000053C0 pvc$osf2$3000.2 000053D0 pvc$osf3$3000.3 000053E0 pvc$osf4$3000.4 000053F0 pvc$osf5$3000.5 00005400 pvc$osf6$3000.6 0000540C pvc$osf31$84 000056F0 12.3 Labels Labels are defined in the PALcode source file to allow you to specify additional information to PVC.
Labels The field can be used to give you more detailed information about the type of label, as shown in Table 12–2. Table 12–2 PVC Label Type Field Label Type 0–1007 Error 1008 No branch 2000–3999 Computed goto 4000→ Subroutine branch For example, this label specifies a PVC label for a computed goto destination: PVC$osf123$2000.1 12.3.
Labels 12.3.2 Handling Computed Gotos and Subroutine Branches Another use of labels is to specify how PVC follows a computed goto or a subroutine branch. This information cannot be extracted statically; therefore, labels are required for instructions such as jump to subroutine (JSR) and return from subroutine (RET). You can also instruct PVC to ignore a certain branch to optimize your PVC run. 12.3.2.
Labels pvc$x$2000.2: 20$: subq r4, r6, r7 pvc$x$2002: ret r31, (r0) Note that the returns are treated just like the initial jsr subroutines. 12.3.2.2 Subroutine Branches To specify a label for a branch to subroutine (BSR), set the field value to 4000 or higher. To associate all BSRs that go to the same subroutine as well as the RET at the end of that subroutine, assign the same integer to this field. Use the field to specify a RET. For example: pvc$osf11$5000 00004298 pvc$osf28$5000.
Starting and Running PVC 12.4 Starting and Running PVC After you have prepared the input files, you can begin your PVC session. For example: % pvc PALcode Violation Checker V3.26 Default Cpu set to DECchip 21164 family. PVC> set code osfpal_pc164.nh PVC> set entry osfpal_pc164.ent PVC> set map osfpal_pc164.map PVC> go Initializing Alpha dependent tables.. Initializing 21164 dependent tables.. Disassembling executable... Searching through map file for violation exceptions... Beginning PALcode check...
PVC Commands For the DIGITAL UNIX operating system with a C shell, the environment variable command format is as follows: % setenv PVC_ENTRY ~/user_area/subdir/filename.ent % setenv PVC_PAL ~/user_area/subdir/filename.exe For the Windows NT operating system, the environment variable command format is as follows: > set PVC_ENTRY=drive:\user_area\subdir\filename.ent > set PVC_PAL=drive:\user_area\subdir\filename.
PVC Commands add add The add command adds an entry point to the entry point list. Format add _address _name Parameters _address Specifies the address. _name Specifies the entry point name. Description The add command allows you to add an entry point for the current PVC session. All additions are reflected with the show entries command. However, the entry file is not modified. Example % pvc PALcode Violation Checker V3.26 Default Cpu set to DECchip 21164 family.
PVC Commands clear flag clear flag The clear flag command clears the specified flag_type parameter. Format clear flag flag_type Parameters all Specifies that all flags are turned off or set to zero. cycle_count Specifies that the cycle count is set to zero. dead_code Specifies that code never branched to is ignored. errors Specifies that errors are not reported. memory_usage Specifies that node and cycle usage are set to zero. permutations Specifies that the number of code paths is not displayed.
PVC Commands clear flag Description The clear flag command sets the specified flag_type off or sets the value to zero. Example % pvc PALcode Violation Checker V3.26 Default Cpu set to DECchip 21164 family. PVC> show flags The warnings flag is set. The errors flag is set. PVC> clear flag warnings PVC> show flags The errors flag is set.
PVC Commands clear log_file clear log_file The clear log_file command closes any open log file set for your PVC session. Format clear log_file Parameters None. Description The clear log_file command closes the log file. All messages and output are reported to stdout (the terminal screen). Example PVC> clear log_file Log file closed.
PVC Commands delete delete The delete command causes PVC to ignore the specified entry points. Format delete start_entry_id [- end_entry_id] Parameters start_entry_id - end_entry_id Specifies a range of entry points. Description The delete command causes PVC to ignore all entry points specified at or between the specified start_entry_id and end_entry_id for the rest of the current PVC session. The remaining entry points are renumbered.
PVC Commands do do The do command executes a single entry point. Format do entry_point Parameters entry_point Specifies the entry_id or the entry point name as displayed when you enter the show entries command. Description The do command executes a single entry point. Example % pvc PALcode Violation Checker V3.26 Default Cpu set to DECchip 21164 family. PVC> set code osfpal_pc164.nh PVC> do 600 Initializing Alpha dependent tables.. Initializing 21164 dependent tables.. Disassembling executable...
PVC Commands exit exit The exit command terminates a PVC session. Format exit Parameters None. Description The exit command terminates a PVC session; it has no effect on input files. The exit and quit commands have the same function.
PVC Commands go go The go command executes all entry points. Format go Parameters None. Description The go command allows PVC to begin checking your code. It executes all entry points. If you have created a log file, informational messages from your PVC run are sent to that file; otherwise, they display on the screen. When all entry points have been executed, you receive a message that the file has completed, and the PVC> prompt appears. Example % pvc PALcode Violation Checker V3.
PVC Commands help help The help command displays basic PVC command information. Format help Parameters None. Description The help command displays a list of commands implemented in the current version of PVC. Example % pvc PALcode Violation Checker V3.26 Default Cpu set to DECchip 21164 family. PVC> help PVC is primarily used to check for Alpha PALcode violations. It can also be used to disassemble executable code (set flag trace) and display code as the CPU would execute it (set flag scheduled_code).
PVC Commands help PVC> help commands set set set set set cpu 21164 cpu 21064 code_file map_file entry_file set log_file set freq_file go do n exit set pal_base n set flag x Show all Check DECchip 21164 family. Check DECchip 21064 family. pal.exe PALcode executable. pal.map PALcode map file. pal.entry PALcode entry point addresses and names. pal.log Optional Log file. Use Clear log_file to close. pal.freq Optional address usage count file. Check all PAL addresses in entry_file.
PVC Commands help Example command to set a variable under Windows NT: > set PVC_PAL = a:pal.exe Example command to set a variable under OpenVMS: > define PVC_PAL sys$login_device:[.pvc]pal.
PVC Commands quit quit The quit command terminates a PVC session. Format quit Parameters None. Description The quit command terminates a PVC session; it has no effect on input files. The quit and exit commands have the same function.
PVC Commands set code_file set code_file The set code_file command specifies the executable PALcode file. Format set code_file filename Parameters filename Specifies a file name that contains machine code instructions. Description The set code_file command reads an executable PALcode file into PVC. This file is normally generated from the GAS object file and is postprocessed with the ASTRIP tool. Example PVC> set code_file arith.
PVC Commands set cpu set cpu The set cpu command determines which set of restrictions is used for the current PVC session. Format set cpu cpu_name Parameters 21064 Specifies the PALcode restrictions for the Alpha 21064 microprocessor. (This includes the 21064A, 21066, 21066A and 21068.) 21164 Specifies the PALcode restrictions for the Alpha 21164 microprocessor family. Description The set cpu command determines which set of PALcode restrictions is used for the current PVC session.
PVC Commands set delay set delay The set delay command determines the cache latency. Format set delay delay_value Parameters delay_value Specifies the latency for bubbles and cache misses. The default is 5; the maximum value is FFFFFFFF. Description The set delay command determines the cache latency for cache misses. Example PVC> set delay 6 Cache latency noted. Note: The set delay command is not supported for the 21164 CPU families. It can still be issued, but it will not be used.
PVC Commands set entry_file set entry_file The set entry_file command specifies the entry list file. Format set entry_file filename Parameters filename Specifies a file name that contains a list of entry points. Description The set entry_file command reads a file containing a list of entry points into PVC. This file is normally generated from the GAS object file and is postprocessed with the ALIST tool. Example PVC> set entry_file arith.
PVC Commands set flag set flag The set flag command sets the specified flag type. Format set flag flag_type Parameters all Specifies that all flags are set. cycle_count Displays the number of CPU cycles per permutation. dead_code Displays code that has not been executed. This command can be used in conjunction with the set pal_base and set pal_end commands to set the boundaries for this display. Specifies code never branched to. errors Displays error messages. This is the default.
PVC Commands set flag warnings Displays warning messages. This is the default. Description The set flag command sets the specified flag_type. By default, errors and warnings are set and reported. To display flags, see the show flag command. To cancel a flag, see the clear flag command. Example PVC> do pal$reset Beginning PALcode check... Checking the pal$reset routine, entry point 0: (PVC #1003) Permutation 0 completed **ABNORMALLY**. Address of HALT: 4000 End of PALcode check...
PVC Commands set flag Cycle: Cycle: Cycle: Cycle: Cycle: Cycle: Cycle: Cycle: Cycle: Cycle: 0 1 2 3 4 5 6 7 Addr: 4 BR R1, 4000 These stalls simulate a cache miss **Stall** **Stall** **Stall** **Stall** **Stall** These stalls simulate a branch bubble **Stall** Addr: 4000 HALT End of PALcode check... PVC> clear flag scheduled PVC> set flag permutations PVC> do 4 Disassembling executable... Searching through .map file for violation exceptions... Beginning PALcode check...
PVC Commands set flag Node usage: 1. Cycle usage: 8. End of PALcode check...
PVC Commands set freq_file set freq_file The set freq_file command specifies a file to contain address usage data from PVC. Format set freq_file filename Parameters filename Specifies an output file name. Description The set freq_file command opens the specified file name to collect address usage data. Each line contains address usage information for one address in the following format: Addr: xxx Freq: n where: inst_decode Addr: xxx is the PALcode address.
PVC Commands set freq_file Initializing Alpha dependent tables.. Initializing 21164 dependent tables.. Disassembling executable... Searching through .map file for violation exceptions... Beginning PALcode check...
PVC Commands set log_file set log_file The set log_file command specifies a file to contain error, warning, and informational messages from PVC. Format set log_file filename Parameters filename Specifies a file name to collect output from PVC. If not specified, this information is displayed on the terminal screen. Description The set log_file command opens the specified file name to collect message information from the PVC session. Example PVC> set log_file arith.
PVC Commands set map_file set map_file The set map_file command specifies the PALcode .map file. Format set map_file filename Parameters filename Specifies a file name that contains PVC symbol values. If not specified, PVC assumes the .map file name is identical to the code_file name. Description The set map_file command reads the PALcode .map file into PVC. This file is normally generated from the GAS object file and is postprocessed with the ALIST tool. See Section 12.2.
PVC Commands set pal_base set pal_base The set pal_base command determines the base from which the PAL entry points are offset. Format set pal_base address Parameters address Specifies the new PAL base address; the default is 0. Description The set pal_base command determines the base from which the PAL entry points are offset.
PVC Commands set pal_end set pal_end The set pal_end command specifies the offset to the end of code in the executable file. Format set pal_end end_address Parameters end_address Specifies the end of code to be checked; the default is FFFFFFF. Description The set pal_end command is the offset in the code file to the end of the code. This allows PVC to predetermine where it looks for dead code (code never branched to). It never looks beyond pal_end bytes into the code.
PVC Commands show show The show command displays the status or value, or both, of the specified show_type parameter. Format show show_type Parameters all Displays file names for all selected files, the current CPU type, pal_base, pal_end, and any flags selected. cpu Displays the currently selected CPU. entries Displays all entry points from the entry file (.ent or .entry) last set with the set entry_file command.
PVC Commands show Example % pvc PALcode Violation Checker V3.26 Default Cpu set to DECchip 21164 family. PVC> show all There is no log file specified. The CPU is set to 21164. The warnings flag is set. The errors flag is set. The PAL base is 0. The PAL end is FFFFFFF. PVC> show cpu The CPU is set to 21164. PVC> set entry_file osfpal_pc164.ent PVC> show entries # 1: 0 PAL_RESET # 2: 80 PAL_IACCVIO # 3: 100 PAL_INTERRUPT PVC> show files The entry point file is osfpal_pc164.ent.
13 RCSV 13.1 Overview The RCSV tool takes the RCS version of an input file and generates an output file that can be used as an include file. The include file contains definitions that describe the RCS version of the input file. The RCS version is used when building the SROM code. 13.2 Command Format The RCSV utility command format is: >% rcsv [-options] [[-file_options] input_file]...
14 SREC 14.1 Overview The S-record tool (SREC) produces an input file for programming SROMs with device programmers. SREC generates Motorola S-record output from either an executable file (such as a file produced by ASTRIP), or an a.out format object file produced by GAS. The Motorola S-record file can also be loaded through the serial port of a motherboard with the Alpha Microprocessor Motherboard Debug Monitor load or boot commands. 14.
Command Format Both the input_file and output_file elements are optional, and if none are supplied, then stdin and stdout, respectively, are used. For example: % srec -a artest.o artest.sr % srec -i artest.exe artest.
15 SROM Packer 15.1 Overview The SROM Packer (SROM) tool processes an executable file (such as one produced by ASTRIP) and packs the bits into an image using the SROM file format required by the CPU. The resultant image is provided in an Intel Hex file format for programming ROMs (see HEXPAD) with a device programmer. 15.
Command Format If an output file name is not specified, then the default output name on a host system that runs the DIGITAL UNIX operating system is the name of the input file with an .srom extension. For the Windows NT operating system, the default extension is .srm. For example: % srom artest.o artest.
16 SYSGEN 16.1 Overview The SYSGEN tool concatenates the parts of an image. SYSGEN arranges the specified input files into one contiguous image based on information in the file header or supplied on the command line. SYSGEN also provides padding between the end of one input file and the next so that the output is what you expect without regard for the size of the input files. 16.2 Command Format The SYSGEN utility command format is: >% sysgen [-options] [[-file_options] input_file]...
Command Format The following table describes the options: Option Designation Description h help Prints information about how to use SYSGEN v verbose Prints more information than usual For example: % sysgen -v -a -e0 dbmpal -a -s -e10000 eb66_rom.nh -o eb66_rom.img This example concatenates two images, dbmpal and eb66_rom.nh, into a single image eb66_rom.img. The file options supplied with the dbmpal image indicate that it is an a.out format file based at address 0.
17 ULOAD 17.1 Overview The ULOAD tool is used to download a file through the serial port of your host system to the motherboard running the Alpha Microprocessors Mini-Debugger. 17.2 Command Format The ULOAD has the following command format: >% uload input_file.ext [options] The full file name and the extension must be specified for the input file. No extensions are implied.
Command Format To load the file name pc64fsb.cmp into the motherboard’s memory at address 0x300000, at 19200 baud rate, type the following command: % uload pc64fsb.cmp 300000 /dev/tty01 The ULOAD tool will perform the necessary initialization of the Mini-Debugger, wait for the Mini-Debugger prompt (SROM), and send the file with the XM command. A timer displays how much timing and bytes remain to be sent.
A Support, Products, and Documentation If you need technical support, a DIGITAL Semiconductor Product Catalog, or help deciding which documentation best meets your needs, visit the DIGITAL Semiconductor World Wide Web Internet site: http://www.digital.com/semiconductor You can also call the DIGITAL Semiconductor Information Line or the DIGITAL Semiconductor Customer Technology Center. Please use the following information lines for support.
To order Alpha microprocessors and motherboards, contact your local distributor. The following tables list some of the semiconductor products available from DIGITAL Semiconductor. Chips Order Number DIGITAL Semiconductor Alpha 21164 600 MHz Microprocessor 21164–MB DIGITAL Semiconductor Alpha 21164 533 MHz Microprocessor 21164–P8 DIGITAL Semiconductor Alpha 21164 466 MHz Microprocessor 21164–IB Motherboard kits include the motherboard and motherboard user’s manual.
DIGITAL Semiconductor Documentation The following table lists some of the available DIGITAL Semiconductor documentation.
Title Order Number Alpha Microprocessors Motherboard SROM Mini-Debugger User’s Guide EC–QHUXC–TE Alpha Microprocessors Motherboard Windows NT 3.51 and 4.0 Installation Guide EC–QLUAH–TE PALcode for Alpha Microprocessors System Design Guide EC–QFGLC–TE Alpha SRM Console for Alpha Microprocessor Motherboards User’s Guide EC–QK8DF–TE 1 To purchase the Alpha AXP Architecture Reference Manual, contact your local distributor or call Butterworth-Heinemann (Digital Press) at 1-800-366-2665.
Index A add command, 12–10 Conventions of document, x CSTRIP command format, 6–1 default extension, 6–1 ALIST command format, 3–1 entry point format, 12–3 input, 12–1 map file format, 12–3 Alpha Microprocessor Motherboard Debug Monitor, 14–1 D Assembler instructions added to GAS, 7–2 Assembler programming considerations for GAS, 7–5 Document audience, ix conventions, x introduction, ix structure of, ix ASTRIP command format, 4–1 default extension, 4–2 input, 12–1, 12–2 Audience, ix delete command, 12
G M GAS .= directive, 7–6 .
PVC commands, 12–9 add, 12–10 clear flag, 12–11 clear log_file, 12–13 delete, 12–14 do, 12–15 exit, 12–16 go, 12–17 help, 12–18 quit, 12–21 set code_file, 12–22 set cpu, 12–23 set delay, 12–24 set entry_file, 12–25 set flag, 12–26 set freq_file, 12–30 set log_file, 12–32 set map_file, 12–33 set pal_base, 12–34 set pal_end, 12–35 show, 12–36 symbols, 12–3 PVC labels computed goto, 12–6 format, 12–4 ignoring a branch, 12–7 subroutine branches, 12–7 suppressing error messages, 12–5 type, 12–5 PVC symbols, 12–3