qemu-irix/target-i386
Alexey Korolev 7feb640cf3 Fix guest OS hang when 64bit PCI bar present
This patch addresses the issue fully described here:
http://lists.nongnu.org/archive/html/qemu-devel/2013-02/msg01804.html

Linux kernels prior to 2.6.36 do not disable the PCI device during
enumeration process. Since lower and higher parts of a 64bit BAR
are programmed separately this leads to qemu receiving a request to occupy
a completely wrong address region for a short period of time.
We have found that the boot process screws up completely if kvm-apic range
is overlapped even for a short period of time (it is fine for other
regions though).

This patch raises the priority of the kvm-apic memory region, so it is
never pushed out by PCI devices. The patch is quite safe as it does not
touch memory manager.

Signed-off-by: Alexey Korolev <akorolex@gmail.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2013-02-27 17:23:22 +02:00
..
Makefile.objs x86: switch to AREG0 free mode 2012-08-14 19:01:26 +00:00
TODO
arch_dump.c exec: change RAM list to a TAILQ 2012-12-20 23:08:47 +01:00
arch_memory_mapping.c target-i386: fix bits 39:32 of the final physical address when using 4M page 2013-01-09 15:12:20 -02:00
cc_helper.c target-i386: Add CC_OP_CLR 2013-02-19 23:05:18 -08:00
cc_helper_template.h target-i386: Implement BLSR, BLSMSK, BLSI 2013-02-18 15:52:05 -08:00
cpu-qom.h target-i386: Update X86CPU to QOM realizefn 2013-02-16 14:50:56 +01:00
cpu.c Fix guest OS hang when 64bit PCI bar present 2013-02-27 17:23:22 +02:00
cpu.h target-i386: Add CC_OP_CLR 2013-02-19 23:05:18 -08:00
excp_helper.c softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
fpu_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
helper.c target-i386: Add CC_OP_CLR 2013-02-19 23:05:18 -08:00
helper.h target-i386: Implement tzcnt and fix lzcnt 2013-02-19 23:05:18 -08:00
hyperv.c
hyperv.h
int_helper.c target-i386: Implement tzcnt and fix lzcnt 2013-02-19 23:05:18 -08:00
ioport-user.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
kvm-stub.c kvm: Move kvm_allows_irq0_override() to target-i386, fix return type 2012-08-09 16:16:55 +03:00
kvm.c cpu: Move exit_request field to CPUState 2013-02-16 14:51:00 +01:00
kvm_i386.h softmmu: move include files to include/sysemu/ 2012-12-19 08:32:45 +01:00
machine.c target-i386: Define DR7 bit field constants 2013-01-15 09:14:35 +01:00
mem_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
misc_helper.c target-i386: Use switch in check_hw_breakpoints() 2013-01-15 09:23:50 +01:00
ops_sse.h x86: avoid AREG0 for FPU helpers 2012-08-14 19:01:25 +00:00
ops_sse_header.h x86: avoid AREG0 for FPU helpers 2012-08-14 19:01:25 +00:00
seg_helper.c target-i386: Introduce hw_{local,global}_breakpoint_enabled() 2013-01-15 09:14:48 +01:00
shift_helper_template.h target-i386: compute eflags outside rcl/rcr helper 2013-02-18 15:03:56 -08:00
smm_helper.c cpu_dump_state: move DUMP_FPU and DUMP_CCOP flags from x86-only to generic 2012-10-05 15:04:43 +01:00
svm.h
svm_helper.c exec: move include files to include/exec/ 2012-12-19 08:31:31 +01:00
topology.h target-i386: Inline bitops_flsl 2013-02-16 11:12:29 +00:00
translate.c target-i386: Use add2 to implement the ADX extension 2013-02-23 17:25:29 +00:00