mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
To: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com>,
	"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
	Ian Campbell <Ian.Campbell@citrix.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH] xen: introduce xen_remap, use it instead of ioremap
Date: Tue, 19 Feb 2013 14:48:30 +0000	[thread overview]
Message-ID: <alpine.DEB.2.02.1302191445160.4654@kaball.uk.xensource.com> (raw)
In-Reply-To: <20130219144253.GE7026@konrad-lan.dumpdata.com>

On Tue, 19 Feb 2013, Konrad Rzeszutek Wilk wrote:
> On Tue, Feb 19, 2013 at 01:59:19PM +0000, Stefano Stabellini wrote:
> > ioremap can't be used to map ring pages on ARM because it uses device
> > memory caching attributes (MT_DEVICE*).
> > 
> > Introduce a Xen specific abstraction to map ring pages, called
> > xen_remap, that is defined as ioremap on x86 (no behavioral changes).
> > On ARM it explicitly calls __arm_ioremap with the right caching
> > attributes: MT_MEMORY.
> 
> Do you want to push this to Linus yourself or should I just include it
> in my 'for-39' tree?
> 
> Do you have other patches for 3.9?

Ian has two patches ("linux: public interface changes for arm"), it
would be great if they could go in 3.9.
Given the small number of patches (three all together), it is probably
easier to go via your tree, if you are OK with that.



> > Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> > 
> > diff --git a/arch/arm/include/asm/xen/page.h b/arch/arm/include/asm/xen/page.h
> > index c6b9096..30cdacb 100644
> > --- a/arch/arm/include/asm/xen/page.h
> > +++ b/arch/arm/include/asm/xen/page.h
> > @@ -1,6 +1,7 @@
> >  #ifndef _ASM_ARM_XEN_PAGE_H
> >  #define _ASM_ARM_XEN_PAGE_H
> >  
> > +#include <asm/mach/map.h>
> >  #include <asm/page.h>
> >  #include <asm/pgtable.h>
> >  
> > @@ -86,4 +87,7 @@ static inline bool set_phys_to_machine(unsigned long pfn, unsigned long mfn)
> >  {
> >  	return __set_phys_to_machine(pfn, mfn);
> >  }
> > +
> > +#define xen_remap(cookie, size) __arm_ioremap((cookie), (size), MT_MEMORY);
> > +
> >  #endif /* _ASM_ARM_XEN_PAGE_H */
> > diff --git a/arch/x86/include/asm/xen/page.h b/arch/x86/include/asm/xen/page.h
> > index 472b9b7..6aef9fb 100644
> > --- a/arch/x86/include/asm/xen/page.h
> > +++ b/arch/x86/include/asm/xen/page.h
> > @@ -212,4 +212,6 @@ unsigned long arbitrary_virt_to_mfn(void *vaddr);
> >  void make_lowmem_page_readonly(void *vaddr);
> >  void make_lowmem_page_readwrite(void *vaddr);
> >  
> > +#define xen_remap(cookie, size) ioremap((cookie), (size));
> > +
> >  #endif /* _ASM_X86_XEN_PAGE_H */
> > diff --git a/drivers/tty/hvc/hvc_xen.c b/drivers/tty/hvc/hvc_xen.c
> > index 19843ec..682210d7 100644
> > --- a/drivers/tty/hvc/hvc_xen.c
> > +++ b/drivers/tty/hvc/hvc_xen.c
> > @@ -230,7 +230,7 @@ static int xen_hvm_console_init(void)
> >  	if (r < 0 || v == 0)
> >  		goto err;
> >  	mfn = v;
> > -	info->intf = ioremap(mfn << PAGE_SHIFT, PAGE_SIZE);
> > +	info->intf = xen_remap(mfn << PAGE_SHIFT, PAGE_SIZE);
> >  	if (info->intf == NULL)
> >  		goto err;
> >  	info->vtermno = HVC_COOKIE;
> > diff --git a/drivers/xen/grant-table.c b/drivers/xen/grant-table.c
> > index 7038de5..1c2a1e5 100644
> > --- a/drivers/xen/grant-table.c
> > +++ b/drivers/xen/grant-table.c
> > @@ -1146,7 +1146,7 @@ int gnttab_resume(void)
> >  		return gnttab_map(0, nr_grant_frames - 1);
> >  
> >  	if (gnttab_shared.addr == NULL) {
> > -		gnttab_shared.addr = ioremap(xen_hvm_resume_frames,
> > +		gnttab_shared.addr = xen_remap(xen_hvm_resume_frames,
> >  						PAGE_SIZE * max_nr_gframes);
> >  		if (gnttab_shared.addr == NULL) {
> >  			printk(KERN_WARNING
> > diff --git a/drivers/xen/xenbus/xenbus_probe.c b/drivers/xen/xenbus/xenbus_probe.c
> > index 038b71d..3325884 100644
> > --- a/drivers/xen/xenbus/xenbus_probe.c
> > +++ b/drivers/xen/xenbus/xenbus_probe.c
> > @@ -769,7 +769,7 @@ static int __init xenbus_init(void)
> >  			goto out_error;
> >  		xen_store_mfn = (unsigned long)v;
> >  		xen_store_interface =
> > -			ioremap(xen_store_mfn << PAGE_SHIFT, PAGE_SIZE);
> > +			xen_remap(xen_store_mfn << PAGE_SHIFT, PAGE_SIZE);
> >  		break;
> >  	default:
> >  		pr_warn("Xenstore state unknown\n");
> 

  reply	other threads:[~2013-02-19 14:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-19 13:59 Stefano Stabellini
2013-02-19 14:42 ` Konrad Rzeszutek Wilk
2013-02-19 14:48   ` Stefano Stabellini [this message]
2013-02-19 14:50     ` Konrad Rzeszutek Wilk
2013-02-19 14:50     ` Ian Campbell
2013-02-20 11:17 ` Ian Campbell

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.02.1302191445160.4654@kaball.uk.xensource.com \
    --to=stefano.stabellini@eu.citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=konrad.wilk@oracle.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --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 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®