diff -bBdr linux-2.2.16/arch/i386/config.in paranoia_kernel/arch/i386/config.in 56a57 > bool 'Paranoia' CONFIG_PARANOIA diff -bBdr linux-2.2.16/drivers/char/random.c paranoia_kernel/drivers/char/random.c 239a240,245 > /* > * Added functionality for switching on IRQ-entropy adding. > * Copyright (C) 2000 by Folkert van Heusden > * http://www.vanheusden.com/ > */ > 263c269,273 < #define POOLWORDS 128 /* Power of 2 - note that this is 32-bit words */ --- > #ifdef CONFIG_PARANOIA > #define POOLWORDS 2048 > #else > #define POOLWORDS 512 /* Power of 2 - note that this is 32-bit words */ > #endif 1433a1444,1457 > case RNDGETIRQSTATE: > if (arg < 0 || arg >= NR_IRQS) > return -EFAULT; > return (irq_desc[arg] & SA_SAMPLE_RANDOM)?1:0; > case RNDSETIRQSTATE: > if (arg < 0 || arg >= NR_IRQS) > return -EFAULT; > irq_desc[arg] |= SA_SAMPLE_RANDOM; > break; > case RNDRESETIRQSTATE: > if (arg < 0 || arg >= NR_IRQS) > return -EFAULT; > irq_desc[arg] &= ~SA_SAMPLE_RANDOM; > break; diff -bBdr linux-2.2.16/include/asm-i386/irq.h paranoia_kernel/include/asm-i386/irq.h 25a26,36 > typedef struct { > unsigned int status; /* IRQ status - IRQ_INPROGRESS, IRQ_DISABLED */ > struct hw_interrupt_type *handler; /* handle/enable/disable functions */ > struct irqaction *action; /* IRQ action list */ > unsigned int depth; /* Disable depth for nested irq disables */ > unsigned int unused[4]; > } irq_desc_t; > > extern irq_desc_t irq_desc[NR_IRQS]; > > diff -bBdr linux-2.2.16/include/linux/random.h paranoia_kernel/include/linux/random.h 34a35,43 > /* Get interrupt-randomness addition state (on(1)/off(0)) */ > #define RNDGETIRQSTATE _IO( 'R', 0x07 ) > > /* Set interrupt-randomness addition state */ > #define RNDSETIRQSTATE _IO( 'R', 0x08 ) > > /* Set interrupt-randomness addition state */ > #define RNDRESETIRQSTATE _IO( 'R', 0x09 ) >