taglinefilesource code
mpc151arch/i386/kernel/smp.cstatic int smp_read_mpc(struct mp_config_table *mpc)
mpc154arch/i386/kernel/smp.cint count=sizeof(*mpc);
mpc156arch/i386/kernel/smp.cunsigned char *mpt=((unsigned char *)mpc)+count;
mpc158arch/i386/kernel/smp.cif(memcmp(mpc->mpc_signature,MPC_SIGNATURE,4))
mpc161arch/i386/kernel/smp.cmpc->mpc_signature[0],
mpc162arch/i386/kernel/smp.cmpc->mpc_signature[1],
mpc163arch/i386/kernel/smp.cmpc->mpc_signature[2],
mpc164arch/i386/kernel/smp.cmpc->mpc_signature[3]);
mpc167arch/i386/kernel/smp.cif(mpf_checksum((unsigned char *)mpc,mpc->mpc_length))
mpc172arch/i386/kernel/smp.cif(mpc->mpc_spec!=0x01 && mpc->mpc_spec!=0x04)
mpc174arch/i386/kernel/smp.cprintk("Bad Config Table version (%d)!!\n",mpc->mpc_spec);
mpc177arch/i386/kernel/smp.cmemcpy(str,mpc->mpc_oem,8);
mpc180arch/i386/kernel/smp.cmemcpy(str,mpc->mpc_productid,12);
mpc183arch/i386/kernel/smp.cprintk("APIC at: 0x%lX\n",mpc->mpc_lapic);
mpc186arch/i386/kernel/smp.capic_addr = mpc->mpc_lapic;
mpc192arch/i386/kernel/smp.cwhile(count<mpc->mpc_length)