On Thu, Nov 21, 2013 at 11:00:44AM +0900, HATAYAMA Daisuke wrote: [..] > @@ -2122,6 +2129,19 @@ void generic_processor_info(int apicid, int version) > bool boot_cpu_detected = physid_isset(boot_cpu_physical_apicid, > phys_cpu_present_map); > > + if (disabled_cpu_apicid != BAD_APICID && > + disabled_cpu_apicid != boot_cpu_physical_apicid && Hi Hatayama, So we are comparing disabled_cpu_apicid with boot_cpu_physical_apicid to make sure that one can not disable the cpu we are booting on. Can we just read the apic id of booting cpu in local variable and compare against that? Something like as follows. if (disabled_cpu_apicid != BAD_APICID && disabled_cpu_apicid == apicid && disabled_cpu_apicid != read_apic_id()) { /* Disable cpu */ } If above works, you will not need first patch in the series? Thanks Vivek