Print this page
7127  remove -Wno-missing-braces from Makefile.uts


  74         "Cannot register interrupt for '%s' device at IPL %d because it\n"
  75         "conflicts with another device using the same vector %d with an IPL\n"
  76         "of %d. Reconfigure the conflicting devices to use different vectors.";
  77 
  78 #ifdef __xpv
  79 #define MAX_VECT        NR_IRQS
  80 #else
  81 #define MAX_VECT        256
  82 #endif
  83 
  84 struct autovec *nmivect = NULL;
  85 struct av_head autovect[MAX_VECT];
  86 struct av_head softvect[LOCK_LEVEL + 1];
  87 kmutex_t av_lock;
  88 /*
  89  * These are software interrupt handlers dedicated to ddi timer.
  90  * The interrupt levels up to 10 are supported, but high interrupts
  91  * must not be used there.
  92  */
  93 ddi_softint_hdl_impl_t softlevel_hdl[DDI_IPL_10] = {
  94         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 1 */
  95         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 2 */
  96         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 3 */
  97         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 4 */
  98         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 5 */
  99         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 6 */
 100         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 7 */
 101         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 8 */
 102         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 9 */
 103         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL}, /* level 10 */
 104 };
 105 ddi_softint_hdl_impl_t softlevel1_hdl =
 106         {0, NULL, NULL, NULL, 0, NULL, NULL, NULL};
 107 
 108 /*
 109  * clear/check softint pending flag corresponding for
 110  * the current CPU
 111  */
 112 void
 113 av_clear_softint_pending(av_softinfo_t *infop)
 114 {
 115         CPUSET_ATOMIC_DEL(infop->av_pending, CPU->cpu_seqid);
 116 }
 117 
 118 boolean_t
 119 av_check_softint_pending(av_softinfo_t *infop, boolean_t check_all)
 120 {
 121         if (check_all)
 122                 return (!CPUSET_ISNULL(infop->av_pending));
 123         else
 124                 return (CPU_IN_SET(infop->av_pending, CPU->cpu_seqid) != 0);
 125 }
 126 




  74         "Cannot register interrupt for '%s' device at IPL %d because it\n"
  75         "conflicts with another device using the same vector %d with an IPL\n"
  76         "of %d. Reconfigure the conflicting devices to use different vectors.";
  77 
  78 #ifdef __xpv
  79 #define MAX_VECT        NR_IRQS
  80 #else
  81 #define MAX_VECT        256
  82 #endif
  83 
  84 struct autovec *nmivect = NULL;
  85 struct av_head autovect[MAX_VECT];
  86 struct av_head softvect[LOCK_LEVEL + 1];
  87 kmutex_t av_lock;
  88 /*
  89  * These are software interrupt handlers dedicated to ddi timer.
  90  * The interrupt levels up to 10 are supported, but high interrupts
  91  * must not be used there.
  92  */
  93 ddi_softint_hdl_impl_t softlevel_hdl[DDI_IPL_10] = {
  94         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 1 */
  95         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 2 */
  96         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 3 */
  97         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 4 */
  98         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 5 */
  99         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 6 */
 100         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 7 */
 101         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 8 */
 102         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 9 */
 103         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL}, /* level 10 */
 104 };
 105 ddi_softint_hdl_impl_t softlevel1_hdl =
 106         {NULL, 0, {{NULL}}, NULL, NULL, NULL, NULL, NULL};
 107 
 108 /*
 109  * clear/check softint pending flag corresponding for
 110  * the current CPU
 111  */
 112 void
 113 av_clear_softint_pending(av_softinfo_t *infop)
 114 {
 115         CPUSET_ATOMIC_DEL(infop->av_pending, CPU->cpu_seqid);
 116 }
 117 
 118 boolean_t
 119 av_check_softint_pending(av_softinfo_t *infop, boolean_t check_all)
 120 {
 121         if (check_all)
 122                 return (!CPUSET_ISNULL(infop->av_pending));
 123         else
 124                 return (CPU_IN_SET(infop->av_pending, CPU->cpu_seqid) != 0);
 125 }
 126