Peter, the config option is called: CONFIG_STRICT_DEVMEM And /dev/mem behaves differently between doing read() and doing mmap().
As Peter already hinted, the memory layout is different on native Midway (which has DRAM starting at 0) and mach-virt/vexpress (which start at 128MB / 2GB respectively). So accessing 0xf0000 reads memory on native, but faults in stage 2 mapping in the host kernel. But the actual problem is that the host kernel passes this abort on to userspace, where QEMU just does abort(), thus crashing the whole virtual machine. Actually I think we should change the host kernel to inject the data abort into the guest. I tested this with a simple patch, it now makes dmidecode crash (due to a signal), but keeps the guest alive. This approach needs some discussion on the ML, I guess. But near term we should not call dmidecode on ARM, since AFAIK it does not give any information. There once was a discussion on patching dmidecode to output hardcoded or elsewhere gathered information to make scripts happy, but I don't know where this ended. -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1243287 Title: [KVM/QEMU][ARM][SAUCY] fails to boot cloud-image due to host kvm fail Status in QEMU: Confirmed Bug description: On booting the cloud image using qemu/kvm fails with the following error: Cloud-init v. 0.7.3 running 'init' at Thu, 03 Oct 2013 16:45:21 +0000. Up 360.78 seconds. ci-info: +++++++++++++++++++++++++Net device info+++++++++++++++++++++++++ ci-info: +--------+------+-----------+---------------+-------------------+ ci-info: | Device | Up | Address | Mask | Hw-Address | ci-info: +--------+------+-----------+---------------+-------------------+ ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | . | ci-info: | eth0 | True | 10.0.2.15 | 255.255.255.0 | 52:54:00:12:34:56 | ci-info: +--------+------+-----------+---------------+-------------------+ ci-info: ++++++++++++++++++++++++++++++Route info++++++++++++++++++++++++++++++ ci-info: +-------+-------------+----------+---------------+-----------+-------+ ci-info: | Route | Destination | Gateway | Genmask | Interface | Flags | ci-info: +-------+-------------+----------+---------------+-----------+-------+ ci-info: | 0 | 0.0.0.0 | 10.0.2.2 | 0.0.0.0 | eth0 | UG | ci-info: | 1 | 10.0.2.0 | 0.0.0.0 | 255.255.255.0 | eth0 | U | ci-info: +-------+-------------+----------+---------------+-----------+-------+ error: kvm run failed Function not implemented /usr/lib/python2.7/dist- packages/cloudinit/sources/DataSourceAltCloud.py assumes that dmidecode command is availabe (ie it assumes that system is x86) on arm systems there is no dmidecode command so host kvm fails with the message "error: kvm run failed Function not implemented" The patch makes get_cloud_type() function return with UNKNOWN for ARM systems. I was able to boot the cloud-image on ARM after applying this change. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1243287/+subscriptions