Port-sun2 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

re: anyone booted sun2 or sun3 kernels in the last 3 months?



this seems grody but seems to work.. perhaps the right fix is to just
redefine IPL_SOFT* back to the _IPL_SOFT_LEVEL_* constants?


.mrg.


Index: sun68k/isr.c
===================================================================
RCS file: /cvsroot/src/sys/arch/sun68k/sun68k/isr.c,v
retrieving revision 1.8
diff -p -r1.8 isr.c
*** sun68k/isr.c        29 Mar 2006 08:55:40 -0000      1.8
--- sun68k/isr.c        24 Jun 2006 02:44:09 -0000
*************** softintr_init(void)
*** 303,316 ****
  void *
  softintr_establish(int ipl, void (*func)(void *), void *arg)
  {
        struct softintr_handler *sh;
        struct softintr_head *shd;
  
!       ipl &= ~PSL_S;
!       if (ipl < _IPL_SOFT_LEVEL_MIN || ipl > _IPL_SOFT_LEVEL_MAX)
!               panic("softintr_establish: unsupported soft IPL");
  
!       shd = &soft_level_heads[ipl - _IPL_SOFT_LEVEL_MIN];
  
        sh = malloc(sizeof(*sh), M_SOFTINTR, M_NOWAIT);
        if (sh == NULL)
--- 303,322 ----
  void *
  softintr_establish(int ipl, void (*func)(void *), void *arg)
  {
+       int ix;
        struct softintr_handler *sh;
        struct softintr_head *shd;
  
!       if (ipl == IPL_SOFTCLOCK)
!               ix = 0;
!       else if (ipl == IPL_SOFTNET)
!               ix = 1;
!       else if (ipl == IPL_SOFTSERIAL)
!               ix = 2;
!       else
!               panic("softintr_establish: unsupported soft IPL %d", ipl);
  
!       shd = &soft_level_heads[ix];
  
        sh = malloc(sizeof(*sh), M_SOFTINTR, M_NOWAIT);
        if (sh == NULL)



Home | Main Index | Thread Index | Old Index