163a93856SMark Peek /*- 263a93856SMark Peek * Copyright (c) 2018 VMware, Inc. All Rights Reserved. 363a93856SMark Peek * 463a93856SMark Peek * SPDX-License-Identifier: (BSD-2-Clause AND GPL-2.0) 563a93856SMark Peek * 663a93856SMark Peek * $FreeBSD$ 763a93856SMark Peek */ 863a93856SMark Peek 963a93856SMark Peek /* Some common utilities used by the VMCI kernel module. */ 1063a93856SMark Peek 1163a93856SMark Peek #ifndef _VMCI_KERNEL_DEFS_H_ 1263a93856SMark Peek #define _VMCI_KERNEL_DEFS_H_ 1363a93856SMark Peek 1463a93856SMark Peek #include <sys/param.h> 1563a93856SMark Peek #include <sys/systm.h> 1663a93856SMark Peek 1763a93856SMark Peek typedef uint32_t PPN; 1863a93856SMark Peek 19*7953f98eSConrad Meyer #define ASSERT(cond) KASSERT(cond, ("%s", #cond)) 2063a93856SMark Peek #define ASSERT_ON_COMPILE(e) _Static_assert(e, #e); 2163a93856SMark Peek 22*7953f98eSConrad Meyer #define LIKELY(_exp) __predict_true(_exp) 23*7953f98eSConrad Meyer #define UNLIKELY(_exp) __predict_false(_exp) 2463a93856SMark Peek 25*7953f98eSConrad Meyer #define CONST64U(c) UINT64_C(c) 2663a93856SMark Peek 27*7953f98eSConrad Meyer #define ARRAYSIZE(a) nitems(a) 2863a93856SMark Peek 29*7953f98eSConrad Meyer #define ROUNDUP(x, y) roundup(x, y) 30*7953f98eSConrad Meyer #define CEILING(x, y) howmany(x, y) 3163a93856SMark Peek 3263a93856SMark Peek #endif /* !_VMCI_KERNEL_DEFS_H_ */ 33