Print this page
OS-2366 ddi_periodic_add(9F) is entirely rubbish (MORE)


  29 #include <sys/sysmacros.h>
  30 #include <sys/stack.h>
  31 #include <sys/cpuvar.h>
  32 #include <sys/ivintr.h>
  33 #include <sys/intreg.h>
  34 #include <sys/membar.h>
  35 #include <sys/kmem.h>
  36 #include <sys/intr.h>
  37 #include <sys/sunddi.h>
  38 #include <sys/sunndi.h>
  39 #include <sys/cmn_err.h>
  40 #include <sys/privregs.h>
  41 #include <sys/systm.h>
  42 #include <sys/archsystm.h>
  43 #include <sys/machsystm.h>
  44 #include <sys/x_call.h>
  45 #include <vm/seg_kp.h>
  46 #include <sys/debug.h>
  47 #include <sys/cyclic.h>
  48 #include <sys/kdi_impl.h>
  49 #include <sys/ddi_timer.h>
  50 
  51 #include <sys/cpu_sgnblk_defs.h>
  52 
  53 /* Global locks which protect the interrupt distribution lists */
  54 static kmutex_t intr_dist_lock;
  55 static kmutex_t intr_dist_cpu_lock;
  56 
  57 /* Head of the interrupt distribution lists */
  58 static struct intr_dist *intr_dist_head = NULL;
  59 static struct intr_dist *intr_dist_whead = NULL;
  60 
  61 static uint64_t siron_inum[DDI_IPL_10]; /* software interrupt numbers */
  62 uint64_t *siron_cpu_inum = NULL;
  63 uint64_t siron_poke_cpu_inum;
  64 static int siron_cpu_setup(cpu_setup_t, int, void *);
  65 extern uint_t softlevel1();
  66 
  67 static uint64_t siron1_inum; /* backward compatibility */
  68 uint64_t poke_cpu_inum;
  69 uint_t poke_cpu_intr(caddr_t arg1, caddr_t arg2);




  29 #include <sys/sysmacros.h>
  30 #include <sys/stack.h>
  31 #include <sys/cpuvar.h>
  32 #include <sys/ivintr.h>
  33 #include <sys/intreg.h>
  34 #include <sys/membar.h>
  35 #include <sys/kmem.h>
  36 #include <sys/intr.h>
  37 #include <sys/sunddi.h>
  38 #include <sys/sunndi.h>
  39 #include <sys/cmn_err.h>
  40 #include <sys/privregs.h>
  41 #include <sys/systm.h>
  42 #include <sys/archsystm.h>
  43 #include <sys/machsystm.h>
  44 #include <sys/x_call.h>
  45 #include <vm/seg_kp.h>
  46 #include <sys/debug.h>
  47 #include <sys/cyclic.h>
  48 #include <sys/kdi_impl.h>
  49 #include <sys/ddi_periodic.h>
  50 
  51 #include <sys/cpu_sgnblk_defs.h>
  52 
  53 /* Global locks which protect the interrupt distribution lists */
  54 static kmutex_t intr_dist_lock;
  55 static kmutex_t intr_dist_cpu_lock;
  56 
  57 /* Head of the interrupt distribution lists */
  58 static struct intr_dist *intr_dist_head = NULL;
  59 static struct intr_dist *intr_dist_whead = NULL;
  60 
  61 static uint64_t siron_inum[DDI_IPL_10]; /* software interrupt numbers */
  62 uint64_t *siron_cpu_inum = NULL;
  63 uint64_t siron_poke_cpu_inum;
  64 static int siron_cpu_setup(cpu_setup_t, int, void *);
  65 extern uint_t softlevel1();
  66 
  67 static uint64_t siron1_inum; /* backward compatibility */
  68 uint64_t poke_cpu_inum;
  69 uint_t poke_cpu_intr(caddr_t arg1, caddr_t arg2);