X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fasm-arm26%2Fhardirq.h;h=52feb957f3e70d938e2a264d1de18b816c771b2a;hb=9e1bf581d67d87a1d7fc0ea500729e3a03643a26;hp=bb5a5faba26613de0c66276491f6a474c554e3d6;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/include/asm-arm26/hardirq.h b/include/asm-arm26/hardirq.h index bb5a5faba..52feb957f 100644 --- a/include/asm-arm26/hardirq.h +++ b/include/asm-arm26/hardirq.h @@ -15,8 +15,23 @@ typedef struct { #include /* Standard mappings for irq_cpustat_t above */ +/* + * We put the hardirq and softirq counter into the preemption + * counter. The bitmask has the following meaning: + * + * - bits 0-7 are the preemption count (max depth: 256) + * - bits 8-15 are the softirq count (max # of softirqs: 256) + * - bits 16-23 are the hardirq count (max # of hardirqs: 256) + * - bit 26 is the PREEMPT_ACTIVE flag + */ +#define PREEMPT_BITS 8 +#define SOFTIRQ_BITS 8 #define HARDIRQ_BITS 8 +#define PREEMPT_SHIFT 0 +#define SOFTIRQ_SHIFT (PREEMPT_SHIFT + PREEMPT_BITS) +#define HARDIRQ_SHIFT (SOFTIRQ_SHIFT + SOFTIRQ_BITS) + /* * The hardirq mask has to be large enough to have space * for potentially all IRQ sources in the system nesting