]> Git Repo - u-boot.git/commit
x86: Add a 'pause' instruction in __udelay() for QEMU target
authorMiao Yan <[email protected]>
Mon, 27 Jul 2015 11:16:07 +0000 (19:16 +0800)
committerSimon Glass <[email protected]>
Wed, 5 Aug 2015 14:42:38 +0000 (08:42 -0600)
commit417576c2f1f2c5392cd69ef3ed33668cc9900e6e
tree6888f7074c19e8bee629877c3d359de082a03830
parent947eb4396dfe11e89f0d3cafe755b395c6c0a8a2
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 <[email protected]>
Signed-off-by: Bin Meng <[email protected]>
Acked-by: Simon Glass <[email protected]>
Tested-by: Simon Glass <[email protected]>
arch/x86/lib/tsc_timer.c
This page took 0.033038 seconds and 4 git commands to generate.