On Sun, Mar 18, 2012 at 10:31, Avi Kivity <a...@redhat.com> wrote: > On 03/18/2012 11:51 AM, Blue Swirl wrote: >> On Sun, Mar 18, 2012 at 09:44, Avi Kivity <a...@redhat.com> wrote: >> > On 03/18/2012 04:01 AM, Mark Cave-Ayland wrote: >> >> Hi Avi/Blue, >> >> >> >> I've just updated to git master and found that SPARC64 is broken >> >> again; a git bisect shows the following commit causes this: >> >> >> >> >> >> commit f3705d53296d78b14f5823472ae2add16a25a0a5 >> >> Author: Avi Kivity <a...@redhat.com> >> >> Date: Thu Mar 8 16:16:34 2012 +0200 >> >> >> >> memory: make phys_page_find() return an unadjusted section >> >> >> >> We'd like to store the section index in the iotlb, so we can't >> >> adjust it before returning. Return an unadjusted section and >> >> instead introduce section_addr(), which does the adjustment later. >> >> >> >> Signed-off-by: Avi Kivity <a...@redhat.com> >> >> >> >> >> >> The symptom is that qemu-system-sparc64 segfaults immediately on >> >> startup (note this is with an OpenBIOS image built from SVN r1048). >> >> I've included a couple of backtraces below: >> >> >> > >> > Please try the attached patch. >> >> I tried this approach instead, seems to work > > IMO, my patch is better. tlb_set_page() should not deal with offsets > within a page.
It looks like all targets except Sparc32/64 mask the addresses before passing to tlb_set_page(), so I agree. > If you prefer your approach, I suggest masking the address up front in > the beginning of tlb_set_page() instead. > >> (except Sparc32, Sparc64 >> and PPC displays are still not refreshed correctly). > > Details about this please. Screen is not updated correctly, there are lines from previous screenful. Pressing ctrl-alt-1 refreshes the display. Perhaps dirty tracking is broken? VGA in x86 works. > > -- > error compiling committee.c: too many arguments to function >