Index: ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/serial/generic/16x5x/current/ChangeLog,v retrieving revision 1.16 diff -u -r1.16 ChangeLog --- ChangeLog 22 Jun 2007 11:41:49 -0000 1.16 +++ ChangeLog 17 Aug 2007 17:00:03 -0000 @@ -1,3 +1,9 @@ +2007-08-17 Hans Rosenfeld + + * src/ser_16x5x.c: Added int_prio to pc_serial_info to enable + setting of interrupt priority. If unset the default priority is + used as before. + 2007-06-22 Alexander Aganichev * cdl/ser_generic_16x5x.cdl Index: src/ser_16x5x.c =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/serial/generic/16x5x/current/src/ser_16x5x.c,v retrieving revision 1.15 diff -u -r1.15 ser_16x5x.c --- src/ser_16x5x.c 22 Jun 2007 11:41:49 -0000 1.15 +++ src/ser_16x5x.c 17 Aug 2007 17:00:03 -0000 @@ -182,6 +182,7 @@ typedef struct pc_serial_info { cyg_addrword_t base; int int_num; + int int_prio; cyg_interrupt serial_interrupt; cyg_handle_t serial_interrupt_handle; #ifdef CYGPKG_IO_SERIAL_GENERIC_16X5X_FIFO @@ -375,6 +376,7 @@ if (chan->out_cbuf.len != 0) { cyg_drv_interrupt_create(ser_chan->int_num, + ser_chan->int_prio > 0 ? ser_chan->int_prio : CYG_IO_SERIAL_GENERIC_16X5X_INT_PRIORITY, (cyg_addrword_t)chan, pc_serial_ISR, Index: ChangeLog =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/serial/arm/lpc2xxx/current/ChangeLog,v retrieving revision 1.3 diff -u -r1.3 ChangeLog --- ChangeLog 22 Jun 2007 11:41:49 -0000 1.3 +++ ChangeLog 17 Aug 2007 17:02:26 -0000 @@ -1,3 +1,9 @@ +2007-08-17 Hans Rosenfeld + + * cdl/ser_arm_lpc2xxx.cdl, include/arm_lpc2xxx_ser.inl: Added + option to set interrupt priorities. Initialize int_prio field of + pc_serial_info. + 2007-06-22 Alexander Aganichev * cdl/ser_arm_lpc2xxx.cdl: Index: cdl/ser_arm_lpc2xxx.cdl =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/serial/arm/lpc2xxx/current/cdl/ser_arm_lpc2xxx.cdl,v retrieving revision 1.2 diff -u -r1.2 ser_arm_lpc2xxx.cdl --- cdl/ser_arm_lpc2xxx.cdl 22 Jun 2007 11:41:49 -0000 1.2 +++ cdl/ser_arm_lpc2xxx.cdl 17 Aug 2007 17:02:26 -0000 @@ -91,6 +91,18 @@ This option includes the serial device driver for the ARM LPC2XXX port 0." + cdl_option CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL0_PRIO { + display "interrupt priority for serial port 0" + parent CYGHWR_HAL_ARM_LPC2XXX_VIC + active_if CYGHWR_HAL_ARM_LPC2XXX_VIC + flavor data + default_value 4 + legal_values 0 to 16 + description "The interrupt priority corresponds to the vector + number in the Vectored Interrupt Controller. Lower + numbers designate higher priorities." + } + cdl_option CYGDAT_IO_SERIAL_ARM_LPC2XXX_SERIAL0_NAME { display "Device name for ARM LPC2XXX serial port 0 driver" flavor data @@ -136,6 +148,18 @@ This option includes the serial device driver for the ARM LPC2XXX port 1." + cdl_option CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL1_PRIO { + display "interrupt priority for serial port 1" + parent CYGHWR_HAL_ARM_LPC2XXX_VIC + active_if CYGHWR_HAL_ARM_LPC2XXX_VIC + flavor data + default_value 5 + legal_values 0 to 16 + description "The interrupt priority corresponds to the vector + number in the Vectored Interrupt Controller. Lower + numbers designate higher priorities." + } + cdl_option CYGDAT_IO_SERIAL_ARM_LPC2XXX_SERIAL1_NAME { display "Device name for ARM LPC2XXX serial port 1 driver" flavor data Index: include/arm_lpc2xxx_ser.inl =================================================================== RCS file: /cvs/ecos/ecos/packages/devs/serial/arm/lpc2xxx/current/include/arm_lpc2xxx_ser.inl,v retrieving revision 1.2 diff -u -r1.2 arm_lpc2xxx_ser.inl --- include/arm_lpc2xxx_ser.inl 15 Nov 2004 09:20:27 -0000 1.2 +++ include/arm_lpc2xxx_ser.inl 17 Aug 2007 17:02:27 -0000 @@ -87,7 +87,8 @@ #ifdef CYGPKG_IO_SERIAL_ARM_LPC2XXX_SERIAL0 static pc_serial_info lpc2xxx_serial_info0 = { CYGARC_HAL_LPC2XXX_REG_UART0_BASE, - CYGNUM_HAL_INTERRUPT_UART0 + CYGNUM_HAL_INTERRUPT_UART0, + CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL0_PRIO }; #if CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL0_BUFSIZE > 0 @@ -135,7 +136,8 @@ #ifdef CYGPKG_IO_SERIAL_ARM_LPC2XXX_SERIAL1 static pc_serial_info lpc2xxx_serial_info1 = { CYGARC_HAL_LPC2XXX_REG_UART1_BASE, - CYGNUM_HAL_INTERRUPT_UART1 + CYGNUM_HAL_INTERRUPT_UART1, + CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL1_PRIO }; #if CYGNUM_IO_SERIAL_ARM_LPC2XXX_SERIAL1_BUFSIZE > 0 static unsigned char