Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 Aug 2017 15:59:41 +0000
From:      Li-Wen Hsu <lwhsu@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   Re: svn commit: r322761 - in stable/11/sys/arm64: arm64 include
Message-ID:  <20170822155941.GA52559@freefall.freebsd.org>
In-Reply-To: <201708211735.v7LHZ4UG023562@repo.freebsd.org>
References:  <201708211735.v7LHZ4UG023562@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Aug 21, 2017 at 17:35:04 +0000, John Baldwin wrote:
> Author: jhb
> Date: Mon Aug 21 17:35:04 2017
> New Revision: 322761
> URL: https://svnweb.freebsd.org/changeset/base/322761
> 
> Log:
>   MFC 322437: Reliably enable debug exceptions on all CPUs.
>   
>   Previously, debug exceptions were only enabled on the boot CPU if
>   DDB was enabled in the dbg_monitor_init() function.  APs also called
>   this function, but since mp_machdep.c doesn't include opt_ddb.h, the
>   APs ended up calling an empty stub defined in <machine/debug_monitor.h>
>   instead of the real function.  Also, if DDB was not enabled in the kernel,
>   the boot CPU would not enable debug exceptions.
>   
>   Fix this by adding a new dbg_init() function that always clears the OS
>   lock to enable debug exceptions which the boot CPU and the APs call.
>   This function also calls dbg_monitor_init() to enable hardware breakpoints
>   from DDB on all CPUs if DDB is enabled.  Eventually base support for
>   hardware breakpoints/watchpoints will need to move out of the DDB-only
>   debug_monitor.c for use by userland debuggers.
> 
> Modified:
>   stable/11/sys/arm64/arm64/debug_monitor.c
>   stable/11/sys/arm64/arm64/machdep.c
>   stable/11/sys/arm64/arm64/mp_machdep.c
>   stable/11/sys/arm64/include/machdep.h
> Directory Properties:
>   stable/11/   (props changed)
> 
> Modified: stable/11/sys/arm64/arm64/mp_machdep.c
> ==============================================================================
> --- stable/11/sys/arm64/arm64/mp_machdep.c	Mon Aug 21 17:29:37 2017	(r322760)
> +++ stable/11/sys/arm64/arm64/mp_machdep.c	Mon Aug 21 17:35:04 2017	(r322761)
> @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$");
>  #include <vm/vm_extern.h>
>  #include <vm/vm_kern.h>
>  
> -#include <machine/debug_monitor.h>
>  #include <machine/intr.h>
>  #include <machine/smp.h>
>  #ifdef VFP
> @@ -277,7 +276,7 @@ init_secondary(uint64_t cpu)
>  	vfp_init();
>  #endif
>  
> -	dbg_monitor_init();
> +	dbg_init();
>  	pan_enable();
>  
>  	/* Enable interrupts */
> 

Hi,

This seems breaking aarch64 build:

https://ci.freebsd.org/job/FreeBSD-stable-11-aarch64-build/1504/console

--- mp_machdep.o ---
/usr/src/sys/arm64/arm64/mp_machdep.c:279:2: error: implicit declaration of function 'dbg_init' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        dbg_init();
        ^
/usr/src/sys/arm64/arm64/mp_machdep.c:279:2: error: this function declaration is not a prototype [-Werror,-Wstrict-prototypes]
2 errors generated.
*** [mp_machdep.o] Error code 1

make[2]: stopped in /usr/obj/arm64.aarch64/usr/src/sys/GENERIC


Forgot including?  Plase check, thanks!

Best,
Li-Wen

-- 
Li-Wen Hsu <lwhsu@FreeBSD.org>
https://lwhsu.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170822155941.GA52559>