Changeset View
Changeset View
Standalone View
Standalone View
sys/net/vnet.h
Show First 20 Lines • Show All 267 Lines • ▼ Show 20 Lines | |||||
* Virtual network stack memory allocator, which allows global variables to | * Virtual network stack memory allocator, which allows global variables to | ||||
* be automatically instantiated for each network stack instance. | * be automatically instantiated for each network stack instance. | ||||
*/ | */ | ||||
#define VNET_NAME(n) vnet_entry_##n | #define VNET_NAME(n) vnet_entry_##n | ||||
#define VNET_DECLARE(t, n) extern t VNET_NAME(n) | #define VNET_DECLARE(t, n) extern t VNET_NAME(n) | ||||
/* struct _hack is to stop this from being used with static data */ | /* struct _hack is to stop this from being used with static data */ | ||||
#define VNET_DEFINE(t, n) \ | #define VNET_DEFINE(t, n) \ | ||||
struct _hack; t VNET_NAME(n) __section(VNET_SETNAME) __used | struct _hack; t VNET_NAME(n) __section(VNET_SETNAME) __used | ||||
#if defined(KLD_MODULE) && (defined(__aarch64__) || defined(__riscv)) | #if defined(KLD_MODULE) && (defined(__aarch64__) || defined(__riscv) \ | ||||
|| defined(__powerpc64__)) | |||||
/* | /* | ||||
* As with DPCPU_DEFINE_STATIC we are unable to mark this data as static | * As with DPCPU_DEFINE_STATIC we are unable to mark this data as static | ||||
* in modules on some architectures. | * in modules on some architectures. | ||||
*/ | */ | ||||
#define VNET_DEFINE_STATIC(t, n) \ | #define VNET_DEFINE_STATIC(t, n) \ | ||||
t VNET_NAME(n) __section(VNET_SETNAME) __used | t VNET_NAME(n) __section(VNET_SETNAME) __used | ||||
#else | #else | ||||
#define VNET_DEFINE_STATIC(t, n) \ | #define VNET_DEFINE_STATIC(t, n) \ | ||||
▲ Show 20 Lines • Show All 166 Lines • Show Last 20 Lines |