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. ;-)