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:
Konstantin Belousov 2019-11-24 19:02:13 +00:00
parent 515a40d5d9
commit 13189065cb
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=355060

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)