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>