@@ -228,7 +228,8 @@ int qed_check(BDRVQEDState *s, BdrvCheckResult *result, bool fix)
};
int ret;
- check.used_clusters = g_try_new0(uint32_t, (check.nclusters + 31) / 32);
+ check.used_clusters = g_try_new0(uint32_t,
+ DIV_ROUND_UP(check.nclusters, 32));
if (check.nclusters && check.used_clusters == NULL) {
return -ENOMEM;
}
@@ -10156,14 +10156,14 @@ locate_opcode_ent (ia64_insn opcode, enum ia64_insn_type type)
}
if (x > count)
{
- next_op = op_pointer + ((oplen + 7) / 8);
+ next_op = op_pointer + (DIV_ROUND_UP(oplen, 8));
currbitnum -= count;
break;
}
}
else if (! currbit)
{
- next_op = op_pointer + ((oplen + 7) / 8);
+ next_op = op_pointer + (DIV_ROUND_UP(oplen, 8));
break;
}
}
@@ -663,7 +663,7 @@ static void virtio_serial_save_device(VirtIODevice *vdev, QEMUFile *f)
/* The ports map */
max_nr_ports = s->serial.max_virtserial_ports;
- for (i = 0; i < (max_nr_ports + 31) / 32; i++) {
+ for (i = 0; i < DIV_ROUND_UP(max_nr_ports, 32); i++) {
qemu_put_be32s(f, &s->ports_map[i]);
}
@@ -798,7 +798,7 @@ static int virtio_serial_load_device(VirtIODevice *vdev, QEMUFile *f,
qemu_get_be32s(f, &tmp);
max_nr_ports = s->serial.max_virtserial_ports;
- for (i = 0; i < (max_nr_ports + 31) / 32; i++) {
+ for (i = 0; i < DIV_ROUND_UP(max_nr_ports, 32); i++) {
qemu_get_be32s(f, &ports_map);
if (ports_map != s->ports_map[i]) {
@@ -863,7 +863,7 @@ static uint32_t find_free_port_id(VirtIOSerial *vser)
unsigned int i, max_nr_ports;
max_nr_ports = vser->serial.max_virtserial_ports;
- for (i = 0; i < (max_nr_ports + 31) / 32; i++) {
+ for (i = 0; i < DIV_ROUND_UP(max_nr_ports, 32); i++) {
uint32_t map, zeroes;
map = vser->ports_map[i];
@@ -1075,8 +1075,9 @@ static void virtio_serial_device_realize(DeviceState *dev, Error **errp)
vser->ovqs[i] = virtio_add_queue(vdev, 128, handle_output);
}
- vser->ports_map = g_malloc0(((vser->serial.max_virtserial_ports + 31) / 32)
- * sizeof(vser->ports_map[0]));
+ vser->ports_map =
+ g_malloc0(DIV_ROUND_UP(vser->serial.max_virtserial_ports, 32)
+ * sizeof(vser->ports_map[0]));
/*
* Reserve location 0 for a console port for backward compat
* (old kernel, new qemu)
@@ -1621,7 +1621,7 @@ static void vga_draw_graphic(VGACommonState *s, int full_update)
s->line_compare, sr(s, VGA_SEQ_CLOCK_MODE));
#endif
addr1 = (s->start_addr * 4);
- bwidth = (width * bits + 7) / 8;
+ bwidth = DIV_ROUND_UP(width * bits, 8);
y_start = -1;
d = surface_data(surface);
linesize = surface_stride(surface);
@@ -408,7 +408,7 @@ static void virtio_gpu_transfer_to_host_2d(VirtIOGPU *g,
}
format = pixman_image_get_format(res->image);
- bpp = (PIXMAN_FORMAT_BPP(format) + 7) / 8;
+ bpp = DIV_ROUND_UP(PIXMAN_FORMAT_BPP(format), 8);
stride = pixman_image_get_stride(res->image);
if (t2d.offset || t2d.r.x || t2d.r.y ||
@@ -570,7 +570,7 @@ static void virtio_gpu_set_scanout(VirtIOGPU *g,
scanout = &g->scanout[ss.scanout_id];
format = pixman_image_get_format(res->image);
- bpp = (PIXMAN_FORMAT_BPP(format) + 7) / 8;
+ bpp = DIV_ROUND_UP(PIXMAN_FORMAT_BPP(format), 8);
offset = (ss.r.x * bpp) + ss.r.y * pixman_image_get_stride(res->image);
if (!scanout->ds || surface_data(scanout->ds)
!= ((uint8_t *)pixman_image_get_data(res->image) + offset) ||
@@ -431,7 +431,7 @@ void msix_save(PCIDevice *dev, QEMUFile *f)
}
qemu_put_buffer(f, dev->msix_table, n * PCI_MSIX_ENTRY_SIZE);
- qemu_put_buffer(f, dev->msix_pba, (n + 7) / 8);
+ qemu_put_buffer(f, dev->msix_pba, DIV_ROUND_UP(n, 8));
}
/* Should be called after restoring the config space. */
@@ -446,7 +446,7 @@ void msix_load(PCIDevice *dev, QEMUFile *f)
msix_clear_all_vectors(dev);
qemu_get_buffer(f, dev->msix_table, n * PCI_MSIX_ENTRY_SIZE);
- qemu_get_buffer(f, dev->msix_pba, (n + 7) / 8);
+ qemu_get_buffer(f, dev->msix_pba, DIV_ROUND_UP(n, 8));
msix_update_function_masked(dev);
for (vector = 0; vector < n; vector++) {
@@ -109,7 +109,7 @@ static const USBDescIface desc_iface_hub = {
{
.bEndpointAddress = USB_DIR_IN | 0x01,
.bmAttributes = USB_ENDPOINT_XFER_INT,
- .wMaxPacketSize = 1 + (NUM_PORTS + 7) / 8,
+ .wMaxPacketSize = 1 + DIV_ROUND_UP(NUM_PORTS, 8),
.bInterval = 0xff,
},
}
@@ -442,14 +442,14 @@ static void usb_hub_handle_control(USBDevice *dev, USBPacket *p,
data[2] = NUM_PORTS;
/* fill DeviceRemovable bits */
- limit = ((NUM_PORTS + 1 + 7) / 8) + 7;
+ limit = (DIV_ROUND_UP(NUM_PORTS + 1, 8)) + 7;
for (n = 7; n < limit; n++) {
data[n] = 0x00;
var_hub_size++;
}
/* fill PortPwrCtrlMask bits */
- limit = limit + ((NUM_PORTS + 7) / 8);
+ limit = limit + (DIV_ROUND_UP(NUM_PORTS, 8));
for (;n < limit; n++) {
data[n] = 0xff;
var_hub_size++;
@@ -477,7 +477,7 @@ static void usb_hub_handle_data(USBDevice *dev, USBPacket *p)
unsigned int status;
uint8_t buf[4];
int i, n;
- n = (NUM_PORTS + 1 + 7) / 8;
+ n = DIV_ROUND_UP(NUM_PORTS + 1, 8);
if (p->iov.size == 1) { /* FreeBSD workaround */
n = 1;
} else if (n > p->iov.size) {
@@ -5021,7 +5021,7 @@ static decNumber * decMultiplyOp(decNumber *res, const decNumber *lhs,
/* to the right to avoid overwrite during the unchunking. */
needbytes=iacc*sizeof(uLong);
#if DECDPUN==1
- zoff=(iacc+7)/8; /* items to offset by */
+ zoff=DIV_ROUND_UP(iacc, 8); /* items to offset by */
needbytes+=zoff*8;
#endif
if (needbytes>(Int)sizeof(zaccbuff)) {
@@ -77,8 +77,9 @@ static int x86_64_write_elf64_note(WriteCoreDumpFunction f,
regs.gs = env->segs[R_GS].selector;
descsz = sizeof(x86_64_elf_prstatus);
- note_size = ((sizeof(Elf64_Nhdr) + 3) / 4 + (name_size + 3) / 4 +
- (descsz + 3) / 4) * 4;
+ note_size = (DIV_ROUND_UP(sizeof(Elf64_Nhdr), 4)
+ + DIV_ROUND_UP(name_size, 4)
+ + DIV_ROUND_UP(descsz, 4)) * 4;
note = g_malloc0(note_size);
note->n_namesz = cpu_to_le32(name_size);
note->n_descsz = cpu_to_le32(descsz);
@@ -156,8 +157,9 @@ static int x86_write_elf64_note(WriteCoreDumpFunction f, CPUX86State *env,
x86_fill_elf_prstatus(&prstatus, env, id);
descsz = sizeof(x86_elf_prstatus);
- note_size = ((sizeof(Elf64_Nhdr) + 3) / 4 + (name_size + 3) / 4 +
- (descsz + 3) / 4) * 4;
+ note_size = (DIV_ROUND_UP(sizeof(Elf64_Nhdr), 4)
+ + DIV_ROUND_UP(name_size, 4)
+ + DIV_ROUND_UP(descsz, 4)) * 4;
note = g_malloc0(note_size);
note->n_namesz = cpu_to_le32(name_size);
note->n_descsz = cpu_to_le32(descsz);
@@ -211,8 +213,9 @@ int x86_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
x86_fill_elf_prstatus(&prstatus, &cpu->env, cpuid);
descsz = sizeof(x86_elf_prstatus);
- note_size = ((sizeof(Elf32_Nhdr) + 3) / 4 + (name_size + 3) / 4 +
- (descsz + 3) / 4) * 4;
+ note_size = (DIV_ROUND_UP(sizeof(Elf32_Nhdr), 4)
+ + DIV_ROUND_UP(name_size, 4)
+ + DIV_ROUND_UP(descsz, 4)) * 4;
note = g_malloc0(note_size);
note->n_namesz = cpu_to_le32(name_size);
note->n_descsz = cpu_to_le32(descsz);
@@ -443,10 +446,12 @@ ssize_t cpu_get_note_size(int class, int machine, int nr_cpus)
#endif
qemu_desc_size = sizeof(QEMUCPUState);
- elf_note_size = ((note_head_size + 3) / 4 + (name_size + 3) / 4 +
- (elf_desc_size + 3) / 4) * 4;
- qemu_note_size = ((note_head_size + 3) / 4 + (name_size + 3) / 4 +
- (qemu_desc_size + 3) / 4) * 4;
+ elf_note_size = (DIV_ROUND_UP(note_head_size, 4)
+ + DIV_ROUND_UP(name_size, 4)
+ + DIV_ROUND_UP(elf_desc_size, 4)) * 4;
+ qemu_note_size = (DIV_ROUND_UP(note_head_size, 4)
+ + DIV_ROUND_UP(name_size, 4)
+ + DIV_ROUND_UP(qemu_desc_size, 4)) * 4;
return (elf_note_size + qemu_note_size) * nr_cpus;
}
@@ -601,8 +601,8 @@ static void kvm_sw_tlb_put(PowerPCCPU *cpu)
return;
}
- bitmap = g_malloc((env->nb_tlb + 7) / 8);
- memset(bitmap, 0xFF, (env->nb_tlb + 7) / 8);
+ bitmap = g_malloc(DIV_ROUND_UP(env->nb_tlb, 8));
+ memset(bitmap, 0xFF, DIV_ROUND_UP(env->nb_tlb, 8));
dirty_tlb.bitmap = (uintptr_t)bitmap;
dirty_tlb.num_dirty = env->nb_tlb;
@@ -111,7 +111,7 @@ void helper_lswx(CPUPPCState *env, target_ulong addr, uint32_t reg,
uint32_t ra, uint32_t rb)
{
if (likely(xer_bc != 0)) {
- int num_used_regs = (xer_bc + 3) / 4;
+ int num_used_regs = DIV_ROUND_UP(xer_bc, 4);
if (unlikely((ra != 0 && lsw_reg_in_range(reg, num_used_regs, ra)) ||
lsw_reg_in_range(reg, num_used_regs, rb))) {
raise_exception_err_ra(env, POWERPC_EXCP_PROGRAM,
@@ -2882,7 +2882,7 @@ static void gen_lswi(DisasContext *ctx)
}
if (nb == 0)
nb = 32;
- nr = (nb + 3) / 4;
+ nr = DIV_ROUND_UP(nb, 4);
if (unlikely(lsw_reg_in_range(start, nr, ra))) {
gen_inval_exception(ctx, POWERPC_EXCP_INVAL_LSWX);
return;
@@ -118,7 +118,7 @@ void cursor_put(QEMUCursor *c)
int cursor_get_mono_bpl(QEMUCursor *c)
{
- return (c->width + 7) / 8;
+ return DIV_ROUND_UP(c->width, 8);
}
void cursor_set_mono(QEMUCursor *c,
@@ -980,7 +980,7 @@ static int send_mono_rect(VncState *vs, int x, int y,
}
#endif
- bytes = ((w + 7) / 8) * h;
+ bytes = (DIV_ROUND_UP(w, 8)) * h;
vnc_write_u8(vs, (stream | VNC_TIGHT_EXPLICIT_FILTER) << 4);
vnc_write_u8(vs, VNC_TIGHT_FILTER_PALETTE);
@@ -2782,7 +2782,8 @@ static int vnc_refresh_server_surface(VncDisplay *vd)
PIXMAN_FORMAT_BPP(pixman_image_get_format(vd->guest.fb));
guest_row0 = (uint8_t *)pixman_image_get_data(vd->guest.fb);
guest_stride = pixman_image_get_stride(vd->guest.fb);
- guest_ll = pixman_image_get_width(vd->guest.fb) * ((guest_bpp + 7) / 8);
+ guest_ll = pixman_image_get_width(vd->guest.fb)
+ * DIV_ROUND_UP(guest_bpp, 8);
}
line_bytes = MIN(server_stride, guest_ll);
The coccinelle/round.cocci script doesn't catch hard coded values. I used the following script over qemu code base: ( - ((e1) + 3) / (4) + DIV_ROUND_UP(e1,4) | - ((e1) + (3)) / (4) + DIV_ROUND_UP(e1,4) | - ((e1) + 7) / (8) + DIV_ROUND_UP(e1,8) | - ((e1) + (7)) / (8) + DIV_ROUND_UP(e1,8) | - ((e1) + 15) / (16) + DIV_ROUND_UP(e1,16) | - ((e1) + (15)) / (16) + DIV_ROUND_UP(e1,16) | - ((e1) + 31) / (32) + DIV_ROUND_UP(e1,32) | - ((e1) + (31)) / (32) + DIV_ROUND_UP(e1,32) ) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> --- block/qed-check.c | 3 ++- disas/ia64.c | 4 ++-- hw/char/virtio-serial-bus.c | 11 ++++++----- hw/display/vga.c | 2 +- hw/display/virtio-gpu.c | 4 ++-- hw/pci/msix.c | 4 ++-- hw/usb/dev-hub.c | 8 ++++---- libdecnumber/decNumber.c | 2 +- target/i386/arch_dump.c | 25 +++++++++++++++---------- target/ppc/kvm.c | 4 ++-- target/ppc/mem_helper.c | 2 +- target/ppc/translate.c | 2 +- ui/cursor.c | 2 +- ui/vnc-enc-tight.c | 2 +- ui/vnc.c | 3 ++- 15 files changed, 43 insertions(+), 35 deletions(-)