[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v2] tools: convert bitfields to unsigned type


  • To: xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Olaf Hering <olaf@xxxxxxxxx>
  • Date: Mon, 8 May 2023 16:46:18 +0000
  • Arc-authentication-results: i=1; strato.com; arc=none; dkim=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1683564381; s=strato-dkim-0002; d=strato.com; h=Message-Id:Date:Subject:Cc:To:From:Cc:Date:From:Subject:Sender; bh=ckiWL2I0mA50zkvrZeK7N1+RfhrIURHzeKf776Hu3nE=; b=sA2c/UTSPr2n7ftMly/N4kZ+4i/RdAraMSv6OKQJzoMMS31a4YiFXk317NdQ8JDecl UZ3YSpJiHy4jOftrucQE2aQwBKabxU/6Mg86o/MfTEktpulYnCrA7ngx18K8YJ77gPkF VcB3npY+fxOlecInxj2vvi026+WWT2z/rOzFnVQjfCNjXeTnpza3x/GBuYUsV5L/2qUa KhDA1kudFXhh8eMON1SO2Vlb9IHdbexSPZwtOh3HjlI1sppc0BI/FEEw9UzINc3agVbZ KuVMnRfa1JoWmeg0klSPaOyyt6lvUt6NsboUaR+VItTy7lxuhOGUSwd7l7lrYt3cI9TU DBmw==
  • Arc-seal: i=1; a=rsa-sha256; t=1683564381; cv=none; d=strato.com; s=strato-dkim-0002; b=aQOBJvQhWb1t5tnqeVzHgWO/YtjOx3rNfKHaYf6UwWeC+MkYJiCW6nVylCffa88lSq rxywtfvj3AtpTtoxlKpAeE4d7M7PP7Jpm/WbNNNcb73Ij/TqE2erALOQFRhZcwmgtt6x Mjhg75RwKlvhrs0+85eJmM+nVXGzhGsJ1XrhOP5Y0zXGoj3blIyezNeI45wgpqvuOk9p AD7tSc+6GhenaDRaGJaO+oiPusdN7s/FMVw0+oRj4hoeDUcNWNYoyPMOF6qQUJWpOBHG jyayKvdqHKxnVoPxjQJapLW/IHBC5li5C7gPqcf2HYrd8c1PQfjUGkIAuAmKHcb38HoR cgJg==
  • Cc: Wei Liu <wl@xxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>
  • Delivery-date: Mon, 08 May 2023 16:46:56 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

clang complains about the signed type:

implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 
to -1 [-Wsingle-bit-bitfield-constant-conversion]

The potential ABI change in libxenvchan is covered by the Xen version based 
SONAME.

Signed-off-by: Olaf Hering <olaf@xxxxxxxxx>
---
v2: cover one more case in xenalyze

 tools/include/libxenvchan.h | 6 +++---
 tools/xentrace/xenalyze.c   | 8 ++++----
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/tools/include/libxenvchan.h b/tools/include/libxenvchan.h
index 30cc73cf97..3d3b8aa8dd 100644
--- a/tools/include/libxenvchan.h
+++ b/tools/include/libxenvchan.h
@@ -79,11 +79,11 @@ struct libxenvchan {
        xenevtchn_handle *event;
        uint32_t event_port;
        /* informative flags: are we acting as server? */
-       int is_server:1;
+       unsigned int is_server:1;
        /* true if server remains active when client closes (allows 
reconnection) */
-       int server_persist:1;
+       unsigned int server_persist:1;
        /* true if operations should block instead of returning 0 */
-       int blocking:1;
+       unsigned int blocking:1;
        /* communication rings */
        struct libxenvchan_ring read, write;
        /**
diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 12dcca9646..a50538e9a8 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -1377,7 +1377,7 @@ struct hvm_data {
     tsc_t exit_tsc, arc_cycles, entry_tsc;
     unsigned long long rip;
     unsigned exit_reason, event_handler;
-    int short_summary_done:1, prealloc_unpin:1, wrmap_bf:1;
+    unsigned int short_summary_done:1, prealloc_unpin:1, wrmap_bf:1;
 
     /* Immediate processing */
     void *d;
@@ -8235,13 +8235,13 @@ void mem_set_p2m_entry_process(struct pcpu_info *p)
 
     struct {
         uint64_t gfn, mfn;
-        int p2mt;
-        int d:16,order:16;
+        uint32_t p2mt;
+        uint16_t d, order;
     } *r = (typeof(r))ri->d;
 
     if ( opt.dump_all )
     {
-        printf(" %s set_p2m_entry d%d o%d t %d g %llx m %llx\n",
+        printf(" %s set_p2m_entry d%u o%u t %u g %llx m %llx\n",
                ri->dump_header,
                r->d, r->order,
                r->p2mt,



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.