From: "Luck, Tony" <tony.luck@intel.com>
To: linux-ia64@vger.kernel.org
Subject: RE: 2.6 mca_asm.S VA to PA mappings
Date: Tue, 30 Sep 2003 15:42:10 +0000 [thread overview]
Message-ID: <marc-linux-ia64-106493657330762@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-106490506400881@msgid-missing>
> 2.6.0-test5-ia64-030908, arch/ia64/kernel/mca_asm.S,
> ia64_os_mca_done_dump sets r2 to ia64_mca_bspstore
> then does DATA_VA_TO_PA(r2) > which uses tpa.
> This is before MCA has checked for a tlb error. Is it safe to use tpa
> before checking that the tlb data is valid or should it be using
> LOAD_PHYSICAL?
You are right ... if there is a TLB error, then the "tpa" may fail,
so LOAD_PHYSICAL should be used here.
> Before calling the C code, MCA uses VIRTUAL_MODE_ENTER which in turn
> calls DATA_PA_TO_VA on ar.bspstore. DATA_PA_TO_VA sets bits 61:63 to
> 1, which assumes that ar.bspstore is identity mapped. On a
> non-identity mapped 2.4 kernel I have seen ar.bspstore go
>
> ia64_mca_bspstore (V=0xe000000004d5a6d0)
> DATA_VA_TO_PA (P=0x0000013014d5a6d0)
> DATA_PA_TO_VA (V=0xe000013014d5a6d0)
>
> With the 2.4 alt.dtlb handler that still works, although it is
> confusing to C code which needs to access the RSE data in
> ia64_mca_bspstore. I doubt that DATA_PA_TO_VA will work if the kernel
> is in region 5.
Same thing, we need LOAD_PHYSICAL there too. By the time C-code is called,
the TLB will have been repaired (all ITR/DTR entries reloaded) so the C-code
can happily use the ia64_mca_bspstore virtual address.
The new version of the MCA TLB fixup code should handle both of
these ... if I can just get it working ... I upgraded my test machine
on Friday, and now it generates MCAs all the time, not just when I
inject them :-(
-Tony
next prev parent reply other threads:[~2003-09-30 15:42 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-09-30 6:57 2.6 mca_asm.S VA to PA mappings Keith Owens
2003-09-30 15:42 ` Luck, Tony [this message]
2003-09-30 15:49 ` Keith Owens
2003-09-30 16:06 ` Luck, Tony
2003-09-30 16:20 ` Keith Owens
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=marc-linux-ia64-106493657330762@msgid-missing \
--to=tony.luck@intel.com \
--cc=linux-ia64@vger.kernel.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.