Lines Matching refs:mpf

452 static int __init check_physptr(struct mpf_intel *mpf, unsigned int early)  in check_physptr()  argument
457 size = get_mpc_size(mpf->physptr); in check_physptr()
458 mpc = early_memremap(mpf->physptr, size); in check_physptr()
506 struct mpf_intel *mpf; in default_get_smp_config() local
524 mpf = early_memremap(mpf_base, sizeof(*mpf)); in default_get_smp_config()
525 if (!mpf) { in default_get_smp_config()
531 mpf->specification); in default_get_smp_config()
533 if (mpf->feature2 & (1 << 7)) { in default_get_smp_config()
544 if (mpf->feature1) { in default_get_smp_config()
553 pr_info("Default MP configuration #%d\n", mpf->feature1); in default_get_smp_config()
554 construct_default_ISA_mptable(mpf->feature1); in default_get_smp_config()
556 } else if (mpf->physptr) { in default_get_smp_config()
557 if (check_physptr(mpf, early)) { in default_get_smp_config()
558 early_memunmap(mpf, sizeof(*mpf)); in default_get_smp_config()
570 early_memunmap(mpf, sizeof(*mpf)); in default_get_smp_config()
573 static void __init smp_reserve_memory(struct mpf_intel *mpf) in smp_reserve_memory() argument
575 memblock_reserve(mpf->physptr, get_mpc_size(mpf->physptr)); in smp_reserve_memory()
581 struct mpf_intel *mpf; in smp_scan_config() local
586 BUILD_BUG_ON(sizeof(*mpf) != 16); in smp_scan_config()
590 mpf = (struct mpf_intel *)bp; in smp_scan_config()
592 (mpf->length == 1) && in smp_scan_config()
594 ((mpf->specification == 1) in smp_scan_config()
595 || (mpf->specification == 4))) { in smp_scan_config()
603 base, base + sizeof(*mpf) - 1, mpf); in smp_scan_config()
605 memblock_reserve(base, sizeof(*mpf)); in smp_scan_config()
606 if (mpf->physptr) in smp_scan_config()
607 smp_reserve_memory(mpf); in smp_scan_config()
861 struct mpf_intel *mpf; in update_mp_table() local
871 mpf = early_memremap(mpf_base, sizeof(*mpf)); in update_mp_table()
872 if (!mpf) { in update_mp_table()
880 if (mpf->feature1) in update_mp_table()
883 if (!mpf->physptr) in update_mp_table()
886 size = get_mpc_size(mpf->physptr); in update_mp_table()
887 mpc = early_memremap(mpf->physptr, size); in update_mp_table()
897 pr_info("physptr: %x\n", mpf->physptr); in update_mp_table()
923 mpf->physptr = mpc_new_phys; in update_mp_table()
929 if (mpc_new_phys - mpf->physptr) { in update_mp_table()
938 memcpy(mpf_new, mpf, 16); in update_mp_table()
939 early_memunmap(mpf, sizeof(*mpf)); in update_mp_table()
940 mpf = mpf_new; in update_mp_table()
941 mpf->physptr = mpc_new_phys; in update_mp_table()
943 mpf->checksum = 0; in update_mp_table()
944 mpf->checksum -= mpf_checksum((unsigned char *)mpf, 16); in update_mp_table()
945 pr_info("physptr new: %x\n", mpf->physptr); in update_mp_table()
960 early_memunmap(mpf, sizeof(*mpf)); in update_mp_table()