Changeset View
Changeset View
Standalone View
Standalone View
sys/sys/pcpu.h
Show First 20 Lines • Show All 75 Lines • ▼ Show 20 Lines | |||||
#define DPCPU_SIZE roundup2(DPCPU_BYTES, PAGE_SIZE) | #define DPCPU_SIZE roundup2(DPCPU_BYTES, PAGE_SIZE) | ||||
#define DPCPU_MODSIZE (DPCPU_SIZE - (DPCPU_BYTES - DPCPU_MODMIN)) | #define DPCPU_MODSIZE (DPCPU_SIZE - (DPCPU_BYTES - DPCPU_MODMIN)) | ||||
/* | /* | ||||
* Declaration and definition. | * Declaration and definition. | ||||
*/ | */ | ||||
#define DPCPU_NAME(n) pcpu_entry_##n | #define DPCPU_NAME(n) pcpu_entry_##n | ||||
#define DPCPU_DECLARE(t, n) extern t DPCPU_NAME(n) | #define DPCPU_DECLARE(t, n) extern t DPCPU_NAME(n) | ||||
#define DPCPU_DEFINE(t, n) t DPCPU_NAME(n) __section(DPCPU_SETNAME) __used | #define DPCPU_DEFINE(t, n) \ | ||||
emaste: maybe a comment to explain the use of `struct _hack;` | |||||
struct _hack; t DPCPU_NAME(n) __section(DPCPU_SETNAME) __used | |||||
#define DPCPU_DEFINE_STATIC(t, n) \ | |||||
static t DPCPU_NAME(n) __section(DPCPU_SETNAME) __used | |||||
/* | /* | ||||
* Accessors with a given base. | * Accessors with a given base. | ||||
*/ | */ | ||||
#define _DPCPU_PTR(b, n) \ | #define _DPCPU_PTR(b, n) \ | ||||
(__typeof(DPCPU_NAME(n))*)((b) + (uintptr_t)&DPCPU_NAME(n)) | (__typeof(DPCPU_NAME(n))*)((b) + (uintptr_t)&DPCPU_NAME(n)) | ||||
#define _DPCPU_GET(b, n) (*_DPCPU_PTR(b, n)) | #define _DPCPU_GET(b, n) (*_DPCPU_PTR(b, n)) | ||||
#define _DPCPU_SET(b, n, v) (*_DPCPU_PTR(b, n) = v) | #define _DPCPU_SET(b, n, v) (*_DPCPU_PTR(b, n) = v) | ||||
▲ Show 20 Lines • Show All 148 Lines • Show Last 20 Lines |
maybe a comment to explain the use of struct _hack;