From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40416) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2qOt-00081e-IO for qemu-devel@nongnu.org; Fri, 26 Jul 2013 18:22:16 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V2qOs-0000l8-LQ for qemu-devel@nongnu.org; Fri, 26 Jul 2013 18:22:15 -0400 Received: from p15195424.pureserver.info ([82.165.34.74]:51685) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V2qOs-0000ku-Fu for qemu-devel@nongnu.org; Fri, 26 Jul 2013 18:22:14 -0400 Message-ID: <51F2F662.9000907@ilande.co.uk> Date: Fri, 26 Jul 2013 23:21:22 +0100 From: Mark Cave-Ayland MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] ioport: qemu-system-sparc64 currently broken List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Jan Kiszka Cc: Blue Swirl , Paolo Bonzini , qemu-devel Hi Jan/Paolo, I've just updated my local QEMU repository to git master for OpenBIOS testing and it seems that the ioport changes break SPARC64. git bisect points to this commit: commit b40acf99bef69fa8ab0f9092ff162fde945eec12 Author: Jan Kiszka Date: Mon Jun 24 10:45:09 2013 +0200 ioport: Switch dispatching to memory core layer The current ioport dispatcher is a complex beast, mostly due to the need to deal with old portio interface users. But we can overcome it without converting all portio users by embedding the required base address of a MemoryRegionPortio access into that data structure. That removes the need to have the additional MemoryRegionIORange structure in the loop on every access. To handle old portio memory ops, we simply install dispatching handlers for portio memory regions when registering them with the memory core. This removes the need for the old_portio field. We can drop the additional aliasing of ioport regions and also the special address space listener. cpu_in and cpu_out now simply call address_space_read/write. And we can concentrate portio handling in a single source file. Signed-off-by: Jan Kiszka Signed-off-by: Paolo Bonzini I suspect that there may be multiple breakages here (as HEAD blows up differently with a trap failure), but this is definitely the start of the chain. Reproducing the bug is easy - simply run qemu-system-sparc64 without any parameters. Many thanks, Mark.