Mailing List Archive

[PATCH v2 2/4] public: s/int/int32_t
Straightforward int -> int32_t and unsigned int -> uint32_t replacements
in public headers. No ABI or semantic changes intended.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- avoid changes to GUEST_HANDLEs for now (there was one GUEST_HANDLE
change in v1)
---
xen/include/public/kexec.h | 8 ++++----
xen/include/public/memory.h | 22 +++++++++++-----------
xen/include/public/physdev.h | 18 +++++++++---------
xen/include/public/sched.h | 6 +++---
xen/include/public/vcpu.h | 2 +-
5 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/xen/include/public/kexec.h b/xen/include/public/kexec.h
index 40d79e936b..8d2a0ef697 100644
--- a/xen/include/public/kexec.h
+++ b/xen/include/public/kexec.h
@@ -105,7 +105,7 @@ typedef struct xen_kexec_image {
*/
#define KEXEC_CMD_kexec 0
typedef struct xen_kexec_exec {
- int type;
+ int32_t type;
} xen_kexec_exec_t;

/*
@@ -116,7 +116,7 @@ typedef struct xen_kexec_exec {
#define KEXEC_CMD_kexec_load_v1 1 /* obsolete since 0x00040400 */
#define KEXEC_CMD_kexec_unload_v1 2 /* obsolete since 0x00040400 */
typedef struct xen_kexec_load_v1 {
- int type;
+ int32_t type;
xen_kexec_image_t image;
} xen_kexec_load_v1_t;

@@ -143,8 +143,8 @@ typedef struct xen_kexec_load_v1 {
*/
#define KEXEC_CMD_kexec_get_range 3
typedef struct xen_kexec_range {
- int range;
- int nr;
+ int32_t range;
+ int32_t nr;
unsigned long size;
unsigned long start;
} xen_kexec_range_t;
diff --git a/xen/include/public/memory.h b/xen/include/public/memory.h
index 5e545ae9a4..ae4a71268f 100644
--- a/xen/include/public/memory.h
+++ b/xen/include/public/memory.h
@@ -61,13 +61,13 @@ struct xen_memory_reservation {

/* Number of extents, and size/alignment of each (2^extent_order pages). */
xen_ulong_t nr_extents;
- unsigned int extent_order;
+ uint32_t extent_order;

#if __XEN_INTERFACE_VERSION__ >= 0x00030209
/* XENMEMF flags. */
- unsigned int mem_flags;
+ uint32_t mem_flags;
#else
- unsigned int address_bits;
+ uint32_t address_bits;
#endif

/*
@@ -163,7 +163,7 @@ struct xen_machphys_mfn_list {
* Size of the 'extent_start' array. Fewer entries will be filled if the
* machphys table is smaller than max_extents * 2MB.
*/
- unsigned int max_extents;
+ uint32_t max_extents;

/*
* Pointer to buffer to fill with list of extent starts. If there are
@@ -176,7 +176,7 @@ struct xen_machphys_mfn_list {
* Number of extents written to the above array. This will be smaller
* than 'max_extents' if the machphys table is smaller than max_e * 2MB.
*/
- unsigned int nr_extents;
+ uint32_t nr_extents;
};
typedef struct xen_machphys_mfn_list xen_machphys_mfn_list_t;
DEFINE_XEN_GUEST_HANDLE(xen_machphys_mfn_list_t);
@@ -232,7 +232,7 @@ struct xen_add_to_physmap {
/* Number of pages to go through for gmfn_range */
uint16_t size;

- unsigned int space; /* => enum phys_map_space */
+ uint32_t space; /* => enum phys_map_space */

#define XENMAPIDX_grant_table_status 0x80000000U

@@ -317,7 +317,7 @@ struct xen_memory_map {
* return the number of entries which have been stored in
* buffer.
*/
- unsigned int nr_entries;
+ uint32_t nr_entries;

/*
* Entries in the buffer are in the same format as returned by the
@@ -591,7 +591,7 @@ struct xen_reserved_device_memory_map {
* Gets set to the required number of entries when too low,
* signaled by error code -ERANGE.
*/
- unsigned int nr_entries;
+ uint32_t nr_entries;
/* OUT */
XEN_GUEST_HANDLE(xen_reserved_device_memory_t) buffer;
/* IN */
@@ -711,9 +711,9 @@ struct xen_vnuma_topology_info {
domid_t domid;
uint16_t pad;
/* IN/OUT */
- unsigned int nr_vnodes;
- unsigned int nr_vcpus;
- unsigned int nr_vmemranges;
+ uint32_t nr_vnodes;
+ uint32_t nr_vcpus;
+ uint32_t nr_vmemranges;
/* OUT */
union {
XEN_GUEST_HANDLE(uint) h;
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index f0c0d4727c..03ccf86618 100644
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -142,17 +142,17 @@ DEFINE_XEN_GUEST_HANDLE(physdev_irq_t);
struct physdev_map_pirq {
domid_t domid;
/* IN */
- int type;
+ int32_t type;
/* IN (ignored for ..._MULTI_MSI) */
- int index;
+ int32_t index;
/* IN or OUT */
- int pirq;
+ int32_t pirq;
/* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
- int bus;
+ int32_t bus;
/* IN */
- int devfn;
+ int32_t devfn;
/* IN (also OUT for ..._MULTI_MSI) */
- int entry_nr;
+ int32_t entry_nr;
/* IN */
uint64_t table_base;
};
@@ -163,7 +163,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_map_pirq_t);
struct physdev_unmap_pirq {
domid_t domid;
/* IN */
- int pirq;
+ int32_t pirq;
};

typedef struct physdev_unmap_pirq physdev_unmap_pirq_t;
@@ -224,7 +224,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_op_t);

#define PHYSDEVOP_setup_gsi 21
struct physdev_setup_gsi {
- int gsi;
+ int32_t gsi;
/* IN */
uint8_t triggering;
/* IN */
@@ -242,7 +242,7 @@ DEFINE_XEN_GUEST_HANDLE(physdev_setup_gsi_t);
#define PHYSDEVOP_get_free_pirq 23
struct physdev_get_free_pirq {
/* IN */
- int type;
+ int32_t type;
/* OUT */
uint32_t pirq;
};
diff --git a/xen/include/public/sched.h b/xen/include/public/sched.h
index b4362c6a1d..57ac3df47b 100644
--- a/xen/include/public/sched.h
+++ b/xen/include/public/sched.h
@@ -116,14 +116,14 @@
/* ` } */

struct sched_shutdown {
- unsigned int reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
+ uint32_t reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
};
typedef struct sched_shutdown sched_shutdown_t;
DEFINE_XEN_GUEST_HANDLE(sched_shutdown_t);

struct sched_poll {
XEN_GUEST_HANDLE(evtchn_port_t) ports;
- unsigned int nr_ports;
+ uint32_t nr_ports;
uint64_t timeout;
};
typedef struct sched_poll sched_poll_t;
@@ -131,7 +131,7 @@ DEFINE_XEN_GUEST_HANDLE(sched_poll_t);

struct sched_remote_shutdown {
domid_t domain_id; /* Remote domain ID */
- unsigned int reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
+ uint32_t reason; /* SHUTDOWN_* => enum sched_shutdown_reason */
};
typedef struct sched_remote_shutdown sched_remote_shutdown_t;
DEFINE_XEN_GUEST_HANDLE(sched_remote_shutdown_t);
diff --git a/xen/include/public/vcpu.h b/xen/include/public/vcpu.h
index f7445ac0b0..2b8df2b0da 100644
--- a/xen/include/public/vcpu.h
+++ b/xen/include/public/vcpu.h
@@ -63,7 +63,7 @@
#define VCPUOP_get_runstate_info 4
struct vcpu_runstate_info {
/* VCPU's current state (RUNSTATE_*). */
- int state;
+ int32_t state;
/* When was current state entered (system time, ns)? */
uint64_t state_entry_time;
/*
--
2.25.1
Re: [PATCH v2 2/4] public: s/int/int32_t [ In reply to ]
On 11.04.2024 01:47, Stefano Stabellini wrote:
> Straightforward int -> int32_t and unsigned int -> uint32_t replacements
> in public headers. No ABI or semantic changes intended.

I understand there is a limited in scope goal here, but once doing type
adjustments I think it ought to at least be considered to go one step
further and ...

> --- a/xen/include/public/kexec.h
> +++ b/xen/include/public/kexec.h
> @@ -105,7 +105,7 @@ typedef struct xen_kexec_image {
> */
> #define KEXEC_CMD_kexec 0
> typedef struct xen_kexec_exec {
> - int type;
> + int32_t type;
> } xen_kexec_exec_t;
>
> /*
> @@ -116,7 +116,7 @@ typedef struct xen_kexec_exec {
> #define KEXEC_CMD_kexec_load_v1 1 /* obsolete since 0x00040400 */
> #define KEXEC_CMD_kexec_unload_v1 2 /* obsolete since 0x00040400 */
> typedef struct xen_kexec_load_v1 {
> - int type;
> + int32_t type;
> xen_kexec_image_t image;
> } xen_kexec_load_v1_t;
>
> @@ -143,8 +143,8 @@ typedef struct xen_kexec_load_v1 {
> */
> #define KEXEC_CMD_kexec_get_range 3
> typedef struct xen_kexec_range {
> - int range;
> - int nr;
> + int32_t range;
> + int32_t nr;
> unsigned long size;
> unsigned long start;
> } xen_kexec_range_t;

... change e.g. all of the ones touched here to uint32_t. None have a
purpose of permitting negative values afaict.

> --- a/xen/include/public/physdev.h
> +++ b/xen/include/public/physdev.h
> @@ -142,17 +142,17 @@ DEFINE_XEN_GUEST_HANDLE(physdev_irq_t);
> struct physdev_map_pirq {
> domid_t domid;
> /* IN */
> - int type;
> + int32_t type;
> /* IN (ignored for ..._MULTI_MSI) */
> - int index;
> + int32_t index;
> /* IN or OUT */
> - int pirq;
> + int32_t pirq;
> /* IN - high 16 bits hold segment for ..._MSI_SEG and ..._MULTI_MSI */
> - int bus;
> + int32_t bus;
> /* IN */
> - int devfn;
> + int32_t devfn;
> /* IN (also OUT for ..._MULTI_MSI) */
> - int entry_nr;
> + int32_t entry_nr;
> /* IN */
> uint64_t table_base;
> };

Whereas iirc at least "index" here would need keeping as a signed quantity.
It may therefore make sense to split the patch (I'd be fine ack-ing the
memory.h and sched.h changes right away).

Jan