/*
** -----------------------------------------------------------------------------
**
** Perle Specialix driver for Linux
** Ported from existing RIO Driver for SCO sources.
*
* (C) 1990 - 2000 Specialix International Ltd., Byfleet, Surrey, UK.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
** Module : rioboot.c
** SID : 1.3
** Last Modified : 11/6/98 10:33:36
** Retrieved : 11/6/98 10:33:48
**
** ident @(#)rioboot.c 1.3
**
** -----------------------------------------------------------------------------
*/
#ifdef SCCS_LABELS
static char *_rioboot_c_sccs_ = "@(#)rioboot.c 1.3";
#endif
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/interrupt.h>
#include <asm/io.h>
#include <asm/system.h>
#include <asm/string.h>
#include <asm/semaphore.h>
#include <linux/termios.h>
#include <linux/serial.h>
#include <linux/generic_serial.h>
#include "linux_compat.h"
#include "rio_linux.h"
#include "typdef.h"
#include "pkt.h"
#include "daemon.h"
#include "rio.h"
#include "riospace.h"
#include "top.h"
#include "cmdpkt.h"
#include "map.h"
#include "riotypes.h"
#include "rup.h"
#include "port.h"
#include "riodrvr.h"
#include "rioinfo.h"
#include "func.h"
#include "errors.h"
#include "pci.h"
#include "parmmap.h"
#include "unixrup.h"
#include "board.h"
#include "host.h"
#include "error.h"
#include "phb.h"
#include "link.h"
#include "cmdblk.h"
#include "route.h"
static int RIOBootComplete( struct rio_info *p, struct Host *HostP, uint Rup, struct PktCmd *PktCmdP );
static uchar
RIOAtVec2Ctrl[] =
{
/* 0 */ INTERRUPT_DISABLE,
/* 1 */ INTERRUPT_DISABLE,
/* 2 */ INTERRUPT_DISABLE,
/* 3 */ INTERRUPT_DISABLE,
/* 4 */ INTERRUPT_DISABLE,
/* 5 */ INTERRUPT_DISABLE,
/* 6 */ INTERRUPT_DISABLE,
/* 7 */ INTERRUPT_DISABLE,
/* 8 */ INTERRUPT_DISABLE,
/* 9 */ IRQ_9|INTERRUPT_ENABLE,
/* 10 */ INTERRUPT_DISABLE,
/* 11 */ IRQ_11|INTERRUPT_ENABLE,
/* 12 */ IRQ_12|INTERRUPT_ENABLE,
/* 13 */ INTERRUPT_DISABLE,
/* 14 */ INTERRUPT_DISABLE,