From: Gerd Knorr <kraxel@suse.de>
To: Keir Fraser <Keir.Fraser@cl.cam.ac.uk>
Cc: xen-devel@lists.xensource.com
Subject: Re: [patch] pae: tlbflush linear page table updates
Date: Wed, 10 Aug 2005 14:33:49 +0200 [thread overview]
Message-ID: <20050810123349.GA3174@bytesex> (raw)
In-Reply-To: <f00cf6eae48dd54f315cf7fde5b575da@cl.cam.ac.uk>
On Wed, Aug 10, 2005 at 11:54:22AM +0100, Keir Fraser wrote:
>
> On 10 Aug 2005, at 11:28, Gerd Knorr wrote:
>
> >And it isn't the mod_l3 update which broke PAE, it's the
> >__not_mapped() removal. Applying the bits below reversed
> >makes PAE boot again.
>
> afaics the only change for pae is use of __get_user() rather than
> directly reading from the pl2e. Perhaps __get_user() on 8-byte
> quantities is broken, although I'm sure that must be used elsewhere and
> so is tested....
Sure? The patch below fixes it for me.
The tlbflush stuff is red herring btw, the real difference is
optimization. Build with "optimize=n" boot fine, others don't.
Gerd
Index: xen/arch/x86/mm.c
===================================================================
--- xen.orig/arch/x86/mm.c 2005-08-10 14:09:59.476430318 +0200
+++ xen/arch/x86/mm.c 2005-08-10 14:13:50.906986616 +0200
@@ -2940,7 +2940,7 @@ int ptwr_do_page_fault(struct domain *d,
pl2e = &__linear_l2_table[l2_idx];
which = PTWR_PT_INACTIVE;
- if ( (__get_user(l2e.l2, &pl2e->l2) == 0) && (l2e_get_pfn(l2e) == pfn) )
+ if ( (__copy_from_user(&l2e, pl2e, sizeof(l2e)) == 0) && (l2e_get_pfn(l2e) == pfn) )
{
/*
* Check the PRESENT bit to set ACTIVE mode.
next prev parent reply other threads:[~2005-08-10 12:33 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-08 14:51 [patch] pae: tlbflush linear page table updates Gerd Knorr
2005-08-08 16:52 ` Keir Fraser
2005-08-09 7:54 ` Gerd Knorr
2005-08-09 8:06 ` Keir Fraser
2005-08-09 10:53 ` Keir Fraser
2005-08-09 13:52 ` Gerd Knorr
2005-08-09 15:44 ` Gerd Knorr
2005-08-09 16:14 ` Keir Fraser
2005-08-10 10:22 ` Gerd Knorr
2005-08-10 10:28 ` Gerd Knorr
2005-08-10 10:54 ` Keir Fraser
2005-08-10 12:33 ` Gerd Knorr [this message]
2005-08-10 13:01 ` Gerd Knorr
2005-08-10 13:11 ` Keir Fraser
2005-08-10 13:57 ` Gerd Knorr
2005-08-10 10:53 ` Keir Fraser
-- strict thread matches above, loose matches on Subject: below --
2005-08-12 9:02 Tian, Kevin
2005-08-12 9:17 ` Keir Fraser
2005-08-12 9:20 ` Andi Kleen
2005-08-12 9:49 ` Keir Fraser
2005-08-12 9:17 Tian, Kevin
2005-08-12 9:37 Tian, Kevin
2005-08-12 9:56 ` Andi Kleen
2005-08-12 10:18 ` Keir Fraser
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=20050810123349.GA3174@bytesex \
--to=kraxel@suse.de \
--cc=Keir.Fraser@cl.cam.ac.uk \
--cc=xen-devel@lists.xensource.com \
/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.