]> git.sur5r.net Git - u-boot/blobdiff - arch/x86/cpu/mp_init.c
MAINTAINERS: board: qcom: db410c, db820c: update email.
[u-boot] / arch / x86 / cpu / mp_init.c
index 2604a687ab9f5d62bd3bb1634438635954e8c9c9..cfd9bb447b8bcb7035fe2acc6f9efebe09d08242 100644 (file)
@@ -11,6 +11,7 @@
 #include <dm.h>
 #include <errno.h>
 #include <malloc.h>
+#include <qfw.h>
 #include <asm/atomic.h>
 #include <asm/cpu.h>
 #include <asm/interrupt.h>
@@ -21,7 +22,6 @@
 #include <asm/mtrr.h>
 #include <asm/processor.h>
 #include <asm/sipi.h>
-#include <asm/fw_cfg.h>
 #include <dm/device-internal.h>
 #include <dm/uclass-internal.h>
 #include <dm/lists.h>
@@ -248,7 +248,8 @@ static int load_sipi_vector(atomic_t **ap_countp, int num_cpus)
        if (!stack)
                return -ENOMEM;
        params->stack_top = (u32)(stack + size);
-#if !defined(CONFIG_QEMU) && !defined(CONFIG_HAVE_FSP)
+#if !defined(CONFIG_QEMU) && !defined(CONFIG_HAVE_FSP) && \
+       !defined(CONFIG_INTEL_MID)
        params->microcode_ptr = ucode_base;
        debug("Microcode at %x\n", params->microcode_ptr);
 #endif
@@ -408,8 +409,6 @@ static int init_bsp(struct udevice **devp)
        cpu_get_name(processor_name);
        debug("CPU: %s\n", processor_name);
 
-       lapic_setup();
-
        apic_id = lapicid();
        ret = find_cpu_by_apic_id(apic_id, devp);
        if (ret) {
@@ -420,7 +419,7 @@ static int init_bsp(struct udevice **devp)
        return 0;
 }
 
-#ifdef CONFIG_QEMU
+#ifdef CONFIG_QFW
 static int qemu_cpu_fixup(void)
 {
        int ret;
@@ -496,7 +495,7 @@ int mp_init(struct mp_params *p)
        if (ret)
                return ret;
 
-#ifdef CONFIG_QEMU
+#ifdef CONFIG_QFW
        ret = qemu_cpu_fixup();
        if (ret)
                return ret;
@@ -570,7 +569,8 @@ int mp_init_cpu(struct udevice *cpu, void *unused)
         * seq num in the uclass_resolve_seq() during device_probe(). To avoid
         * this, set req_seq to the reg number in the device tree in advance.
         */
-       cpu->req_seq = fdtdec_get_int(gd->fdt_blob, cpu->of_offset, "reg", -1);
+       cpu->req_seq = fdtdec_get_int(gd->fdt_blob, dev_of_offset(cpu), "reg",
+                                     -1);
        plat->ucode_version = microcode_read_rev();
        plat->device_id = gd->arch.x86_device;