RE: [PATCH] arm64: add the ability to hook the fault code

2014-06-20 Thread Neil Zhang

> -Original Message-
> From: Will Deacon [mailto:will.dea...@arm.com]
> Sent: 2014年6月20日 16:40
> To: Neil Zhang
> Cc: Catalin Marinas; linux-kernel@vger.kernel.org;
> linux-arm-ker...@lists.infradead.org
> Subject: Re: [PATCH] arm64: add the ability to hook the fault code
> 
> On Fri, Jun 20, 2014 at 09:33:59AM +0100, Neil Zhang wrote:
> >
> > > -Original Message-
> > > From: Will Deacon [mailto:will.dea...@arm.com]
> > > Sent: 2014年6月20日 16:26
> > > To: Neil Zhang
> > > Cc: Catalin Marinas; linux-arm-ker...@lists.infradead.org;
> > > linux-kernel@vger.kernel.org
> > > Subject: Re: [PATCH] arm64: add the ability to hook the fault code
> > >
> > > On Thu, Jun 19, 2014 at 11:54:56AM +0100, Neil Zhang wrote:
> > > > Add the ability to hook the fault code for future use.
> > >
> > > Do you have a user for this in the kernel tree? I'd rather add the
> > > hook with the first user, if it doesn't exist already.
> > >
> >
> > Marvell Soc has a feature to use the external abort.
> > I didn't submit it since it's a private feature.
> 
> In which case, let's wait until we have a user of this in the mainline tree.
> 

OK!

> Will

Best Regards,
Neil Zhang


Re: [PATCH] arm64: add the ability to hook the fault code

2014-06-20 Thread Will Deacon
On Fri, Jun 20, 2014 at 09:33:59AM +0100, Neil Zhang wrote:
> 
> > -Original Message-
> > From: Will Deacon [mailto:will.dea...@arm.com]
> > Sent: 2014年6月20日 16:26
> > To: Neil Zhang
> > Cc: Catalin Marinas; linux-arm-ker...@lists.infradead.org;
> > linux-kernel@vger.kernel.org
> > Subject: Re: [PATCH] arm64: add the ability to hook the fault code
> > 
> > On Thu, Jun 19, 2014 at 11:54:56AM +0100, Neil Zhang wrote:
> > > Add the ability to hook the fault code for future use.
> > 
> > Do you have a user for this in the kernel tree? I'd rather add the hook with
> > the first user, if it doesn't exist already.
> > 
> 
> Marvell Soc has a feature to use the external abort.
> I didn't submit it since it's a private feature.

In which case, let's wait until we have a user of this in the mainline tree.

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [PATCH] arm64: add the ability to hook the fault code

2014-06-20 Thread Neil Zhang

> -Original Message-
> From: Will Deacon [mailto:will.dea...@arm.com]
> Sent: 2014年6月20日 16:26
> To: Neil Zhang
> Cc: Catalin Marinas; linux-arm-ker...@lists.infradead.org;
> linux-kernel@vger.kernel.org
> Subject: Re: [PATCH] arm64: add the ability to hook the fault code
> 
> On Thu, Jun 19, 2014 at 11:54:56AM +0100, Neil Zhang wrote:
> > Add the ability to hook the fault code for future use.
> 
> Do you have a user for this in the kernel tree? I'd rather add the hook with
> the first user, if it doesn't exist already.
> 

Marvell Soc has a feature to use the external abort.
I didn't submit it since it's a private feature.

> Will

Best Regards,
Neil Zhang


Re: [PATCH] arm64: add the ability to hook the fault code

2014-06-20 Thread Will Deacon
On Thu, Jun 19, 2014 at 11:54:56AM +0100, Neil Zhang wrote:
> Add the ability to hook the fault code for future use.

Do you have a user for this in the kernel tree? I'd rather add the hook with
the first user, if it doesn't exist already.

Will
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH] arm64: add the ability to hook the fault code

2014-06-19 Thread Neil Zhang
Add the ability to hook the fault code for future use.

Signed-off-by: Neil Zhang 
---
 arch/arm64/include/asm/system_misc.h |4 
 arch/arm64/mm/fault.c|   12 
 2 files changed, 16 insertions(+)

diff --git a/arch/arm64/include/asm/system_misc.h 
b/arch/arm64/include/asm/system_misc.h
index 7a18fab..a8c19dd 100644
--- a/arch/arm64/include/asm/system_misc.h
+++ b/arch/arm64/include/asm/system_misc.h
@@ -37,6 +37,10 @@ void hook_debug_fault_code(int nr, int (*fn)(unsigned long, 
unsigned int,
 struct pt_regs *),
   int sig, int code, const char *name);
 
+void hook_fault_code(int nr,
+   int (*fn)(unsigned long, unsigned int, struct pt_regs *),
+   int sig, int code, const char *name);
+
 struct mm_struct;
 extern void show_pte(struct mm_struct *mm, unsigned long addr);
 extern void __show_regs(struct pt_regs *);
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c
index bcc965e..7902fb6 100644
--- a/arch/arm64/mm/fault.c
+++ b/arch/arm64/mm/fault.c
@@ -447,6 +447,18 @@ static const char *fault_name(unsigned int esr)
return inf->name;
 }
 
+void __init hook_fault_code(int nr,
+   int (*fn)(unsigned long, unsigned int, struct pt_regs *),
+   int sig, int code, const char *name)
+{
+   BUG_ON(nr < 0 || nr >= ARRAY_SIZE(fault_info));
+
+   fault_info[nr].fn   = fn;
+   fault_info[nr].sig  = sig;
+   fault_info[nr].code = code;
+   fault_info[nr].name = name;
+}
+
 /*
  * Dispatch a data abort to the relevant handler.
  */
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/