svn commit: r302373 - head/usr.sbin/bhyve

Garrett Cooper ngie at FreeBSD.org
Wed Jul 6 16:02:17 UTC 2016


Author: ngie
Date: Wed Jul  6 16:02:15 2016
New Revision: 302373
URL: https://svnweb.freebsd.org/changeset/base/302373

Log:
  Fix CTASSERT issue in a more clean way
  
  - Replace all CTASSERT macro instances with static_assert's.
  - Remove the WRAPPED_CTASSERT macro; it's now an unnecessary obfuscation.
  - Localize all static_assert's to the structures being tested.
  - Sort some headers per-style(9).
  
  Approved by: re (hrs)
  Differential Revision: https://reviews.freebsd.org/D7130
  MFC after: 1 week
  X-MFC with: r302364
  Reviewed by: ed, grehan (maintainer)
  Submitted by: ed
  Sponsored by: EMC / Isilon Storage Division

Modified:
  head/usr.sbin/bhyve/bhyverun.h
  head/usr.sbin/bhyve/pci_emul.c
  head/usr.sbin/bhyve/pci_emul.h
  head/usr.sbin/bhyve/task_switch.c

Modified: head/usr.sbin/bhyve/bhyverun.h
==============================================================================
--- head/usr.sbin/bhyve/bhyverun.h	Wed Jul  6 14:09:49 2016	(r302372)
+++ head/usr.sbin/bhyve/bhyverun.h	Wed Jul  6 16:02:15 2016	(r302373)
@@ -29,12 +29,6 @@
 #ifndef	_FBSDRUN_H_
 #define	_FBSDRUN_H_
 
-#ifndef CTASSERT		/* Allow lint to override */
-#define	CTASSERT(x)		_CTASSERT(x, __LINE__)
-#define	_CTASSERT(x, y)		__CTASSERT(x, y)
-#define	__CTASSERT(x, y)	typedef char __assert ## y[(x) ? 1 : -1]
-#endif
-
 #define	VMEXIT_CONTINUE		(0)
 #define	VMEXIT_ABORT		(-1)
 

Modified: head/usr.sbin/bhyve/pci_emul.c
==============================================================================
--- head/usr.sbin/bhyve/pci_emul.c	Wed Jul  6 14:09:49 2016	(r302372)
+++ head/usr.sbin/bhyve/pci_emul.c	Wed Jul  6 16:02:15 2016	(r302373)
@@ -31,9 +31,9 @@ __FBSDID("$FreeBSD$");
 
 #include <sys/param.h>
 #include <sys/linker_set.h>
-#include <sys/errno.h>
 
 #include <ctype.h>
+#include <errno.h>
 #include <pthread.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -755,16 +755,6 @@ pci_emul_init(struct vmctx *ctx, struct 
 	return (err);
 }
 
-#ifdef __GNU_C__
-#define	WRAPPED_CTASSERT(x)	CTASSERT(x) __unused
-#else
-#define	WRAPPED_CTASSERT(x)	CTASSERT(x)
-#endif
-
-WRAPPED_CTASSERT(sizeof(struct msicap) == 14);
-WRAPPED_CTASSERT(sizeof(struct msixcap) == 12);
-WRAPPED_CTASSERT(sizeof(struct pciecap) == 60);
-
 void
 pci_populate_msicap(struct msicap *msicap, int msgnum, int nextptr)
 {

Modified: head/usr.sbin/bhyve/pci_emul.h
==============================================================================
--- head/usr.sbin/bhyve/pci_emul.h	Wed Jul  6 14:09:49 2016	(r302372)
+++ head/usr.sbin/bhyve/pci_emul.h	Wed Jul  6 16:02:15 2016	(r302373)
@@ -160,6 +160,7 @@ struct msicap {
 	uint32_t	addrhi;
 	uint16_t	msgdata;
 } __packed;
+static_assert(sizeof(struct msicap) == 14, "compile-time assertion failed");
 
 struct msixcap {
 	uint8_t		capid;
@@ -168,6 +169,7 @@ struct msixcap {
 	uint32_t	table_info;	/* bar index and offset within it */
 	uint32_t	pba_info;	/* bar index and offset within it */
 } __packed;
+static_assert(sizeof(struct msixcap) == 12, "compile-time assertion failed");
 
 struct pciecap {
 	uint8_t		capid;
@@ -202,6 +204,7 @@ struct pciecap {
 	uint16_t	slot_control2;
 	uint16_t	slot_status2;
 } __packed;
+static_assert(sizeof(struct pciecap) == 60, "compile-time assertion failed");
 
 typedef void (*pci_lintr_cb)(int b, int s, int pin, int pirq_pin,
     int ioapic_irq, void *arg);

Modified: head/usr.sbin/bhyve/task_switch.c
==============================================================================
--- head/usr.sbin/bhyve/task_switch.c	Wed Jul  6 14:09:49 2016	(r302372)
+++ head/usr.sbin/bhyve/task_switch.c	Wed Jul  6 16:02:15 2016	(r302373)
@@ -37,11 +37,11 @@ __FBSDID("$FreeBSD$");
 #include <machine/vmm.h>
 #include <machine/vmm_instruction_emul.h>
 
+#include <assert.h>
+#include <errno.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <assert.h>
-#include <errno.h>
 
 #include <vmmapi.h>
 
@@ -91,7 +91,7 @@ struct tss32 {
 	uint16_t	tss_trap;
 	uint16_t	tss_iomap;
 };
-CTASSERT(sizeof(struct tss32) == 104);
+static_assert(sizeof(struct tss32) == 104, "compile-time assertion failed");
 
 #define	SEL_START(sel)	(((sel) & ~0x7))
 #define	SEL_LIMIT(sel)	(((sel) | 0x7))


More information about the svn-src-head mailing list