Subject: Re: [RFC PATCH v2 6/6] powerpc: Use generic code for exception handling

From: Li Zhong <[email-masked]>
Date: Wed, 10 Apr 2013 13:56:11 +0800

On Wed, 2013-04-10 at 13:32 +0800, Li Zhong wrote:
> On Wed, 2013-04-10 at 14:56 +1000, Michael Ellerman wrote:
> > On Fri, Mar 29, 2013 at 06:00:21PM +0800, Li Zhong wrote:
> > > After the exception handling moved to generic code, and some changes in
> > ...
> > > diff --git a/arch/powerpc/mm/hash_utils_64.c b/arch/powerpc/mm/hash_utils_64.c
> > > index 360fba8..eeab30f 100644
> > > --- a/arch/powerpc/mm/hash_utils_64.c
> > > +++ b/arch/powerpc/mm/hash_utils_64.c
> > > @@ -33,6 +33,7 @@
> > >  #include <linux/init.h>
> > >  #include <linux/signal.h>
> > >  #include <linux/memblock.h>
> > > +#include <linux/context_tracking.h>
> > >  
> > >  #include <asm/processor.h>
> > >  #include <asm/pgtable.h>
> > > @@ -56,7 +57,6 @@
> > >  #include <asm/fadump.h>
> > >  #include <asm/firmware.h>
> > >  #include <asm/tm.h>
> > > -#include <asm/context_tracking.h>
> > >  
> > >  #ifdef DEBUG
> > >  #define DBG(fmt...) udbg_printf(fmt)
> > > @@ -919,13 +919,17 @@ int hash_page(unsigned long ea, unsigned long access, unsigned long trap)
> > >  	const struct cpumask *tmp;
> > >  	int rc, user_region = 0, local = 0;
> > >  	int psize, ssize;
> > > +	enum ctx_state prev_state;
> > > +
> > > +	prev_state = exception_enter();
> > >  
> > >  	DBG_LOW("hash_page(ea=%016lx, access=%lx, trap=%lx\n",
> > >  		ea, access, trap);
> > >  
> > >  	if ((ea & ~REGION_MASK) >= PGTABLE_RANGE) {
> > >  		DBG_LOW(" out of pgtable range !\n");
> > > - 		return 1;
> > > +		rc = 1;
> > > +		goto exit;
> > >  	}
> > >  
> > >  	/* Get region & vsid */
> > 
> > This no longer applies on mainline, please send an updated version.
> 
> Yes, for current mainline (powerpc tree), only previous five patches
> could be applied. The dependency of this patch is current in tip tree,
> and seems would be in for 3.10.
> 
> There are some more details in the cover letter (#0):
> 
> "I assume these patches would get in through powerpc tree, so I didn't
> combine the new patch (#6) with the original one (#2). So that if
> powerpc tree picks these, it could pick the first five patches, and
> apply patch #6 later when the dependency enters into powerpc tree (maybe
> on some 3.10-rcs)."

And I will send an updated version of this one when I see the dependency
commits in mainline. 

Thanks, Zhong

> Thanks, Zhong
> > cheers