From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"konrad.wilk@oracle.com" <konrad.wilk@oracle.com>,
"jeremy@goop.org" <jeremy@goop.org>,
"hpa@linux.intel.com" <hpa@linux.intel.com>,
"mingo@elte.hu" <mingo@elte.hu>, "H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH 2/4] x86,xen: introduce x86_init.mapping.pagetable_reserve
Date: Wed, 13 Apr 2011 11:35:25 +0100 [thread overview]
Message-ID: <alpine.DEB.2.00.1104131125080.22672@kaball-desktop> (raw)
In-Reply-To: <4DA48EA9.70109@kernel.org>
On Tue, 12 Apr 2011, Yinghai Lu wrote:
> > diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
> > index 6b833db..fec8680 100644
> > --- a/arch/x86/xen/mmu.c
> > +++ b/arch/x86/xen/mmu.c
> > @@ -1275,6 +1275,20 @@ static __init void xen_pagetable_setup_start(pgd_t *base)
> > {
> > }
> >
> > +static __init void xen_mapping_pagetable_reserve(u64 start, u64 end)
> > +{
> > + /* reserve the range used */
> > + memblock_x86_reserve_range(start, end, "PGTABLE");
> > +
> > + /* set as RW the rest */
> > + printk(KERN_DEBUG "xen: setting RW the range %llx - %llx\n", end,
> > + PFN_PHYS(pgt_buf_top));
> > + while (end< PFN_PHYS(pgt_buf_top)) {
> > + make_lowmem_page_readwrite(__va(end));
> > + end += PAGE_SIZE;
> > + }
> > +}
> > +
>
> it would be more cleaner to xen code if you make mark start/end to RO, and not make them all before as RO.
Yes, that would be ideal, but we cannot do that because we don't know
exactly where is pgt_buf_end before allocating the pagetable pages and
the pagetable pages need to be marked RO before being hooked into the
pagetable. This is why we mark the whole range RO and after the
pagetable allocation when we know for sure where is pgt_buf_end we
modify the range pgt_buf_end-pgt_buf_top to RW.
next prev parent reply other threads:[~2011-04-13 10:35 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-12 11:16 [PATCH 0/4] xen: critical bug fixes for 2.6.39-rc3 Stefano Stabellini
2011-04-12 11:19 ` [PATCH 1/4] xen: mask_rw_pte mark RO all pagetable pages up to pgt_buf_top stefano.stabellini
2011-04-12 16:47 ` Konrad Rzeszutek Wilk
2011-04-13 10:24 ` Stefano Stabellini
2011-04-12 11:19 ` [PATCH 2/4] x86,xen: introduce x86_init.mapping.pagetable_reserve stefano.stabellini
2011-04-12 11:50 ` [Xen-devel] [PATCH 2/4] x86, xen: " Jan Beulich
2011-04-12 17:41 ` Stefano Stabellini
2011-04-12 17:40 ` [PATCH 2/4] x86,xen: " Yinghai Lu
2011-04-13 10:35 ` Stefano Stabellini [this message]
2011-04-13 18:28 ` H. Peter Anvin
2011-04-14 11:05 ` Stefano Stabellini
2011-04-13 18:03 ` Konrad Rzeszutek Wilk
2011-04-13 18:35 ` H. Peter Anvin
2011-04-13 20:19 ` Konrad Rzeszutek Wilk
2011-04-13 18:26 ` H. Peter Anvin
2011-04-14 11:30 ` Stefano Stabellini
2011-04-14 14:49 ` Stefano Stabellini
2011-04-14 14:52 ` H. Peter Anvin
2011-04-14 18:09 ` Stefano Stabellini
2011-04-18 14:09 ` Stefano Stabellini
2011-04-18 14:42 ` H. Peter Anvin
2011-04-18 17:21 ` Stefano Stabellini
2011-04-20 16:50 ` Jeremy Fitzhardinge
2011-04-12 11:19 ` [PATCH 3/4] xen: more debugging in the e820 parsing stefano.stabellini
2011-04-12 16:39 ` Konrad Rzeszutek Wilk
2011-04-13 10:24 ` Stefano Stabellini
2011-04-13 17:54 ` Konrad Rzeszutek Wilk
2011-04-14 10:35 ` Stefano Stabellini
2011-04-12 11:19 ` [PATCH 4/4] xen: do not create the extra e820 region at an addr lower than 4G stefano.stabellini
2011-04-12 16:48 ` Konrad Rzeszutek Wilk
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=alpine.DEB.2.00.1104131125080.22672@kaball-desktop \
--to=stefano.stabellini@eu.citrix.com \
--cc=hpa@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jeremy@goop.org \
--cc=konrad.wilk@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=xen-devel@lists.xensource.com \
--cc=yinghai@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
all inboxes | Powered by JetHome®