On Mon, Nov 8, 2010 at 6:55 PM, Artyom Tarasenko <atar4q...@gmail.com> wrote:
> On Fri, May 7, 2010 at 6:26 PM, Artyom Tarasenko
> <atar4q...@googlemail.com> wrote:
>> phys_page_find (exec.c) returns sometimes a page for addresses where
>> nothing is connected.
>>
>> One example, done with qemu-system-sparc -M SS-20
>>
>> ok f13ffff0 2f spacec@ .
>>
>> // The address translates correctly, in cpu_physical_memory_rw
>> // addr== 0xff13ffff0 (where nothing is connected)
>> // but then phys_page_find returns a nonzero and produces
>>
>> Unassigned mem read access of 1 byte to 0000000ff15ffff0 from xxxxx
>>
>> (note the "5" in the line above where "3" is expected)
>>
>> I wonder if this is only true for non-wired addresses, or whether
>> phys_page_find can also
>> find wrong pages for the addresses where something is connected?
>>
>> Or is my assumption is wrong and phys_page_find can return a page for
>> not-connected
>> addresses and the bug is actually in cpu_physical_memory_rw ?
>>
>> Is the qemu algorithm of working with the physical address space
>> described somewhere?
>
> I tried to switch devices off and found that the bug is triggered by
> registering escc.
> It's harder to debug without escc, so I can't tell whether something
> else is causing
> the problem too.
>
> Is escc addressing somehow special?

I don't think so, except that it lies close to the top of the physical
address space.

>>Is the qemu algorithm of working with the physical address space described 
>>somewhere?
>
> I guess no one knows it anymore, since no-one cared to answer within a
> half year :-/.

There's of course good old exec.c, plenty of code and even some comments. ;-)

Reply via email to