summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorngie <ngie@FreeBSD.org>2016-07-06 05:17:07 +0000
committerngie <ngie@FreeBSD.org>2016-07-06 05:17:07 +0000
commit31d9e3b72183cdfd1e42b199800943a1f1ad7c51 (patch)
treec0b354ec7753fba78b3ccc787e8a3d8ef004c1bf /usr.sbin
parent44da817a3d1625442d983bc87d3169a7393b4226 (diff)
downloadFreeBSD-src-31d9e3b72183cdfd1e42b199800943a1f1ad7c51.zip
FreeBSD-src-31d9e3b72183cdfd1e42b199800943a1f1ad7c51.tar.gz
Fix gcc build errors with SSE 4.2 detection and gcc warnings
- Remove -Wunused-but-set-variable's (`len`, etc). - Replace clang-specific tests in sse42_supported(..) with generic, FreeBSD-supported CPU feature tests, using macros and functions from machine/cpufunc.h and machine/specialreg.h . The previous method for determining SSE4.2 availability was only compatible with clang. - Sort #includes per style(9). Approved by: re (gjb) Differential Revision: https://reviews.freebsd.org/D7119 MFC after: 1 week X-MFC with: r302332 Reported by: Jenkins Reviewed by: grehan (maintainer) Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/bhyve/rfb.c67
1 files changed, 22 insertions, 45 deletions
diff --git a/usr.sbin/bhyve/rfb.c b/usr.sbin/bhyve/rfb.c
index ceeb1b7..fc63a33 100644
--- a/usr.sbin/bhyve/rfb.c
+++ b/usr.sbin/bhyve/rfb.c
@@ -28,12 +28,14 @@
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
+#include <sys/param.h>
#include <sys/socket.h>
-#include <sys/time.h>
#include <sys/select.h>
-#include <sys/param.h>
-#include <netinet/in.h>
+#include <sys/time.h>
#include <arpa/inet.h>
+#include <machine/cpufunc.h>
+#include <machine/specialreg.h>
+#include <netinet/in.h>
#include <assert.h>
#include <pthread.h>
@@ -46,7 +48,6 @@ __FBSDID("$FreeBSD$");
#include <unistd.h>
#include <zlib.h>
-#include <cpuid.h>
#include "bhyvegc.h"
#include "console.h"
@@ -177,7 +178,6 @@ rfb_send_server_init_msg(int cfd)
{
struct bhyvegc_image *gc_image;
struct rfb_srvr_info sinfo;
- int len;
gc_image = console_get_image();
@@ -194,8 +194,8 @@ rfb_send_server_init_msg(int cfd)
sinfo.pixfmt.green_shift = 8;
sinfo.pixfmt.blue_shift = 0;
sinfo.namelen = htonl(strlen("bhyve"));
- len = stream_write(cfd, &sinfo, sizeof(sinfo));
- len = stream_write(cfd, "bhyve", strlen("bhyve"));
+ (void)stream_write(cfd, &sinfo, sizeof(sinfo));
+ (void)stream_write(cfd, "bhyve", strlen("bhyve"));
}
static void
@@ -223,9 +223,8 @@ static void
rfb_recv_set_pixfmt_msg(struct rfb_softc *rc, int cfd)
{
struct rfb_pixfmt_msg pixfmt_msg;
- int len;
- len = stream_read(cfd, ((void *)&pixfmt_msg)+1, sizeof(pixfmt_msg)-1);
+ (void)stream_read(cfd, ((void *)&pixfmt_msg)+1, sizeof(pixfmt_msg)-1);
}
@@ -233,14 +232,14 @@ static void
rfb_recv_set_encodings_msg(struct rfb_softc *rc, int cfd)
{
struct rfb_enc_msg enc_msg;
- int len, i;
+ int i;
uint32_t encoding;
assert((sizeof(enc_msg) - 1) == 3);
- len = stream_read(cfd, ((void *)&enc_msg)+1, sizeof(enc_msg)-1);
+ (void)stream_read(cfd, ((void *)&enc_msg)+1, sizeof(enc_msg)-1);
for (i = 0; i < htons(enc_msg.numencs); i++) {
- len = stream_read(cfd, &encoding, sizeof(encoding));
+ (void)stream_read(cfd, &encoding, sizeof(encoding));
switch (htonl(encoding)) {
case RFB_ENCODING_RAW:
rc->enc_raw_ok = true;
@@ -256,27 +255,6 @@ rfb_recv_set_encodings_msg(struct rfb_softc *rc, int cfd)
}
}
-static void
-rfb_resize_update(struct rfb_softc *rc, int fd)
-{
- struct rfb_srvr_updt_msg supdt_msg;
- struct rfb_srvr_rect_hdr srect_hdr;
-
- /* Number of rectangles: 1 */
- supdt_msg.type = 0;
- supdt_msg.pad = 0;
- supdt_msg.numrects = htons(1);
- stream_write(fd, &supdt_msg, sizeof(struct rfb_srvr_updt_msg));
-
- /* Rectangle header */
- srect_hdr.x = htons(0);
- srect_hdr.y = htons(0);
- srect_hdr.width = htons(rc->width);
- srect_hdr.height = htons(rc->height);
- srect_hdr.encoding = htonl(RFB_ENCODING_RESIZE);
- stream_write(fd, &srect_hdr, sizeof(struct rfb_srvr_rect_hdr));
-}
-
/*
* Calculate CRC32 using SSE4.2; Intel or AMD Bulldozer+ CPUs only
*/
@@ -636,9 +614,8 @@ rfb_recv_update_msg(struct rfb_softc *rc, int cfd, int discardonly)
{
struct rfb_updt_msg updt_msg;
struct bhyvegc_image *gc_image;
- int len;
- len = stream_read(cfd, ((void *)&updt_msg) + 1 , sizeof(updt_msg) - 1);
+ (void)stream_read(cfd, ((void *)&updt_msg) + 1 , sizeof(updt_msg) - 1);
console_refresh();
gc_image = console_get_image();
@@ -666,9 +643,8 @@ static void
rfb_recv_key_msg(struct rfb_softc *rc, int cfd)
{
struct rfb_key_msg key_msg;
- int len;
- len = stream_read(cfd, ((void *)&key_msg) + 1, sizeof(key_msg) - 1);
+ (void)stream_read(cfd, ((void *)&key_msg) + 1, sizeof(key_msg) - 1);
console_key_event(key_msg.down, htonl(key_msg.code));
}
@@ -677,9 +653,8 @@ static void
rfb_recv_ptr_msg(struct rfb_softc *rc, int cfd)
{
struct rfb_ptr_msg ptr_msg;
- int len;
- len = stream_read(cfd, ((void *)&ptr_msg) + 1, sizeof(ptr_msg) - 1);
+ (void)stream_read(cfd, ((void *)&ptr_msg) + 1, sizeof(ptr_msg) - 1);
console_ptr_event(ptr_msg.button, htons(ptr_msg.x), htons(ptr_msg.y));
}
@@ -876,13 +851,15 @@ rfb_thr(void *arg)
}
static int
-sse42_supported()
+sse42_supported(void)
{
- unsigned int eax, ebx, ecx, edx;
-
- __get_cpuid(1, &eax, &ebx, &ecx, &edx);
-
- return ((ecx & bit_SSE42) != 0);
+ u_int cpu_registers[4], ecx;
+
+ do_cpuid(1, cpu_registers);
+
+ ecx = cpu_registers[2];
+
+ return ((ecx & CPUID2_SSE42) != 0);
}
int
OpenPOWER on IntegriCloud