Interrupts – Comtrol eCos User Manual

Page 253

Advertising
background image

Chapter 5. Installation and Testing

-b <

addr>

Location to store command line and environment passed to kernel

-w <

time>

Wait time in seconds before starting kernel

-c

"params"

Parameters passed to kernel

<

addr>

Kernel entry point, defaulting to the entry point of the last image loaded

Linux kernels on MIPS platforms expect the entry point to be called with arguments in the registers equivalent to
a C call with prototype:

void Linux(int argc, char **argv, char **envp);

RedBoot will place the appropriate data at the offset specified by the

-b

parameter, or by default at address

0x80080000, and will set the arguments accordingly when calling into the kernel.

The default entry point, if no image with explicit entry point has been loaded and none is specified, is 0x80000750.

Interrupts

RedBoot uses an interrupt vector table which is located at address 0x80000200. Entries in this table are pointers to
functions with this protoype:

int irq_handler( unsigned vector, unsigned data )

On

the

malta

board,

the

vector

argument

is

one

of

22

interrupts

defined

in

hal/mips/malta/VERSION /include/plf_intr.h

:

#define CYGNUM_HAL_INTERRUPT_SOUTH_BRIDGE_INTR

0

#define CYGNUM_HAL_INTERRUPT_SOUTH_BRIDGE_SMI

1

#define CYGNUM_HAL_INTERRUPT_CBUS_UART

2

#define CYGNUM_HAL_INTERRUPT_COREHI

3

#define CYGNUM_HAL_INTERRUPT_CORELO

4

#define CYGNUM_HAL_INTERRUPT_COMPARE

5

#define CYGNUM_HAL_INTERRUPT_TIMER

6

#define CYGNUM_HAL_INTERRUPT_KEYBOARD

7

#define CYGNUM_HAL_INTERRUPT_CASCADE

8

#define CYGNUM_HAL_INTERRUPT_TTY1

9

#define CYGNUM_HAL_INTERRUPT_TTY0

10

#define CYGNUM_HAL_INTERRUPT_11

11

#define CYGNUM_HAL_INTERRUPT_FLOPPY

12

#define CYGNUM_HAL_INTERRUPT_PARALLEL

13

#define CYGNUM_HAL_INTERRUPT_REAL_TIME_CLOCK

14

#define CYGNUM_HAL_INTERRUPT_I2C

15

#define CYGNUM_HAL_INTERRUPT_PCI_AB

16

#define CYGNUM_HAL_INTERRUPT_PCI_CD

17

149

Advertising