return sum & 0xFF;
 }
 
+#ifdef CONFIG_X86_NUMAQ
 /*
  * Have to match translation table entries to main table entries by counter
  * hence the mpc_record variable .... can't see a less disgusting way of
 
 static int mpc_record; 
 static struct mpc_config_translation *translation_table[MAX_MPC_ENTRY] __cpuinitdata;
+#endif
 
 static void __cpuinit MP_processor_info (struct mpc_config_processor *m)
 {
        /*
         *      Now process the configuration blocks.
         */
+#ifdef CONFIG_X86_NUMAQ
        mpc_record = 0;
+#endif
        while (count < mpc->mpc_length) {
                switch(*mpt) {
                        case MP_PROCESSOR:
                                break;
                        }
                }
+#ifdef CONFIG_X86_NUMAQ
                ++mpc_record;
+#endif
        }
        setup_apic_routing();
        if (!num_processors)
 
  * Copyright 2003 Andi Kleen, SuSE Labs.
  */
 
-struct mpc_config_translation;
 struct mpc_config_bus;
 struct mp_config_table;
 struct mpc_config_processor;
 
        return physid_mask_of_physid(cpu + 4*node);
 }
 
+struct mpc_config_translation {
+       unsigned char mpc_type;
+       unsigned char trans_len;
+       unsigned char trans_type;
+       unsigned char trans_quad;
+       unsigned char trans_global;
+       unsigned char trans_local;
+       unsigned short trans_reserved;
+};
+
 static inline int mpc_apic_id(struct mpc_config_processor *m, 
                        struct mpc_config_translation *translation_record)
 {
 
        char  mpc_oem[8];
 };
 
-struct mpc_config_translation
-{
-       unsigned char mpc_type;
-       unsigned char trans_len;
-       unsigned char trans_type;
-       unsigned char trans_quad;
-       unsigned char trans_global;
-       unsigned char trans_local;
-       unsigned short trans_reserved;
-};
-
 /*
  *     Default configurations
  *