All of lore.kernel.org
 help / color / mirror / Atom feed
From: Avi Kivity <avi@redhat.com>
To: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Cc: Blue Swirl <blauwirbel@gmail.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] SPARC64: immediate segfault on startup with git mastervery
Date: Sun, 18 Mar 2012 11:44:27 +0200	[thread overview]
Message-ID: <4F65AE7B.8010101@redhat.com> (raw)
In-Reply-To: <4F6541FC.8080702@ilande.co.uk>

[-- Attachment #1: Type: text/plain, Size: 1004 bytes --]

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 <avi@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 <avi@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.

If it fails, can you upload bios and disk images somewhere?

-- 
error compiling committee.c: too many arguments to function


[-- Attachment #2: 0001-sparc64-trim-low-order-bits-from-TLB-entry-during-MM.patch --]
[-- Type: text/x-patch, Size: 1450 bytes --]

>From d1429f0bef16eb850a4ccc879cdc2212b41da40c Mon Sep 17 00:00:00 2001
From: Avi Kivity <avi@redhat.com>
Date: Sun, 18 Mar 2012 11:42:00 +0200
Subject: [PATCH] sparc64: trim low-order bits from TLB entry during MMU
 translation

get_physical_address() returns a physical address with random low bits
set, which confuses tlb_set_page().  Fix by masking the low-order bits.

Signed-off-by: Avi Kivity <avi@redhat.com>
---
 target-sparc/mmu_helper.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/target-sparc/mmu_helper.c b/target-sparc/mmu_helper.c
index 11fb9f5..27f7b27 100644
--- a/target-sparc/mmu_helper.c
+++ b/target-sparc/mmu_helper.c
@@ -491,7 +491,7 @@ static int get_physical_address_data(CPUSPARCState *env,
                    mmu_idx == MMU_USER_SECONDARY_IDX);
 
     if ((env->lsu & DMMU_E) == 0) { /* DMMU disabled */
-        *physical = ultrasparc_truncate_physical(address);
+        *physical = ultrasparc_truncate_physical(address) & TARGET_PAGE_MASK;
         *prot = PAGE_READ | PAGE_WRITE;
         return 0;
     }
@@ -610,7 +610,7 @@ static int get_physical_address_code(CPUSPARCState *env,
 
     if ((env->lsu & IMMU_E) == 0 || (env->pstate & PS_RED) != 0) {
         /* IMMU disabled */
-        *physical = ultrasparc_truncate_physical(address);
+        *physical = ultrasparc_truncate_physical(address) & TARGET_PAGE_MASK;
         *prot = PAGE_EXEC;
         return 0;
     }
-- 
1.7.9


  reply	other threads:[~2012-03-18  9:44 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-18  2:01 [Qemu-devel] SPARC64: immediate segfault on startup with git mastervery Mark Cave-Ayland
2012-03-18  9:44 ` Avi Kivity [this message]
2012-03-18  9:51   ` Blue Swirl
2012-03-18 10:31     ` Avi Kivity
2012-03-18 10:51       ` Blue Swirl
2012-03-18 11:03         ` Mark Cave-Ayland
2012-03-18 11:28           ` Blue Swirl
2012-03-18 12:08         ` Avi Kivity
2012-03-18 12:10           ` Blue Swirl
2012-03-18 12:13             ` Avi Kivity
2012-03-18 12:15               ` Blue Swirl
2012-03-18 15:36           ` Avi Kivity
2012-03-18  9:57   ` Blue Swirl
2012-03-18 10:29   ` Mark Cave-Ayland

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F65AE7B.8010101@redhat.com \
    --to=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.