u-boot/arch/x86/lib
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
..
fsp x86: Reserve PCIe ECAM address range in the E820 table 2015-07-28 10:36:25 -06:00
asm-offsets.c x86: Support Intel FSP initialization path in start.S 2014-12-13 22:32:05 -07:00
bios.c x86: Tidy up VESA mode numbers 2015-01-13 07:24:59 -08:00
bios.h x86: move arch-specific asmlinkage to <asm/linkage.h> 2014-12-15 07:22:53 -07:00
bios_asm.S x86: bios: Synchronize stack between real and protected mode 2015-07-14 18:03:18 -06:00
bios_interrupts.c x86: bios: Allow pci config read/write to host bridge in int1a_handler 2015-07-14 18:03:18 -06:00
bootm.c x86: Correct a few progress message nits 2014-10-28 20:44:27 -06:00
cmd_boot.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cmd_hob.c x86: Move common FSP code into a common location 2015-02-05 22:16:43 -07:00
cmd_mtrr.c x86: cmd_mtrr: Improve MTRR list information 2015-07-14 18:03:18 -06:00
gcc.c x86: Support tracing function 2013-06-26 10:18:56 -04:00
init_helpers.c dm: x86: spi: Convert ICH SPI driver to driver model 2015-04-18 11:11:14 -06:00
interrupts.c x86: Fix out of bounds irq handlers access 2015-01-23 17:24:54 -07:00
lpc-uclass.c dm: x86: Add a uclass for an Low Pin Count (LPC) device 2015-04-18 11:11:14 -06:00
Makefile x86: Add MultiProcessor (MP) table APIs 2015-07-14 18:03:17 -06:00
mpspec.c x86: mpspec: Move writing ISA interrupt entry after PCI 2015-07-28 10:36:24 -06:00
pcat_interrupts.c x86: Refactor interrupt_init() 2014-11-25 06:34:02 -07:00
pcat_timer.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
pch-uclass.c dm: x86: Add a uclass for a Platform Controller Hub 2015-04-18 11:11:14 -06:00
pci_type1.c x86: Define macros for pci configuration space access 2015-02-06 12:07:40 -07:00
physmem.c x86: Move paging functions into cpu.c 2014-10-28 20:42:51 -06:00
pirq_routing.c x86: pci: Assign pci irqs to all functions 2015-07-28 10:36:22 -06:00
ramtest.c x86: ivybridge: Implement SDRAM init 2014-11-21 07:34:15 +01:00
relocate.c x86: Panic if there is no relocation data 2014-11-25 06:33:59 -07:00
sfi.c x86: Add support for the Simple Firmware Interface (SFI) 2015-04-29 21:02:33 -06:00
string.c Replace <compiler.h> with <linux/compiler.h> 2014-12-08 09:35:46 -05:00
tables.c x86: Generate a valid MultiProcessor (MP) table 2015-07-14 18:03:17 -06:00
tsc_timer.c x86: Add a 'pause' instruction in __udelay() for QEMU target 2015-08-05 08:42:38 -06:00
zimage.c x86: Reserve PCIe ECAM address range in the E820 table 2015-07-28 10:36:25 -06:00