rtems_device_driver Clock_control( rtems_device_major_number major, rtems_device_minor_number minor, void *pargp ) { uint32_t isrlevel; rtems_libio_ioctl_args_t *args = pargp; if (args == 0) goto done; /* * This is hokey, but until we get a defined interface * to do this, it will just be this simple... */ if (args->command == rtems_build_name('I', 'S', 'R', ' ')) { Clock_isr(Clock_driver_vector); } else if (args->command == rtems_build_name('N', 'E', 'W', ' ')) { rtems_interrupt_disable( isrlevel ); (void) set_vector( args->buffer, Clock_driver_vector, 1 ); rtems_interrupt_enable( isrlevel ); } done: return RTEMS_SUCCESSFUL; }
rtems_device_driver Clock_control( rtems_device_major_number major, rtems_device_minor_number minor, void *pargp ) { rtems_libio_ioctl_args_t *args = pargp; if (args == 0) goto done; /* * This is hokey, but until we get a defined interface * to do this, it will just be this simple... */ if (args->command == rtems_build_name('I', 'S', 'R', ' ')) { Clock_isr(PPC_IRQ_LVL0); } else if (args->command == rtems_build_name('N', 'E', 'W', ' ')) { ReInstall_clock(args->buffer); } done: return RTEMS_SUCCESSFUL; }
rtems_device_driver Clock_control( rtems_device_major_number major, rtems_device_minor_number minor, void *pargp ) { uint32_t isrlevel; rtems_libio_ioctl_args_t *args = pargp; if (args != 0) { /* * This is hokey, but until we get a defined interface * to do this, it will just be this simple... */ if (args->command == rtems_build_name('I', 'S', 'R', ' ')) { Clock_isr(CLOCK_VECTOR); } else if (args->command == rtems_build_name('N', 'E', 'W', ' ')) { rtems_isr_entry ignored ; rtems_interrupt_disable( isrlevel ); rtems_interrupt_catch( args->buffer, CLOCK_VECTOR, &ignored ); rtems_interrupt_enable( isrlevel ); } } return RTEMS_SUCCESSFUL; }
static void _ARMV7M_Systick_handler(void) { _ARMV7M_Interrupt_service_enter(); Clock_isr(NULL); _ARMV7M_Interrupt_service_leave(); }
void BSP_clock_hdl(void * arg) { Clock_isr(arg); }
void t32mppc_decrementer_dispatch(void) { PPC_SET_SPECIAL_PURPOSE_REGISTER(BOOKE_TSR, BOOKE_TSR_DIS); Clock_isr(NULL); }