Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

include/lnp/sys/irq.h File Reference

Internal LNP Interface: RCX redirected IRQ vectors. More...

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Defines

#define HANDLER_WRAPPER(wrapstring, handstring)

Functions

void rom_ocia_handler ()
 ROM OCIA interrupt handler.

void rom_ocia_return ()
 return address in ROM OCIA handler

void rom_dummy_handler ()
 address of an RTS instruction

void disable_irqs ()
 disable interrupt processing

void enable_irqs ()
 enable interrupt processing


Variables

void * reset_vector
 reset vector

void * nmi_vector
 NMI interrupt vector.

void * irq0_vector
 IRQ0 interrupt vector.

void * irq1_vector
 IRQ1 interrupt vector.

void * irq2_vector
 IRQ2 interrupt vector.

void * icia_vector
 ICIA interrupt vector.

void * icib_vector
 ICIB interrupt vector.

void * icic_vector
 ICIC interrupt vector.

void * icid_vector
 ICID interrupt vector.

void * ocia_vector
 OCIA interrupt vector.

void * ocib_vector
 OCIB interrupt vector.

void * fovi_vector
 FOVI interrupt vector.

void * cmi0a_vector
 CMI0A interrupt vector.

void * cmi0b_vector
 CMI0B interrupt vector.

void * ovi0_vector
 OVI0 interrupt vector.

void * cmi1a_vector
 CMI1A interrupt vector.

void * cmi1b_vector
 CMI1B interrupt vector.

void * ovi1_vector
 OVI1 interrupt vector.

void * eri_vector
 ERI interrupt vector.

void * rxi_vector
 RXI interrupt vector.

void * txi_vector
 TXI interrupt vector.

void * tei_vector
 TEI interrupt vector.

void * ad_vector
 A/D interrupt vector.

void * wovf_vector
 WOVF interrupt vector.

void * rom_reset_vector
 ROM reset vector.


Detailed Description

Internal LNP Interface: RCX redirected IRQ vectors.

Author:
Markus L. Noga <markus@noga.de>
Lego Mindstorms RCX IRQ redirection vector table All redirected handlers can assume r6 to be saved All redirected handlers must return with rts, *not* rte.

Warning:
Incomplete.

Definition in file irq.h.


Define Documentation

#define HANDLER_WRAPPER wrapstring,
handstring   ) 
 

Value:

__asm__ (".text\n.align 1\n.global _" wrapstring "\n_" wrapstring \
": push r0\npush r1\npush r2\npush r3\njsr @_" handstring \
"\npop r3\npop r2\npop r1\npop r0\nrts\n")

Definition at line 48 of file irq.h.


Function Documentation

void disable_irqs  )  [inline]
 

disable interrupt processing

Definition at line 98 of file irq.h.

References __asm__().

Referenced by rom_reset().

void enable_irqs  )  [inline]
 

enable interrupt processing

Definition at line 103 of file irq.h.

References __asm__().

void rom_dummy_handler  ) 
 

address of an RTS instruction

Referenced by systime_init().

void rom_ocia_handler  ) 
 

ROM OCIA interrupt handler.

void rom_ocia_return  ) 
 

return address in ROM OCIA handler


Variable Documentation

void* ad_vector
 

A/D interrupt vector.

Definition at line 82 of file irq.h.

void* cmi0a_vector
 

CMI0A interrupt vector.

Definition at line 72 of file irq.h.

void* cmi0b_vector
 

CMI0B interrupt vector.

Definition at line 73 of file irq.h.

void* cmi1a_vector
 

CMI1A interrupt vector.

Definition at line 75 of file irq.h.

void* cmi1b_vector
 

CMI1B interrupt vector.

Definition at line 76 of file irq.h.

void* eri_vector
 

ERI interrupt vector.

Definition at line 78 of file irq.h.

void* fovi_vector
 

FOVI interrupt vector.

Definition at line 71 of file irq.h.

void* icia_vector
 

ICIA interrupt vector.

Definition at line 65 of file irq.h.

void* icib_vector
 

ICIB interrupt vector.

Definition at line 66 of file irq.h.

void* icic_vector
 

ICIC interrupt vector.

Definition at line 67 of file irq.h.

void* icid_vector
 

ICID interrupt vector.

Definition at line 68 of file irq.h.

void* irq0_vector
 

IRQ0 interrupt vector.

Definition at line 62 of file irq.h.

void* irq1_vector
 

IRQ1 interrupt vector.

Definition at line 63 of file irq.h.

void* irq2_vector
 

IRQ2 interrupt vector.

Definition at line 64 of file irq.h.

void* nmi_vector
 

NMI interrupt vector.

Definition at line 61 of file irq.h.

Referenced by systime_init().

void* ocia_vector
 

OCIA interrupt vector.

Definition at line 69 of file irq.h.

Referenced by systime_init().

void* ocib_vector
 

OCIB interrupt vector.

Definition at line 70 of file irq.h.

Referenced by systime_init().

void* ovi0_vector
 

OVI0 interrupt vector.

Definition at line 74 of file irq.h.

void* ovi1_vector
 

OVI1 interrupt vector.

Definition at line 77 of file irq.h.

void* reset_vector
 

reset vector

Definition at line 60 of file irq.h.

Referenced by kmain().

void* rom_reset_vector
 

ROM reset vector.

Definition at line 85 of file irq.h.

Referenced by kmain().

void* rxi_vector
 

RXI interrupt vector.

Definition at line 79 of file irq.h.

void* tei_vector
 

TEI interrupt vector.

Definition at line 81 of file irq.h.

void* txi_vector
 

TXI interrupt vector.

Definition at line 80 of file irq.h.

void* wovf_vector
 

WOVF interrupt vector.

Definition at line 83 of file irq.h.


brickOS is released under the Mozilla Public License.
Original code copyright 1998-2002 by the authors.

Generated on Mon Feb 16 21:02:21 2004 for brickOS Kernel Developer by doxygen 1.3.5