From: Frederic Weisbecker on
On Tue, Mar 30, 2010 at 01:39:30PM -0500, Jason Wessel wrote:
> It is required to call hw_breakpoint_init() on an attr before using it
> in any other calls. This fixes the problem where kgdb will sometimes
> fail to initialize on x86_64.
>
> CC: Frederic Weisbecker <fweisbec(a)gmail.com>
> CC: Ingo Molnar <mingo(a)elte.hu>
> CC: stable(a)kernel.org
> Signed-off-by: Jason Wessel <jason.wessel(a)windriver.com>
> ---
> arch/x86/kernel/kgdb.c | 1 +
> 1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c
> index bfba601..d9adcde 100644
> --- a/arch/x86/kernel/kgdb.c
> +++ b/arch/x86/kernel/kgdb.c
> @@ -618,6 +618,7 @@ int kgdb_arch_init(void)
> * portion of kgdb because this operation requires mutexs to
> * complete.
> */
> + hw_breakpoint_init(&attr);
> attr.bp_addr = (unsigned long)kgdb_arch_init;
> attr.type = PERF_TYPE_BREAKPOINT;


Minor neat: In this case you don't need to set the type.

Acked-by: Frederic Weisbecker <fweisbec(a)gmail.com>



> attr.bp_len = HW_BREAKPOINT_LEN_1;
> --
> 1.6.3.1.9.g95405b
>

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