File indexing completed on 2025-05-11 08:23:59
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #include <bsp.h>
0029 #include <bsp/irq-generic.h>
0030 #include <bsp/vectors.h>
0031
0032 rtems_status_code bsp_interrupt_get_attributes(
0033 rtems_vector_number vector,
0034 rtems_interrupt_attributes *attributes
0035 )
0036 {
0037 return RTEMS_SUCCESSFUL;
0038 }
0039
0040 rtems_status_code bsp_interrupt_is_pending(
0041 rtems_vector_number vector,
0042 bool *pending
0043 )
0044 {
0045 bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0046 bsp_interrupt_assert(pending != NULL);
0047 *pending = false;
0048 return RTEMS_UNSATISFIED;
0049 }
0050
0051 rtems_status_code bsp_interrupt_raise(rtems_vector_number vector)
0052 {
0053 bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0054 return RTEMS_UNSATISFIED;
0055 }
0056
0057 rtems_status_code bsp_interrupt_clear(rtems_vector_number vector)
0058 {
0059 bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0060 return RTEMS_UNSATISFIED;
0061 }
0062
0063 rtems_status_code bsp_interrupt_vector_is_enabled(
0064 rtems_vector_number vector,
0065 bool *enabled
0066 )
0067 {
0068 bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0069 bsp_interrupt_assert(enabled != NULL);
0070 *enabled = false;
0071 return RTEMS_UNSATISFIED;
0072 }
0073
0074 rtems_status_code bsp_interrupt_vector_enable(rtems_vector_number vector)
0075 {
0076 bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0077 return RTEMS_SUCCESSFUL;
0078 }
0079
0080 void bsp_interrupt_dispatch(uintptr_t exception_number)
0081 {
0082 if (exception_number == 10) {
0083 t32mppc_decrementer_dispatch();
0084 } else {
0085 bsp_interrupt_handler_default(0);
0086 }
0087 }
0088
0089 rtems_status_code bsp_interrupt_vector_disable(rtems_vector_number vector)
0090 {
0091 bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0092 return RTEMS_SUCCESSFUL;
0093 }
0094
0095 rtems_status_code bsp_interrupt_set_priority(
0096 rtems_vector_number vector,
0097 uint32_t priority
0098 )
0099 {
0100 bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0101 return RTEMS_UNSATISFIED;
0102 }
0103
0104 rtems_status_code bsp_interrupt_get_priority(
0105 rtems_vector_number vector,
0106 uint32_t *priority
0107 )
0108 {
0109 bsp_interrupt_assert(bsp_interrupt_is_valid_vector(vector));
0110 bsp_interrupt_assert(priority != NULL);
0111 return RTEMS_UNSATISFIED;
0112 }
0113
0114 #if defined(RTEMS_SMP)
0115 rtems_status_code bsp_interrupt_get_affinity(
0116 rtems_vector_number vector,
0117 Processor_mask *affinity
0118 )
0119 {
0120 (void) vector;
0121 _Processor_mask_From_index( affinity, 0 );
0122 return RTEMS_UNSATISFIED;
0123 }
0124
0125 rtems_status_code bsp_interrupt_set_affinity(
0126 rtems_vector_number vector,
0127 const Processor_mask *affinity
0128 )
0129 {
0130 (void) vector;
0131 (void) affinity;
0132 return RTEMS_UNSATISFIED;
0133 }
0134 #endif
0135
0136 void bsp_interrupt_facility_initialize(void)
0137 {
0138
0139 }