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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox