linux-old/arch/alpha/kernel/err_marvel.c
<<
>>
Prefs
   1/*
   2 *      linux/arch/alpha/kernel/err_marvel.c
   3 *
   4 *      Copyright (C) 2001 Jeff Wiedemeier (Compaq Computer Corporation)
   5 *
   6 */
   7
   8#include <linux/init.h>
   9#include <linux/pci.h>
  10#include <linux/sched.h>
  11
  12#include <asm/io.h>
  13#include <asm/console.h>
  14#include <asm/core_marvel.h>
  15#include <asm/hwrpb.h>
  16#include <asm/smp.h>
  17
  18#include "err_impl.h"
  19#include "proto.h"
  20
  21
  22void
  23marvel_machine_check(u64 vector, u64 la_ptr, struct pt_regs *regs)
  24{
  25        struct el_subpacket *el_ptr = (struct el_subpacket *)la_ptr;
  26
  27        /*
  28         * Sync the processor
  29         */
  30        mb();
  31        draina();
  32
  33        el_process_subpacket(el_ptr);
  34
  35        switch(vector) {
  36        case SCB_Q_SYSEVENT:
  37                printk(KERN_CRIT "MARVEL SYSEVENT %ld\n", vector);
  38                break;
  39        case SCB_Q_SYSMCHK:
  40        case SCB_Q_SYSERR:
  41                printk(KERN_CRIT "MARVEL SYSMCHK/ERR %ld\n", vector);
  42                break;
  43        default:
  44                /* Don't know it - pass it up.  */
  45                return ev7_machine_check(vector, la_ptr, regs);
  46        }       
  47
  48        /* Release the logout frame.  */
  49        wrmces(0x7);
  50        mb();
  51}
  52
  53void
  54marvel_register_error_handlers(void)
  55{
  56        ev7_register_error_handlers();
  57}
  58
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.