Correct padding length for RISC-V PCPU data.
There was an additional 7 bytes of compiler-inserted padding at the end of the structure visible via 'ptype /o' in gdb. Reviewed by: mhorne Obtained from: CheriBSD Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D25867
This commit is contained in:
parent
d5c62a6f03
commit
90699f2a76
@ -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
|
||||
|
||||
|
@ -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[];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user