ALPHA LINUX 2.0.x INSTALLATION

See this note about DEC Firmware first

The Linux driver is compiled for linux-2.0.xx, and will not compile or work under and linux-1.2.x kernels. The kernel interfaces have changed after 1.3.69 (and will continue to change knowing linux).

You should be running an ELF-based kernel in order to load the Myricom-compiled objects. You will need the most recent MILO that has a bug fix for DEV_Select.


From axp-kernel-list-request@redhat.com Wed Mar  5 14:44:19 1997
From: David Mosberger-Tang 
To: axp-kernel-list@redhat.com
Subject: MILO + myrinet PCI card works now!

Anyhow, the solution to this problem is simple: in MILO-2.0.28, file
devices.c around line 294, there is code that looks like this:

    max_devsel = PCI_STATUS_DEVSEL_FAST;
    for (dev = bus->devices; dev; dev = dev->sibling) {
    u16 status;

    pcibios_read_config_word(bus->number, dev->devfn, PCI_STATUS, &status);
    status &= PCI_STATUS_DEVSEL_MASK;
    if (status > max_devsel) {
        max_devsel = status;
    }
    }
    max_devsel >>= 9;

the last line should be changed into:

    max_devsel = 2 - (max_devsel >> 9);

and then all should work fine.

Dave R., did you have a chance to put this fix into the current MILO
sources already?  I'm sorry to keep causing you more work... ;-(

    --david

AlphaBIOS booting note


[from a customer with DEC LX boards]

From help-handler Fri Mar 27 12:34:48 1998
Date: Fri, 27 Mar 1998 15:34:22 -0500 (EST)

Now that we've plugged in 65 cards in Alphas, it seems that
the boot sequence is:

1) First time you boot with the card in, it says "swapping to palcode"
and then hangs for quite a while, or, in a few cases, infinitely.

2) Subsequent boots hang for 2 minutes at the same place

3) The machines that hung infinitely in #1 get better if you take
the cards out and put them back in. If you look in the AlphaBIOS
config stuff the card is visible, but apparently it isn't
fully seated.

This seems more mysterious than getting cards to work on x86
machines, so you might want to mention this workaround in your
non-existant alpha docs...

Warning - Hackery Alert: The Alpha driver is optimized to avoid the use of function calls to access the PCI board via programmed I/O. This improves the performance of the driver and allows the same API source code to run unchanged on Alphas and Intel boxes. This is accomplished using the following in MYRI_HOME/src/intel_linux/module/init.c


#ifdef dec_linux
/* FIX this won't work for all arch */
#include 
#define PCI_OFFSET LCA_DENSE_MEM
#endif

The problem is that this address offset is different for different Alphas and this hack will not even work on a "Jensen" machine. There are other include files and other DENSE_MEM defines for different Alpha boxes.

linux/include/asm/apecs.h:#define APECS_DENSE_MEM (IDENT_ADDR + 0x0300000000UL)
linux/include/asm/cia.h:#define CIA_DENSE_MEM     (IDENT_ADDR + 0x8600000000UL)
linux/include/asm/lca.h:#define LCA_DENSE_MEM     (IDENT_ADDR + 0x0300000000UL)

You will need the most recent modules package. The one we're using is modules-1.3.57.tar.gz. The Alpha distributions seem a bit confused when it come to being able to compile the programs insmod, rmmod, lsmod. We have provided a distribution on our web site for these programs as insmod-bfd-0.2.axp.tar.gz.

Info for DEC Personal Workstations (Miata)

If you need help installing the Myrinet board in a Miata in one of the primary slots, see SRM modifications in the dec_osf1 install procedures.

Before installing the driver, you need to configure the Myrinet software and tools for your site. This is done with the script myri.INIT. Please see the section on Configuring Software for more information. You only need to run myri.INIT once after untarrring the software distribution.

To install the driver, first be sure you have the programs insmod, lsmod etc. installed.

Also, please be sure that your

         /usr/include/linux/autoconf.h
file is correctly set up. We look in that file to determine how to access the Myrinet card depending on the PCI bridge chip (e.g. PYXIS, APECS etc). Then

cd [...]/myrinet/src/intel_linux/module

You will need to be root to run the make install command.

Run the following commands. The driver will need to be recompiled for your particular flavor of Alpha.

	
	make clean
	make
	make install

Should install the linux driver. Edit the Makefile to change the ifconfig command and the route command to use an appropriate IP address and hostname for your network. Then

make net

To load the driver upon reboot, put the make install and make net commands into /etc/rc.d/rc.local

After completing the driver install procedure you need to configure the Myrinet software and tools for your site. This is done with the script myri.INIT. Please see the section on Configuring Software for more information. You only need to run myri.INIT once after untarrring the software distribution.

Attention: Linux 2.0.x kernels have a hard time allocating blocks of memeory that are larger than 1 page. The Myrinet MTU is greater than 2 pages. Under heavy load, the driver may be unable to provide buffers to the LANai and the system will be unable to receive messages. You can eliminate this problem by recompiling the Myrinet driver with

	-DSMALL_BUFFER

# -DSMALL_BUFFER  for an MTU less than 4096 bytes
# WARNING - this will not be able to interoperate with
#            other Myrinet drivers with larger MTU

defined in the CFLAGS. This will make your Linux Myrinet driver incompatible with Myrinet drivers on other architectures.

Table of Contents | Configuring Software


Home | Product Information | Tech Support