2014-06-19 10:55:37

by Neil Zhang

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

Add the ability to hook the fault code for future use.

Signed-off-by: Neil Zhang <[email protected]>
---
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


2014-06-20 08:26:23

by Will Deacon

[permalink] [raw]
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.

Will

2014-06-20 08:34:38

by Neil Zhang

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


> -----Original Message-----
> From: Will Deacon [mailto:[email protected]]
> Sent: 2014??6??20?? 16:26
> To: Neil Zhang
> Cc: Catalin Marinas; [email protected];
> [email protected]
> 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
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?

2014-06-20 08:40:17

by Will Deacon

[permalink] [raw]
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:[email protected]]
> > Sent: 2014年6月20日 16:26
> > To: Neil Zhang
> > Cc: Catalin Marinas; [email protected];
> > [email protected]
> > 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

2014-06-20 09:02:55

by Neil Zhang

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


> -----Original Message-----
> From: Will Deacon [mailto:[email protected]]
> Sent: 2014年6月20日 16:40
> To: Neil Zhang
> Cc: Catalin Marinas; [email protected];
> [email protected]
> 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:[email protected]]
> > > Sent: 2014年6月20日 16:26
> > > To: Neil Zhang
> > > Cc: Catalin Marinas; [email protected];
> > > [email protected]
> > > 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
????{.n?+???????+%?????ݶ??w??{.n?+????{??G?????{ay?ʇڙ?,j??f???h?????????z_??(?階?ݢj"???m??????G????????????&???~???iO???z??v?^?m???? ????????I?