From c163605f8086c09c9007fae3d98bb379e4d75d01 Mon Sep 17 00:00:00 2001 From: Jennifer Averett Date: Mon, 18 Apr 2005 17:37:50 +0000 Subject: 2005-04-18 Jennifer Averett * libchip/serial/ns16550.c: Modified ISR to work with PPC new exception processing --- c/src/ChangeLog | 5 ++++ c/src/libchip/serial/ns16550.c | 63 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 68 insertions(+) diff --git a/c/src/ChangeLog b/c/src/ChangeLog index 8b5fded3b5..6fd6b7600d 100644 --- a/c/src/ChangeLog +++ b/c/src/ChangeLog @@ -1,3 +1,8 @@ +2005-04-18 Jennifer Averett + + * libchip/serial/ns16550.c: Modified + ISR to work with PPC new exception processing + 2005-03-14 Joel Sherrill * libchip/network/dec21140.c, libchip/network/elnk.c, diff --git a/c/src/libchip/serial/ns16550.c b/c/src/libchip/serial/ns16550.c index d98cd01f1f..01110f394a 100644 --- a/c/src/libchip/serial/ns16550.c +++ b/c/src/libchip/serial/ns16550.c @@ -67,7 +67,13 @@ console_fns ns16550_fns_polled = { FALSE /* deviceOutputUsesInterrupts */ }; +#if defined(__PPC__) +#ifdef _OLD_EXCEPTIONS extern void set_vector( rtems_isr_entry, rtems_vector_number, int ); +#else +#include +#endif +#endif /* * ns16550_init @@ -510,6 +516,9 @@ NS16550_STATIC void ns16550_process( } while((ucInterruptId&0xf)!=0x1); } +#if defined(__PPC__) +#ifdef _OLD_EXCEPTIONS + /* * ns16550_isr */ @@ -528,6 +537,26 @@ NS16550_STATIC rtems_isr ns16550_isr( } } +#else + +NS16550_STATIC rtems_isr ns16550_isr( + void *entry +) +{ + console_tbl *ptr = entry; + int minor; + + for(minor=0;minor