From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 2002:a5d:4c4c:0:0:0:0:0 with SMTP id n12-v6csp82363wrt; Thu, 11 Oct 2018 17:26:54 -0700 (PDT) X-Google-Smtp-Source: ACcGV60/Uuiik6xQRSFwCQ4hrw7FyMImLckwRw2NwB94QSLuBVnFymKkBfp6/cLm50zLSXuNHjaP X-Received: by 2002:a0c:d285:: with SMTP id q5mr3950079qvh.46.1539304014321; Thu, 11 Oct 2018 17:26:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539304014; cv=none; d=google.com; s=arc-20160816; b=MAcHPuX/v+ImoJOxNTWlTB39nEy2lPxB+HR1NUkiWnNjZlCE4Pg7De446kZyqRslcD y94Bkrp77Ww4NBJzuL/UQG81N+hp1rNDDKBfynQWiXMHCGi1LDmk6QhNjy37Jo0PAvF1 zxUsl+Dge95WGhkCJjDxIHafNUvdft/0K4qfDc9fJZc+cUMMLx+f6igQQA8F86xzhPWd z8L7zW5JR7ywn6Wb7XOkZlqrscNtqYeQCropqxTunXMfxUV2LAZ9UBa1u6PE2lJe4/+3 TtxgD19UxPEoR1m1j3cT6ecgnV4/ZO9uQzwviqpDerhuG4CAeiDqek1WHfYLQeYqijRJ 60sQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from; bh=ZwdjADF6JYyUadiS50NXZzlt7Pto2sACT0Ki9jJUCD8=; b=R5N5tHTUPnp0UGMtq8jEXFqprAVBLdkNi/37btCvZcGFVroJ6au76yRTEWxnOrcHlo zcXQTmH6ljyrgG4TKkdVW2K7aPUE9K6d3YtKi0oZbZbtEuXMN6yZ2ocpqgYTsFsK9Jif OXb1zjaIqlr3pM6HX6mZE3DoL/zxQhhz+qsRcJhcZcKPLoddpOS0LUFkXmmmbj2zIODX z2amZx0yqSQw+Jw9mG123+8xVDfe+aI5jHa26A/qYUgmPoz76hkEzcYCESIckjYSwHgw kQ0CAB4/je78vqzV4feWV2BwIkmLVHvorjNxphpz5r3Z51e8Fb+nZOC2UvtwxPpISdvh zo8g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org. [2001:4830:134:3::11]) by mx.google.com with ESMTPS id m185-v6si3228566qkb.188.2018.10.11.17.26.54 for (version=TLS1 cipher=AES128-SHA bits=128/128); Thu, 11 Oct 2018 17:26:54 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) client-ip=2001:4830:134:3::11; Authentication-Results: mx.google.com; spf=pass (google.com: domain of qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org designates 2001:4830:134:3::11 as permitted sender) smtp.mailfrom="qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from localhost ([::1]:37706 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gAlI5-0000Mx-NU for alex.bennee@linaro.org; Thu, 11 Oct 2018 20:26:53 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33591) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gAlFA-0006Rh-3w for qemu-arm@nongnu.org; Thu, 11 Oct 2018 20:23:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gAlF7-0006eJ-SL for qemu-arm@nongnu.org; Thu, 11 Oct 2018 20:23:52 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42310) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gAlF7-0006du-Iw; Thu, 11 Oct 2018 20:23:49 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 37554C050E0D; Fri, 12 Oct 2018 00:23:48 +0000 (UTC) Received: from x1w.redhat.com (ovpn-204-29.brq.redhat.com [10.40.204.29]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 21BCC60557; Fri, 12 Oct 2018 00:23:18 +0000 (UTC) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: Paolo Bonzini , Prasad J Pandit Date: Fri, 12 Oct 2018 02:22:14 +0200 Message-Id: <20181012002217.2864-9-philmd@redhat.com> In-Reply-To: <20181012002217.2864-1-philmd@redhat.com> References: <20181012002217.2864-1-philmd@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.32]); Fri, 12 Oct 2018 00:23:48 +0000 (UTC) Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.132.183.28 Subject: [Qemu-arm] [PATCH v2 08/11] chardev: Let IOCanReadHandler use unsigned type X-BeenThere: qemu-arm@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , Sagar Karandikar , "Michael S. Tsirkin" , Jan Kiszka , Jason Wang , Palmer Dabbelt , qemu-devel@nongnu.org, Markus Armbruster , Max Filippov , Michael Clark , Gerd Hoffmann , Stefano Stabellini , Alberto Garcia , Li Zhijian , Alexander Graf , Christian Borntraeger , Antony Pavlov , Anthony Perard , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier , Corey Minyard , Amit Shah , Alistair Francis , "Dr. David Alan Gilbert" , Fabien Chouteau , Zhang Chen , "open list:PXA2XX" , Peter Chubb , Samuel Thibault , "open list:X86" , David Gibson , Igor Mitsyanko , Andrzej Zaborowski , Cornelia Huck , "open list:S390" , Thomas Huth , Michael Walle , "open list:sPAPR" , Bastian Koppelmann Errors-To: qemu-arm-bounces+alex.bennee=linaro.org@nongnu.org Sender: "Qemu-arm" X-TUID: pZ2xkBOBjv3d Suggested-by: Paolo Bonzini Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- backends/rng-egd.c | 4 ++-- chardev/char-mux.c | 2 +- gdbstub.c | 2 +- hw/arm/pxa2xx.c | 2 +- hw/arm/strongarm.c | 2 +- hw/char/bcm2835_aux.c | 2 +- hw/char/cadence_uart.c | 4 ++-- hw/char/cmsdk-apb-uart.c | 2 +- hw/char/digic-uart.c | 2 +- hw/char/escc.c | 6 +++--- hw/char/etraxfs_ser.c | 2 +- hw/char/exynos4210_uart.c | 2 +- hw/char/grlib_apbuart.c | 2 +- hw/char/imx_serial.c | 2 +- hw/char/ipoctal232.c | 4 ++-- hw/char/lm32_juart.c | 2 +- hw/char/lm32_uart.c | 2 +- hw/char/mcf_uart.c | 2 +- hw/char/milkymist-uart.c | 2 +- hw/char/parallel.c | 2 +- hw/char/pl011.c | 4 ++-- hw/char/sclpconsole-lm.c | 2 +- hw/char/sclpconsole.c | 4 ++-- hw/char/serial.c | 4 ++-- hw/char/sh_serial.c | 4 ++-- hw/char/spapr_vty.c | 2 +- hw/char/stm32f2xx_usart.c | 2 +- hw/char/terminal3270.c | 2 +- hw/char/virtio-console.c | 2 +- hw/char/xen_console.c | 2 +- hw/char/xilinx_uartlite.c | 2 +- hw/ipmi/ipmi_bmc_extern.c | 2 +- hw/misc/ivshmem.c | 2 +- hw/riscv/riscv_htif.c | 2 +- hw/riscv/sifive_uart.c | 2 +- hw/usb/ccid-card-passthru.c | 2 +- hw/usb/dev-serial.c | 2 +- hw/usb/redirect.c | 2 +- include/qemu/main-loop.h | 2 +- monitor.c | 2 +- net/colo-compare.c | 2 +- net/filter-mirror.c | 2 +- net/slirp.c | 2 +- qtest.c | 2 +- target/xtensa/xtensa-semi.c | 2 +- 45 files changed, 54 insertions(+), 54 deletions(-) diff --git a/backends/rng-egd.c b/backends/rng-egd.c index b51c01f664..4a9a92a8e7 100644 --- a/backends/rng-egd.c +++ b/backends/rng-egd.c @@ -48,11 +48,11 @@ static void rng_egd_request_entropy(RngBackend *b, Rn= gRequest *req) } } =20 -static int rng_egd_chr_can_read(void *opaque) +static size_t rng_egd_chr_can_read(void *opaque) { RngEgd *s =3D RNG_EGD(opaque); RngRequest *req; - int size =3D 0; + size_t size =3D 0; =20 QSIMPLEQ_FOREACH(req, &s->parent.requests, next) { size +=3D req->size - req->offset; diff --git a/chardev/char-mux.c b/chardev/char-mux.c index d8d6eaa646..98db12cf77 100644 --- a/chardev/char-mux.c +++ b/chardev/char-mux.c @@ -192,7 +192,7 @@ static void mux_chr_accept_input(Chardev *chr) } } =20 -static int mux_chr_can_read(void *opaque) +static size_t mux_chr_can_read(void *opaque) { MuxChardev *d =3D MUX_CHARDEV(opaque); int m =3D d->focus; diff --git a/gdbstub.c b/gdbstub.c index a2fc3682ce..86d1fa62f8 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1916,7 +1916,7 @@ void gdbserver_fork(CPUState *cpu) cpu_watchpoint_remove_all(cpu, BP_GDB); } #else -static int gdb_chr_can_receive(void *opaque) +static size_t gdb_chr_can_receive(void *opaque) { /* We can handle an arbitrarily large amount of data. Pick the maximum packet size, which is as good as anything. */ diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c index 75b6aa2772..a72d9bd4fe 100644 --- a/hw/arm/pxa2xx.c +++ b/hw/arm/pxa2xx.c @@ -1923,7 +1923,7 @@ static const MemoryRegionOps pxa2xx_fir_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 -static int pxa2xx_fir_is_empty(void *opaque) +static size_t pxa2xx_fir_is_empty(void *opaque) { PXA2xxFIrState *s =3D (PXA2xxFIrState *) opaque; return (s->rx_len < 64); diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c index 40db4e5e0a..6fdd4da3d0 100644 --- a/hw/arm/strongarm.c +++ b/hw/arm/strongarm.c @@ -1058,7 +1058,7 @@ static void strongarm_uart_rx_push(StrongARMUARTSta= te *s, uint16_t c) s->rx_fifo[(s->rx_start + 11) % 12] |=3D RX_FIFO_ROR; } =20 -static int strongarm_uart_can_receive(void *opaque) +static size_t strongarm_uart_can_receive(void *opaque) { StrongARMUARTState *s =3D opaque; =20 diff --git a/hw/char/bcm2835_aux.c b/hw/char/bcm2835_aux.c index cb26df40f8..5dd1b652c0 100644 --- a/hw/char/bcm2835_aux.c +++ b/hw/char/bcm2835_aux.c @@ -211,7 +211,7 @@ static void bcm2835_aux_write(void *opaque, hwaddr of= fset, uint64_t value, bcm2835_aux_update(s); } =20 -static int bcm2835_aux_can_receive(void *opaque) +static size_t bcm2835_aux_can_receive(void *opaque) { BCM2835AuxState *s =3D opaque; =20 diff --git a/hw/char/cadence_uart.c b/hw/char/cadence_uart.c index eb5cc974a1..5835362038 100644 --- a/hw/char/cadence_uart.c +++ b/hw/char/cadence_uart.c @@ -216,10 +216,10 @@ static void uart_parameters_setup(CadenceUARTState = *s) qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_SET_PARAMS, &ssp); } =20 -static int uart_can_receive(void *opaque) +static size_t uart_can_receive(void *opaque) { CadenceUARTState *s =3D opaque; - int ret =3D MAX(CADENCE_UART_RX_FIFO_SIZE, CADENCE_UART_TX_FIFO_SIZE= ); + size_t ret =3D MAX(CADENCE_UART_RX_FIFO_SIZE, CADENCE_UART_TX_FIFO_S= IZE); uint32_t ch_mode =3D s->r[R_MR] & UART_MR_CHMODE; =20 if (ch_mode =3D=3D NORMAL_MODE || ch_mode =3D=3D ECHO_MODE) { diff --git a/hw/char/cmsdk-apb-uart.c b/hw/char/cmsdk-apb-uart.c index 774986d88d..c1437674a5 100644 --- a/hw/char/cmsdk-apb-uart.c +++ b/hw/char/cmsdk-apb-uart.c @@ -108,7 +108,7 @@ static void cmsdk_apb_uart_update(CMSDKAPBUART *s) qemu_set_irq(s->uartint, !!(s->intstatus)); } =20 -static int uart_can_receive(void *opaque) +static size_t uart_can_receive(void *opaque) { CMSDKAPBUART *s =3D CMSDK_APB_UART(opaque); =20 diff --git a/hw/char/digic-uart.c b/hw/char/digic-uart.c index 0f41a23b54..f805ee5766 100644 --- a/hw/char/digic-uart.c +++ b/hw/char/digic-uart.c @@ -112,7 +112,7 @@ static const MemoryRegionOps uart_mmio_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { DigicUartState *s =3D opaque; =20 diff --git a/hw/char/escc.c b/hw/char/escc.c index e655b86273..decc35b990 100644 --- a/hw/char/escc.c +++ b/hw/char/escc.c @@ -166,7 +166,7 @@ #define R_EXTINT 15 =20 static void handle_kbd_command(ESCCChannelState *s, int val); -static int serial_can_receive(void *opaque); +static size_t serial_can_receive(void *opaque); static void serial_receive_byte(ESCCChannelState *s, int ch); =20 static void clear_queue(void *opaque) @@ -573,10 +573,10 @@ static const MemoryRegionOps escc_mem_ops =3D { }, }; =20 -static int serial_can_receive(void *opaque) +static size_t serial_can_receive(void *opaque) { ESCCChannelState *s =3D opaque; - int ret; + size_t ret; =20 if (((s->wregs[W_RXCTRL] & RXCTRL_RXEN) =3D=3D 0) // Rx not enabled || ((s->rregs[R_STATUS] & STATUS_RXAV) =3D=3D STATUS_RXAV)) diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c index 79cd8d2dc1..970f6a6e90 100644 --- a/hw/char/etraxfs_ser.c +++ b/hw/char/etraxfs_ser.c @@ -187,7 +187,7 @@ static void serial_receive(void *opaque, const uint8_= t *buf, size_t size) ser_update_irq(s); } =20 -static int serial_can_receive(void *opaque) +static size_t serial_can_receive(void *opaque) { ETRAXSerial *s =3D opaque; =20 diff --git a/hw/char/exynos4210_uart.c b/hw/char/exynos4210_uart.c index 5fdf5b1f37..b93edec08a 100644 --- a/hw/char/exynos4210_uart.c +++ b/hw/char/exynos4210_uart.c @@ -487,7 +487,7 @@ static const MemoryRegionOps exynos4210_uart_ops =3D = { }, }; =20 -static int exynos4210_uart_can_receive(void *opaque) +static size_t exynos4210_uart_can_receive(void *opaque) { Exynos4210UartState *s =3D (Exynos4210UartState *)opaque; =20 diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c index d370609a52..7b57dce7fb 100644 --- a/hw/char/grlib_apbuart.c +++ b/hw/char/grlib_apbuart.c @@ -130,7 +130,7 @@ static void uart_add_to_fifo(UART *uart, uart->len +=3D length; } =20 -static int grlib_apbuart_can_receive(void *opaque) +static size_t grlib_apbuart_can_receive(void *opaque) { UART *uart =3D opaque; =20 diff --git a/hw/char/imx_serial.c b/hw/char/imx_serial.c index b9fdfaeb38..abbe68571d 100644 --- a/hw/char/imx_serial.c +++ b/hw/char/imx_serial.c @@ -293,7 +293,7 @@ static void imx_serial_write(void *opaque, hwaddr off= set, } } =20 -static int imx_can_receive(void *opaque) +static size_t imx_can_receive(void *opaque) { IMXSerialState *s =3D (IMXSerialState *)opaque; return !(s->usr1 & USR1_RRDY); diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c index 08e3f9e45f..be21303dcd 100644 --- a/hw/char/ipoctal232.c +++ b/hw/char/ipoctal232.c @@ -461,10 +461,10 @@ static void mem_write8(IPackDevice *ip, uint32_t ad= dr, uint8_t val) } } =20 -static int hostdev_can_receive(void *opaque) +static size_t hostdev_can_receive(void *opaque) { SCC2698Channel *ch =3D opaque; - int available_bytes =3D RX_FIFO_SIZE - ch->rx_pending; + size_t available_bytes =3D RX_FIFO_SIZE - ch->rx_pending; return ch->rx_enabled ? available_bytes : 0; } =20 diff --git a/hw/char/lm32_juart.c b/hw/char/lm32_juart.c index ecb61ee086..51e598c570 100644 --- a/hw/char/lm32_juart.c +++ b/hw/char/lm32_juart.c @@ -95,7 +95,7 @@ static void juart_rx(void *opaque, const uint8_t *buf, = size_t size) s->jrx =3D *buf | JRX_FULL; } =20 -static int juart_can_rx(void *opaque) +static size_t juart_can_rx(void *opaque) { LM32JuartState *s =3D opaque; =20 diff --git a/hw/char/lm32_uart.c b/hw/char/lm32_uart.c index ee0bf8e117..2593434f8f 100644 --- a/hw/char/lm32_uart.c +++ b/hw/char/lm32_uart.c @@ -225,7 +225,7 @@ static void uart_rx(void *opaque, const uint8_t *buf,= size_t size) uart_update_irq(s); } =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { LM32UartState *s =3D opaque; =20 diff --git a/hw/char/mcf_uart.c b/hw/char/mcf_uart.c index e126860b46..cd9c499a51 100644 --- a/hw/char/mcf_uart.c +++ b/hw/char/mcf_uart.c @@ -267,7 +267,7 @@ static void mcf_uart_event(void *opaque, int event) } } =20 -static int mcf_uart_can_receive(void *opaque) +static size_t mcf_uart_can_receive(void *opaque) { mcf_uart_state *s =3D (mcf_uart_state *)opaque; =20 diff --git a/hw/char/milkymist-uart.c b/hw/char/milkymist-uart.c index a10c0957ff..0efcd829ce 100644 --- a/hw/char/milkymist-uart.c +++ b/hw/char/milkymist-uart.c @@ -170,7 +170,7 @@ static void uart_rx(void *opaque, const uint8_t *buf,= size_t size) uart_update_irq(s); } =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { MilkymistUartState *s =3D opaque; =20 diff --git a/hw/char/parallel.c b/hw/char/parallel.c index a80da47ecf..fe0e5c8756 100644 --- a/hw/char/parallel.c +++ b/hw/char/parallel.c @@ -513,7 +513,7 @@ static const VMStateDescription vmstate_parallel_isa = =3D { } }; =20 -static int parallel_can_receive(void *opaque) +static size_t parallel_can_receive(void *opaque) { return 1; } diff --git a/hw/char/pl011.c b/hw/char/pl011.c index 37973c32ce..10195679b4 100644 --- a/hw/char/pl011.c +++ b/hw/char/pl011.c @@ -224,10 +224,10 @@ static void pl011_write(void *opaque, hwaddr offset= , } } =20 -static int pl011_can_receive(void *opaque) +static size_t pl011_can_receive(void *opaque) { PL011State *s =3D (PL011State *)opaque; - int r; + size_t r; =20 if (s->lcr & 0x10) { r =3D s->read_count < 16; diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c index a04a2a9d80..ad5f791227 100644 --- a/hw/char/sclpconsole-lm.c +++ b/hw/char/sclpconsole-lm.c @@ -61,7 +61,7 @@ typedef struct SCLPConsoleLM { * truncated to the guest in case it doesn't fit into the SCCB. */ =20 -static int chr_can_read(void *opaque) +static size_t chr_can_read(void *opaque) { SCLPConsoleLM *scon =3D opaque; =20 diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c index 62395c19f4..5ec1c4b607 100644 --- a/hw/char/sclpconsole.c +++ b/hw/char/sclpconsole.c @@ -47,10 +47,10 @@ typedef struct SCLPConsole { /* character layer call-back functions */ =20 /* Return number of bytes that fit into iov buffer */ -static int chr_can_read(void *opaque) +static size_t chr_can_read(void *opaque) { SCLPConsole *scon =3D opaque; - int avail =3D SIZE_BUFFER_VT220 - scon->iov_data_len; + size_t avail =3D SIZE_BUFFER_VT220 - scon->iov_data_len; =20 if (avail =3D=3D 0) { scon->notify =3D true; diff --git a/hw/char/serial.c b/hw/char/serial.c index 69baed105b..f83bb8ee4e 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -561,7 +561,7 @@ static uint64_t serial_ioport_read(void *opaque, hwad= dr addr, unsigned size) return ret; } =20 -static int serial_can_receive(SerialState *s) +static size_t serial_can_receive(SerialState *s) { if(s->fcr & UART_FCR_FE) { if (s->recv_fifo.num < UART_FIFO_LENGTH) { @@ -600,7 +600,7 @@ static void fifo_timeout_int (void *opaque) { } } =20 -static int serial_can_receive1(void *opaque) +static size_t serial_can_receive1(void *opaque) { SerialState *s =3D opaque; return serial_can_receive(s); diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c index 04fdcee328..f5402d3b5c 100644 --- a/hw/char/sh_serial.c +++ b/hw/char/sh_serial.c @@ -300,7 +300,7 @@ static uint64_t sh_serial_read(void *opaque, hwaddr o= ffs, return ret; } =20 -static int sh_serial_can_receive(sh_serial_state *s) +static size_t sh_serial_can_receive(sh_serial_state *s) { return s->scr & (1 << 4); } @@ -311,7 +311,7 @@ static void sh_serial_receive_break(sh_serial_state *= s) s->sr |=3D (1 << 4); } =20 -static int sh_serial_can_receive1(void *opaque) +static size_t sh_serial_can_receive1(void *opaque) { sh_serial_state *s =3D opaque; return sh_serial_can_receive(s); diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c index 42b4b61cce..0ac9dc8448 100644 --- a/hw/char/spapr_vty.c +++ b/hw/char/spapr_vty.c @@ -21,7 +21,7 @@ typedef struct VIOsPAPRVTYDevice { #define VIO_SPAPR_VTY_DEVICE(obj) \ OBJECT_CHECK(VIOsPAPRVTYDevice, (obj), TYPE_VIO_SPAPR_VTY_DEVICE) =20 -static int vty_can_receive(void *opaque) +static size_t vty_can_receive(void *opaque) { VIOsPAPRVTYDevice *dev =3D VIO_SPAPR_VTY_DEVICE(opaque); =20 diff --git a/hw/char/stm32f2xx_usart.c b/hw/char/stm32f2xx_usart.c index 78bf142678..63256da77b 100644 --- a/hw/char/stm32f2xx_usart.c +++ b/hw/char/stm32f2xx_usart.c @@ -38,7 +38,7 @@ =20 #define DB_PRINT(fmt, args...) DB_PRINT_L(1, fmt, ## args) =20 -static int stm32f2xx_usart_can_receive(void *opaque) +static size_t stm32f2xx_usart_can_receive(void *opaque) { STM32F2XXUsartState *s =3D opaque; =20 diff --git a/hw/char/terminal3270.c b/hw/char/terminal3270.c index 076516991e..a9db0a3401 100644 --- a/hw/char/terminal3270.c +++ b/hw/char/terminal3270.c @@ -38,7 +38,7 @@ typedef struct Terminal3270 { #define TERMINAL_3270(obj) \ OBJECT_CHECK(Terminal3270, (obj), TYPE_TERMINAL_3270) =20 -static int terminal_can_read(void *opaque) +static size_t terminal_can_read(void *opaque) { Terminal3270 *t =3D opaque; =20 diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c index e3d368b976..b942159d82 100644 --- a/hw/char/virtio-console.c +++ b/hw/char/virtio-console.c @@ -126,7 +126,7 @@ static void guest_writable(VirtIOSerialPort *port) } =20 /* Readiness of the guest to accept data on a port */ -static int chr_can_read(void *opaque) +static size_t chr_can_read(void *opaque) { VirtConsole *vcon =3D opaque; =20 diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c index ca90c5c17e..0a1cbaeafa 100644 --- a/hw/char/xen_console.c +++ b/hw/char/xen_console.c @@ -116,7 +116,7 @@ static int ring_free_bytes(struct XenConsole *con) return (sizeof(intf->in) - space); } =20 -static int xencons_can_receive(void *opaque) +static size_t xencons_can_receive(void *opaque) { struct XenConsole *con =3D opaque; return ring_free_bytes(con); diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c index b1abf8b604..2473cb0ad7 100644 --- a/hw/char/xilinx_uartlite.c +++ b/hw/char/xilinx_uartlite.c @@ -195,7 +195,7 @@ static void uart_rx(void *opaque, const uint8_t *buf,= size_t size) uart_update_irq(s); } =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { XilinxUARTLite *s =3D opaque; =20 diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c index c52f80f771..7107d2fe9f 100644 --- a/hw/ipmi/ipmi_bmc_extern.c +++ b/hw/ipmi/ipmi_bmc_extern.c @@ -307,7 +307,7 @@ static void handle_msg(IPMIBmcExtern *ibe) k->handle_rsp(ibe->parent.intf, ibe->inbuf[0], ibe->inbuf + 1, ibe->= inpos - 1); } =20 -static int can_receive(void *opaque) +static size_t can_receive(void *opaque) { return 1; } diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index f506479845..01b331aaab 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -620,7 +620,7 @@ static void process_msg(IVShmemState *s, int64_t msg,= int fd, Error **errp) } } =20 -static int ivshmem_can_receive(void *opaque) +static size_t ivshmem_can_receive(void *opaque) { IVShmemState *s =3D opaque; =20 diff --git a/hw/riscv/riscv_htif.c b/hw/riscv/riscv_htif.c index 2625f5e9e8..565120df7d 100644 --- a/hw/riscv/riscv_htif.c +++ b/hw/riscv/riscv_htif.c @@ -65,7 +65,7 @@ void htif_symbol_callback(const char *st_name, int st_i= nfo, uint64_t st_value, /* * Called by the char dev to see if HTIF is ready to accept input. */ -static int htif_can_recv(void *opaque) +static size_t htif_can_recv(void *opaque) { return 1; } diff --git a/hw/riscv/sifive_uart.c b/hw/riscv/sifive_uart.c index d4cbf91b9f..c6a8f5fbc4 100644 --- a/hw/riscv/sifive_uart.c +++ b/hw/riscv/sifive_uart.c @@ -137,7 +137,7 @@ static void uart_rx(void *opaque, const uint8_t *buf,= size_t size) update_irq(s); } =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { SiFiveUARTState *s =3D opaque; =20 diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c index b6fa35a4b4..5dc10ef850 100644 --- a/hw/usb/ccid-card-passthru.c +++ b/hw/usb/ccid-card-passthru.c @@ -112,7 +112,7 @@ static void ccid_card_vscard_send_init(PassthruState = *s) (uint8_t *)&msg, sizeof(msg)); } =20 -static int ccid_card_vscard_can_read(void *opaque) +static size_t ccid_card_vscard_can_read(void *opaque) { PassthruState *card =3D opaque; =20 diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c index efaeab484d..e9735d4b5d 100644 --- a/hw/usb/dev-serial.c +++ b/hw/usb/dev-serial.c @@ -421,7 +421,7 @@ static void usb_serial_handle_data(USBDevice *dev, US= BPacket *p) } } =20 -static int usb_serial_can_read(void *opaque) +static size_t usb_serial_can_read(void *opaque) { USBSerialState *s =3D opaque; =20 diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index a73076ba78..f025c91d28 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -1284,7 +1284,7 @@ static void usbredir_do_attach(void *opaque) * chardev callbacks */ =20 -static int usbredir_chardev_can_read(void *opaque) +static size_t usbredir_chardev_can_read(void *opaque) { USBRedirDevice *dev =3D opaque; =20 diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h index c5a7299266..b51f9a5267 100644 --- a/include/qemu/main-loop.h +++ b/include/qemu/main-loop.h @@ -182,7 +182,7 @@ typedef void IOReadHandler(void *opaque, const uint8_= t *buf, size_t size); * is called again. aio_notify() or qemu_notify_event() can be used to = kick * the event loop. */ -typedef int IOCanReadHandler(void *opaque); +typedef size_t IOCanReadHandler(void *opaque); =20 /** * qemu_set_fd_handler: Register a file descriptor with the main loop diff --git a/monitor.c b/monitor.c index 12401ec60b..3417c5f044 100644 --- a/monitor.c +++ b/monitor.c @@ -4038,7 +4038,7 @@ cleanup: free_cmdline_args(args, nb_args); } =20 -static int monitor_can_read(void *opaque) +static size_t monitor_can_read(void *opaque) { Monitor *mon =3D opaque; =20 diff --git a/net/colo-compare.c b/net/colo-compare.c index 433e9ba287..9321d81a98 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -683,7 +683,7 @@ err: return ret < 0 ? ret : -EIO; } =20 -static int compare_chr_can_read(void *opaque) +static size_t compare_chr_can_read(void *opaque) { return COMPARE_READ_LEN_MAX; } diff --git a/net/filter-mirror.c b/net/filter-mirror.c index 27b6e52a1d..8e16535fad 100644 --- a/net/filter-mirror.c +++ b/net/filter-mirror.c @@ -114,7 +114,7 @@ static void redirector_to_filter(NetFilterState *nf, } } =20 -static int redirector_chr_can_read(void *opaque) +static size_t redirector_chr_can_read(void *opaque) { return REDIRECTOR_MAX_LEN; } diff --git a/net/slirp.c b/net/slirp.c index 5e864f4a4f..9dbcaffb07 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -712,7 +712,7 @@ struct GuestFwd { Slirp *slirp; }; =20 -static int guestfwd_can_read(void *opaque) +static size_t guestfwd_can_read(void *opaque) { struct GuestFwd *fwd =3D opaque; return slirp_socket_can_recv(fwd->slirp, fwd->server, fwd->port); diff --git a/qtest.c b/qtest.c index 0494afdfb3..bc685700cd 100644 --- a/qtest.c +++ b/qtest.c @@ -665,7 +665,7 @@ static void qtest_read(void *opaque, const uint8_t *b= uf, size_t size) qtest_process_inbuf(chr, inbuf); } =20 -static int qtest_can_read(void *opaque) +static size_t qtest_can_read(void *opaque) { return 1024; } diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c index 241874ea4e..a57e61ef4a 100644 --- a/target/xtensa/xtensa-semi.c +++ b/target/xtensa/xtensa-semi.c @@ -161,7 +161,7 @@ typedef struct XtensaSimConsole { =20 static XtensaSimConsole *sim_console; =20 -static int sim_console_can_read(void *opaque) +static size_t sim_console_can_read(void *opaque) { XtensaSimConsole *p =3D opaque; =20 --=20 2.17.1 From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Subject: [PATCH v2 08/11] chardev: Let IOCanReadHandler use unsigned type Date: Fri, 12 Oct 2018 02:22:14 +0200 Message-ID: <20181012002217.2864-9-philmd@redhat.com> References: <20181012002217.2864-1-philmd@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gAlF7-0000PS-Ug for xen-devel@lists.xenproject.org; Fri, 12 Oct 2018 00:23:49 +0000 In-Reply-To: <20181012002217.2864-1-philmd@redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Paolo Bonzini , Prasad J Pandit Cc: Peter Maydell , Sagar Karandikar , "Michael S. Tsirkin" , Jan Kiszka , Jason Wang , Palmer Dabbelt , qemu-devel@nongnu.org, Markus Armbruster , Max Filippov , Michael Clark , Gerd Hoffmann , "Edgar E. Iglesias" , Stefano Stabellini , Alberto Garcia , Li Zhijian , Alexander Graf , Christian Borntraeger , Antony Pavlov , Anthony Perard , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Laurent Vivier List-Id: xen-devel@lists.xenproject.org U3VnZ2VzdGVkLWJ5OiBQYW9sbyBCb256aW5pIDxwYm9uemluaUByZWRoYXQuY29tPgpTaWduZWQt b2ZmLWJ5OiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5jb20+Ci0tLQog YmFja2VuZHMvcm5nLWVnZC5jICAgICAgICAgIHwgNCArKy0tCiBjaGFyZGV2L2NoYXItbXV4LmMg ICAgICAgICAgfCAyICstCiBnZGJzdHViLmMgICAgICAgICAgICAgICAgICAgfCAyICstCiBody9h cm0vcHhhMnh4LmMgICAgICAgICAgICAgfCAyICstCiBody9hcm0vc3Ryb25nYXJtLmMgICAgICAg ICAgfCAyICstCiBody9jaGFyL2JjbTI4MzVfYXV4LmMgICAgICAgfCAyICstCiBody9jaGFyL2Nh ZGVuY2VfdWFydC5jICAgICAgfCA0ICsrLS0KIGh3L2NoYXIvY21zZGstYXBiLXVhcnQuYyAgICB8 IDIgKy0KIGh3L2NoYXIvZGlnaWMtdWFydC5jICAgICAgICB8IDIgKy0KIGh3L2NoYXIvZXNjYy5j ICAgICAgICAgICAgICB8IDYgKysrLS0tCiBody9jaGFyL2V0cmF4ZnNfc2VyLmMgICAgICAgfCAy ICstCiBody9jaGFyL2V4eW5vczQyMTBfdWFydC5jICAgfCAyICstCiBody9jaGFyL2dybGliX2Fw YnVhcnQuYyAgICAgfCAyICstCiBody9jaGFyL2lteF9zZXJpYWwuYyAgICAgICAgfCAyICstCiBo dy9jaGFyL2lwb2N0YWwyMzIuYyAgICAgICAgfCA0ICsrLS0KIGh3L2NoYXIvbG0zMl9qdWFydC5j ICAgICAgICB8IDIgKy0KIGh3L2NoYXIvbG0zMl91YXJ0LmMgICAgICAgICB8IDIgKy0KIGh3L2No YXIvbWNmX3VhcnQuYyAgICAgICAgICB8IDIgKy0KIGh3L2NoYXIvbWlsa3ltaXN0LXVhcnQuYyAg ICB8IDIgKy0KIGh3L2NoYXIvcGFyYWxsZWwuYyAgICAgICAgICB8IDIgKy0KIGh3L2NoYXIvcGww MTEuYyAgICAgICAgICAgICB8IDQgKystLQogaHcvY2hhci9zY2xwY29uc29sZS1sbS5jICAgIHwg MiArLQogaHcvY2hhci9zY2xwY29uc29sZS5jICAgICAgIHwgNCArKy0tCiBody9jaGFyL3Nlcmlh bC5jICAgICAgICAgICAgfCA0ICsrLS0KIGh3L2NoYXIvc2hfc2VyaWFsLmMgICAgICAgICB8IDQg KystLQogaHcvY2hhci9zcGFwcl92dHkuYyAgICAgICAgIHwgMiArLQogaHcvY2hhci9zdG0zMmYy eHhfdXNhcnQuYyAgIHwgMiArLQogaHcvY2hhci90ZXJtaW5hbDMyNzAuYyAgICAgIHwgMiArLQog aHcvY2hhci92aXJ0aW8tY29uc29sZS5jICAgIHwgMiArLQogaHcvY2hhci94ZW5fY29uc29sZS5j ICAgICAgIHwgMiArLQogaHcvY2hhci94aWxpbnhfdWFydGxpdGUuYyAgIHwgMiArLQogaHcvaXBt aS9pcG1pX2JtY19leHRlcm4uYyAgIHwgMiArLQogaHcvbWlzYy9pdnNobWVtLmMgICAgICAgICAg IHwgMiArLQogaHcvcmlzY3YvcmlzY3ZfaHRpZi5jICAgICAgIHwgMiArLQogaHcvcmlzY3Yvc2lm aXZlX3VhcnQuYyAgICAgIHwgMiArLQogaHcvdXNiL2NjaWQtY2FyZC1wYXNzdGhydS5jIHwgMiAr LQogaHcvdXNiL2Rldi1zZXJpYWwuYyAgICAgICAgIHwgMiArLQogaHcvdXNiL3JlZGlyZWN0LmMg ICAgICAgICAgIHwgMiArLQogaW5jbHVkZS9xZW11L21haW4tbG9vcC5oICAgIHwgMiArLQogbW9u aXRvci5jICAgICAgICAgICAgICAgICAgIHwgMiArLQogbmV0L2NvbG8tY29tcGFyZS5jICAgICAg ICAgIHwgMiArLQogbmV0L2ZpbHRlci1taXJyb3IuYyAgICAgICAgIHwgMiArLQogbmV0L3NsaXJw LmMgICAgICAgICAgICAgICAgIHwgMiArLQogcXRlc3QuYyAgICAgICAgICAgICAgICAgICAgIHwg MiArLQogdGFyZ2V0L3h0ZW5zYS94dGVuc2Etc2VtaS5jIHwgMiArLQogNDUgZmlsZXMgY2hhbmdl ZCwgNTQgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYmFja2Vu ZHMvcm5nLWVnZC5jIGIvYmFja2VuZHMvcm5nLWVnZC5jCmluZGV4IGI1MWMwMWY2NjQuLjRhOWE5 MmE4ZTcgMTAwNjQ0Ci0tLSBhL2JhY2tlbmRzL3JuZy1lZ2QuYworKysgYi9iYWNrZW5kcy9ybmct ZWdkLmMKQEAgLTQ4LDExICs0OCwxMSBAQCBzdGF0aWMgdm9pZCBybmdfZWdkX3JlcXVlc3RfZW50 cm9weShSbmdCYWNrZW5kICpiLCBSbmdSZXF1ZXN0ICpyZXEpCiAgICAgfQogfQogCi1zdGF0aWMg aW50IHJuZ19lZ2RfY2hyX2Nhbl9yZWFkKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3Qgcm5n X2VnZF9jaHJfY2FuX3JlYWQodm9pZCAqb3BhcXVlKQogewogICAgIFJuZ0VnZCAqcyA9IFJOR19F R0Qob3BhcXVlKTsKICAgICBSbmdSZXF1ZXN0ICpyZXE7Ci0gICAgaW50IHNpemUgPSAwOworICAg IHNpemVfdCBzaXplID0gMDsKIAogICAgIFFTSU1QTEVRX0ZPUkVBQ0gocmVxLCAmcy0+cGFyZW50 LnJlcXVlc3RzLCBuZXh0KSB7CiAgICAgICAgIHNpemUgKz0gcmVxLT5zaXplIC0gcmVxLT5vZmZz ZXQ7CmRpZmYgLS1naXQgYS9jaGFyZGV2L2NoYXItbXV4LmMgYi9jaGFyZGV2L2NoYXItbXV4LmMK aW5kZXggZDhkNmVhYTY0Ni4uOThkYjEyY2Y3NyAxMDA2NDQKLS0tIGEvY2hhcmRldi9jaGFyLW11 eC5jCisrKyBiL2NoYXJkZXYvY2hhci1tdXguYwpAQCAtMTkyLDcgKzE5Miw3IEBAIHN0YXRpYyB2 b2lkIG11eF9jaHJfYWNjZXB0X2lucHV0KENoYXJkZXYgKmNocikKICAgICB9CiB9CiAKLXN0YXRp YyBpbnQgbXV4X2Nocl9jYW5fcmVhZCh2b2lkICpvcGFxdWUpCitzdGF0aWMgc2l6ZV90IG11eF9j aHJfY2FuX3JlYWQodm9pZCAqb3BhcXVlKQogewogICAgIE11eENoYXJkZXYgKmQgPSBNVVhfQ0hB UkRFVihvcGFxdWUpOwogICAgIGludCBtID0gZC0+Zm9jdXM7CmRpZmYgLS1naXQgYS9nZGJzdHVi LmMgYi9nZGJzdHViLmMKaW5kZXggYTJmYzM2ODJjZS4uODZkMWZhNjJmOCAxMDA2NDQKLS0tIGEv Z2Ric3R1Yi5jCisrKyBiL2dkYnN0dWIuYwpAQCAtMTkxNiw3ICsxOTE2LDcgQEAgdm9pZCBnZGJz ZXJ2ZXJfZm9yayhDUFVTdGF0ZSAqY3B1KQogICAgIGNwdV93YXRjaHBvaW50X3JlbW92ZV9hbGwo Y3B1LCBCUF9HREIpOwogfQogI2Vsc2UKLXN0YXRpYyBpbnQgZ2RiX2Nocl9jYW5fcmVjZWl2ZSh2 b2lkICpvcGFxdWUpCitzdGF0aWMgc2l6ZV90IGdkYl9jaHJfY2FuX3JlY2VpdmUodm9pZCAqb3Bh cXVlKQogewogICAvKiBXZSBjYW4gaGFuZGxlIGFuIGFyYml0cmFyaWx5IGxhcmdlIGFtb3VudCBv ZiBkYXRhLgogICAgUGljayB0aGUgbWF4aW11bSBwYWNrZXQgc2l6ZSwgd2hpY2ggaXMgYXMgZ29v ZCBhcyBhbnl0aGluZy4gICovCmRpZmYgLS1naXQgYS9ody9hcm0vcHhhMnh4LmMgYi9ody9hcm0v cHhhMnh4LmMKaW5kZXggNzViNmFhMjc3Mi4uYTcyZDliZDRmZSAxMDA2NDQKLS0tIGEvaHcvYXJt L3B4YTJ4eC5jCisrKyBiL2h3L2FybS9weGEyeHguYwpAQCAtMTkyMyw3ICsxOTIzLDcgQEAgc3Rh dGljIGNvbnN0IE1lbW9yeVJlZ2lvbk9wcyBweGEyeHhfZmlyX29wcyA9IHsKICAgICAuZW5kaWFu bmVzcyA9IERFVklDRV9OQVRJVkVfRU5ESUFOLAogfTsKIAotc3RhdGljIGludCBweGEyeHhfZmly X2lzX2VtcHR5KHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QgcHhhMnh4X2Zpcl9pc19lbXB0 eSh2b2lkICpvcGFxdWUpCiB7CiAgICAgUFhBMnh4RklyU3RhdGUgKnMgPSAoUFhBMnh4RklyU3Rh dGUgKikgb3BhcXVlOwogICAgIHJldHVybiAocy0+cnhfbGVuIDwgNjQpOwpkaWZmIC0tZ2l0IGEv aHcvYXJtL3N0cm9uZ2FybS5jIGIvaHcvYXJtL3N0cm9uZ2FybS5jCmluZGV4IDQwZGI0ZTVlMGEu LjZmZGQ0ZGEzZDAgMTAwNjQ0Ci0tLSBhL2h3L2FybS9zdHJvbmdhcm0uYworKysgYi9ody9hcm0v c3Ryb25nYXJtLmMKQEAgLTEwNTgsNyArMTA1OCw3IEBAIHN0YXRpYyB2b2lkIHN0cm9uZ2FybV91 YXJ0X3J4X3B1c2goU3Ryb25nQVJNVUFSVFN0YXRlICpzLCB1aW50MTZfdCBjKQogICAgICAgICBz LT5yeF9maWZvWyhzLT5yeF9zdGFydCArIDExKSAlIDEyXSB8PSBSWF9GSUZPX1JPUjsKIH0KIAot c3RhdGljIGludCBzdHJvbmdhcm1fdWFydF9jYW5fcmVjZWl2ZSh2b2lkICpvcGFxdWUpCitzdGF0 aWMgc2l6ZV90IHN0cm9uZ2FybV91YXJ0X2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkKIHsKICAg ICBTdHJvbmdBUk1VQVJUU3RhdGUgKnMgPSBvcGFxdWU7CiAKZGlmZiAtLWdpdCBhL2h3L2NoYXIv YmNtMjgzNV9hdXguYyBiL2h3L2NoYXIvYmNtMjgzNV9hdXguYwppbmRleCBjYjI2ZGY0MGY4Li41 ZGQxYjY1MmMwIDEwMDY0NAotLS0gYS9ody9jaGFyL2JjbTI4MzVfYXV4LmMKKysrIGIvaHcvY2hh ci9iY20yODM1X2F1eC5jCkBAIC0yMTEsNyArMjExLDcgQEAgc3RhdGljIHZvaWQgYmNtMjgzNV9h dXhfd3JpdGUodm9pZCAqb3BhcXVlLCBod2FkZHIgb2Zmc2V0LCB1aW50NjRfdCB2YWx1ZSwKICAg ICBiY20yODM1X2F1eF91cGRhdGUocyk7CiB9CiAKLXN0YXRpYyBpbnQgYmNtMjgzNV9hdXhfY2Fu X3JlY2VpdmUodm9pZCAqb3BhcXVlKQorc3RhdGljIHNpemVfdCBiY20yODM1X2F1eF9jYW5fcmVj ZWl2ZSh2b2lkICpvcGFxdWUpCiB7CiAgICAgQkNNMjgzNUF1eFN0YXRlICpzID0gb3BhcXVlOwog CmRpZmYgLS1naXQgYS9ody9jaGFyL2NhZGVuY2VfdWFydC5jIGIvaHcvY2hhci9jYWRlbmNlX3Vh cnQuYwppbmRleCBlYjVjYzk3NGExLi41ODM1MzYyMDM4IDEwMDY0NAotLS0gYS9ody9jaGFyL2Nh ZGVuY2VfdWFydC5jCisrKyBiL2h3L2NoYXIvY2FkZW5jZV91YXJ0LmMKQEAgLTIxNiwxMCArMjE2 LDEwIEBAIHN0YXRpYyB2b2lkIHVhcnRfcGFyYW1ldGVyc19zZXR1cChDYWRlbmNlVUFSVFN0YXRl ICpzKQogICAgIHFlbXVfY2hyX2ZlX2lvY3RsKCZzLT5jaHIsIENIUl9JT0NUTF9TRVJJQUxfU0VU X1BBUkFNUywgJnNzcCk7CiB9CiAKLXN0YXRpYyBpbnQgdWFydF9jYW5fcmVjZWl2ZSh2b2lkICpv cGFxdWUpCitzdGF0aWMgc2l6ZV90IHVhcnRfY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVlKQogewog ICAgIENhZGVuY2VVQVJUU3RhdGUgKnMgPSBvcGFxdWU7Ci0gICAgaW50IHJldCA9IE1BWChDQURF TkNFX1VBUlRfUlhfRklGT19TSVpFLCBDQURFTkNFX1VBUlRfVFhfRklGT19TSVpFKTsKKyAgICBz aXplX3QgcmV0ID0gTUFYKENBREVOQ0VfVUFSVF9SWF9GSUZPX1NJWkUsIENBREVOQ0VfVUFSVF9U WF9GSUZPX1NJWkUpOwogICAgIHVpbnQzMl90IGNoX21vZGUgPSBzLT5yW1JfTVJdICYgVUFSVF9N Ul9DSE1PREU7CiAKICAgICBpZiAoY2hfbW9kZSA9PSBOT1JNQUxfTU9ERSB8fCBjaF9tb2RlID09 IEVDSE9fTU9ERSkgewpkaWZmIC0tZ2l0IGEvaHcvY2hhci9jbXNkay1hcGItdWFydC5jIGIvaHcv Y2hhci9jbXNkay1hcGItdWFydC5jCmluZGV4IDc3NDk4NmQ4OGQuLmMxNDM3Njc0YTUgMTAwNjQ0 Ci0tLSBhL2h3L2NoYXIvY21zZGstYXBiLXVhcnQuYworKysgYi9ody9jaGFyL2Ntc2RrLWFwYi11 YXJ0LmMKQEAgLTEwOCw3ICsxMDgsNyBAQCBzdGF0aWMgdm9pZCBjbXNka19hcGJfdWFydF91cGRh dGUoQ01TREtBUEJVQVJUICpzKQogICAgIHFlbXVfc2V0X2lycShzLT51YXJ0aW50LCAhIShzLT5p bnRzdGF0dXMpKTsKIH0KIAotc3RhdGljIGludCB1YXJ0X2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1 ZSkKK3N0YXRpYyBzaXplX3QgdWFydF9jYW5fcmVjZWl2ZSh2b2lkICpvcGFxdWUpCiB7CiAgICAg Q01TREtBUEJVQVJUICpzID0gQ01TREtfQVBCX1VBUlQob3BhcXVlKTsKIApkaWZmIC0tZ2l0IGEv aHcvY2hhci9kaWdpYy11YXJ0LmMgYi9ody9jaGFyL2RpZ2ljLXVhcnQuYwppbmRleCAwZjQxYTIz YjU0Li5mODA1ZWU1NzY2IDEwMDY0NAotLS0gYS9ody9jaGFyL2RpZ2ljLXVhcnQuYworKysgYi9o dy9jaGFyL2RpZ2ljLXVhcnQuYwpAQCAtMTEyLDcgKzExMiw3IEBAIHN0YXRpYyBjb25zdCBNZW1v cnlSZWdpb25PcHMgdWFydF9tbWlvX29wcyA9IHsKICAgICAuZW5kaWFubmVzcyA9IERFVklDRV9O QVRJVkVfRU5ESUFOLAogfTsKIAotc3RhdGljIGludCB1YXJ0X2Nhbl9yeCh2b2lkICpvcGFxdWUp CitzdGF0aWMgc2l6ZV90IHVhcnRfY2FuX3J4KHZvaWQgKm9wYXF1ZSkKIHsKICAgICBEaWdpY1Vh cnRTdGF0ZSAqcyA9IG9wYXF1ZTsKIApkaWZmIC0tZ2l0IGEvaHcvY2hhci9lc2NjLmMgYi9ody9j aGFyL2VzY2MuYwppbmRleCBlNjU1Yjg2MjczLi5kZWNjMzViOTkwIDEwMDY0NAotLS0gYS9ody9j aGFyL2VzY2MuYworKysgYi9ody9jaGFyL2VzY2MuYwpAQCAtMTY2LDcgKzE2Niw3IEBACiAjZGVm aW5lIFJfRVhUSU5UIDE1CiAKIHN0YXRpYyB2b2lkIGhhbmRsZV9rYmRfY29tbWFuZChFU0NDQ2hh bm5lbFN0YXRlICpzLCBpbnQgdmFsKTsKLXN0YXRpYyBpbnQgc2VyaWFsX2Nhbl9yZWNlaXZlKHZv aWQgKm9wYXF1ZSk7CitzdGF0aWMgc2l6ZV90IHNlcmlhbF9jYW5fcmVjZWl2ZSh2b2lkICpvcGFx dWUpOwogc3RhdGljIHZvaWQgc2VyaWFsX3JlY2VpdmVfYnl0ZShFU0NDQ2hhbm5lbFN0YXRlICpz LCBpbnQgY2gpOwogCiBzdGF0aWMgdm9pZCBjbGVhcl9xdWV1ZSh2b2lkICpvcGFxdWUpCkBAIC01 NzMsMTAgKzU3MywxMCBAQCBzdGF0aWMgY29uc3QgTWVtb3J5UmVnaW9uT3BzIGVzY2NfbWVtX29w cyA9IHsKICAgICB9LAogfTsKIAotc3RhdGljIGludCBzZXJpYWxfY2FuX3JlY2VpdmUodm9pZCAq b3BhcXVlKQorc3RhdGljIHNpemVfdCBzZXJpYWxfY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVlKQog ewogICAgIEVTQ0NDaGFubmVsU3RhdGUgKnMgPSBvcGFxdWU7Ci0gICAgaW50IHJldDsKKyAgICBz aXplX3QgcmV0OwogCiAgICAgaWYgKCgocy0+d3JlZ3NbV19SWENUUkxdICYgUlhDVFJMX1JYRU4p ID09IDApIC8vIFJ4IG5vdCBlbmFibGVkCiAgICAgICAgIHx8ICgocy0+cnJlZ3NbUl9TVEFUVVNd ICYgU1RBVFVTX1JYQVYpID09IFNUQVRVU19SWEFWKSkKZGlmZiAtLWdpdCBhL2h3L2NoYXIvZXRy YXhmc19zZXIuYyBiL2h3L2NoYXIvZXRyYXhmc19zZXIuYwppbmRleCA3OWNkOGQyZGMxLi45NzBm NmE2ZTkwIDEwMDY0NAotLS0gYS9ody9jaGFyL2V0cmF4ZnNfc2VyLmMKKysrIGIvaHcvY2hhci9l dHJheGZzX3Nlci5jCkBAIC0xODcsNyArMTg3LDcgQEAgc3RhdGljIHZvaWQgc2VyaWFsX3JlY2Vp dmUodm9pZCAqb3BhcXVlLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplKQogICAgIHNl cl91cGRhdGVfaXJxKHMpOwogfQogCi1zdGF0aWMgaW50IHNlcmlhbF9jYW5fcmVjZWl2ZSh2b2lk ICpvcGFxdWUpCitzdGF0aWMgc2l6ZV90IHNlcmlhbF9jYW5fcmVjZWl2ZSh2b2lkICpvcGFxdWUp CiB7CiAgICAgRVRSQVhTZXJpYWwgKnMgPSBvcGFxdWU7CiAKZGlmZiAtLWdpdCBhL2h3L2NoYXIv ZXh5bm9zNDIxMF91YXJ0LmMgYi9ody9jaGFyL2V4eW5vczQyMTBfdWFydC5jCmluZGV4IDVmZGY1 YjFmMzcuLmI5M2VkZWMwOGEgMTAwNjQ0Ci0tLSBhL2h3L2NoYXIvZXh5bm9zNDIxMF91YXJ0LmMK KysrIGIvaHcvY2hhci9leHlub3M0MjEwX3VhcnQuYwpAQCAtNDg3LDcgKzQ4Nyw3IEBAIHN0YXRp YyBjb25zdCBNZW1vcnlSZWdpb25PcHMgZXh5bm9zNDIxMF91YXJ0X29wcyA9IHsKICAgICB9LAog fTsKIAotc3RhdGljIGludCBleHlub3M0MjEwX3VhcnRfY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVl KQorc3RhdGljIHNpemVfdCBleHlub3M0MjEwX3VhcnRfY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVl KQogewogICAgIEV4eW5vczQyMTBVYXJ0U3RhdGUgKnMgPSAoRXh5bm9zNDIxMFVhcnRTdGF0ZSAq KW9wYXF1ZTsKIApkaWZmIC0tZ2l0IGEvaHcvY2hhci9ncmxpYl9hcGJ1YXJ0LmMgYi9ody9jaGFy L2dybGliX2FwYnVhcnQuYwppbmRleCBkMzcwNjA5YTUyLi43YjU3ZGNlN2ZiIDEwMDY0NAotLS0g YS9ody9jaGFyL2dybGliX2FwYnVhcnQuYworKysgYi9ody9jaGFyL2dybGliX2FwYnVhcnQuYwpA QCAtMTMwLDcgKzEzMCw3IEBAIHN0YXRpYyB2b2lkIHVhcnRfYWRkX3RvX2ZpZm8oVUFSVCAgICAg ICAgICAqdWFydCwKICAgICB1YXJ0LT5sZW4gKz0gbGVuZ3RoOwogfQogCi1zdGF0aWMgaW50IGdy bGliX2FwYnVhcnRfY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVlKQorc3RhdGljIHNpemVfdCBncmxp Yl9hcGJ1YXJ0X2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkKIHsKICAgICBVQVJUICp1YXJ0ID0g b3BhcXVlOwogCmRpZmYgLS1naXQgYS9ody9jaGFyL2lteF9zZXJpYWwuYyBiL2h3L2NoYXIvaW14 X3NlcmlhbC5jCmluZGV4IGI5ZmRmYWViMzguLmFiYmU2ODU3MWQgMTAwNjQ0Ci0tLSBhL2h3L2No YXIvaW14X3NlcmlhbC5jCisrKyBiL2h3L2NoYXIvaW14X3NlcmlhbC5jCkBAIC0yOTMsNyArMjkz LDcgQEAgc3RhdGljIHZvaWQgaW14X3NlcmlhbF93cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBv ZmZzZXQsCiAgICAgfQogfQogCi1zdGF0aWMgaW50IGlteF9jYW5fcmVjZWl2ZSh2b2lkICpvcGFx dWUpCitzdGF0aWMgc2l6ZV90IGlteF9jYW5fcmVjZWl2ZSh2b2lkICpvcGFxdWUpCiB7CiAgICAg SU1YU2VyaWFsU3RhdGUgKnMgPSAoSU1YU2VyaWFsU3RhdGUgKilvcGFxdWU7CiAgICAgcmV0dXJu ICEocy0+dXNyMSAmIFVTUjFfUlJEWSk7CmRpZmYgLS1naXQgYS9ody9jaGFyL2lwb2N0YWwyMzIu YyBiL2h3L2NoYXIvaXBvY3RhbDIzMi5jCmluZGV4IDA4ZTNmOWU0NWYuLmJlMjEzMDNkY2QgMTAw NjQ0Ci0tLSBhL2h3L2NoYXIvaXBvY3RhbDIzMi5jCisrKyBiL2h3L2NoYXIvaXBvY3RhbDIzMi5j CkBAIC00NjEsMTAgKzQ2MSwxMCBAQCBzdGF0aWMgdm9pZCBtZW1fd3JpdGU4KElQYWNrRGV2aWNl ICppcCwgdWludDMyX3QgYWRkciwgdWludDhfdCB2YWwpCiAgICAgfQogfQogCi1zdGF0aWMgaW50 IGhvc3RkZXZfY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVlKQorc3RhdGljIHNpemVfdCBob3N0ZGV2 X2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkKIHsKICAgICBTQ0MyNjk4Q2hhbm5lbCAqY2ggPSBv cGFxdWU7Ci0gICAgaW50IGF2YWlsYWJsZV9ieXRlcyA9IFJYX0ZJRk9fU0laRSAtIGNoLT5yeF9w ZW5kaW5nOworICAgIHNpemVfdCBhdmFpbGFibGVfYnl0ZXMgPSBSWF9GSUZPX1NJWkUgLSBjaC0+ cnhfcGVuZGluZzsKICAgICByZXR1cm4gY2gtPnJ4X2VuYWJsZWQgPyBhdmFpbGFibGVfYnl0ZXMg OiAwOwogfQogCmRpZmYgLS1naXQgYS9ody9jaGFyL2xtMzJfanVhcnQuYyBiL2h3L2NoYXIvbG0z Ml9qdWFydC5jCmluZGV4IGVjYjYxZWUwODYuLjUxZTU5OGM1NzAgMTAwNjQ0Ci0tLSBhL2h3L2No YXIvbG0zMl9qdWFydC5jCisrKyBiL2h3L2NoYXIvbG0zMl9qdWFydC5jCkBAIC05NSw3ICs5NSw3 IEBAIHN0YXRpYyB2b2lkIGp1YXJ0X3J4KHZvaWQgKm9wYXF1ZSwgY29uc3QgdWludDhfdCAqYnVm LCBzaXplX3Qgc2l6ZSkKICAgICBzLT5qcnggPSAqYnVmIHwgSlJYX0ZVTEw7CiB9CiAKLXN0YXRp YyBpbnQganVhcnRfY2FuX3J4KHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QganVhcnRfY2Fu X3J4KHZvaWQgKm9wYXF1ZSkKIHsKICAgICBMTTMySnVhcnRTdGF0ZSAqcyA9IG9wYXF1ZTsKIApk aWZmIC0tZ2l0IGEvaHcvY2hhci9sbTMyX3VhcnQuYyBiL2h3L2NoYXIvbG0zMl91YXJ0LmMKaW5k ZXggZWUwYmY4ZTExNy4uMjU5MzQzNGY4ZiAxMDA2NDQKLS0tIGEvaHcvY2hhci9sbTMyX3VhcnQu YworKysgYi9ody9jaGFyL2xtMzJfdWFydC5jCkBAIC0yMjUsNyArMjI1LDcgQEAgc3RhdGljIHZv aWQgdWFydF9yeCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemUp CiAgICAgdWFydF91cGRhdGVfaXJxKHMpOwogfQogCi1zdGF0aWMgaW50IHVhcnRfY2FuX3J4KHZv aWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QgdWFydF9jYW5fcngodm9pZCAqb3BhcXVlKQogewog ICAgIExNMzJVYXJ0U3RhdGUgKnMgPSBvcGFxdWU7CiAKZGlmZiAtLWdpdCBhL2h3L2NoYXIvbWNm X3VhcnQuYyBiL2h3L2NoYXIvbWNmX3VhcnQuYwppbmRleCBlMTI2ODYwYjQ2Li5jZDljNDk5YTUx IDEwMDY0NAotLS0gYS9ody9jaGFyL21jZl91YXJ0LmMKKysrIGIvaHcvY2hhci9tY2ZfdWFydC5j CkBAIC0yNjcsNyArMjY3LDcgQEAgc3RhdGljIHZvaWQgbWNmX3VhcnRfZXZlbnQodm9pZCAqb3Bh cXVlLCBpbnQgZXZlbnQpCiAgICAgfQogfQogCi1zdGF0aWMgaW50IG1jZl91YXJ0X2Nhbl9yZWNl aXZlKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QgbWNmX3VhcnRfY2FuX3JlY2VpdmUodm9p ZCAqb3BhcXVlKQogewogICAgIG1jZl91YXJ0X3N0YXRlICpzID0gKG1jZl91YXJ0X3N0YXRlICop b3BhcXVlOwogCmRpZmYgLS1naXQgYS9ody9jaGFyL21pbGt5bWlzdC11YXJ0LmMgYi9ody9jaGFy L21pbGt5bWlzdC11YXJ0LmMKaW5kZXggYTEwYzA5NTdmZi4uMGVmY2Q4MjljZSAxMDA2NDQKLS0t IGEvaHcvY2hhci9taWxreW1pc3QtdWFydC5jCisrKyBiL2h3L2NoYXIvbWlsa3ltaXN0LXVhcnQu YwpAQCAtMTcwLDcgKzE3MCw3IEBAIHN0YXRpYyB2b2lkIHVhcnRfcngodm9pZCAqb3BhcXVlLCBj b25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplKQogICAgIHVhcnRfdXBkYXRlX2lycShzKTsK IH0KIAotc3RhdGljIGludCB1YXJ0X2Nhbl9yeCh2b2lkICpvcGFxdWUpCitzdGF0aWMgc2l6ZV90 IHVhcnRfY2FuX3J4KHZvaWQgKm9wYXF1ZSkKIHsKICAgICBNaWxreW1pc3RVYXJ0U3RhdGUgKnMg PSBvcGFxdWU7CiAKZGlmZiAtLWdpdCBhL2h3L2NoYXIvcGFyYWxsZWwuYyBiL2h3L2NoYXIvcGFy YWxsZWwuYwppbmRleCBhODBkYTQ3ZWNmLi5mZTBlNWM4NzU2IDEwMDY0NAotLS0gYS9ody9jaGFy L3BhcmFsbGVsLmMKKysrIGIvaHcvY2hhci9wYXJhbGxlbC5jCkBAIC01MTMsNyArNTEzLDcgQEAg c3RhdGljIGNvbnN0IFZNU3RhdGVEZXNjcmlwdGlvbiB2bXN0YXRlX3BhcmFsbGVsX2lzYSA9IHsK ICAgICB9CiB9OwogCi1zdGF0aWMgaW50IHBhcmFsbGVsX2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1 ZSkKK3N0YXRpYyBzaXplX3QgcGFyYWxsZWxfY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVlKQogewog ICAgICByZXR1cm4gMTsKIH0KZGlmZiAtLWdpdCBhL2h3L2NoYXIvcGwwMTEuYyBiL2h3L2NoYXIv cGwwMTEuYwppbmRleCAzNzk3M2MzMmNlLi4xMDE5NTY3OWI0IDEwMDY0NAotLS0gYS9ody9jaGFy L3BsMDExLmMKKysrIGIvaHcvY2hhci9wbDAxMS5jCkBAIC0yMjQsMTAgKzIyNCwxMCBAQCBzdGF0 aWMgdm9pZCBwbDAxMV93cml0ZSh2b2lkICpvcGFxdWUsIGh3YWRkciBvZmZzZXQsCiAgICAgfQog fQogCi1zdGF0aWMgaW50IHBsMDExX2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBz aXplX3QgcGwwMTFfY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVlKQogewogICAgIFBMMDExU3RhdGUg KnMgPSAoUEwwMTFTdGF0ZSAqKW9wYXF1ZTsKLSAgICBpbnQgcjsKKyAgICBzaXplX3QgcjsKIAog ICAgIGlmIChzLT5sY3IgJiAweDEwKSB7CiAgICAgICAgIHIgPSBzLT5yZWFkX2NvdW50IDwgMTY7 CmRpZmYgLS1naXQgYS9ody9jaGFyL3NjbHBjb25zb2xlLWxtLmMgYi9ody9jaGFyL3NjbHBjb25z b2xlLWxtLmMKaW5kZXggYTA0YTJhOWQ4MC4uYWQ1Zjc5MTIyNyAxMDA2NDQKLS0tIGEvaHcvY2hh ci9zY2xwY29uc29sZS1sbS5jCisrKyBiL2h3L2NoYXIvc2NscGNvbnNvbGUtbG0uYwpAQCAtNjEs NyArNjEsNyBAQCB0eXBlZGVmIHN0cnVjdCBTQ0xQQ29uc29sZUxNIHsKICAqIHRydW5jYXRlZCB0 byB0aGUgZ3Vlc3QgaW4gY2FzZSBpdCBkb2Vzbid0IGZpdCBpbnRvIHRoZSBTQ0NCLgogICovCiAK LXN0YXRpYyBpbnQgY2hyX2Nhbl9yZWFkKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QgY2hy X2Nhbl9yZWFkKHZvaWQgKm9wYXF1ZSkKIHsKICAgICBTQ0xQQ29uc29sZUxNICpzY29uID0gb3Bh cXVlOwogCmRpZmYgLS1naXQgYS9ody9jaGFyL3NjbHBjb25zb2xlLmMgYi9ody9jaGFyL3NjbHBj b25zb2xlLmMKaW5kZXggNjIzOTVjMTlmNC4uNWVjMWM0YjYwNyAxMDA2NDQKLS0tIGEvaHcvY2hh ci9zY2xwY29uc29sZS5jCisrKyBiL2h3L2NoYXIvc2NscGNvbnNvbGUuYwpAQCAtNDcsMTAgKzQ3 LDEwIEBAIHR5cGVkZWYgc3RydWN0IFNDTFBDb25zb2xlIHsKIC8qIGNoYXJhY3RlciBsYXllciBj YWxsLWJhY2sgZnVuY3Rpb25zICovCiAKIC8qIFJldHVybiBudW1iZXIgb2YgYnl0ZXMgdGhhdCBm aXQgaW50byBpb3YgYnVmZmVyICovCi1zdGF0aWMgaW50IGNocl9jYW5fcmVhZCh2b2lkICpvcGFx dWUpCitzdGF0aWMgc2l6ZV90IGNocl9jYW5fcmVhZCh2b2lkICpvcGFxdWUpCiB7CiAgICAgU0NM UENvbnNvbGUgKnNjb24gPSBvcGFxdWU7Ci0gICAgaW50IGF2YWlsID0gU0laRV9CVUZGRVJfVlQy MjAgLSBzY29uLT5pb3ZfZGF0YV9sZW47CisgICAgc2l6ZV90IGF2YWlsID0gU0laRV9CVUZGRVJf VlQyMjAgLSBzY29uLT5pb3ZfZGF0YV9sZW47CiAKICAgICBpZiAoYXZhaWwgPT0gMCkgewogICAg ICAgICBzY29uLT5ub3RpZnkgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvaHcvY2hhci9zZXJpYWwuYyBi L2h3L2NoYXIvc2VyaWFsLmMKaW5kZXggNjliYWVkMTA1Yi4uZjgzYmI4ZWU0ZSAxMDA2NDQKLS0t IGEvaHcvY2hhci9zZXJpYWwuYworKysgYi9ody9jaGFyL3NlcmlhbC5jCkBAIC01NjEsNyArNTYx LDcgQEAgc3RhdGljIHVpbnQ2NF90IHNlcmlhbF9pb3BvcnRfcmVhZCh2b2lkICpvcGFxdWUsIGh3 YWRkciBhZGRyLCB1bnNpZ25lZCBzaXplKQogICAgIHJldHVybiByZXQ7CiB9CiAKLXN0YXRpYyBp bnQgc2VyaWFsX2Nhbl9yZWNlaXZlKFNlcmlhbFN0YXRlICpzKQorc3RhdGljIHNpemVfdCBzZXJp YWxfY2FuX3JlY2VpdmUoU2VyaWFsU3RhdGUgKnMpCiB7CiAgICAgaWYocy0+ZmNyICYgVUFSVF9G Q1JfRkUpIHsKICAgICAgICAgaWYgKHMtPnJlY3ZfZmlmby5udW0gPCBVQVJUX0ZJRk9fTEVOR1RI KSB7CkBAIC02MDAsNyArNjAwLDcgQEAgc3RhdGljIHZvaWQgZmlmb190aW1lb3V0X2ludCAodm9p ZCAqb3BhcXVlKSB7CiAgICAgfQogfQogCi1zdGF0aWMgaW50IHNlcmlhbF9jYW5fcmVjZWl2ZTEo dm9pZCAqb3BhcXVlKQorc3RhdGljIHNpemVfdCBzZXJpYWxfY2FuX3JlY2VpdmUxKHZvaWQgKm9w YXF1ZSkKIHsKICAgICBTZXJpYWxTdGF0ZSAqcyA9IG9wYXF1ZTsKICAgICByZXR1cm4gc2VyaWFs X2Nhbl9yZWNlaXZlKHMpOwpkaWZmIC0tZ2l0IGEvaHcvY2hhci9zaF9zZXJpYWwuYyBiL2h3L2No YXIvc2hfc2VyaWFsLmMKaW5kZXggMDRmZGNlZTMyOC4uZjU0MDJkM2I1YyAxMDA2NDQKLS0tIGEv aHcvY2hhci9zaF9zZXJpYWwuYworKysgYi9ody9jaGFyL3NoX3NlcmlhbC5jCkBAIC0zMDAsNyAr MzAwLDcgQEAgc3RhdGljIHVpbnQ2NF90IHNoX3NlcmlhbF9yZWFkKHZvaWQgKm9wYXF1ZSwgaHdh ZGRyIG9mZnMsCiAgICAgcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIGludCBzaF9zZXJpYWxfY2Fu X3JlY2VpdmUoc2hfc2VyaWFsX3N0YXRlICpzKQorc3RhdGljIHNpemVfdCBzaF9zZXJpYWxfY2Fu X3JlY2VpdmUoc2hfc2VyaWFsX3N0YXRlICpzKQogewogICAgIHJldHVybiBzLT5zY3IgJiAoMSA8 PCA0KTsKIH0KQEAgLTMxMSw3ICszMTEsNyBAQCBzdGF0aWMgdm9pZCBzaF9zZXJpYWxfcmVjZWl2 ZV9icmVhayhzaF9zZXJpYWxfc3RhdGUgKnMpCiAgICAgICAgIHMtPnNyIHw9ICgxIDw8IDQpOwog fQogCi1zdGF0aWMgaW50IHNoX3NlcmlhbF9jYW5fcmVjZWl2ZTEodm9pZCAqb3BhcXVlKQorc3Rh dGljIHNpemVfdCBzaF9zZXJpYWxfY2FuX3JlY2VpdmUxKHZvaWQgKm9wYXF1ZSkKIHsKICAgICBz aF9zZXJpYWxfc3RhdGUgKnMgPSBvcGFxdWU7CiAgICAgcmV0dXJuIHNoX3NlcmlhbF9jYW5fcmVj ZWl2ZShzKTsKZGlmZiAtLWdpdCBhL2h3L2NoYXIvc3BhcHJfdnR5LmMgYi9ody9jaGFyL3NwYXBy X3Z0eS5jCmluZGV4IDQyYjRiNjFjY2UuLjBhYzlkYzg0NDggMTAwNjQ0Ci0tLSBhL2h3L2NoYXIv c3BhcHJfdnR5LmMKKysrIGIvaHcvY2hhci9zcGFwcl92dHkuYwpAQCAtMjEsNyArMjEsNyBAQCB0 eXBlZGVmIHN0cnVjdCBWSU9zUEFQUlZUWURldmljZSB7CiAjZGVmaW5lIFZJT19TUEFQUl9WVFlf REVWSUNFKG9iaikgXAogICAgICBPQkpFQ1RfQ0hFQ0soVklPc1BBUFJWVFlEZXZpY2UsIChvYmop LCBUWVBFX1ZJT19TUEFQUl9WVFlfREVWSUNFKQogCi1zdGF0aWMgaW50IHZ0eV9jYW5fcmVjZWl2 ZSh2b2lkICpvcGFxdWUpCitzdGF0aWMgc2l6ZV90IHZ0eV9jYW5fcmVjZWl2ZSh2b2lkICpvcGFx dWUpCiB7CiAgICAgVklPc1BBUFJWVFlEZXZpY2UgKmRldiA9IFZJT19TUEFQUl9WVFlfREVWSUNF KG9wYXF1ZSk7CiAKZGlmZiAtLWdpdCBhL2h3L2NoYXIvc3RtMzJmMnh4X3VzYXJ0LmMgYi9ody9j aGFyL3N0bTMyZjJ4eF91c2FydC5jCmluZGV4IDc4YmYxNDI2NzguLjYzMjU2ZGE3N2IgMTAwNjQ0 Ci0tLSBhL2h3L2NoYXIvc3RtMzJmMnh4X3VzYXJ0LmMKKysrIGIvaHcvY2hhci9zdG0zMmYyeHhf dXNhcnQuYwpAQCAtMzgsNyArMzgsNyBAQAogCiAjZGVmaW5lIERCX1BSSU5UKGZtdCwgYXJncy4u LikgREJfUFJJTlRfTCgxLCBmbXQsICMjIGFyZ3MpCiAKLXN0YXRpYyBpbnQgc3RtMzJmMnh4X3Vz YXJ0X2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3Qgc3RtMzJmMnh4X3Vz YXJ0X2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkKIHsKICAgICBTVE0zMkYyWFhVc2FydFN0YXRl ICpzID0gb3BhcXVlOwogCmRpZmYgLS1naXQgYS9ody9jaGFyL3Rlcm1pbmFsMzI3MC5jIGIvaHcv Y2hhci90ZXJtaW5hbDMyNzAuYwppbmRleCAwNzY1MTY5OTFlLi5hOWRiMGEzNDAxIDEwMDY0NAot LS0gYS9ody9jaGFyL3Rlcm1pbmFsMzI3MC5jCisrKyBiL2h3L2NoYXIvdGVybWluYWwzMjcwLmMK QEAgLTM4LDcgKzM4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgVGVybWluYWwzMjcwIHsKICNkZWZpbmUg VEVSTUlOQUxfMzI3MChvYmopIFwKICAgICAgICAgT0JKRUNUX0NIRUNLKFRlcm1pbmFsMzI3MCwg KG9iaiksIFRZUEVfVEVSTUlOQUxfMzI3MCkKIAotc3RhdGljIGludCB0ZXJtaW5hbF9jYW5fcmVh ZCh2b2lkICpvcGFxdWUpCitzdGF0aWMgc2l6ZV90IHRlcm1pbmFsX2Nhbl9yZWFkKHZvaWQgKm9w YXF1ZSkKIHsKICAgICBUZXJtaW5hbDMyNzAgKnQgPSBvcGFxdWU7CiAKZGlmZiAtLWdpdCBhL2h3 L2NoYXIvdmlydGlvLWNvbnNvbGUuYyBiL2h3L2NoYXIvdmlydGlvLWNvbnNvbGUuYwppbmRleCBl M2QzNjhiOTc2Li5iOTQyMTU5ZDgyIDEwMDY0NAotLS0gYS9ody9jaGFyL3ZpcnRpby1jb25zb2xl LmMKKysrIGIvaHcvY2hhci92aXJ0aW8tY29uc29sZS5jCkBAIC0xMjYsNyArMTI2LDcgQEAgc3Rh dGljIHZvaWQgZ3Vlc3Rfd3JpdGFibGUoVmlydElPU2VyaWFsUG9ydCAqcG9ydCkKIH0KIAogLyog UmVhZGluZXNzIG9mIHRoZSBndWVzdCB0byBhY2NlcHQgZGF0YSBvbiBhIHBvcnQgKi8KLXN0YXRp YyBpbnQgY2hyX2Nhbl9yZWFkKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QgY2hyX2Nhbl9y ZWFkKHZvaWQgKm9wYXF1ZSkKIHsKICAgICBWaXJ0Q29uc29sZSAqdmNvbiA9IG9wYXF1ZTsKIApk aWZmIC0tZ2l0IGEvaHcvY2hhci94ZW5fY29uc29sZS5jIGIvaHcvY2hhci94ZW5fY29uc29sZS5j CmluZGV4IGNhOTBjNWMxN2UuLjBhMWNiYWVhZmEgMTAwNjQ0Ci0tLSBhL2h3L2NoYXIveGVuX2Nv bnNvbGUuYworKysgYi9ody9jaGFyL3hlbl9jb25zb2xlLmMKQEAgLTExNiw3ICsxMTYsNyBAQCBz dGF0aWMgaW50IHJpbmdfZnJlZV9ieXRlcyhzdHJ1Y3QgWGVuQ29uc29sZSAqY29uKQogICAgIHJl dHVybiAoc2l6ZW9mKGludGYtPmluKSAtIHNwYWNlKTsKIH0KIAotc3RhdGljIGludCB4ZW5jb25z X2Nhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QgeGVuY29uc19jYW5fcmVj ZWl2ZSh2b2lkICpvcGFxdWUpCiB7CiAgICAgc3RydWN0IFhlbkNvbnNvbGUgKmNvbiA9IG9wYXF1 ZTsKICAgICByZXR1cm4gcmluZ19mcmVlX2J5dGVzKGNvbik7CmRpZmYgLS1naXQgYS9ody9jaGFy L3hpbGlueF91YXJ0bGl0ZS5jIGIvaHcvY2hhci94aWxpbnhfdWFydGxpdGUuYwppbmRleCBiMWFi ZjhiNjA0Li4yNDczY2IwYWQ3IDEwMDY0NAotLS0gYS9ody9jaGFyL3hpbGlueF91YXJ0bGl0ZS5j CisrKyBiL2h3L2NoYXIveGlsaW54X3VhcnRsaXRlLmMKQEAgLTE5NSw3ICsxOTUsNyBAQCBzdGF0 aWMgdm9pZCB1YXJ0X3J4KHZvaWQgKm9wYXF1ZSwgY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3Qg c2l6ZSkKICAgICB1YXJ0X3VwZGF0ZV9pcnEocyk7CiB9CiAKLXN0YXRpYyBpbnQgdWFydF9jYW5f cngodm9pZCAqb3BhcXVlKQorc3RhdGljIHNpemVfdCB1YXJ0X2Nhbl9yeCh2b2lkICpvcGFxdWUp CiB7CiAgICAgWGlsaW54VUFSVExpdGUgKnMgPSBvcGFxdWU7CiAKZGlmZiAtLWdpdCBhL2h3L2lw bWkvaXBtaV9ibWNfZXh0ZXJuLmMgYi9ody9pcG1pL2lwbWlfYm1jX2V4dGVybi5jCmluZGV4IGM1 MmY4MGY3NzEuLjcxMDdkMmZlOWYgMTAwNjQ0Ci0tLSBhL2h3L2lwbWkvaXBtaV9ibWNfZXh0ZXJu LmMKKysrIGIvaHcvaXBtaS9pcG1pX2JtY19leHRlcm4uYwpAQCAtMzA3LDcgKzMwNyw3IEBAIHN0 YXRpYyB2b2lkIGhhbmRsZV9tc2coSVBNSUJtY0V4dGVybiAqaWJlKQogICAgIGstPmhhbmRsZV9y c3AoaWJlLT5wYXJlbnQuaW50ZiwgaWJlLT5pbmJ1ZlswXSwgaWJlLT5pbmJ1ZiArIDEsIGliZS0+ aW5wb3MgLSAxKTsKIH0KIAotc3RhdGljIGludCBjYW5fcmVjZWl2ZSh2b2lkICpvcGFxdWUpCitz dGF0aWMgc2l6ZV90IGNhbl9yZWNlaXZlKHZvaWQgKm9wYXF1ZSkKIHsKICAgICByZXR1cm4gMTsK IH0KZGlmZiAtLWdpdCBhL2h3L21pc2MvaXZzaG1lbS5jIGIvaHcvbWlzYy9pdnNobWVtLmMKaW5k ZXggZjUwNjQ3OTg0NS4uMDFiMzMxYWFhYiAxMDA2NDQKLS0tIGEvaHcvbWlzYy9pdnNobWVtLmMK KysrIGIvaHcvbWlzYy9pdnNobWVtLmMKQEAgLTYyMCw3ICs2MjAsNyBAQCBzdGF0aWMgdm9pZCBw cm9jZXNzX21zZyhJVlNobWVtU3RhdGUgKnMsIGludDY0X3QgbXNnLCBpbnQgZmQsIEVycm9yICoq ZXJycCkKICAgICB9CiB9CiAKLXN0YXRpYyBpbnQgaXZzaG1lbV9jYW5fcmVjZWl2ZSh2b2lkICpv cGFxdWUpCitzdGF0aWMgc2l6ZV90IGl2c2htZW1fY2FuX3JlY2VpdmUodm9pZCAqb3BhcXVlKQog ewogICAgIElWU2htZW1TdGF0ZSAqcyA9IG9wYXF1ZTsKIApkaWZmIC0tZ2l0IGEvaHcvcmlzY3Yv cmlzY3ZfaHRpZi5jIGIvaHcvcmlzY3YvcmlzY3ZfaHRpZi5jCmluZGV4IDI2MjVmNWU5ZTguLjU2 NTEyMGRmN2QgMTAwNjQ0Ci0tLSBhL2h3L3Jpc2N2L3Jpc2N2X2h0aWYuYworKysgYi9ody9yaXNj di9yaXNjdl9odGlmLmMKQEAgLTY1LDcgKzY1LDcgQEAgdm9pZCBodGlmX3N5bWJvbF9jYWxsYmFj ayhjb25zdCBjaGFyICpzdF9uYW1lLCBpbnQgc3RfaW5mbywgdWludDY0X3Qgc3RfdmFsdWUsCiAv KgogICogQ2FsbGVkIGJ5IHRoZSBjaGFyIGRldiB0byBzZWUgaWYgSFRJRiBpcyByZWFkeSB0byBh Y2NlcHQgaW5wdXQuCiAgKi8KLXN0YXRpYyBpbnQgaHRpZl9jYW5fcmVjdih2b2lkICpvcGFxdWUp CitzdGF0aWMgc2l6ZV90IGh0aWZfY2FuX3JlY3Yodm9pZCAqb3BhcXVlKQogewogICAgIHJldHVy biAxOwogfQpkaWZmIC0tZ2l0IGEvaHcvcmlzY3Yvc2lmaXZlX3VhcnQuYyBiL2h3L3Jpc2N2L3Np Zml2ZV91YXJ0LmMKaW5kZXggZDRjYmY5MWI5Zi4uYzZhOGY1ZmJjNCAxMDA2NDQKLS0tIGEvaHcv cmlzY3Yvc2lmaXZlX3VhcnQuYworKysgYi9ody9yaXNjdi9zaWZpdmVfdWFydC5jCkBAIC0xMzcs NyArMTM3LDcgQEAgc3RhdGljIHZvaWQgdWFydF9yeCh2b2lkICpvcGFxdWUsIGNvbnN0IHVpbnQ4 X3QgKmJ1Ziwgc2l6ZV90IHNpemUpCiAgICAgdXBkYXRlX2lycShzKTsKIH0KIAotc3RhdGljIGlu dCB1YXJ0X2Nhbl9yeCh2b2lkICpvcGFxdWUpCitzdGF0aWMgc2l6ZV90IHVhcnRfY2FuX3J4KHZv aWQgKm9wYXF1ZSkKIHsKICAgICBTaUZpdmVVQVJUU3RhdGUgKnMgPSBvcGFxdWU7CiAKZGlmZiAt LWdpdCBhL2h3L3VzYi9jY2lkLWNhcmQtcGFzc3RocnUuYyBiL2h3L3VzYi9jY2lkLWNhcmQtcGFz c3RocnUuYwppbmRleCBiNmZhMzVhNGI0Li41ZGMxMGVmODUwIDEwMDY0NAotLS0gYS9ody91c2Iv Y2NpZC1jYXJkLXBhc3N0aHJ1LmMKKysrIGIvaHcvdXNiL2NjaWQtY2FyZC1wYXNzdGhydS5jCkBA IC0xMTIsNyArMTEyLDcgQEAgc3RhdGljIHZvaWQgY2NpZF9jYXJkX3ZzY2FyZF9zZW5kX2luaXQo UGFzc3RocnVTdGF0ZSAqcykKICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDhfdCAqKSZt c2csIHNpemVvZihtc2cpKTsKIH0KIAotc3RhdGljIGludCBjY2lkX2NhcmRfdnNjYXJkX2Nhbl9y ZWFkKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QgY2NpZF9jYXJkX3ZzY2FyZF9jYW5fcmVh ZCh2b2lkICpvcGFxdWUpCiB7CiAgICAgUGFzc3RocnVTdGF0ZSAqY2FyZCA9IG9wYXF1ZTsKIApk aWZmIC0tZ2l0IGEvaHcvdXNiL2Rldi1zZXJpYWwuYyBiL2h3L3VzYi9kZXYtc2VyaWFsLmMKaW5k ZXggZWZhZWFiNDg0ZC4uZTk3MzVkNGI1ZCAxMDA2NDQKLS0tIGEvaHcvdXNiL2Rldi1zZXJpYWwu YworKysgYi9ody91c2IvZGV2LXNlcmlhbC5jCkBAIC00MjEsNyArNDIxLDcgQEAgc3RhdGljIHZv aWQgdXNiX3NlcmlhbF9oYW5kbGVfZGF0YShVU0JEZXZpY2UgKmRldiwgVVNCUGFja2V0ICpwKQog ICAgIH0KIH0KIAotc3RhdGljIGludCB1c2Jfc2VyaWFsX2Nhbl9yZWFkKHZvaWQgKm9wYXF1ZSkK K3N0YXRpYyBzaXplX3QgdXNiX3NlcmlhbF9jYW5fcmVhZCh2b2lkICpvcGFxdWUpCiB7CiAgICAg VVNCU2VyaWFsU3RhdGUgKnMgPSBvcGFxdWU7CiAKZGlmZiAtLWdpdCBhL2h3L3VzYi9yZWRpcmVj dC5jIGIvaHcvdXNiL3JlZGlyZWN0LmMKaW5kZXggYTczMDc2YmE3OC4uZjAyNWM5MWQyOCAxMDA2 NDQKLS0tIGEvaHcvdXNiL3JlZGlyZWN0LmMKKysrIGIvaHcvdXNiL3JlZGlyZWN0LmMKQEAgLTEy ODQsNyArMTI4NCw3IEBAIHN0YXRpYyB2b2lkIHVzYnJlZGlyX2RvX2F0dGFjaCh2b2lkICpvcGFx dWUpCiAgKiBjaGFyZGV2IGNhbGxiYWNrcwogICovCiAKLXN0YXRpYyBpbnQgdXNicmVkaXJfY2hh cmRldl9jYW5fcmVhZCh2b2lkICpvcGFxdWUpCitzdGF0aWMgc2l6ZV90IHVzYnJlZGlyX2NoYXJk ZXZfY2FuX3JlYWQodm9pZCAqb3BhcXVlKQogewogICAgIFVTQlJlZGlyRGV2aWNlICpkZXYgPSBv cGFxdWU7CiAKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcWVtdS9tYWluLWxvb3AuaCBiL2luY2x1ZGUv cWVtdS9tYWluLWxvb3AuaAppbmRleCBjNWE3Mjk5MjY2Li5iNTFmOWE1MjY3IDEwMDY0NAotLS0g YS9pbmNsdWRlL3FlbXUvbWFpbi1sb29wLmgKKysrIGIvaW5jbHVkZS9xZW11L21haW4tbG9vcC5o CkBAIC0xODIsNyArMTgyLDcgQEAgdHlwZWRlZiB2b2lkIElPUmVhZEhhbmRsZXIodm9pZCAqb3Bh cXVlLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXplKTsKICAqIGlzIGNhbGxlZCBhZ2Fp bi4gIGFpb19ub3RpZnkoKSBvciBxZW11X25vdGlmeV9ldmVudCgpIGNhbiBiZSB1c2VkIHRvIGtp Y2sKICAqIHRoZSBldmVudCBsb29wLgogICovCi10eXBlZGVmIGludCBJT0NhblJlYWRIYW5kbGVy KHZvaWQgKm9wYXF1ZSk7Cit0eXBlZGVmIHNpemVfdCBJT0NhblJlYWRIYW5kbGVyKHZvaWQgKm9w YXF1ZSk7CiAKIC8qKgogICogcWVtdV9zZXRfZmRfaGFuZGxlcjogUmVnaXN0ZXIgYSBmaWxlIGRl c2NyaXB0b3Igd2l0aCB0aGUgbWFpbiBsb29wCmRpZmYgLS1naXQgYS9tb25pdG9yLmMgYi9tb25p dG9yLmMKaW5kZXggMTI0MDFlYzYwYi4uMzQxN2M1ZjA0NCAxMDA2NDQKLS0tIGEvbW9uaXRvci5j CisrKyBiL21vbml0b3IuYwpAQCAtNDAzOCw3ICs0MDM4LDcgQEAgY2xlYW51cDoKICAgICBmcmVl X2NtZGxpbmVfYXJncyhhcmdzLCBuYl9hcmdzKTsKIH0KIAotc3RhdGljIGludCBtb25pdG9yX2Nh bl9yZWFkKHZvaWQgKm9wYXF1ZSkKK3N0YXRpYyBzaXplX3QgbW9uaXRvcl9jYW5fcmVhZCh2b2lk ICpvcGFxdWUpCiB7CiAgICAgTW9uaXRvciAqbW9uID0gb3BhcXVlOwogCmRpZmYgLS1naXQgYS9u ZXQvY29sby1jb21wYXJlLmMgYi9uZXQvY29sby1jb21wYXJlLmMKaW5kZXggNDMzZTliYTI4Ny4u OTMyMWQ4MWE5OCAxMDA2NDQKLS0tIGEvbmV0L2NvbG8tY29tcGFyZS5jCisrKyBiL25ldC9jb2xv LWNvbXBhcmUuYwpAQCAtNjgzLDcgKzY4Myw3IEBAIGVycjoKICAgICByZXR1cm4gcmV0IDwgMCA/ IHJldCA6IC1FSU87CiB9CiAKLXN0YXRpYyBpbnQgY29tcGFyZV9jaHJfY2FuX3JlYWQodm9pZCAq b3BhcXVlKQorc3RhdGljIHNpemVfdCBjb21wYXJlX2Nocl9jYW5fcmVhZCh2b2lkICpvcGFxdWUp CiB7CiAgICAgcmV0dXJuIENPTVBBUkVfUkVBRF9MRU5fTUFYOwogfQpkaWZmIC0tZ2l0IGEvbmV0 L2ZpbHRlci1taXJyb3IuYyBiL25ldC9maWx0ZXItbWlycm9yLmMKaW5kZXggMjdiNmU1MmExZC4u OGUxNjUzNWZhZCAxMDA2NDQKLS0tIGEvbmV0L2ZpbHRlci1taXJyb3IuYworKysgYi9uZXQvZmls dGVyLW1pcnJvci5jCkBAIC0xMTQsNyArMTE0LDcgQEAgc3RhdGljIHZvaWQgcmVkaXJlY3Rvcl90 b19maWx0ZXIoTmV0RmlsdGVyU3RhdGUgKm5mLAogICAgICB9CiB9CiAKLXN0YXRpYyBpbnQgcmVk aXJlY3Rvcl9jaHJfY2FuX3JlYWQodm9pZCAqb3BhcXVlKQorc3RhdGljIHNpemVfdCByZWRpcmVj dG9yX2Nocl9jYW5fcmVhZCh2b2lkICpvcGFxdWUpCiB7CiAgICAgcmV0dXJuIFJFRElSRUNUT1Jf TUFYX0xFTjsKIH0KZGlmZiAtLWdpdCBhL25ldC9zbGlycC5jIGIvbmV0L3NsaXJwLmMKaW5kZXgg NWU4NjRmNGE0Zi4uOWRiY2FmZmIwNyAxMDA2NDQKLS0tIGEvbmV0L3NsaXJwLmMKKysrIGIvbmV0 L3NsaXJwLmMKQEAgLTcxMiw3ICs3MTIsNyBAQCBzdHJ1Y3QgR3Vlc3RGd2QgewogICAgIFNsaXJw ICpzbGlycDsKIH07CiAKLXN0YXRpYyBpbnQgZ3Vlc3Rmd2RfY2FuX3JlYWQodm9pZCAqb3BhcXVl KQorc3RhdGljIHNpemVfdCBndWVzdGZ3ZF9jYW5fcmVhZCh2b2lkICpvcGFxdWUpCiB7CiAgICAg c3RydWN0IEd1ZXN0RndkICpmd2QgPSBvcGFxdWU7CiAgICAgcmV0dXJuIHNsaXJwX3NvY2tldF9j YW5fcmVjdihmd2QtPnNsaXJwLCBmd2QtPnNlcnZlciwgZndkLT5wb3J0KTsKZGlmZiAtLWdpdCBh L3F0ZXN0LmMgYi9xdGVzdC5jCmluZGV4IDA0OTRhZmRmYjMuLmJjNjg1NzAwY2QgMTAwNjQ0Ci0t LSBhL3F0ZXN0LmMKKysrIGIvcXRlc3QuYwpAQCAtNjY1LDcgKzY2NSw3IEBAIHN0YXRpYyB2b2lk IHF0ZXN0X3JlYWQodm9pZCAqb3BhcXVlLCBjb25zdCB1aW50OF90ICpidWYsIHNpemVfdCBzaXpl KQogICAgIHF0ZXN0X3Byb2Nlc3NfaW5idWYoY2hyLCBpbmJ1Zik7CiB9CiAKLXN0YXRpYyBpbnQg cXRlc3RfY2FuX3JlYWQodm9pZCAqb3BhcXVlKQorc3RhdGljIHNpemVfdCBxdGVzdF9jYW5fcmVh ZCh2b2lkICpvcGFxdWUpCiB7CiAgICAgcmV0dXJuIDEwMjQ7CiB9CmRpZmYgLS1naXQgYS90YXJn ZXQveHRlbnNhL3h0ZW5zYS1zZW1pLmMgYi90YXJnZXQveHRlbnNhL3h0ZW5zYS1zZW1pLmMKaW5k ZXggMjQxODc0ZWE0ZS4uYTU3ZTYxZWY0YSAxMDA2NDQKLS0tIGEvdGFyZ2V0L3h0ZW5zYS94dGVu c2Etc2VtaS5jCisrKyBiL3RhcmdldC94dGVuc2EveHRlbnNhLXNlbWkuYwpAQCAtMTYxLDcgKzE2 MSw3IEBAIHR5cGVkZWYgc3RydWN0IFh0ZW5zYVNpbUNvbnNvbGUgewogCiBzdGF0aWMgWHRlbnNh U2ltQ29uc29sZSAqc2ltX2NvbnNvbGU7CiAKLXN0YXRpYyBpbnQgc2ltX2NvbnNvbGVfY2FuX3Jl YWQodm9pZCAqb3BhcXVlKQorc3RhdGljIHNpemVfdCBzaW1fY29uc29sZV9jYW5fcmVhZCh2b2lk ICpvcGFxdWUpCiB7CiAgICAgWHRlbnNhU2ltQ29uc29sZSAqcCA9IG9wYXF1ZTsKIAotLSAKMi4x Ny4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0cHM6 Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA== From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33618) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gAlFF-0006WN-PO for qemu-devel@nongnu.org; Thu, 11 Oct 2018 20:23:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gAlFD-0006hD-JG for qemu-devel@nongnu.org; Thu, 11 Oct 2018 20:23:57 -0400 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Fri, 12 Oct 2018 02:22:14 +0200 Message-Id: <20181012002217.2864-9-philmd@redhat.com> In-Reply-To: <20181012002217.2864-1-philmd@redhat.com> References: <20181012002217.2864-1-philmd@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v2 08/11] chardev: Let IOCanReadHandler use unsigned type List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini , Prasad J Pandit Cc: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , qemu-devel@nongnu.org, Amit Shah , =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= , Andrzej Zaborowski , Peter Maydell , "Edgar E. Iglesias" , Alistair Francis , Antony Pavlov , Igor Mitsyanko , Fabien Chouteau , Peter Chubb , Alberto Garcia , Michael Walle , Thomas Huth , "Michael S. Tsirkin" , Cornelia Huck , Christian Borntraeger , Alexander Graf , David Gibson , Stefano Stabellini , Anthony Perard , Corey Minyard , Michael Clark , Palmer Dabbelt , Sagar Karandikar , Bastian Koppelmann , Gerd Hoffmann , Samuel Thibault , "Dr. David Alan Gilbert" , Markus Armbruster , Zhang Chen , Li Zhijian , Jason Wang , Jan Kiszka , Laurent Vivier , Max Filippov , "open list:PXA2XX" , "open list:S390" , "open list:sPAPR" , "open list:X86" Suggested-by: Paolo Bonzini Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- backends/rng-egd.c | 4 ++-- chardev/char-mux.c | 2 +- gdbstub.c | 2 +- hw/arm/pxa2xx.c | 2 +- hw/arm/strongarm.c | 2 +- hw/char/bcm2835_aux.c | 2 +- hw/char/cadence_uart.c | 4 ++-- hw/char/cmsdk-apb-uart.c | 2 +- hw/char/digic-uart.c | 2 +- hw/char/escc.c | 6 +++--- hw/char/etraxfs_ser.c | 2 +- hw/char/exynos4210_uart.c | 2 +- hw/char/grlib_apbuart.c | 2 +- hw/char/imx_serial.c | 2 +- hw/char/ipoctal232.c | 4 ++-- hw/char/lm32_juart.c | 2 +- hw/char/lm32_uart.c | 2 +- hw/char/mcf_uart.c | 2 +- hw/char/milkymist-uart.c | 2 +- hw/char/parallel.c | 2 +- hw/char/pl011.c | 4 ++-- hw/char/sclpconsole-lm.c | 2 +- hw/char/sclpconsole.c | 4 ++-- hw/char/serial.c | 4 ++-- hw/char/sh_serial.c | 4 ++-- hw/char/spapr_vty.c | 2 +- hw/char/stm32f2xx_usart.c | 2 +- hw/char/terminal3270.c | 2 +- hw/char/virtio-console.c | 2 +- hw/char/xen_console.c | 2 +- hw/char/xilinx_uartlite.c | 2 +- hw/ipmi/ipmi_bmc_extern.c | 2 +- hw/misc/ivshmem.c | 2 +- hw/riscv/riscv_htif.c | 2 +- hw/riscv/sifive_uart.c | 2 +- hw/usb/ccid-card-passthru.c | 2 +- hw/usb/dev-serial.c | 2 +- hw/usb/redirect.c | 2 +- include/qemu/main-loop.h | 2 +- monitor.c | 2 +- net/colo-compare.c | 2 +- net/filter-mirror.c | 2 +- net/slirp.c | 2 +- qtest.c | 2 +- target/xtensa/xtensa-semi.c | 2 +- 45 files changed, 54 insertions(+), 54 deletions(-) diff --git a/backends/rng-egd.c b/backends/rng-egd.c index b51c01f664..4a9a92a8e7 100644 --- a/backends/rng-egd.c +++ b/backends/rng-egd.c @@ -48,11 +48,11 @@ static void rng_egd_request_entropy(RngBackend *b, Rn= gRequest *req) } } =20 -static int rng_egd_chr_can_read(void *opaque) +static size_t rng_egd_chr_can_read(void *opaque) { RngEgd *s =3D RNG_EGD(opaque); RngRequest *req; - int size =3D 0; + size_t size =3D 0; =20 QSIMPLEQ_FOREACH(req, &s->parent.requests, next) { size +=3D req->size - req->offset; diff --git a/chardev/char-mux.c b/chardev/char-mux.c index d8d6eaa646..98db12cf77 100644 --- a/chardev/char-mux.c +++ b/chardev/char-mux.c @@ -192,7 +192,7 @@ static void mux_chr_accept_input(Chardev *chr) } } =20 -static int mux_chr_can_read(void *opaque) +static size_t mux_chr_can_read(void *opaque) { MuxChardev *d =3D MUX_CHARDEV(opaque); int m =3D d->focus; diff --git a/gdbstub.c b/gdbstub.c index a2fc3682ce..86d1fa62f8 100644 --- a/gdbstub.c +++ b/gdbstub.c @@ -1916,7 +1916,7 @@ void gdbserver_fork(CPUState *cpu) cpu_watchpoint_remove_all(cpu, BP_GDB); } #else -static int gdb_chr_can_receive(void *opaque) +static size_t gdb_chr_can_receive(void *opaque) { /* We can handle an arbitrarily large amount of data. Pick the maximum packet size, which is as good as anything. */ diff --git a/hw/arm/pxa2xx.c b/hw/arm/pxa2xx.c index 75b6aa2772..a72d9bd4fe 100644 --- a/hw/arm/pxa2xx.c +++ b/hw/arm/pxa2xx.c @@ -1923,7 +1923,7 @@ static const MemoryRegionOps pxa2xx_fir_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 -static int pxa2xx_fir_is_empty(void *opaque) +static size_t pxa2xx_fir_is_empty(void *opaque) { PXA2xxFIrState *s =3D (PXA2xxFIrState *) opaque; return (s->rx_len < 64); diff --git a/hw/arm/strongarm.c b/hw/arm/strongarm.c index 40db4e5e0a..6fdd4da3d0 100644 --- a/hw/arm/strongarm.c +++ b/hw/arm/strongarm.c @@ -1058,7 +1058,7 @@ static void strongarm_uart_rx_push(StrongARMUARTSta= te *s, uint16_t c) s->rx_fifo[(s->rx_start + 11) % 12] |=3D RX_FIFO_ROR; } =20 -static int strongarm_uart_can_receive(void *opaque) +static size_t strongarm_uart_can_receive(void *opaque) { StrongARMUARTState *s =3D opaque; =20 diff --git a/hw/char/bcm2835_aux.c b/hw/char/bcm2835_aux.c index cb26df40f8..5dd1b652c0 100644 --- a/hw/char/bcm2835_aux.c +++ b/hw/char/bcm2835_aux.c @@ -211,7 +211,7 @@ static void bcm2835_aux_write(void *opaque, hwaddr of= fset, uint64_t value, bcm2835_aux_update(s); } =20 -static int bcm2835_aux_can_receive(void *opaque) +static size_t bcm2835_aux_can_receive(void *opaque) { BCM2835AuxState *s =3D opaque; =20 diff --git a/hw/char/cadence_uart.c b/hw/char/cadence_uart.c index eb5cc974a1..5835362038 100644 --- a/hw/char/cadence_uart.c +++ b/hw/char/cadence_uart.c @@ -216,10 +216,10 @@ static void uart_parameters_setup(CadenceUARTState = *s) qemu_chr_fe_ioctl(&s->chr, CHR_IOCTL_SERIAL_SET_PARAMS, &ssp); } =20 -static int uart_can_receive(void *opaque) +static size_t uart_can_receive(void *opaque) { CadenceUARTState *s =3D opaque; - int ret =3D MAX(CADENCE_UART_RX_FIFO_SIZE, CADENCE_UART_TX_FIFO_SIZE= ); + size_t ret =3D MAX(CADENCE_UART_RX_FIFO_SIZE, CADENCE_UART_TX_FIFO_S= IZE); uint32_t ch_mode =3D s->r[R_MR] & UART_MR_CHMODE; =20 if (ch_mode =3D=3D NORMAL_MODE || ch_mode =3D=3D ECHO_MODE) { diff --git a/hw/char/cmsdk-apb-uart.c b/hw/char/cmsdk-apb-uart.c index 774986d88d..c1437674a5 100644 --- a/hw/char/cmsdk-apb-uart.c +++ b/hw/char/cmsdk-apb-uart.c @@ -108,7 +108,7 @@ static void cmsdk_apb_uart_update(CMSDKAPBUART *s) qemu_set_irq(s->uartint, !!(s->intstatus)); } =20 -static int uart_can_receive(void *opaque) +static size_t uart_can_receive(void *opaque) { CMSDKAPBUART *s =3D CMSDK_APB_UART(opaque); =20 diff --git a/hw/char/digic-uart.c b/hw/char/digic-uart.c index 0f41a23b54..f805ee5766 100644 --- a/hw/char/digic-uart.c +++ b/hw/char/digic-uart.c @@ -112,7 +112,7 @@ static const MemoryRegionOps uart_mmio_ops =3D { .endianness =3D DEVICE_NATIVE_ENDIAN, }; =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { DigicUartState *s =3D opaque; =20 diff --git a/hw/char/escc.c b/hw/char/escc.c index e655b86273..decc35b990 100644 --- a/hw/char/escc.c +++ b/hw/char/escc.c @@ -166,7 +166,7 @@ #define R_EXTINT 15 =20 static void handle_kbd_command(ESCCChannelState *s, int val); -static int serial_can_receive(void *opaque); +static size_t serial_can_receive(void *opaque); static void serial_receive_byte(ESCCChannelState *s, int ch); =20 static void clear_queue(void *opaque) @@ -573,10 +573,10 @@ static const MemoryRegionOps escc_mem_ops =3D { }, }; =20 -static int serial_can_receive(void *opaque) +static size_t serial_can_receive(void *opaque) { ESCCChannelState *s =3D opaque; - int ret; + size_t ret; =20 if (((s->wregs[W_RXCTRL] & RXCTRL_RXEN) =3D=3D 0) // Rx not enabled || ((s->rregs[R_STATUS] & STATUS_RXAV) =3D=3D STATUS_RXAV)) diff --git a/hw/char/etraxfs_ser.c b/hw/char/etraxfs_ser.c index 79cd8d2dc1..970f6a6e90 100644 --- a/hw/char/etraxfs_ser.c +++ b/hw/char/etraxfs_ser.c @@ -187,7 +187,7 @@ static void serial_receive(void *opaque, const uint8_= t *buf, size_t size) ser_update_irq(s); } =20 -static int serial_can_receive(void *opaque) +static size_t serial_can_receive(void *opaque) { ETRAXSerial *s =3D opaque; =20 diff --git a/hw/char/exynos4210_uart.c b/hw/char/exynos4210_uart.c index 5fdf5b1f37..b93edec08a 100644 --- a/hw/char/exynos4210_uart.c +++ b/hw/char/exynos4210_uart.c @@ -487,7 +487,7 @@ static const MemoryRegionOps exynos4210_uart_ops =3D = { }, }; =20 -static int exynos4210_uart_can_receive(void *opaque) +static size_t exynos4210_uart_can_receive(void *opaque) { Exynos4210UartState *s =3D (Exynos4210UartState *)opaque; =20 diff --git a/hw/char/grlib_apbuart.c b/hw/char/grlib_apbuart.c index d370609a52..7b57dce7fb 100644 --- a/hw/char/grlib_apbuart.c +++ b/hw/char/grlib_apbuart.c @@ -130,7 +130,7 @@ static void uart_add_to_fifo(UART *uart, uart->len +=3D length; } =20 -static int grlib_apbuart_can_receive(void *opaque) +static size_t grlib_apbuart_can_receive(void *opaque) { UART *uart =3D opaque; =20 diff --git a/hw/char/imx_serial.c b/hw/char/imx_serial.c index b9fdfaeb38..abbe68571d 100644 --- a/hw/char/imx_serial.c +++ b/hw/char/imx_serial.c @@ -293,7 +293,7 @@ static void imx_serial_write(void *opaque, hwaddr off= set, } } =20 -static int imx_can_receive(void *opaque) +static size_t imx_can_receive(void *opaque) { IMXSerialState *s =3D (IMXSerialState *)opaque; return !(s->usr1 & USR1_RRDY); diff --git a/hw/char/ipoctal232.c b/hw/char/ipoctal232.c index 08e3f9e45f..be21303dcd 100644 --- a/hw/char/ipoctal232.c +++ b/hw/char/ipoctal232.c @@ -461,10 +461,10 @@ static void mem_write8(IPackDevice *ip, uint32_t ad= dr, uint8_t val) } } =20 -static int hostdev_can_receive(void *opaque) +static size_t hostdev_can_receive(void *opaque) { SCC2698Channel *ch =3D opaque; - int available_bytes =3D RX_FIFO_SIZE - ch->rx_pending; + size_t available_bytes =3D RX_FIFO_SIZE - ch->rx_pending; return ch->rx_enabled ? available_bytes : 0; } =20 diff --git a/hw/char/lm32_juart.c b/hw/char/lm32_juart.c index ecb61ee086..51e598c570 100644 --- a/hw/char/lm32_juart.c +++ b/hw/char/lm32_juart.c @@ -95,7 +95,7 @@ static void juart_rx(void *opaque, const uint8_t *buf, = size_t size) s->jrx =3D *buf | JRX_FULL; } =20 -static int juart_can_rx(void *opaque) +static size_t juart_can_rx(void *opaque) { LM32JuartState *s =3D opaque; =20 diff --git a/hw/char/lm32_uart.c b/hw/char/lm32_uart.c index ee0bf8e117..2593434f8f 100644 --- a/hw/char/lm32_uart.c +++ b/hw/char/lm32_uart.c @@ -225,7 +225,7 @@ static void uart_rx(void *opaque, const uint8_t *buf,= size_t size) uart_update_irq(s); } =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { LM32UartState *s =3D opaque; =20 diff --git a/hw/char/mcf_uart.c b/hw/char/mcf_uart.c index e126860b46..cd9c499a51 100644 --- a/hw/char/mcf_uart.c +++ b/hw/char/mcf_uart.c @@ -267,7 +267,7 @@ static void mcf_uart_event(void *opaque, int event) } } =20 -static int mcf_uart_can_receive(void *opaque) +static size_t mcf_uart_can_receive(void *opaque) { mcf_uart_state *s =3D (mcf_uart_state *)opaque; =20 diff --git a/hw/char/milkymist-uart.c b/hw/char/milkymist-uart.c index a10c0957ff..0efcd829ce 100644 --- a/hw/char/milkymist-uart.c +++ b/hw/char/milkymist-uart.c @@ -170,7 +170,7 @@ static void uart_rx(void *opaque, const uint8_t *buf,= size_t size) uart_update_irq(s); } =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { MilkymistUartState *s =3D opaque; =20 diff --git a/hw/char/parallel.c b/hw/char/parallel.c index a80da47ecf..fe0e5c8756 100644 --- a/hw/char/parallel.c +++ b/hw/char/parallel.c @@ -513,7 +513,7 @@ static const VMStateDescription vmstate_parallel_isa = =3D { } }; =20 -static int parallel_can_receive(void *opaque) +static size_t parallel_can_receive(void *opaque) { return 1; } diff --git a/hw/char/pl011.c b/hw/char/pl011.c index 37973c32ce..10195679b4 100644 --- a/hw/char/pl011.c +++ b/hw/char/pl011.c @@ -224,10 +224,10 @@ static void pl011_write(void *opaque, hwaddr offset= , } } =20 -static int pl011_can_receive(void *opaque) +static size_t pl011_can_receive(void *opaque) { PL011State *s =3D (PL011State *)opaque; - int r; + size_t r; =20 if (s->lcr & 0x10) { r =3D s->read_count < 16; diff --git a/hw/char/sclpconsole-lm.c b/hw/char/sclpconsole-lm.c index a04a2a9d80..ad5f791227 100644 --- a/hw/char/sclpconsole-lm.c +++ b/hw/char/sclpconsole-lm.c @@ -61,7 +61,7 @@ typedef struct SCLPConsoleLM { * truncated to the guest in case it doesn't fit into the SCCB. */ =20 -static int chr_can_read(void *opaque) +static size_t chr_can_read(void *opaque) { SCLPConsoleLM *scon =3D opaque; =20 diff --git a/hw/char/sclpconsole.c b/hw/char/sclpconsole.c index 62395c19f4..5ec1c4b607 100644 --- a/hw/char/sclpconsole.c +++ b/hw/char/sclpconsole.c @@ -47,10 +47,10 @@ typedef struct SCLPConsole { /* character layer call-back functions */ =20 /* Return number of bytes that fit into iov buffer */ -static int chr_can_read(void *opaque) +static size_t chr_can_read(void *opaque) { SCLPConsole *scon =3D opaque; - int avail =3D SIZE_BUFFER_VT220 - scon->iov_data_len; + size_t avail =3D SIZE_BUFFER_VT220 - scon->iov_data_len; =20 if (avail =3D=3D 0) { scon->notify =3D true; diff --git a/hw/char/serial.c b/hw/char/serial.c index 69baed105b..f83bb8ee4e 100644 --- a/hw/char/serial.c +++ b/hw/char/serial.c @@ -561,7 +561,7 @@ static uint64_t serial_ioport_read(void *opaque, hwad= dr addr, unsigned size) return ret; } =20 -static int serial_can_receive(SerialState *s) +static size_t serial_can_receive(SerialState *s) { if(s->fcr & UART_FCR_FE) { if (s->recv_fifo.num < UART_FIFO_LENGTH) { @@ -600,7 +600,7 @@ static void fifo_timeout_int (void *opaque) { } } =20 -static int serial_can_receive1(void *opaque) +static size_t serial_can_receive1(void *opaque) { SerialState *s =3D opaque; return serial_can_receive(s); diff --git a/hw/char/sh_serial.c b/hw/char/sh_serial.c index 04fdcee328..f5402d3b5c 100644 --- a/hw/char/sh_serial.c +++ b/hw/char/sh_serial.c @@ -300,7 +300,7 @@ static uint64_t sh_serial_read(void *opaque, hwaddr o= ffs, return ret; } =20 -static int sh_serial_can_receive(sh_serial_state *s) +static size_t sh_serial_can_receive(sh_serial_state *s) { return s->scr & (1 << 4); } @@ -311,7 +311,7 @@ static void sh_serial_receive_break(sh_serial_state *= s) s->sr |=3D (1 << 4); } =20 -static int sh_serial_can_receive1(void *opaque) +static size_t sh_serial_can_receive1(void *opaque) { sh_serial_state *s =3D opaque; return sh_serial_can_receive(s); diff --git a/hw/char/spapr_vty.c b/hw/char/spapr_vty.c index 42b4b61cce..0ac9dc8448 100644 --- a/hw/char/spapr_vty.c +++ b/hw/char/spapr_vty.c @@ -21,7 +21,7 @@ typedef struct VIOsPAPRVTYDevice { #define VIO_SPAPR_VTY_DEVICE(obj) \ OBJECT_CHECK(VIOsPAPRVTYDevice, (obj), TYPE_VIO_SPAPR_VTY_DEVICE) =20 -static int vty_can_receive(void *opaque) +static size_t vty_can_receive(void *opaque) { VIOsPAPRVTYDevice *dev =3D VIO_SPAPR_VTY_DEVICE(opaque); =20 diff --git a/hw/char/stm32f2xx_usart.c b/hw/char/stm32f2xx_usart.c index 78bf142678..63256da77b 100644 --- a/hw/char/stm32f2xx_usart.c +++ b/hw/char/stm32f2xx_usart.c @@ -38,7 +38,7 @@ =20 #define DB_PRINT(fmt, args...) DB_PRINT_L(1, fmt, ## args) =20 -static int stm32f2xx_usart_can_receive(void *opaque) +static size_t stm32f2xx_usart_can_receive(void *opaque) { STM32F2XXUsartState *s =3D opaque; =20 diff --git a/hw/char/terminal3270.c b/hw/char/terminal3270.c index 076516991e..a9db0a3401 100644 --- a/hw/char/terminal3270.c +++ b/hw/char/terminal3270.c @@ -38,7 +38,7 @@ typedef struct Terminal3270 { #define TERMINAL_3270(obj) \ OBJECT_CHECK(Terminal3270, (obj), TYPE_TERMINAL_3270) =20 -static int terminal_can_read(void *opaque) +static size_t terminal_can_read(void *opaque) { Terminal3270 *t =3D opaque; =20 diff --git a/hw/char/virtio-console.c b/hw/char/virtio-console.c index e3d368b976..b942159d82 100644 --- a/hw/char/virtio-console.c +++ b/hw/char/virtio-console.c @@ -126,7 +126,7 @@ static void guest_writable(VirtIOSerialPort *port) } =20 /* Readiness of the guest to accept data on a port */ -static int chr_can_read(void *opaque) +static size_t chr_can_read(void *opaque) { VirtConsole *vcon =3D opaque; =20 diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c index ca90c5c17e..0a1cbaeafa 100644 --- a/hw/char/xen_console.c +++ b/hw/char/xen_console.c @@ -116,7 +116,7 @@ static int ring_free_bytes(struct XenConsole *con) return (sizeof(intf->in) - space); } =20 -static int xencons_can_receive(void *opaque) +static size_t xencons_can_receive(void *opaque) { struct XenConsole *con =3D opaque; return ring_free_bytes(con); diff --git a/hw/char/xilinx_uartlite.c b/hw/char/xilinx_uartlite.c index b1abf8b604..2473cb0ad7 100644 --- a/hw/char/xilinx_uartlite.c +++ b/hw/char/xilinx_uartlite.c @@ -195,7 +195,7 @@ static void uart_rx(void *opaque, const uint8_t *buf,= size_t size) uart_update_irq(s); } =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { XilinxUARTLite *s =3D opaque; =20 diff --git a/hw/ipmi/ipmi_bmc_extern.c b/hw/ipmi/ipmi_bmc_extern.c index c52f80f771..7107d2fe9f 100644 --- a/hw/ipmi/ipmi_bmc_extern.c +++ b/hw/ipmi/ipmi_bmc_extern.c @@ -307,7 +307,7 @@ static void handle_msg(IPMIBmcExtern *ibe) k->handle_rsp(ibe->parent.intf, ibe->inbuf[0], ibe->inbuf + 1, ibe->= inpos - 1); } =20 -static int can_receive(void *opaque) +static size_t can_receive(void *opaque) { return 1; } diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index f506479845..01b331aaab 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -620,7 +620,7 @@ static void process_msg(IVShmemState *s, int64_t msg,= int fd, Error **errp) } } =20 -static int ivshmem_can_receive(void *opaque) +static size_t ivshmem_can_receive(void *opaque) { IVShmemState *s =3D opaque; =20 diff --git a/hw/riscv/riscv_htif.c b/hw/riscv/riscv_htif.c index 2625f5e9e8..565120df7d 100644 --- a/hw/riscv/riscv_htif.c +++ b/hw/riscv/riscv_htif.c @@ -65,7 +65,7 @@ void htif_symbol_callback(const char *st_name, int st_i= nfo, uint64_t st_value, /* * Called by the char dev to see if HTIF is ready to accept input. */ -static int htif_can_recv(void *opaque) +static size_t htif_can_recv(void *opaque) { return 1; } diff --git a/hw/riscv/sifive_uart.c b/hw/riscv/sifive_uart.c index d4cbf91b9f..c6a8f5fbc4 100644 --- a/hw/riscv/sifive_uart.c +++ b/hw/riscv/sifive_uart.c @@ -137,7 +137,7 @@ static void uart_rx(void *opaque, const uint8_t *buf,= size_t size) update_irq(s); } =20 -static int uart_can_rx(void *opaque) +static size_t uart_can_rx(void *opaque) { SiFiveUARTState *s =3D opaque; =20 diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c index b6fa35a4b4..5dc10ef850 100644 --- a/hw/usb/ccid-card-passthru.c +++ b/hw/usb/ccid-card-passthru.c @@ -112,7 +112,7 @@ static void ccid_card_vscard_send_init(PassthruState = *s) (uint8_t *)&msg, sizeof(msg)); } =20 -static int ccid_card_vscard_can_read(void *opaque) +static size_t ccid_card_vscard_can_read(void *opaque) { PassthruState *card =3D opaque; =20 diff --git a/hw/usb/dev-serial.c b/hw/usb/dev-serial.c index efaeab484d..e9735d4b5d 100644 --- a/hw/usb/dev-serial.c +++ b/hw/usb/dev-serial.c @@ -421,7 +421,7 @@ static void usb_serial_handle_data(USBDevice *dev, US= BPacket *p) } } =20 -static int usb_serial_can_read(void *opaque) +static size_t usb_serial_can_read(void *opaque) { USBSerialState *s =3D opaque; =20 diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index a73076ba78..f025c91d28 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -1284,7 +1284,7 @@ static void usbredir_do_attach(void *opaque) * chardev callbacks */ =20 -static int usbredir_chardev_can_read(void *opaque) +static size_t usbredir_chardev_can_read(void *opaque) { USBRedirDevice *dev =3D opaque; =20 diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h index c5a7299266..b51f9a5267 100644 --- a/include/qemu/main-loop.h +++ b/include/qemu/main-loop.h @@ -182,7 +182,7 @@ typedef void IOReadHandler(void *opaque, const uint8_= t *buf, size_t size); * is called again. aio_notify() or qemu_notify_event() can be used to = kick * the event loop. */ -typedef int IOCanReadHandler(void *opaque); +typedef size_t IOCanReadHandler(void *opaque); =20 /** * qemu_set_fd_handler: Register a file descriptor with the main loop diff --git a/monitor.c b/monitor.c index 12401ec60b..3417c5f044 100644 --- a/monitor.c +++ b/monitor.c @@ -4038,7 +4038,7 @@ cleanup: free_cmdline_args(args, nb_args); } =20 -static int monitor_can_read(void *opaque) +static size_t monitor_can_read(void *opaque) { Monitor *mon =3D opaque; =20 diff --git a/net/colo-compare.c b/net/colo-compare.c index 433e9ba287..9321d81a98 100644 --- a/net/colo-compare.c +++ b/net/colo-compare.c @@ -683,7 +683,7 @@ err: return ret < 0 ? ret : -EIO; } =20 -static int compare_chr_can_read(void *opaque) +static size_t compare_chr_can_read(void *opaque) { return COMPARE_READ_LEN_MAX; } diff --git a/net/filter-mirror.c b/net/filter-mirror.c index 27b6e52a1d..8e16535fad 100644 --- a/net/filter-mirror.c +++ b/net/filter-mirror.c @@ -114,7 +114,7 @@ static void redirector_to_filter(NetFilterState *nf, } } =20 -static int redirector_chr_can_read(void *opaque) +static size_t redirector_chr_can_read(void *opaque) { return REDIRECTOR_MAX_LEN; } diff --git a/net/slirp.c b/net/slirp.c index 5e864f4a4f..9dbcaffb07 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -712,7 +712,7 @@ struct GuestFwd { Slirp *slirp; }; =20 -static int guestfwd_can_read(void *opaque) +static size_t guestfwd_can_read(void *opaque) { struct GuestFwd *fwd =3D opaque; return slirp_socket_can_recv(fwd->slirp, fwd->server, fwd->port); diff --git a/qtest.c b/qtest.c index 0494afdfb3..bc685700cd 100644 --- a/qtest.c +++ b/qtest.c @@ -665,7 +665,7 @@ static void qtest_read(void *opaque, const uint8_t *b= uf, size_t size) qtest_process_inbuf(chr, inbuf); } =20 -static int qtest_can_read(void *opaque) +static size_t qtest_can_read(void *opaque) { return 1024; } diff --git a/target/xtensa/xtensa-semi.c b/target/xtensa/xtensa-semi.c index 241874ea4e..a57e61ef4a 100644 --- a/target/xtensa/xtensa-semi.c +++ b/target/xtensa/xtensa-semi.c @@ -161,7 +161,7 @@ typedef struct XtensaSimConsole { =20 static XtensaSimConsole *sim_console; =20 -static int sim_console_can_read(void *opaque) +static size_t sim_console_can_read(void *opaque) { XtensaSimConsole *p =3D opaque; =20 --=20 2.17.1