u-boot-brain/arch/x86
Miao Yan 417576c2f1 x86: Add a 'pause' instruction in __udelay() for QEMU target
When running SMP configuration on QEMU (tcg mode, no kvm), there is
a busy loop in start_aps(), calling udelay(), that waits for APs to
show up online. However, there is a chance that VCPU1 will be timeout
waiting, IOW the secondary VCPUs haven't started their execution yet.

This patch adds a 'pause' instruction in __udelay() only for QEMU
target, to give other VCPUs a chance to run. When QEMU sees the
'pause' instruction, it will yeild the execution to other CPUs.

Signed-off-by: Miao Yan <yanmiaobest@gmail.com>
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Acked-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
2015-08-05 08:42:38 -06:00
..
cpu x86: qemu: Turn on PCIe ECAM address range decoding on Q35 2015-07-28 10:36:25 -06:00
dts x86: qemu: Enable writing MP table 2015-07-28 10:36:25 -06:00
include/asm x86: qemu: Turn on PCIe ECAM address range decoding on Q35 2015-07-28 10:36:25 -06:00
lib x86: Add a 'pause' instruction in __udelay() for QEMU target 2015-08-05 08:42:38 -06:00
config.mk generic-board: move __HAVE_ARCH_GENERIC_BOARD to Kconfig 2015-03-28 09:03:08 -04:00
Kconfig x86: Reserve PCIe ECAM address range in the E820 table 2015-07-28 10:36:25 -06:00
Makefile Kbuild: introduce Makefile in arch/$ARCH/ 2014-12-08 09:35:45 -05:00