Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:44

0001 /* irq.c
0002  *
0003  *  Copyright (c) 2010 Sebastien Bourdeauducq
0004  *
0005  *  The license and distribution terms for this file may be
0006  *  found in found in the file LICENSE in this distribution or at
0007  *  http://www.rtems.org/license/LICENSE.
0008  */
0009 
0010 #include <bsp.h>
0011 #include <rtems/score/cpu.h>
0012 #include <bsp/irq.h>
0013 #include <bsp/irq-generic.h>
0014 
0015 void bsp_interrupt_facility_initialize(void)
0016 {
0017   /* Nothing to do */
0018 }
0019 
0020 rtems_status_code bsp_interrupt_get_attributes(
0021   rtems_vector_number         vector,
0022   rtems_interrupt_attributes *attributes
0023 )
0024 {
0025   return RTEMS_SUCCESSFUL;
0026 }
0027 
0028 rtems_status_code bsp_interrupt_is_pending(
0029   rtems_vector_number vector,
0030   bool               *pending
0031 )
0032 {
0033   bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0034   bsp_interrupt_assert(pending != NULL);
0035   *pending = false;
0036   return RTEMS_UNSATISFIED;
0037 }
0038 
0039 rtems_status_code bsp_interrupt_raise(rtems_vector_number vector)
0040 {
0041   bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0042   return RTEMS_UNSATISFIED;
0043 }
0044 
0045 rtems_status_code bsp_interrupt_clear(rtems_vector_number vector)
0046 {
0047   bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0048   return RTEMS_UNSATISFIED;
0049 }
0050 
0051 rtems_status_code bsp_interrupt_vector_is_enabled(
0052   rtems_vector_number vector,
0053   bool               *enabled
0054 )
0055 {
0056   bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0057   bsp_interrupt_assert(enabled != NULL);
0058   *enabled = false;
0059   return RTEMS_UNSATISFIED;
0060 }
0061 
0062 rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
0063 {
0064   bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0065   lm32_interrupt_unmask(1 << vector);
0066   return RTEMS_SUCCESSFUL;
0067 }
0068 
0069 rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
0070 {
0071   bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0072   lm32_interrupt_mask(1 << vector);
0073   return RTEMS_SUCCESSFUL;
0074 }
0075 
0076 rtems_status_code bsp_interrupt_set_priority(
0077   rtems_vector_number vector,
0078   uint32_t priority
0079 )
0080 {
0081   bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0082   return RTEMS_UNSATISFIED;
0083 }
0084 
0085 rtems_status_code bsp_interrupt_get_priority(
0086   rtems_vector_number vector,
0087   uint32_t *priority
0088 )
0089 {
0090   bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0091   bsp_interrupt_assert(priority != NULL);
0092   return RTEMS_UNSATISFIED;
0093 }