Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-12-01 Thread Avi Kivity
On 11/30/2011 06:22 PM, Andreas Färber wrote: > The problem is not with the 0xfff00 region, that one works fine with 12 > and 16 bit pages so far. > > What I'm seeing is a crash of the very first TB at PC 0x02010, which is > in a 4K RAM region from 0x0 on, with 16 bit pages. Also happens with v2.

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-30 Thread Andreas Färber
Am 29.11.2011 17:46, schrieb Avi Kivity: > On 11/29/2011 06:19 PM, Andreas Färber wrote: >> Am 29.11.2011 15:00, schrieb Avi Kivity: >>> On 11/29/2011 02:47 PM, Andreas Färber wrote: > > addr += mmio->region_offset[idx]; > idx = mmio->sub_io_index[idx]; > +if (unlike

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-30 Thread Andreas Färber
Am 29.11.2011 10:52, schrieb Avi Kivity: > On 11/29/2011 12:39 AM, Andreas Färber wrote: >> Am 28.11.2011 18:17, schrieb Avi Kivity: >>> On 11/28/2011 05:06 PM, Andreas Färber wrote: diff --git a/exec.c b/exec.c index 6b92198..fba5ba1 100644 --- a/exec.c +++ b/exec.c @@ -35

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-29 Thread Avi Kivity
On 11/29/2011 06:19 PM, Andreas Färber wrote: > Am 29.11.2011 15:00, schrieb Avi Kivity: > > On 11/29/2011 02:47 PM, Andreas Färber wrote: > >>> > >>> addr += mmio->region_offset[idx]; > >>> idx = mmio->sub_io_index[idx]; > >>> +if (unlikely(idx == IO_MEM_RAM)) { > >>> +ram_

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-29 Thread Andreas Färber
Am 29.11.2011 15:00, schrieb Avi Kivity: > On 11/29/2011 02:47 PM, Andreas Färber wrote: >>> >>> addr += mmio->region_offset[idx]; >>> idx = mmio->sub_io_index[idx]; >>> +if (unlikely(idx == IO_MEM_RAM)) { >>> +ram_addr_t raddr = /*mmio->base |*/ addr; >>> +void *ptr

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-29 Thread Avi Kivity
On 11/29/2011 02:47 PM, Andreas Färber wrote: > > > > addr += mmio->region_offset[idx]; > > idx = mmio->sub_io_index[idx]; > > +if (unlikely(idx == IO_MEM_RAM)) { > > +ram_addr_t raddr = /*mmio->base |*/ addr; > > +void *ptr = qemu_get_ram_ptr(raddr); > > ...and/or t

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-29 Thread Andreas Färber
Am 28.11.2011 16:06, schrieb Andreas Färber: > Commit 95c318f5e1f88d7e5bcc6deac17330fd4806a2d3 (Fix segfault in mmio subpage > handling code.) prevented a segfault by making all subpage registrations > over an existing memory page perform an unassigned access. Symptoms were > writes not taking effe

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-29 Thread Avi Kivity
On 11/29/2011 12:39 AM, Andreas Färber wrote: > Am 28.11.2011 18:17, schrieb Avi Kivity: > > On 11/28/2011 05:06 PM, Andreas Färber wrote: > >> Commit 95c318f5e1f88d7e5bcc6deac17330fd4806a2d3 (Fix segfault in mmio > >> subpage > >> handling code.) prevented a segfault by making all subpage registr

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-28 Thread Andreas Färber
Am 28.11.2011 18:17, schrieb Avi Kivity: > On 11/28/2011 05:06 PM, Andreas Färber wrote: >> Commit 95c318f5e1f88d7e5bcc6deac17330fd4806a2d3 (Fix segfault in mmio subpage >> handling code.) prevented a segfault by making all subpage registrations >> over an existing memory page perform an unassigned

Re: [Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-28 Thread Avi Kivity
On 11/28/2011 05:06 PM, Andreas Färber wrote: > Commit 95c318f5e1f88d7e5bcc6deac17330fd4806a2d3 (Fix segfault in mmio subpage > handling code.) prevented a segfault by making all subpage registrations > over an existing memory page perform an unassigned access. Symptoms were > writes not taking eff

[Qemu-devel] [PATCH] exec.c: Fix subpage memory access to RAM MemoryRegion

2011-11-28 Thread Andreas Färber
Commit 95c318f5e1f88d7e5bcc6deac17330fd4806a2d3 (Fix segfault in mmio subpage handling code.) prevented a segfault by making all subpage registrations over an existing memory page perform an unassigned access. Symptoms were writes not taking effect and reads returning zero. Very small page sizes a