Subject: Re: ppcoea-renovation update (hackathon6)
To: None <port-powerpc@netbsd.org>
From: Toru Nishimura <locore64@alkyltechnology.com>
List: port-powerpc
Date: 05/10/2007 10:42:28
Robert Swindells  asked;

> How is the new interrupt code designed to be used on systems that have
> interrupt enables and masks split over multiple registers ?

Last night I wrote code for MPC83xx IPIC case as a brain storming
excercise.  MPC IPC has 3 set of registers for 8 external source and
total 64 internal source.  I approached with them looking at macppc
pic_heathrow.c;

struct ipic_ops {
        struct pic_ops pic;
        uint32_t pending_events_x;    /* 8 external source */
        uint32_t pending_events_l;    /* 32 source 0..31 */
        uint32_t pending_events_h;    /* 32 source 32..63 */
        uint32_t enable_mask_x;
        uint32_t enable_mask_l;
        uint32_t enable_mask_h;
}

As Matt mentions cascading interrupts, like for ones come thru GPIO,
can be hooked with an appropriate "slot" by having another xxx_ops
struct to make add_pic() call.

Toru Nishimura/ALKYL Technology