This chapter 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 depend on the type of system (Crimson, POWER Series, SkyWriter, or Onyx), as well as the software release (4.0.5H, 5.0.1, or 5.1).
![]() | Note: IRIX version 5.2 and greater does not require setting VME addresses in software; the RealityEngine device driver finds the address of the MCO board automatically. |
This chapter explains:
Table 4-1 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 0only), or in a two-pipe SkyWriter rack running IRIX 4.0.5H.
Table 4-1. Default VME Addresses for Crimson, POWER Series, or SkyWriter Running IRIX 4.0.5H
Pipe | Default Address | 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 to 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):
The pipe# is the pipe number (0 or 1) and address is the address given in Table 4-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 0 -a 0xb2800000 -v |
If you are not using the default addresses given in Table 4-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 address,
* not physical address.
*/
struct map mmmap_addrs[] = {
#if IP4 || IP5 || IP17
{ NBPP, SOUND_DAT_ADDR }, /* sound chip and friends */
#end
#if IP12 || IP20
{ 0x20000, PHYS_TO_K1 (HPC1MEMORY) }, /* DSP,etc. */
/* HPC registers, in particular HPC1MISCR */
{ 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_VS_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 4-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 4-2. Default VME Addresses for Crimson, POWER Series, or SkyWriter Running IRIX 5.1
Pipe | Default Address | 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):
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/vsaddrset -p 0 -a 0xb800000 -v/usr/gfx/ucode/RE/vs2/vsaddrset -p 1 -a 0xb810000 -v |
If you are not using the default addresses given in Table 4-2, you must edit /var/sysgen/master.d/mem. The file looks like:
*#ident "@(#)kern-port:master.d/mem 10.2"
*#ident "$Revision: 1.3 $"
*
* 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 mmap_addrs[] = {
#if IP4 || IP5 || IP17
{ NBPP, SOUND_DAT_ADDR, }, /* sound chip and friends */
#endif
#if IP12 || IP20
( 0x200000, 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 */
/* Sirium 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) Pipe1 */
{ 0x10000, VIDEO_MP_VME_A24NPBASE + VIDEO_VS2_A24_NP_BASE_PIPE1 },
/* Video Splitter 2 (aka Multi Channel Option) Pipe2 */
{ 0x10000, VIDEO_MP_VME_A24NPBASE + VIDEO_VS2_A24_NP_BASE_PIPE2 },
#endif
#if IP19
{ NBPP, EV_RTC, }, /* free running timer on Everest */
#if DEBUG
{0x10000, 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 pip.
Reconfigure the kernel; as root, type
autoconfig -f |
Reboot the system to use the newly configured kernel. As root, type
init 6 |
Table 4-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.1 software:.
Table 4-3. Default VME Addresses and Adapter Numbers for Onyx Deskside or Rack Running IRIX 5.0.1 or 5.1 S
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 /devMAKEDEV 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 4-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 up 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 hinv 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 into a file named /dev/null. 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 vs2prom does not succeed without complaint. |