diff --git a/sys/riscv/include/pcpu.h b/sys/riscv/include/pcpu.h index 46b258380a10..5068596462fc 100644 --- a/sys/riscv/include/pcpu.h +++ b/sys/riscv/include/pcpu.h @@ -48,7 +48,7 @@ struct pmap *pc_curpmap; /* Currently active pmap */ \ uint32_t pc_pending_ipis; /* IPIs pending to this CPU */ \ uint32_t pc_hart; /* Hart ID */ \ - char __pad[49] + char __pad[56] /* Pad to factor of PAGE_SIZE */ #ifdef _KERNEL diff --git a/sys/riscv/include/pcpu_aux.h b/sys/riscv/include/pcpu_aux.h index 3d4c70c491d6..9fecd25c67cb 100644 --- a/sys/riscv/include/pcpu_aux.h +++ b/sys/riscv/include/pcpu_aux.h @@ -46,6 +46,9 @@ * be a multiple of the size of struct pcpu. */ _Static_assert(PAGE_SIZE % sizeof(struct pcpu) == 0, "fix pcpu size"); +_Static_assert(offsetof(struct pcpu, __pad) + + sizeof(((struct pcpu *)0)->__pad) == sizeof(struct pcpu), + "fix pcpu padding"); extern struct pcpu __pcpu[];