Fix the processor table entry structure to use a fixed-width type for
32-bit fields so it is the correct size on amd64. Remove a workaround for the broken structure from bhyve(8). MFC after: 1 week
This commit is contained in:
parent
43fdca95b6
commit
c71f0d951a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=259013
@ -85,10 +85,10 @@ typedef struct PROCENTRY {
|
||||
u_char apic_id;
|
||||
u_char apic_version;
|
||||
u_char cpu_flags;
|
||||
u_long cpu_signature;
|
||||
u_long feature_flags;
|
||||
u_long reserved1;
|
||||
u_long reserved2;
|
||||
u_int32_t cpu_signature;
|
||||
u_int32_t feature_flags;
|
||||
u_int32_t reserved1;
|
||||
u_int32_t reserved2;
|
||||
} *proc_entry_ptr;
|
||||
|
||||
#define PROCENTRY_FLAG_EN 0x01
|
||||
|
@ -74,19 +74,6 @@ __FBSDID("$FreeBSD$");
|
||||
/* Number of i/o intr entries */
|
||||
#define MPEII_MAX_IRQ 24
|
||||
|
||||
/* Define processor entry struct since <x86/mptable.h> gets it wrong */
|
||||
typedef struct BPROCENTRY {
|
||||
u_char type;
|
||||
u_char apic_id;
|
||||
u_char apic_version;
|
||||
u_char cpu_flags;
|
||||
uint32_t cpu_signature;
|
||||
uint32_t feature_flags;
|
||||
uint32_t reserved1;
|
||||
uint32_t reserved2;
|
||||
} *bproc_entry_ptr;
|
||||
CTASSERT(sizeof(struct BPROCENTRY) == 20);
|
||||
|
||||
/* Bus entry defines */
|
||||
#define MPE_NUM_BUSES 2
|
||||
#define MPE_BUSNAME_LEN 6
|
||||
@ -134,7 +121,7 @@ mpt_build_mpch(mpcth_t mpch)
|
||||
}
|
||||
|
||||
static void
|
||||
mpt_build_proc_entries(bproc_entry_ptr mpep, int ncpu)
|
||||
mpt_build_proc_entries(proc_entry_ptr mpep, int ncpu)
|
||||
{
|
||||
int i;
|
||||
|
||||
@ -247,7 +234,7 @@ mptable_build(struct vmctx *ctx, int ncpu)
|
||||
mpcth_t mpch;
|
||||
bus_entry_ptr mpeb;
|
||||
io_apic_entry_ptr mpei;
|
||||
bproc_entry_ptr mpep;
|
||||
proc_entry_ptr mpep;
|
||||
mpfps_t mpfp;
|
||||
int_entry_ptr mpie;
|
||||
char *curraddr;
|
||||
@ -268,7 +255,7 @@ mptable_build(struct vmctx *ctx, int ncpu)
|
||||
mpt_build_mpch(mpch);
|
||||
curraddr += sizeof(*mpch);
|
||||
|
||||
mpep = (bproc_entry_ptr)curraddr;
|
||||
mpep = (proc_entry_ptr)curraddr;
|
||||
mpt_build_proc_entries(mpep, ncpu);
|
||||
curraddr += sizeof(*mpep) * ncpu;
|
||||
mpch->entry_count += ncpu;
|
||||
|
Loading…
Reference in New Issue
Block a user