qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] BIOS regression since v2.3.0 (misaligned longword i/o t


From: Stefan Weil
Subject: Re: [Qemu-devel] BIOS regression since v2.3.0 (misaligned longword i/o to address 0xffff)
Date: Mon, 27 Jul 2015 08:24:27 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0

Am 27.07.2015 um 07:49 schrieb Stefan Weil:
Am 26.07.2015 um 21:32 schrieb Stefan Weil:
Hi,

since commit 21f5826a04d38e19488f917e1eef22751490c769
"seabios: update to 1.8.0 release" there is a misaligned i/o access
caused by the PC BIOS.

QEMU's PC emulation (qemu-system-i386, qemu-system-x86_64)
with enabled trace backend reports the misaligned i/o access
when running the BIOS code:

Misaligned i/o to address 0x0000ffff with size 4 for memory region io

("to address 0x0000ffff" was added by my debug code)

This issue was reported by users of QEMU for Windows,
but it is not Windows specific.

Regards
Stefan


Sorry, I did not notice that the code which reports misaligned access is
not part of the official QEMU code.

Here is the patch for memory.c which adds it:

@@ -1073,6 +1119,9 @@ bool memory_region_access_valid(MemoryRegion *mr,
     int access_size, i;

     if (!mr->ops->valid.unaligned && (addr & (size - 1))) {
+        fprintf(stderr, "Misaligned i/o to address %08" HWADDR_PRIx
+                        " with size %u for memory region %s\n",
+                addr, size, mr->name);
         return false;
     }

Is the misaligned i/o access done by the BIOS code a feature or a bug?

Regards
Stefan


The change (regression?) was caused by this commit (which obviously
did not intend to change generated code):

40d03128531e06b35a3836f9346790003692540e is the first bad commit
commit 40d03128531e06b35a3836f9346790003692540e
Author: Paolo Bonzini <address@hidden>
Date:   Thu May 15 13:22:26 2014 +0200

    piix: add and use dev-piix.h

    Move all definitions for PIIX registers to a single header file,
    like there is one already for Q35, and make the naming more
    consistent.

    Signed-off-by: Paolo Bonzini <address@hidden>

:040000 040000 72d3a611f87106916d58e30fa1d615659fa711f6 5bfd5601430bc5263ac0a6f8a15a131f3bc8678e M src




reply via email to

[Prev in Thread] Current Thread [Next in Thread]