Make arm64 pcb padding explicit

There is padding between some fields. Mark those I have found so they
can be reused later if needed.

Sponsored by:	Arm Ltd
This commit is contained in:
Andrew Turner 2023-04-24 10:57:06 +01:00
parent 1bf4991bbc
commit fb421e96c0
2 changed files with 8 additions and 0 deletions

View File

@ -104,6 +104,12 @@ __FBSDID("$FreeBSD$");
#include <dev/smbios/smbios.h>
_Static_assert(sizeof(struct pcb) == 1216, "struct pcb is incorrect size");
_Static_assert(offsetof(struct pcb, pcb_fpusaved) == 136,
"pcb_fpusaved changed offset");
_Static_assert(offsetof(struct pcb, pcb_fpustate) == 160,
"pcb_fpustate changed offset");
enum arm64_bus arm64_bus_method = ARM64_BUS_NONE;
/*

View File

@ -57,6 +57,7 @@ struct pcb {
u_int pcb_flags;
#define PCB_SINGLE_STEP_SHIFT 0
#define PCB_SINGLE_STEP (1 << PCB_SINGLE_STEP_SHIFT)
uint32_t pcb_pad1;
struct vfpstate *pcb_fpusaved;
int pcb_fpflags;
@ -66,6 +67,7 @@ struct pcb {
/* The bits passed to userspace in get_fpcontext */
#define PCB_FP_USERMASK (PCB_FP_STARTED)
u_int pcb_vfpcpu; /* Last cpu this thread ran VFP code */
uint64_t pcb_pad2;
/*
* The userspace VFP state. The pcb_fpusaved pointer will point to