qemu-devel
[Top][All Lists]
Advanced

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

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


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH v2] exec.c: Fix subpage memory access to RAM MemoryRegion
Date: Thu, 01 Dec 2011 18:18:20 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111105 Thunderbird/8.0

Am 01.12.2011 11:06, schrieb Gleb Natapov:
> On Thu, Dec 01, 2011 at 11:54:33AM +0200, Avi Kivity wrote:
>> On 12/01/2011 11:47 AM, Gleb Natapov wrote:
>>> On Thu, Dec 01, 2011 at 11:41:52AM +0200, Avi Kivity wrote:
>>>> On 12/01/2011 11:37 AM, Gleb Natapov wrote:
>>>>>>
>>>>>> Looks reasonable.  Should go into 1.1.  Should we backport it to
>>>>>> 1.0.blah?  From 95c318f's description, it doesn't happen in normal
>>>>>> circumstances.
>>>>>>
>>>>> To reproduce that I mappped subpage PCI bar over RAM IIRC. 
>>>>
>>>> In qemu 1.0, you can no longer do that (the pci bridge will not let the
>>>> BAR override the RAM).
>>>>
>>>
>>> Hmm, if this is how real HW work then problem solved :) (different HW can
>>> behave differently, but it is reasonable to assume that on a PC memory
>>> access below TOM will be redirected to memory controller no matter what)

Ah, glad to know that x86_64 is no longer affected. What about 0.15.1?

>>> So what is the motivation for Andreas patch than?
>>>
>>
>> He's not emulating pc hardware.
>>
> That's not a crime in itself :) What HW he encountered this problem on?
> What scenario? How likely is this scenario on that HW (my comment for
> 95c318f which you are referring to above was for PC)?

I encountered this on a nommu architecture that's not yet upstream (78k0
family / rl78). The exact scenario was a 256-byte long RAM area for
Special Function Registers (fixable by 8-bit pages) and a 32-byte long
RAM subarea for memory-mapped banked GPRs (not fixable by lowering page
size to 5, doesn't build).

I'm aware that the former I could convert to mmio and the latter I might
drop but that's besides the point, it's not prohibited by MemoryRegion
API and silently fails unless DEBUG_UNASSIGNED enabled. Seems worth a fix.

Upstream potential no-mmu architectures and their target page sizes are:
lm32 (12)
m68k (10)
microblaze (12)
mips (12)
xtensa (12)

> And if KVM is
> supported on that HW my comment about KVM still applies.

I don't think KVM is supported on any of the above.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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