mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-01 08:27:59 +00:00
bhyve: Address some signed/unsigned comparison warnings
MFC after: 1 week
This commit is contained in:
parent
cea34d0705
commit
ed72168431
@ -1330,8 +1330,8 @@ emulate_bextr(void *vm, int vcpuid, uint64_t gpa, struct vie *vie,
|
||||
mem_region_write_t memwrite __unused, void *arg)
|
||||
{
|
||||
uint64_t src1, src2, dst, rflags;
|
||||
unsigned start, len;
|
||||
int error, size;
|
||||
unsigned start, len, size;
|
||||
int error;
|
||||
|
||||
size = vie->opsize;
|
||||
error = EINVAL;
|
||||
|
@ -372,7 +372,7 @@ calc_topology(void)
|
||||
(uintmax_t)ncpus);
|
||||
|
||||
if (explicit_cpus) {
|
||||
if (guest_ncpus != ncpus)
|
||||
if (guest_ncpus != (int)ncpus)
|
||||
errx(4, "Topology (%d sockets, %d cores, %d threads) "
|
||||
"does not match %d vCPUs",
|
||||
cpu_sockets, cpu_cores, cpu_threads,
|
||||
|
@ -916,10 +916,10 @@ blockif_chs(struct blockif_ctxt *bc, uint16_t *c, uint8_t *h, uint8_t *s)
|
||||
sectors = bc->bc_size / bc->bc_sectsz;
|
||||
|
||||
/* Clamp the size to the largest possible with CHS */
|
||||
if (sectors > 65535UL*16*255)
|
||||
sectors = 65535UL*16*255;
|
||||
if (sectors > 65535L * 16 * 255)
|
||||
sectors = 65535L * 16 * 255;
|
||||
|
||||
if (sectors >= 65536UL*16*63) {
|
||||
if (sectors >= 65536L * 16 * 63) {
|
||||
secpt = 255;
|
||||
heads = 16;
|
||||
hcyl = sectors / secpt;
|
||||
|
@ -95,7 +95,7 @@ fwctl_send_rest(uint32_t *data, size_t len)
|
||||
uint32_t w;
|
||||
} u;
|
||||
uint8_t *cdata;
|
||||
int i;
|
||||
size_t i;
|
||||
|
||||
cdata = (uint8_t *) data;
|
||||
u.w = 0;
|
||||
@ -427,7 +427,7 @@ fwctl_response(uint32_t *retval)
|
||||
remlen = rinfo.resp_size - rinfo.resp_off;
|
||||
dp = (uint32_t *)
|
||||
((uint8_t *)rinfo.resp_biov->iov_base + rinfo.resp_off);
|
||||
if (remlen >= sizeof(uint32_t)) {
|
||||
if (remlen >= (ssize_t)sizeof(uint32_t)) {
|
||||
*retval = *dp;
|
||||
} else if (remlen > 0) {
|
||||
*retval = fwctl_send_rest(dp, remlen);
|
||||
|
@ -958,7 +958,6 @@ static void
|
||||
gdb_read_regs(void)
|
||||
{
|
||||
uint64_t regvals[nitems(gdb_regset)];
|
||||
int i;
|
||||
|
||||
if (vm_get_register_set(ctx, cur_vcpu, nitems(gdb_regset),
|
||||
gdb_regset, regvals) == -1) {
|
||||
@ -966,7 +965,7 @@ gdb_read_regs(void)
|
||||
return;
|
||||
}
|
||||
start_packet();
|
||||
for (i = 0; i < nitems(regvals); i++)
|
||||
for (size_t i = 0; i < nitems(regvals); i++)
|
||||
append_unsigned_native(regvals[i], gdb_regsize[i]);
|
||||
finish_packet();
|
||||
}
|
||||
@ -1706,13 +1705,16 @@ check_command(int fd)
|
||||
static void
|
||||
gdb_readable(int fd, enum ev_type event __unused, void *arg __unused)
|
||||
{
|
||||
size_t pending;
|
||||
ssize_t nread;
|
||||
int pending;
|
||||
int n;
|
||||
|
||||
if (ioctl(fd, FIONREAD, &pending) == -1) {
|
||||
if (ioctl(fd, FIONREAD, &n) == -1) {
|
||||
warn("FIONREAD on GDB socket");
|
||||
return;
|
||||
}
|
||||
assert(n >= 0);
|
||||
pending = n;
|
||||
|
||||
/*
|
||||
* 'pending' might be zero due to EOF. We need to call read
|
||||
|
@ -227,7 +227,7 @@ tap_init(struct net_backend *be, const char *devname,
|
||||
int opt = 1;
|
||||
#if defined(INET6) || defined(INET)
|
||||
struct ifreq ifrq;
|
||||
int i, s;
|
||||
int s;
|
||||
#endif
|
||||
#ifndef WITHOUT_CAPSICUM
|
||||
cap_rights_t rights;
|
||||
@ -268,7 +268,7 @@ tap_init(struct net_backend *be, const char *devname,
|
||||
}
|
||||
|
||||
s = -1;
|
||||
for (i = 0; s == -1 && i < nitems(pf_list); i++)
|
||||
for (size_t i = 0; s == -1 && i < nitems(pf_list); i++)
|
||||
s = socket(pf_list[i], SOCK_DGRAM, 0);
|
||||
if (s == -1) {
|
||||
WPRINTF(("Could open socket"));
|
||||
@ -649,7 +649,7 @@ netmap_set_vnet_hdr_len(struct net_backend *be, int vnet_hdr_len)
|
||||
static int
|
||||
netmap_has_vnet_hdr_len(struct net_backend *be, unsigned vnet_hdr_len)
|
||||
{
|
||||
int prev_hdr_len = be->be_vnet_hdr_len;
|
||||
unsigned prev_hdr_len = be->be_vnet_hdr_len;
|
||||
int ret;
|
||||
|
||||
if (vnet_hdr_len == prev_hdr_len) {
|
||||
|
@ -2442,7 +2442,7 @@ e82545_snapshot(struct vm_snapshot_meta *meta)
|
||||
true, meta, ret, done);
|
||||
|
||||
/* L2 frame acceptance */
|
||||
for (i = 0; i < nitems(sc->esc_uni); i++) {
|
||||
for (i = 0; i < (int)nitems(sc->esc_uni); i++) {
|
||||
SNAPSHOT_VAR_OR_LEAVE(sc->esc_uni[i].eu_valid, meta, ret, done);
|
||||
SNAPSHOT_VAR_OR_LEAVE(sc->esc_uni[i].eu_addrsel, meta, ret, done);
|
||||
SNAPSHOT_VAR_OR_LEAVE(sc->esc_uni[i].eu_eth, meta, ret, done);
|
||||
|
@ -455,10 +455,13 @@ pci_emul_io_handler(struct vmctx *ctx, int vcpu, int in, int port, int bytes,
|
||||
uint64_t offset;
|
||||
int i;
|
||||
|
||||
assert(port >= 0);
|
||||
|
||||
for (i = 0; i <= PCI_BARMAX; i++) {
|
||||
if (pdi->pi_bar[i].type == PCIBAR_IO &&
|
||||
port >= pdi->pi_bar[i].addr &&
|
||||
port + bytes <= pdi->pi_bar[i].addr + pdi->pi_bar[i].size) {
|
||||
(uint64_t)port >= pdi->pi_bar[i].addr &&
|
||||
(uint64_t)port + bytes <=
|
||||
pdi->pi_bar[i].addr + pdi->pi_bar[i].size) {
|
||||
offset = port - pdi->pi_bar[i].addr;
|
||||
if (in)
|
||||
*eax = (*pe->pe_barread)(ctx, vcpu, pdi, i,
|
||||
@ -2298,7 +2301,7 @@ pci_snapshot_pci_dev(struct vm_snapshot_meta *meta)
|
||||
SNAPSHOT_BUF_OR_LEAVE(pi->pi_cfgdata, sizeof(pi->pi_cfgdata),
|
||||
meta, ret, done);
|
||||
|
||||
for (i = 0; i < nitems(pi->pi_bar); i++) {
|
||||
for (i = 0; i < (int)nitems(pi->pi_bar); i++) {
|
||||
SNAPSHOT_VAR_OR_LEAVE(pi->pi_bar[i].type, meta, ret, done);
|
||||
SNAPSHOT_VAR_OR_LEAVE(pi->pi_bar[i].size, meta, ret, done);
|
||||
SNAPSHOT_VAR_OR_LEAVE(pi->pi_bar[i].addr, meta, ret, done);
|
||||
|
@ -615,7 +615,6 @@ hda_stream_start(struct hda_softc *sc, uint8_t stream_ind)
|
||||
uint32_t sdctl = 0;
|
||||
uint8_t strm = 0;
|
||||
uint8_t dir = 0;
|
||||
int i;
|
||||
|
||||
assert(!st->run);
|
||||
|
||||
@ -640,7 +639,7 @@ hda_stream_start(struct hda_softc *sc, uint8_t stream_ind)
|
||||
st->bdl_cnt = bdl_cnt;
|
||||
|
||||
bdle = (struct hda_bdle *)bdl_vaddr;
|
||||
for (i = 0; i < bdl_cnt; i++, bdle++) {
|
||||
for (size_t i = 0; i < bdl_cnt; i++, bdle++) {
|
||||
bdle_sz = bdle->len;
|
||||
assert(!(bdle_sz % HDA_DMA_ACCESS_LEN));
|
||||
|
||||
@ -659,7 +658,7 @@ hda_stream_start(struct hda_softc *sc, uint8_t stream_ind)
|
||||
bdle_desc->len = bdle_sz;
|
||||
bdle_desc->ioc = bdle->ioc;
|
||||
|
||||
DPRINTF("bdle: 0x%x bdle_sz: 0x%x", i, bdle_sz);
|
||||
DPRINTF("bdle: 0x%zx bdle_sz: 0x%x", i, bdle_sz);
|
||||
}
|
||||
|
||||
sdctl = hda_get_reg_by_offset(sc, off + HDAC_SDCTL0);
|
||||
|
@ -63,14 +63,16 @@ __FBSDID("$FreeBSD$");
|
||||
/* IRQ count to disable an IRQ. */
|
||||
#define IRQ_DISABLED 0xff
|
||||
|
||||
#define NPIRQS 8
|
||||
static struct pirq {
|
||||
uint8_t reg;
|
||||
int use_count;
|
||||
int active_count;
|
||||
pthread_mutex_t lock;
|
||||
} pirqs[8];
|
||||
} pirqs[NPIRQS];
|
||||
|
||||
static u_char irq_counts[16];
|
||||
#define NIRQ_COUNTS 16
|
||||
static u_char irq_counts[NIRQ_COUNTS];
|
||||
static int pirq_cold = 1;
|
||||
|
||||
/*
|
||||
@ -91,7 +93,7 @@ uint8_t
|
||||
pirq_read(int pin)
|
||||
{
|
||||
|
||||
assert(pin > 0 && pin <= nitems(pirqs));
|
||||
assert(pin > 0 && pin <= NPIRQS);
|
||||
return (pirqs[pin - 1].reg);
|
||||
}
|
||||
|
||||
@ -100,7 +102,7 @@ pirq_write(struct vmctx *ctx, int pin, uint8_t val)
|
||||
{
|
||||
struct pirq *pirq;
|
||||
|
||||
assert(pin > 0 && pin <= nitems(pirqs));
|
||||
assert(pin > 0 && pin <= NPIRQS);
|
||||
pirq = &pirqs[pin - 1];
|
||||
pthread_mutex_lock(&pirq->lock);
|
||||
if (pirq->reg != (val & (PIRQ_DIS | PIRQ_IRQ))) {
|
||||
@ -117,7 +119,7 @@ void
|
||||
pci_irq_reserve(int irq)
|
||||
{
|
||||
|
||||
assert(irq >= 0 && irq < nitems(irq_counts));
|
||||
assert(irq >= 0 && irq < NIRQ_COUNTS);
|
||||
assert(pirq_cold);
|
||||
assert(irq_counts[irq] == 0 || irq_counts[irq] == IRQ_DISABLED);
|
||||
irq_counts[irq] = IRQ_DISABLED;
|
||||
@ -127,7 +129,7 @@ void
|
||||
pci_irq_use(int irq)
|
||||
{
|
||||
|
||||
assert(irq >= 0 && irq < nitems(irq_counts));
|
||||
assert(irq >= 0 && irq < NIRQ_COUNTS);
|
||||
assert(pirq_cold);
|
||||
assert(irq_counts[irq] != IRQ_DISABLED);
|
||||
irq_counts[irq]++;
|
||||
@ -138,13 +140,13 @@ pci_irq_init(struct vmctx *ctx __unused)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nitems(pirqs); i++) {
|
||||
for (i = 0; i < NPIRQS; i++) {
|
||||
pirqs[i].reg = PIRQ_DIS;
|
||||
pirqs[i].use_count = 0;
|
||||
pirqs[i].active_count = 0;
|
||||
pthread_mutex_init(&pirqs[i].lock, NULL);
|
||||
}
|
||||
for (i = 0; i < nitems(irq_counts); i++) {
|
||||
for (i = 0; i < NIRQ_COUNTS; i++) {
|
||||
if (IRQ_PERMITTED(i))
|
||||
irq_counts[i] = 0;
|
||||
else
|
||||
@ -156,10 +158,12 @@ void
|
||||
pci_irq_assert(struct pci_devinst *pi)
|
||||
{
|
||||
struct pirq *pirq;
|
||||
int pin;
|
||||
|
||||
if (pi->pi_lintr.pirq_pin > 0) {
|
||||
assert(pi->pi_lintr.pirq_pin <= nitems(pirqs));
|
||||
pirq = &pirqs[pi->pi_lintr.pirq_pin - 1];
|
||||
pin = pi->pi_lintr.pirq_pin;
|
||||
if (pin > 0) {
|
||||
assert(pin <= NPIRQS);
|
||||
pirq = &pirqs[pin - 1];
|
||||
pthread_mutex_lock(&pirq->lock);
|
||||
pirq->active_count++;
|
||||
if (pirq->active_count == 1 && pirq_valid_irq(pirq->reg)) {
|
||||
@ -177,10 +181,12 @@ void
|
||||
pci_irq_deassert(struct pci_devinst *pi)
|
||||
{
|
||||
struct pirq *pirq;
|
||||
int pin;
|
||||
|
||||
if (pi->pi_lintr.pirq_pin > 0) {
|
||||
assert(pi->pi_lintr.pirq_pin <= nitems(pirqs));
|
||||
pirq = &pirqs[pi->pi_lintr.pirq_pin - 1];
|
||||
pin = pi->pi_lintr.pirq_pin;
|
||||
if (pin > 0) {
|
||||
assert(pin <= NPIRQS);
|
||||
pirq = &pirqs[pin - 1];
|
||||
pthread_mutex_lock(&pirq->lock);
|
||||
pirq->active_count--;
|
||||
if (pirq->active_count == 0 && pirq_valid_irq(pirq->reg)) {
|
||||
@ -209,7 +215,7 @@ pirq_alloc_pin(struct pci_devinst *pi)
|
||||
/* Find the least-used PIRQ pin. */
|
||||
best_pin = 0;
|
||||
best_count = pirqs[0].use_count;
|
||||
for (pin = 1; pin < nitems(pirqs); pin++) {
|
||||
for (pin = 1; pin < NPIRQS; pin++) {
|
||||
if (pirqs[pin].use_count < best_count) {
|
||||
best_pin = pin;
|
||||
best_count = pirqs[pin].use_count;
|
||||
@ -222,7 +228,7 @@ pirq_alloc_pin(struct pci_devinst *pi)
|
||||
if (pirqs[best_pin].reg == PIRQ_DIS) {
|
||||
best_irq = -1;
|
||||
best_count = 0;
|
||||
for (irq = 0; irq < nitems(irq_counts); irq++) {
|
||||
for (irq = 0; irq < NIRQ_COUNTS; irq++) {
|
||||
if (irq_counts[irq] == IRQ_DISABLED)
|
||||
continue;
|
||||
if (best_irq == -1 || irq_counts[irq] < best_count) {
|
||||
@ -242,7 +248,7 @@ pirq_alloc_pin(struct pci_devinst *pi)
|
||||
int
|
||||
pirq_irq(int pin)
|
||||
{
|
||||
assert(pin > 0 && pin <= nitems(pirqs));
|
||||
assert(pin > 0 && pin <= NPIRQS);
|
||||
return (pirqs[pin - 1].reg & PIRQ_IRQ);
|
||||
}
|
||||
|
||||
@ -255,7 +261,7 @@ pirq_dsdt(void)
|
||||
int irq, pin;
|
||||
|
||||
irq_prs = NULL;
|
||||
for (irq = 0; irq < nitems(irq_counts); irq++) {
|
||||
for (irq = 0; irq < NIRQ_COUNTS; irq++) {
|
||||
if (!IRQ_PERMITTED(irq))
|
||||
continue;
|
||||
if (irq_prs == NULL)
|
||||
@ -294,7 +300,7 @@ pirq_dsdt(void)
|
||||
dsdt_line(" Return (0x01)");
|
||||
dsdt_line("}");
|
||||
|
||||
for (pin = 0; pin < nitems(pirqs); pin++) {
|
||||
for (pin = 0; pin < NPIRQS; pin++) {
|
||||
dsdt_line("");
|
||||
dsdt_line("Device (LNK%c)", 'A' + pin);
|
||||
dsdt_line("{");
|
||||
|
@ -3272,7 +3272,7 @@ pci_nvme_init(struct vmctx *ctx __unused, struct pci_devinst *pi, nvlist_t *nvl)
|
||||
|
||||
STAILQ_INIT(&sc->ioreqs_free);
|
||||
sc->ioreqs = calloc(sc->ioslots, sizeof(struct pci_nvme_ioreq));
|
||||
for (int i = 0; i < sc->ioslots; i++) {
|
||||
for (uint32_t i = 0; i < sc->ioslots; i++) {
|
||||
STAILQ_INSERT_TAIL(&sc->ioreqs_free, &sc->ioreqs[i], link);
|
||||
}
|
||||
|
||||
|
@ -183,7 +183,7 @@ write_config(const struct pcisel *sel, long reg, int width, uint32_t data)
|
||||
static int
|
||||
passthru_add_msicap(struct pci_devinst *pi, int msgnum, int nextptr)
|
||||
{
|
||||
int capoff, i;
|
||||
int capoff;
|
||||
struct msicap msicap;
|
||||
u_char *capdata;
|
||||
|
||||
@ -197,7 +197,7 @@ passthru_add_msicap(struct pci_devinst *pi, int msgnum, int nextptr)
|
||||
*/
|
||||
capoff = 256 - roundup(sizeof(msicap), 4);
|
||||
capdata = (u_char *)&msicap;
|
||||
for (i = 0; i < sizeof(msicap); i++)
|
||||
for (size_t i = 0; i < sizeof(msicap); i++)
|
||||
pci_set_cfgdata8(pi, capoff + i, capdata[i]);
|
||||
|
||||
return (capoff);
|
||||
|
@ -421,7 +421,7 @@ pci_vtinput_cfgread(void *vsc, int offset, int size, uint32_t *retval)
|
||||
struct pci_vtinput_softc *sc = vsc;
|
||||
|
||||
/* check for valid offset and size */
|
||||
if (offset + size > sizeof(struct vtinput_config)) {
|
||||
if (offset + size > (int)sizeof(struct vtinput_config)) {
|
||||
WPRINTF(("%s: read to invalid offset/size %d/%d", __func__,
|
||||
offset, size));
|
||||
memset(retval, 0, size);
|
||||
|
@ -650,8 +650,7 @@ pci_xhci_init_ep(struct pci_xhci_dev_emu *dev, int epid)
|
||||
struct xhci_dev_ctx *dev_ctx;
|
||||
struct pci_xhci_dev_ep *devep;
|
||||
struct xhci_endp_ctx *ep_ctx;
|
||||
uint32_t pstreams;
|
||||
int i;
|
||||
uint32_t i, pstreams;
|
||||
|
||||
dev_ctx = dev->dev_ctx;
|
||||
ep_ctx = &dev_ctx->ctx_ep[epid];
|
||||
@ -2107,7 +2106,7 @@ pci_xhci_rtsregs_write(struct pci_xhci_softc *sc, uint64_t offset,
|
||||
|
||||
if (rts->er_events_cnt > 0) {
|
||||
uint64_t erdp;
|
||||
uint32_t erdp_i;
|
||||
int erdp_i;
|
||||
|
||||
erdp = rts->intrreg.erdp & ~0xF;
|
||||
erdp_i = (erdp - rts->erstba_p->qwEvrsTablePtr) /
|
||||
|
@ -450,7 +450,8 @@ lookup_struct(enum snapshot_req struct_id, struct restore_state *rstate,
|
||||
JSON_GET_INT_OR_RETURN(JSON_FILE_OFFSET_KEY, obj,
|
||||
&file_offset, NULL);
|
||||
assert(file_offset >= 0);
|
||||
assert(file_offset + size <= rstate->kdata_len);
|
||||
assert((uint64_t)file_offset + size <=
|
||||
rstate->kdata_len);
|
||||
|
||||
*struct_size = (size_t)size;
|
||||
return ((uint8_t *)rstate->kdata_map + file_offset);
|
||||
@ -479,7 +480,7 @@ lookup_check_dev(const char *dev_name, struct restore_state *rstate,
|
||||
JSON_GET_INT_OR_RETURN(JSON_FILE_OFFSET_KEY, obj,
|
||||
&file_offset, NULL);
|
||||
assert(file_offset >= 0);
|
||||
assert(file_offset + size <= rstate->kdata_len);
|
||||
assert((uint64_t)file_offset + size <= rstate->kdata_len);
|
||||
|
||||
*data_size = (size_t)size;
|
||||
return ((uint8_t *)rstate->kdata_map + file_offset);
|
||||
@ -1046,8 +1047,9 @@ vm_snapshot_kern_struct(int data_fd, xo_handle_t *xop, const char *array_key,
|
||||
|
||||
data_size = vm_get_snapshot_size(meta);
|
||||
|
||||
/* XXX-MJ no handling for short writes. */
|
||||
write_cnt = write(data_fd, meta->buffer.buf_start, data_size);
|
||||
if (write_cnt != data_size) {
|
||||
if (write_cnt < 0 || (size_t)write_cnt != data_size) {
|
||||
perror("Failed to write all snapshotted data.");
|
||||
ret = -1;
|
||||
goto done;
|
||||
@ -1138,13 +1140,14 @@ static int
|
||||
vm_snapshot_dev_write_data(int data_fd, xo_handle_t *xop, const char *array_key,
|
||||
struct vm_snapshot_meta *meta, off_t *offset)
|
||||
{
|
||||
int ret;
|
||||
ssize_t ret;
|
||||
size_t data_size;
|
||||
|
||||
data_size = vm_get_snapshot_size(meta);
|
||||
|
||||
/* XXX-MJ no handling for short writes. */
|
||||
ret = write(data_fd, meta->buffer.buf_start, data_size);
|
||||
if (ret != data_size) {
|
||||
if (ret < 0 || (size_t)ret != data_size) {
|
||||
perror("Failed to write all snapshotted data.");
|
||||
return (-1);
|
||||
}
|
||||
|
@ -774,7 +774,7 @@ vmexit_task_switch(struct vmctx *ctx, struct vm_exit *vmexit, int *pvcpu)
|
||||
minlimit = 0;
|
||||
|
||||
assert(minlimit > 0);
|
||||
if (nt.limit < minlimit) {
|
||||
if (nt.limit < (unsigned int)minlimit) {
|
||||
sel_exception(ctx, vcpu, IDT_TS, nt_sel, ext);
|
||||
goto done;
|
||||
}
|
||||
|
@ -616,7 +616,7 @@ int
|
||||
uart_legacy_alloc(int which, int *baseaddr, int *irq)
|
||||
{
|
||||
|
||||
if (which < 0 || which >= UART_NLDEVS || uart_lres[which].inuse)
|
||||
if (which < 0 || which >= (int)UART_NLDEVS || uart_lres[which].inuse)
|
||||
return (-1);
|
||||
|
||||
uart_lres[which].inuse = true;
|
||||
|
@ -773,7 +773,7 @@ vi_pci_write(struct vmctx *ctx __unused, int vcpu __unused,
|
||||
vs->vs_curq = value;
|
||||
break;
|
||||
case VIRTIO_PCI_QUEUE_NOTIFY:
|
||||
if (value >= vc->vc_nvq) {
|
||||
if (value >= (unsigned int)vc->vc_nvq) {
|
||||
EPRINTLN("%s: queue %d notify out of range",
|
||||
name, (int)value);
|
||||
goto done;
|
||||
|
Loading…
Reference in New Issue
Block a user