amd64: assert that EARLY_COUNTER does not corrupt memory.

Reviewed by:	imp
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D22514
This commit is contained in:
kib 2019-11-24 19:02:13 +00:00
parent ef8543ad81
commit 372acbf63e

View File

@ -82,6 +82,7 @@ static inline void
counter_u64_add(counter_u64_t c, int64_t inc)
{
KASSERT(IS_BSP() || c != EARLY_COUNTER, ("EARLY_COUNTER used on AP"));
__asm __volatile("addq\t%1,%%gs:(%0)"
:
: "r" ((char *)c - (char *)&__pcpu[0]), "ri" (inc)