QEMU With E2K User Support
Go to file
Igor Mammedov 8e46bbf362 memory_region_present: return false if address is not found in child MemoryRegion
Windows XP shows COM2 port as non functional in
"Device Manager" although no COM2 port backing device
is present in QEMU.

This regression is really due to
3bb28b7208b349e7a1b326e3c6ef9efac1d462bf?
    memory: Provide separate handling of unassigned io ports accesses

That is caused by the fact that QEMU reports to
OSPM that device is present by setting 5th bit in
PII4XPM.pci_conf[0x67] register when COM2 doesn't
exist.

It happens due to memory_region_present(io_as, 0x2f8)
returning false positive since 0x2f8 address eventually
translates into catchall io_as address space.

Fix memory_region_present(parent, addr) by returning
true only if addr maps into a MemoryRegion within
parent (excluding parent itself), to match its
doc comment.

While at it fix copy/paste error in
memory_region_present() doc comment.

Note: this is a temporary hack: we really need better handling for
unassigned regions, we should avoid fallback regions since they are bad
for performance (breaking radix tree assumption that the data structure
is sparsely populated); for memory we need to fix this to implement PCI
master abort properly, anyway.

Cc: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Igor Mammedov <imammedo@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2014-03-09 21:09:37 +02:00
audio
backends ui/sdl2 : initial port to SDL 2.0 (v2.0) 2014-03-05 09:52:05 +01:00
block block/raw-win32: Strip "file:" prefix on creation 2014-03-06 16:18:12 +01:00
bsd-user
default-configs Add Enhanced Three-Speed Ethernet Controller (eTSEC) 2014-03-05 03:06:45 +01:00
disas disas/i386: Disassemble ANDN/SHLX/SHRX/SHAX 2014-02-17 10:12:29 -06:00
docs qmp: Make Quorum error events more palatable. 2014-02-28 18:59:06 +01:00
dtc@bc895d6d09
fpu softfloat: Support halving the result of muladd operation 2014-02-20 10:35:50 +00:00
fsdev hw/9pfs: Include virtio-9p-device.o in build 2014-03-04 09:20:49 +05:30
gdb-xml
hw virtio-net: remove function calls from assert 2014-03-09 21:09:37 +02:00
include memory_region_present: return false if address is not found in child MemoryRegion 2014-03-09 21:09:37 +02:00
libcacard
linux-headers update linux headers to kvm/next 2014-02-27 09:50:45 +01:00
linux-user target-ppc: Add Store Quadword Conditional 2014-03-05 03:06:51 +01:00
net net: remove implicit peer from offload API 2014-02-25 14:31:05 +01:00
pc-bios Several features, fixes and cleanups for kvm/s390: 2014-03-04 14:50:46 +00:00
pixman@97336fad32
po
qapi qapi: Add missing null check to opts_start_struct() 2014-03-03 11:17:45 -05:00
qga qga: Remove unneeded include file 2014-03-03 09:46:27 +04:00
qobject qdict: Extract non-QDicts in qdict_array_split() 2014-02-21 22:11:23 +01:00
qom
roms
scripts qapi: Clean up null checking in generated visitors 2014-03-03 11:17:20 -05:00
slirp
stubs stubs: Optimize dependencies for gdbstub.c 2014-03-02 17:13:31 +04:00
sysconfigs/target
target-alpha
target-arm target-arm: Add support for AArch32 ARMv8 CRC32 instructions 2014-02-26 17:20:07 +00:00
target-cris
target-i386 Merge remote-tracking branch 'remotes/qmp-unstable/queue/qmp' into staging 2014-03-04 17:01:07 +00:00
target-lm32
target-m68k
target-microblaze
target-mips
target-moxie
target-openrisc
target-ppc target-ppc: spapr: e500: fix to use cpu_dt_id 2014-03-05 03:07:04 +01:00
target-s390x s390x/virtio-ccw: Adapter interrupt support. 2014-03-05 09:42:05 +01:00
target-sh4
target-sparc
target-unicore32
target-xtensa target-xtensa: provide HW confg ID registers 2014-02-24 04:47:02 +04:00
tcg tcg: Fix typo in comment (dependancies -> dependencies) 2014-03-02 17:12:51 +04:00
tests acpi-test-data: update expected files 2014-03-09 21:09:37 +02:00
trace Adapt Makefiles to the new LTTng ust interface 2014-02-19 11:08:53 +01:00
ui ui/sdl2 : initial port to SDL 2.0 (v2.0) 2014-03-05 09:52:05 +01:00
util target-ppc: Add ISA2.06 divde[o] Instructions 2014-03-05 03:06:39 +01:00
.exrc
.gitignore Merge remote-tracking branch 'remotes/bonzini/configure' into staging 2014-02-24 15:38:00 +00:00
.gitmodules
.mailmap
.travis.yml
aio-posix.c
aio-win32.c
arch_init.c Fix two XBZRLE corruption issues 2014-02-25 14:30:28 +01:00
async.c
balloon.c
block-migration.c
block.c block: Fix error path segfault in bdrv_open() 2014-03-06 17:29:24 +01:00
blockdev-nbd.c
blockdev.c blockdev: Fix NULL pointer dereference in blockdev-add 2014-03-06 17:27:28 +01:00
blockjob.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE
configure Input handling rewrite. 2014-03-07 18:29:33 +00:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec.c target-arm: Store AIF bits in env->pstate for AArch32 2014-02-26 17:20:06 +00:00
cpus.c
cputlb.c
device_tree.c
device-hotplug.c
disas.c
dma-helpers.c
dump.c dump: add 'query-dump-guest-memory-capability' command 2014-02-28 11:52:03 -05:00
exec.c exec: Remove unneeded include files 2014-03-03 09:46:27 +04:00
gdbstub.c
HACKING
hmp-commands.hx
hmp.c dump: make kdump-compressed format available for 'dump-guest-memory' 2014-02-28 11:52:03 -05:00
hmp.h
iohandler.c
ioport.c
kvm-all.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
kvm-stub.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
LICENSE
main-loop.c
MAINTAINERS MAINTAINERS: update status for HMP, QAPI and QMP trees 2014-02-28 11:41:43 -05:00
Makefile build: Fix installation of target-dependent files 2014-03-08 12:08:11 +00:00
Makefile.objs hw/9pfs: Include virtio-9p-device.o in build 2014-03-04 09:20:49 +05:30
Makefile.target build: softmmu targets do not have a "main.o" file 2014-02-20 13:14:18 +01:00
memory_mapping.c
memory.c memory_region_present: return false if address is not found in child MemoryRegion 2014-03-09 21:09:37 +02:00
migration-exec.c
migration-fd.c
migration-rdma.c rdma: rename 'x-rdma' => 'rdma' 2014-02-25 14:30:28 +01:00
migration-tcp.c
migration-unix.c
migration.c rdma: rename 'x-rdma' => 'rdma' 2014-02-25 14:30:28 +01:00
module-common.c module: implement module loading 2014-02-20 13:14:18 +01:00
monitor.c input: mouse: switch monitor to new core 2014-03-05 09:52:03 +01:00
nbd.c nbd: move socket wrappers to qemu-nbd 2014-02-21 21:02:23 +01:00
os-posix.c util: Split out exec_dir from os_find_datadir 2014-02-20 13:12:54 +01:00
os-win32.c util: Split out exec_dir from os_find_datadir 2014-02-20 13:12:54 +01:00
page_cache.c Fix two XBZRLE corruption issues 2014-02-25 14:30:28 +01:00
qapi-schema.json input: qapi: add pause key 2014-03-05 09:50:17 +01:00
qdev-monitor.c qdev-monitor: set DeviceState opts before calling realize 2014-02-26 10:32:40 -07:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c qmp: expose list of supported character device backends 2014-02-17 11:57:23 -05:00
qemu-coroutine-io.c
qemu-coroutine-lock.c
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-doc.texi
qemu-file.c qemu_file: use fwrite() correctly 2014-02-25 14:26:59 +01:00
qemu-img-cmds.hx
qemu-img.c qemu-img convert: Fix progress output 2014-03-05 15:58:32 +01:00
qemu-img.texi
qemu-io-cmds.c
qemu-io.c Block patches 2014-02-25 10:50:11 +00:00
qemu-log.c
qemu-nbd.c Block patches 2014-02-25 10:50:11 +00:00
qemu-nbd.texi qemu-nbd: add doc for option -f 2013-12-04 15:19:00 +01:00
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx
qemu-seccomp.c
qemu-tech.texi
qemu-timer.c
qemu.nsi
qemu.sasl
qmp-commands.hx dump: add 'query-dump-guest-memory-capability' command 2014-02-28 11:52:03 -05:00
qmp.c object: Report type in error when not user creatable. 2014-03-02 17:12:41 +04:00
qtest.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
README
rules.mak module: implement module loading 2014-02-20 13:14:18 +01:00
savevm.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
spice-qemu-char.c
tcg-runtime.c
tci.c
thread-pool.c
thunk.c
tpm.c Use error_is_set() only when necessary 2014-02-17 11:57:23 -05:00
trace-events Input handling rewrite. 2014-03-07 18:29:33 +00:00
translate-all.c
translate-all.h
user-exec.c
VERSION
version.rc
vl.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
vmstate.c Fix vmstate_info_int32_le comparison/assign 2014-02-25 14:30:28 +01:00
xbzrle.c
xen-all.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00
xen-mapcache.c
xen-stub.c kvm: Add a new machine option kvm-type 2014-03-05 03:06:24 +01:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team