Author: jhb Date: Wed Aug 12 18:45:36 2020 New Revision: 364176 URL: https://svnweb.freebsd.org/changeset/base/364176
Log: 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 Modified: head/sys/riscv/include/pcpu.h head/sys/riscv/include/pcpu_aux.h Modified: head/sys/riscv/include/pcpu.h ============================================================================== --- head/sys/riscv/include/pcpu.h Wed Aug 12 18:35:21 2020 (r364175) +++ head/sys/riscv/include/pcpu.h Wed Aug 12 18:45:36 2020 (r364176) @@ -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 Modified: head/sys/riscv/include/pcpu_aux.h ============================================================================== --- head/sys/riscv/include/pcpu_aux.h Wed Aug 12 18:35:21 2020 (r364175) +++ head/sys/riscv/include/pcpu_aux.h Wed Aug 12 18:45:36 2020 (r364176) @@ -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[]; _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"