This appendix contains instructions on resetting the VME address for your Multi-Channel Option board, for example, if you install new operating system software. Resetting the board's VME address is required because system software replaces the memory mapping file with a default file. The instructions are dependent on the type of system you have (Crimson, POWER Series, SkyWriter, or Onyx), as well as the software release on your system (4.0.5H, 5.0.1, or 5.1).
![]() | Note: IRIX version 5.2 and later do not require setting VME addresses in software; the gfxinit program finds the address of the MCO board automatically. |
setting VME addresses for Crimson, POWER Series, or SkyWriter with IRIX 4.0.5H
setting VME addresses for Crimson, POWER Series, or SkyWriter with IRIX 5.1
setting VME addresses for Onyx with IRIX 5.0.1 or 5.1
testing VME addresses
Table C-1 shows the default VME base addresses for the Multi-Channel Option board in a in a Crimson deskside (pipe 0 only), POWER Series deskside or rack (pipe 0 only), or two-pipe SkyWriter rack running 4.0.5H software.
Table C-1. Default VME Addresses for Crimson, POWER Series, or SkyWriter Running IRIX 4.0.5H
Pipe | Value | Default VME Base Address |
---|---|---|
0 | VIDEO_VS2_A24_NP_BASE_PIPE0 | 0xb2800000 |
1 | VIDEO_VS2_A24_NP_BASE_PIPE1 | 0xb2810000 |
To set the address, follow these steps:
![]() | Note: Before installing new system software, determine the VME address at which the board should be set. |
As root, for each pipe, type /usr/gfx/setmon -x 60 to bring the DG2 EEPROM up to date. For example:
setenv DISPLAY :0.0 /usr/gfx/setmon -x 60 setenv DISPLAY :0.1 /usr/gfx/setmon -x 60 setenv DISPLAY :0.2 /usr/gfx/setmon -x 60 |
Set the MCO board address pointer(s) by writing DG2 EEPROM(s):
for each pipe.
The pipe# is the pipe number (0 or 1) and address is the address given in Table C-1 . For example, on a two-pipe SkyWriter, type
/usr/gfx/ucode/RE/vs2/vs2addrset -p 0 -a 0xb2800000 -v /usr/gfx/ucode/RE/vs2/vs2addrset -p 1 -a 0xb2810000 -v |
If you are not using the default addresses given in Table C-1, you must edit /usr/sysgen/master.d/mem. The file looks like:
#include <sys/cpu.h> #include <sys/videoaddr.h> /* * This array defines the device addresses * that may be mapped by /dev/mmem * Note: addresses MUST BE kernel virtual addresses, * not physical addresses. */ struct map mmmap_addrs[] = { #if IP4 || IP5 || IP17 { NBPP, SOUND_DAT_ADDR }, /* sound chip and friends */ #endif #if IP12 || IP20 { 0x20000, PHYS_TO_K1(HPC1MEMORY) }, /* DSP, etc. */ /* HPC registers, in particular HPC1MISCSR */ { NBPP, PHYS_TO_K1(HPC_0_ID_ADDR ) }, #endif #if IP20 || IP22 { NBPP, (PHYS_TO_K1(RPSS_CTR)&~0xfff) }, #endif #if IP5 || IP17 { 0x80000, LOGRAM_ADDR }, /* ECC logging RAM */ { NBPP, IOTIMER_ADDR }, /* free running timer on IO3 */ { 0x10000, VIDEO_VS2_A24_NP_BASE_PIPE0 }, /* Video Splitter 2 Pipe 0 */ { 0x10000, VIDEO_VS2_A24_NP_BASE_PIPE1 }, /* Video Splitter 2 Pipe 1 */ { 0x10000, VIDEO_VS2_A24_NP_BASE_PIPE2 }, /* Video Splitter 2 Pipe 2 */ #endif #if IP5 || IP9 || IP17 { 0x800000, 0xda000000, }, /* VME Vigra space for 2 boards */ #endif { 0, 0 } , /* NULL ENTRY TERMINATES THIS LIST! */ }; |
In /usr/sysgen/master.d/mem, change
VIDEO_VS2_A24_NP_BASE_PIPE0 |
or
VIDEO_VS2_A24_NP_BASE_PIPE1 |
to the virtual VME address you have set for the appropriate pipe.
Reconfigure the kernel; as root, type
autoconfig -f |
Reboot the system to use the newly configured kernel; as root, type
init 6 |
Table C-2 shows the default VME base addresses for the Multi-Channel Option board in a Crimson deskside (pipe 0 only), in a POWER Series deskside or rack (pipe 0 only), or in a two-pipe SkyWriter rack running 5.1 software.
Table C-2. Default VME Addresses for Crimson, POWER Series, or SkyWriter Running IRIX 5.1
Pipe | Value | Default VME Base Address |
---|---|---|
0 | VIDEO_VS2_A24_NP_BASE_PIPE0 | 0x800000 |
1 | VIDEO_VS2_A24_NP_BASE_PIPE1 | 0x810000 |
To set the address, follow these steps:
![]() | Note: Before installing new system software, determine the VME address to which the board should be set. |
As root, for each pipe, type /usr/gfx/setmon -x 60 to ensure the DG2 EEPROM is up to date. For example:
setenv DISPLAY :0.0 /usr/gfx/setmon -x 60 setenv DISPLAY :0.1 /usr/gfx/setmon -x 60 setenv DISPLAY :0.2 /usr/gfx/setmon -x 60 |
Set the MCO board address pointer(s) by writing DG2 EEPROM(s):
On a deskside system, type as root
/usr/gfx/ucode/RE/vs2/vs2addrset -d -v
|
On a multipipe system, type as root:
/usr/gfx/ucode/RE/vs2/vs2addrset -p pipe# -a address -v verbose
|
for each pipe.
The pipe# is the pipe number (0 or 1) and address is the address given in the previous table. For example, on a two-pipe SkyWriter, type:
/usr/gfx/ucode/RE/vs2/vs2addrset -p 0 -a 0x800000 -v /usr/gfx/ucode/RE/vs2/vs2addrset -p 1 -a 0x810000 -v |
If you are not using the default addresses given in Table C-2 , you must edit /var/sysgen/master.d/mem. The file looks like:
*#ident “@(#)kern-port:master.d/mem 10.2” *#ident “$Revision: 1.2 $” * * MEM * *FLAG PREFIX SOFT #DEV DEPENDENCIES orcs mm 1 $$$ #include <sys/cpu.h> #if IP5 || IP17 #include <sys/videoaddr.h> #endif /* * This array defines the device addresses * that may be mapped by /dev/mmem. * Note: addresses MUST BE kernel virtual addresses, * not physical addresses. */ struct map mmmap_addrs[] = { #if IP4 || IP5 || IP17 { NBPP, SOUND_DAT_ADDR, }, /* sound chip and friends */ #endif #if IP12 || IP20 { 0x20000, PHYS_TO_K1(HPC1MEMORY), }, /* DSP, etc. */ /* HPC registers, in particular HPC1MISCSR */ { NBPP, PHYS_TO_K1(HPC_0_ID_ADDR ), }, #endif #if IP20 || IP22 { NBPP, (PHYS_TO_K1(RPSS_CTR)&~0xfff) }, #endif #if IP5 || IP17 { 0x80000, LOGRAM_ADDR, }, /* ECC logging RAM */ { NBPP, IOTIMER_ADDR, }, /* free running timer on IO3 */ /* Sirius Video */ { 0x1000, 0xb7c03000 }, /* Video Splitter 2 (aka Multi Channel Option) Pipe 0 */ { 0x10000, VIDEO_MP_VME_A24NPBASE + VIDEO_VS2_A24_NP_BASE_PIPE0 }, /* Video Splitter 2 (aka Multi Channel Option) Pipe 1 */ { 0x10000, VIDEO_MP_VME_A24NPBASE + VIDEO_VS2_A24_NP_BASE_PIPE1 }, /* Video Splitter 2 (aka Multi Channel Option) Pipe 2 */ { 0x10000, VIDEO_MP_VME_A24NPBASE + VIDEO_VS2_A24_NP_BASE_PIPE2 }, #endif #if IP19 { NBPP, EV_RTC, }, /* free running timer on Everest */ #if DEBUG { 0x1000, 0xa0000000 }, /* Allow user to map page for HW trigger */ #endif #endif { 0, 0 } , /* NULL ENTRY TERMINATES THIS LIST! */ }; |
In /var/sysgen/master.d/mem, change:
VIDEO_VS2_A24_NP_BASE_PIPE0 |
or
VIDEO_VS2_A24_NP_BASE_PIPE1 |
to the physical VME address you have set for the appropriate pipe.
Reconfigure the kernel; as root, type
autoconfig -f
|
Reboot the system to use the newly configured kernel; as root, type
init 6
Table C-3 shows the default VME base addresses for the Multi-Channel Option board in a three-pipe Onyx rack or in a deskside Onyx system (pipe 0 only) running 5.0.1 software, 5.1 software.
Table C-3. Default VME Addresses and Adapter Numbers for Onyx Deskside or Rack Running IRIX 5.0.1 or 5.1
Pipe | Default VME Base Address | Default VME Bus Adapter Number |
---|---|---|
0 | 0x800000 | 0 |
1 | 0x800000 | 36 |
2 | 0x800000 | 37 |
Before installing new system software, determine the VME address to which the board should be set. Run hinv to display the bus adapters needed for each MCO. For example, a single-pipe system requires adapter 0, a two-pipe system requires adapters 0 and 36, and a three-pipe system requires adapters 0, 36, and 37.
To set the address, follow these steps:
![]() | Caution: Do not attempt to operate an MCO in a system that does not report the correct adapter number for the pipe it is associated with (for example, pipe_0 to adapter_0, pipe_1 to adapter_36, and pipe_2 to adapter_37). |
As root, type
cd /dev MAKEDEV usrvme |
As root, for each pipe, type /usr/gfx/setmon -x 60 to bring the DG2 EEPROM up to date. For example:
setenv DISPLAY :0.0 /usr/gfx/setmon -x 60 setenv DISPLAY :0.1 /usr/gfx/setmon -x 60 setenv DISPLAY :0.2 /usr/gfx/setmon -x 60 |
Set the MCO board address pointer(s) by writing DG2 EEPROM(s):
On a deskside system, type as root
/usr/gfx/ucode/RE/vs2/vs2addrset -d -v
|
On a multipipe system, type as root
/usr/gfx/ucode/RE/vs2/vs2addrset -p pipe# -a address -b bus_adapter# -v verbose
|
for each pipe.
The pipe# is the pipe number (0, 1, or 2) and address is the address given in Table C-3 . For example, on a three-pipe Onyx rack, type
/usr/gfx/ucode/RE/vs2/vs2addrset -p 0 -a 0x800000 -b 0 -v /usr/gfx/ucode/RE/vs2/vs2addrset -p 1 -a 0x800000 -b 36 -v /usr/gfx/ucode/RE/vs2/vs2addrset -p 2 -a 0x800000 -b 37 -v
|
Reconfigure the kernel; as root, type
autoconfig -f
|
Reboot the system to use the newly configured kernel; as root, type
init 6
|
After you finish setting addresses, running hinv should report
Multi-Channel Option board installed |
for each MCO installed.
![]() | Caution: Do not attempt to run setmon -S on a pipe where the above command does not report properly. |
Running vs2prom -p pipe# -r /dev/null on each pipe indicates the health of each MCO VME connection by attempting to read the contents of the MCO EEPROM. If the command is successful, a prompt with no message appears. Test for each pipe with an installed MCO.
For example, as root, type
/usr/gfx/ucode/RE/vs2/vs2prom -p 0 -r /dev/null /usr/gfx/ucode/RE/vs2/vs2prom -p 1 -r /dev/null /usr/gfx/ucode/RE/vs2/vs2prom -p 2 -r /dev/null
|
![]() | Caution: Do not attempt to run setmon -S on a pipe where the above command does not succeed without complaint. |