From c9da61022b25ee7aa13b6f594501efdba033a10b Mon Sep 17 00:00:00 2001 From: Tomas Hruby Date: Tue, 9 Feb 2010 15:29:58 +0000 Subject: [PATCH] intr_disabled() tests removed - we don't need to test this in kernel as we always have interrupts disabled - if interrupts are enabled in kernel, it is only at very carefully chosen places. There are no such places now. --- kernel/debug.c | 4 ---- kernel/debug.h | 1 - kernel/proc.c | 8 -------- kernel/proc.h | 4 ---- kernel/system/do_irqctl.c | 3 --- kernel/vm.h | 1 - 6 files changed, 21 deletions(-) diff --git a/kernel/debug.c b/kernel/debug.c index 6dd91e1ac..8d9d21489 100644 --- a/kernel/debug.c +++ b/kernel/debug.c @@ -21,10 +21,6 @@ check_runqueues_f(char *file, int line) int q, l = 0; register struct proc *xp; - if(!intr_disabled()) { - minix_panic("check_runqueues called with interrupts enabled", NO_NUM); - } - FIXME("check_runqueues being done"); #define MYPANIC(msg) { \ diff --git a/kernel/debug.h b/kernel/debug.h index 9ba7a119d..866e34211 100644 --- a/kernel/debug.h +++ b/kernel/debug.h @@ -52,7 +52,6 @@ varname = ENTERED; #define NOREC_RETURN(varname, v) do { \ - vmassert(intr_disabled()); \ vmassert(magictest == MAGICTEST); \ vmassert(varname == ENTERED || varname == NOTENTERED); \ varname = NOTENTERED; \ diff --git a/kernel/proc.c b/kernel/proc.c index 01e878ef5..5e957767f 100644 --- a/kernel/proc.c +++ b/kernel/proc.c @@ -154,7 +154,6 @@ PUBLIC struct proc * schedcheck(void) * to be scheduled again. */ NOREC_ENTER(schedch); - vmassert(intr_disabled()); /* * if the current process is still runnable check the misc flags and let @@ -784,8 +783,6 @@ endpoint_t dst_e; /* which process to notify */ int r; int dst_p; - vmassert(intr_disabled()); - if (!isokendpt(dst_e, &dst_p)) { util_stacktrace(); kprintf("mini_notify: bogus endpoint %d\n", dst_e); @@ -1178,7 +1175,6 @@ register struct proc *rp; /* this process is now runnable */ NOREC_ENTER(enqueuefunc); #if DEBUG_SCHED_CHECK - if(!intr_disabled()) { minix_panic("enqueue with interrupts enabled", NO_NUM); } if (rp->p_ready) minix_panic("enqueue already ready process", NO_NUM); #endif @@ -1238,7 +1234,6 @@ PRIVATE void enqueue_head(struct proc *rp) int q; /* scheduling queue to use */ #if DEBUG_SCHED_CHECK - if(!intr_disabled()) { minix_panic("enqueue with interrupts enabled", NO_NUM); } if (rp->p_ready) minix_panic("enqueue already ready process", NO_NUM); #endif @@ -1292,7 +1287,6 @@ register struct proc *rp; /* this process is no longer runnable */ #endif #if DEBUG_SCHED_CHECK - if(!intr_disabled()) { minix_panic("dequeue with interrupts enabled", NO_NUM); } if (! rp->p_ready) minix_panic("dequeue() already unready process", NO_NUM); #endif @@ -1404,8 +1398,6 @@ timer_t *tp; /* watchdog timer pointer */ clock_t next_period; /* time of next period */ int ticks_added = 0; /* total time added */ - vmassert(!intr_disabled()); - for (rp=BEG_PROC_ADDR; rpp_priority > rp->p_max_priority) { /* update priority? */ diff --git a/kernel/proc.h b/kernel/proc.h index 7c2f1a58a..467bfbe8b 100644 --- a/kernel/proc.h +++ b/kernel/proc.h @@ -163,23 +163,19 @@ struct proc { /* Set flag and dequeue if the process was runnable. */ #define RTS_SET(rp, f) \ do { \ - vmassert(intr_disabled()); \ if(proc_is_runnable(rp)) { dequeue(rp); } \ (rp)->p_rts_flags |= (f); \ - vmassert(intr_disabled()); \ } while(0) /* Clear flag and enqueue if the process was not runnable but is now. */ #define RTS_UNSET(rp, f) \ do { \ int rts; \ - vmassert(intr_disabled()); \ rts = (rp)->p_rts_flags; \ (rp)->p_rts_flags &= ~(f); \ if(!rts_f_is_runnable(rts) && proc_is_runnable(rp)) { \ enqueue(rp); \ } \ - vmassert(intr_disabled()); \ } while(0) /* Set flags to this value. */ diff --git a/kernel/system/do_irqctl.c b/kernel/system/do_irqctl.c index 75f31c39b..c16507570 100644 --- a/kernel/system/do_irqctl.c +++ b/kernel/system/do_irqctl.c @@ -137,8 +137,6 @@ irq_hook_t *hook; */ int proc_nr; - vmassert(intr_disabled()); - /* As a side-effect, the interrupt handler gathers random information by * timestamping the interrupt events. This is used for /dev/random. */ @@ -158,7 +156,6 @@ irq_hook_t *hook; priv(proc_addr(proc_nr))->s_int_pending |= (1 << hook->notify_id); /* Build notification message and return. */ - vmassert(intr_disabled()); mini_notify(proc_addr(HARDWARE), hook->proc_nr_e); return(hook->policy & IRQ_REENABLE); } diff --git a/kernel/vm.h b/kernel/vm.h index 5587ef76c..43461e68f 100644 --- a/kernel/vm.h +++ b/kernel/vm.h @@ -10,7 +10,6 @@ #define FIXLINMSG(prp) { prp->p_delivermsg_lin = umap_local(prp, D, prp->p_delivermsg_vir, sizeof(message)); } #define PHYS_COPY_CATCH(src, dst, size, a) { \ - vmassert(intr_disabled()); \ catch_pagefaults++; \ a = phys_copy(src, dst, size); \ catch_pagefaults--; \ -- 2.44.0