svn commit: r259837 - in stable/10: sys/x86/include usr.sbin/bhyve
John Baldwin
jhb at FreeBSD.org
Tue Dec 24 19:10:57 UTC 2013
Author: jhb
Date: Tue Dec 24 19:10:56 2013
New Revision: 259837
URL: http://svnweb.freebsd.org/changeset/base/259837
Log:
MFC 259013:
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).
Modified:
stable/10/sys/x86/include/mptable.h
stable/10/usr.sbin/bhyve/mptbl.c
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/sys/x86/include/mptable.h
==============================================================================
--- stable/10/sys/x86/include/mptable.h Tue Dec 24 19:03:30 2013 (r259836)
+++ stable/10/sys/x86/include/mptable.h Tue Dec 24 19:10:56 2013 (r259837)
@@ -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
Modified: stable/10/usr.sbin/bhyve/mptbl.c
==============================================================================
--- stable/10/usr.sbin/bhyve/mptbl.c Tue Dec 24 19:03:30 2013 (r259836)
+++ stable/10/usr.sbin/bhyve/mptbl.c Tue Dec 24 19:10:56 2013 (r259837)
@@ -74,19 +74,6 @@ __FBSDID("$FreeBSD$");
/* Number of i/o intr entries */
#define MPEII_MAX_IRQ 16
-/* 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 ncp
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 ncp
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;
More information about the svn-src-stable-10
mailing list