struct irq_desc *desc = irq_desc + PIU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4111 ||
-           current_cpu_data.cputype == CPU_VR4121) {
+       if (current_cpu_type() == CPU_VR4111 ||
+           current_cpu_type() == CPU_VR4121) {
                spin_lock_irqsave(&desc->lock, flags);
                icu1_set(MPIUINTREG, mask);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + PIU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4111 ||
-           current_cpu_data.cputype == CPU_VR4121) {
+       if (current_cpu_type() == CPU_VR4111 ||
+           current_cpu_type() == CPU_VR4121) {
                spin_lock_irqsave(&desc->lock, flags);
                icu1_clear(MPIUINTREG, mask);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + AIU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4111 ||
-           current_cpu_data.cputype == CPU_VR4121) {
+       if (current_cpu_type() == CPU_VR4111 ||
+           current_cpu_type() == CPU_VR4121) {
                spin_lock_irqsave(&desc->lock, flags);
                icu1_set(MAIUINTREG, mask);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + AIU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4111 ||
-           current_cpu_data.cputype == CPU_VR4121) {
+       if (current_cpu_type() == CPU_VR4111 ||
+           current_cpu_type() == CPU_VR4121) {
                spin_lock_irqsave(&desc->lock, flags);
                icu1_clear(MAIUINTREG, mask);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + KIU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4111 ||
-           current_cpu_data.cputype == CPU_VR4121) {
+       if (current_cpu_type() == CPU_VR4111 ||
+           current_cpu_type() == CPU_VR4121) {
                spin_lock_irqsave(&desc->lock, flags);
                icu1_set(MKIUINTREG, mask);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + KIU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4111 ||
-           current_cpu_data.cputype == CPU_VR4121) {
+       if (current_cpu_type() == CPU_VR4111 ||
+           current_cpu_type() == CPU_VR4121) {
                spin_lock_irqsave(&desc->lock, flags);
                icu1_clear(MKIUINTREG, mask);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + PCI_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4122 ||
-           current_cpu_data.cputype == CPU_VR4131 ||
-           current_cpu_data.cputype == CPU_VR4133) {
+       if (current_cpu_type() == CPU_VR4122 ||
+           current_cpu_type() == CPU_VR4131 ||
+           current_cpu_type() == CPU_VR4133) {
                spin_lock_irqsave(&desc->lock, flags);
                icu2_write(MPCIINTREG, PCIINT0);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + PCI_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4122 ||
-           current_cpu_data.cputype == CPU_VR4131 ||
-           current_cpu_data.cputype == CPU_VR4133) {
+       if (current_cpu_type() == CPU_VR4122 ||
+           current_cpu_type() == CPU_VR4131 ||
+           current_cpu_type() == CPU_VR4133) {
                spin_lock_irqsave(&desc->lock, flags);
                icu2_write(MPCIINTREG, 0);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + SCU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4122 ||
-           current_cpu_data.cputype == CPU_VR4131 ||
-           current_cpu_data.cputype == CPU_VR4133) {
+       if (current_cpu_type() == CPU_VR4122 ||
+           current_cpu_type() == CPU_VR4131 ||
+           current_cpu_type() == CPU_VR4133) {
                spin_lock_irqsave(&desc->lock, flags);
                icu2_write(MSCUINTREG, SCUINT0);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + SCU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4122 ||
-           current_cpu_data.cputype == CPU_VR4131 ||
-           current_cpu_data.cputype == CPU_VR4133) {
+       if (current_cpu_type() == CPU_VR4122 ||
+           current_cpu_type() == CPU_VR4131 ||
+           current_cpu_type() == CPU_VR4133) {
                spin_lock_irqsave(&desc->lock, flags);
                icu2_write(MSCUINTREG, 0);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + CSI_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4122 ||
-           current_cpu_data.cputype == CPU_VR4131 ||
-           current_cpu_data.cputype == CPU_VR4133) {
+       if (current_cpu_type() == CPU_VR4122 ||
+           current_cpu_type() == CPU_VR4131 ||
+           current_cpu_type() == CPU_VR4133) {
                spin_lock_irqsave(&desc->lock, flags);
                icu2_set(MCSIINTREG, mask);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + CSI_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4122 ||
-           current_cpu_data.cputype == CPU_VR4131 ||
-           current_cpu_data.cputype == CPU_VR4133) {
+       if (current_cpu_type() == CPU_VR4122 ||
+           current_cpu_type() == CPU_VR4131 ||
+           current_cpu_type() == CPU_VR4133) {
                spin_lock_irqsave(&desc->lock, flags);
                icu2_clear(MCSIINTREG, mask);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + BCU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4122 ||
-           current_cpu_data.cputype == CPU_VR4131 ||
-           current_cpu_data.cputype == CPU_VR4133) {
+       if (current_cpu_type() == CPU_VR4122 ||
+           current_cpu_type() == CPU_VR4131 ||
+           current_cpu_type() == CPU_VR4133) {
                spin_lock_irqsave(&desc->lock, flags);
                icu2_write(MBCUINTREG, BCUINTR);
                spin_unlock_irqrestore(&desc->lock, flags);
        struct irq_desc *desc = irq_desc + BCU_IRQ;
        unsigned long flags;
 
-       if (current_cpu_data.cputype == CPU_VR4122 ||
-           current_cpu_data.cputype == CPU_VR4131 ||
-           current_cpu_data.cputype == CPU_VR4133) {
+       if (current_cpu_type() == CPU_VR4122 ||
+           current_cpu_type() == CPU_VR4131 ||
+           current_cpu_type() == CPU_VR4133) {
                spin_lock_irqsave(&desc->lock, flags);
                icu2_write(MBCUINTREG, 0);
                spin_unlock_irqrestore(&desc->lock, flags);
 {
        int retval = -EINVAL;
 
-       if (current_cpu_data.cputype != CPU_VR4133)
+       if (current_cpu_type() != CPU_VR4133)
                return -EINVAL;
 
        if (intassign > INTASSIGN_MAX)
        unsigned long icu1_start, icu2_start;
        int i;
 
-       switch (current_cpu_data.cputype) {
+       switch (current_cpu_type()) {
        case CPU_VR4111:
        case CPU_VR4121:
                icu1_start = ICU1_TYPE1_BASE;