Re: [Qemu-devel] [PATCH 2/2] curses: add option to specify VGA font encoding

2019-03-03 Thread Samuel Thibault
Markus Armbruster, le lun. 04 mars 2019 07:44:34 +0100, a ecrit: > Samuel Thibault writes: > > --- a/qapi/ui.json > > +++ b/qapi/ui.json > > @@ -1131,6 +1131,7 @@ > > # @full-screen: Start user interface in fullscreen mode (default: off). > > # @window-close

[Qemu-devel] [PULLv2] Reduce curses escdelay from 1s to 25ms

2019-03-03 Thread Samuel Thibault
should be enough. Signed-off-by: Samuel Thibault --- ui/curses.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui/curses.c b/ui/curses.c index 6e0091c3b2..870273de51 100644 --- a/ui/curses.c +++ b/ui/curses.c @@ -231,7 +231,7 @@ static void curses_refresh

Re: [Qemu-devel] [PATCH] Reduce curses escdelay from 1s to 0.2s

2019-03-03 Thread Samuel Thibault
Warner Losh, le dim. 03 mars 2019 10:11:52 -0700, a ecrit: > On Sun, Mar 3, 2019, 12:45 AM Samuel Thibault > <[1]samuel.thiba...@ens-lyon.org> > wrote: > > By default, curses will only report single ESC key event after 1s delay, > since ESC is also used for

[Qemu-devel] [PATCH 0/2] curses: Add support for wide output

2019-03-03 Thread Samuel Thibault
Hello, This adds support for wide output in the curses frontend Samuel Thibault (2): iconv: detect and make curses depend on it curses: add option to specify VGA font encoding configure | 45 ++- qapi/ui.json| 4 +- qemu-options.hx | 5 +- ui/curses.c | 315

[Qemu-devel] [PATCH 2/2] curses: add option to specify VGA font encoding

2019-03-03 Thread Samuel Thibault
This uses iconv to convert glyphs from the specified VGA font encoding to unicode, and makes use of cchar_t instead of chtype when using ncursesw, which allows to store all wide char as well as the WACS values. Signed-off-by: Samuel Thibault Cc: Eddie Kohler --- configure | 5 +- qapi

[Qemu-devel] [PATCH 1/2] iconv: detect and make curses depend on it

2019-03-03 Thread Samuel Thibault
curses will use it for proper wide output support. Signed-off-by: Samuel Thibault --- configure | 40 vl.c | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 540bee19ba..9979ca708d 100755

[Qemu-devel] [PATCH] slirp: Mark pieces missing IPv6 support

2019-03-02 Thread Samuel Thibault
Signed-off-by: Samuel Thibault --- net/slirp.c | 1 + slirp/misc.c | 3 +++ slirp/slirp.c | 5 + slirp/socket.c| 1 + slirp/tcp_input.c | 2 ++ slirp/tcp_subr.c | 2 ++ slirp/udp.c | 1 + 7 files changed, 15 insertions(+) diff --git a/net/slirp.c b/net/slirp.c

[Qemu-devel] [PATCH] Reduce curses escdelay from 1s to 0.2s

2019-03-02 Thread Samuel Thibault
in, which should be more than enough. Signed-off-by: Samuel Thibault --- ui/curses.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ui/curses.c b/ui/curses.c index 6e0091c3b2..700315bc09 100644 --- a/ui/curses.c +++ b/ui/curses.c @@ -231,7 +231,7 @@ static void curses_refresh

Re: [Qemu-devel] [PATCH] slirp: check sscanf result when emulating ident

2019-03-02 Thread Samuel Thibault
Hello, Philippe Mathieu-Daudé, le sam. 02 mars 2019 18:42:42 +0100, a ecrit: > Samuel: since this diff is not obvious without looking at the context > (also due to the code re-indent), I dropped the code re-indent to make the change obvious. I still added the commit description, always better

Re: [Qemu-devel] [PATCH] slirp: fix big/little endian conversion in ident protocol

2019-03-02 Thread Samuel Thibault
Philippe Mathieu-Daudé, le sam. 02 mars 2019 18:31:56 +0100, a ecrit: > On 3/2/19 3:25 AM, Samuel Thibault wrote: > > Signed-off-by: Samuel Thibault > > --- > > I got: > > Applying: slirp: fix big/little endian conversion in ident protocol > error: patch failed

[Qemu-devel] [PATCH] slirp: fix big/little endian conversion in ident protocol

2019-03-01 Thread Samuel Thibault
Signed-off-by: Samuel Thibault --- slirp/tcp_subr.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/slirp/tcp_subr.c b/slirp/tcp_subr.c index ef9d99c154..1d7e72dca7 100644 --- a/slirp/tcp_subr.c +++ b/slirp/tcp_subr.c @@ -660,10 +660,12 @@ tcp_emu(struct socket *so, struct

Re: [Qemu-devel] [PATCH] slirp: check sscanf result when emulating ident

2019-03-01 Thread Samuel Thibault
William Bowling, le ven. 01 mars 2019 21:45:56 +, a ecrit: > When emulating ident in tcp_emu, if the strchr checks passed but the > sscanf check failed, two uninitialized variables would be copied and > sent in the reply. > > Signed-off-by: William Bowling Applied to my tree, thanks! > ---

Re: [Qemu-devel] [PATCH v2] slirp: check for ioctlsocket error and 0-length udp payload.

2019-03-01 Thread Samuel Thibault
Vic Lee, le ven. 01 mars 2019 14:48:09 +0800, a ecrit: > Sometimes sorecvfrom() is called from slirp.c because revents == G_IO_IN, > but there is 0 bytes available and recvfrom could be blocking indefinitely. > This is likely due to 0-length udp payload. This also adds an error > checking for

Re: [Qemu-devel] [PATCH v2] slirp: Fix build with gcc 9

2019-03-01 Thread Samuel Thibault
Peter Maydell, le ven. 01 mars 2019 09:49:26 +, a ecrit: > On Fri, 1 Mar 2019 at 09:39, Greg Kurz wrote: > > > > Build fails with gcc 9: > > > > CC slirp/ndp_table.o > > slirp/ndp_table.c: In function ‘ndp_table_add’: > > slirp/ndp_table.c:31:23: error: taking address of packed member

Re: [Qemu-devel] [PATCH v2 3/5] contrib: gitdm: add more individual contributors

2019-03-01 Thread Samuel Thibault
e moved them to individuals as requested. > > Cc: Richard Henderson > Cc: Fredrik Noring > Cc: Samuel Thibault > Cc: Aurelien Jarno > Cc: BALATON Zoltan > Signed-off-by: Alex Bennée Acked-by: Samuel Thibault > --- > contrib/gitdm/group-map-individuals | 5 + > 1 fil

Re: [Qemu-devel] [PATCH] socket: fix blocking udp recvfrom.

2019-02-28 Thread Samuel Thibault
llyzs, le ven. 01 mars 2019 12:27:31 +0800, a ecrit: > I believe this is because UDP packet can have 0 length payload. Ah, right, that one makes sense indeed. > I also found out that sometimes ioctlsocket() call can return error > (probably caused by my unstable wifi linux driver), in which case

Re: [Qemu-devel] [PATCH] socket: fix blocking udp recvfrom.

2019-02-28 Thread Samuel Thibault
Hello, llyzs, le jeu. 28 févr. 2019 19:59:12 +0800, a ecrit: > Sometimes sorecvfrom() is called from slirp.c because revents == G_IO_IN, > however inside sorecvfrom() function, ioctlsocket() returns 0 bytes available > and recvfrom could be blocking indefinitely. This adds a non-blocking flag to

Re: [Qemu-devel] [PATCH] slirp: Fix build with gcc 9

2019-02-28 Thread Samuel Thibault
Hello, Peter Maydell, le jeu. 28 févr. 2019 18:14:40 +, a ecrit: > My guess is that this got a packed attribute mistakenly > by analogy with the struct slirp_arphdr which is used in > the ArpTable struct -- but that struct really is used to > match on-the-wire data, and this one is not. This

Re: [Qemu-devel] [PATCH v1 3/6] contrib: gitdm: add some more people academic group

2019-02-26 Thread Samuel Thibault
Alex Bennée, le mar. 26 févr. 2019 17:11:25 +, a ecrit: > Samuel Thibault writes: > > > Hello, > > > > Alex Bennée, le mar. 26 févr. 2019 16:44:57 +, a ecrit: > >> I'm basing this on email addresses or published employment. Please > >> confirm

Re: [Qemu-devel] [PATCH v1 3/6] contrib: gitdm: add some more people academic group

2019-02-26 Thread Samuel Thibault
Hello, Alex Bennée, le mar. 26 févr. 2019 16:44:57 +, a ecrit: > I'm basing this on email addresses or published employment. Please > confirm if this is correct or you want to be under (None). > > Cc: Samuel Thibault @ens-lyon.org means "None". (it's just my alumn

[Qemu-devel] [PULL 0/2] Fix slirp on windows

2019-02-13 Thread Samuel Thibault
The following changes since commit 0b5e750bea635b167eb03d86c3d9a09bbd43bc06: Merge remote-tracking branch 'remotes/stefanha/tags/block-pull-request' into staging (2019-02-12 10:53:37 +) are available in the Git repository at: https://people.debian.org/~sthibault/qemu.git tags/samuel

[Qemu-devel] [PULL 2/2] slirp: wrap the remaining socket functions

2019-02-13 Thread Samuel Thibault
fix, for consistency and to avoid a clash with existing function (such as "slirp_socket"). Fixes: a9d8b3ec ("slirp: replace remaining qemu headers dependency") Signed-off-by: Marc-André Lureau Message-Id: <20190212160953.29051-3-marcandre.lur...@redhat.com> Signed-off-by

[Qemu-devel] [PULL 1/2] slirp: remove slirp_ prefix for socket wrappers

2019-02-13 Thread Samuel Thibault
dre.lur...@redhat.com> Signed-off-by: Samuel Thibault --- slirp/ip_icmp.c | 4 ++-- slirp/misc.c | 14 +++--- slirp/slirp.c| 2 +- slirp/socket.c | 14 +++--- slirp/tcp_subr.c | 10 +- slirp/udp.c | 2 +- slirp/util.h | 31 --- 7

Re: [Qemu-devel] [PATCH 0/2] Fix slirp regression on win32

2019-02-12 Thread Samuel Thibault
Marc-André Lureau, le mar. 12 févr. 2019 17:09:51 +0100, a ecrit: > QEMU wraps the socket functions in os-win32.h, but in commit > a9d8b3ec4385793815d71217857304, the header inclusion was dropped, > breaking slirp on Windows. Fix the regression by wrapping all the > socket functions. Applied to

Re: [Qemu-devel] [PATCH 1/1] RFC: net/slirp: link with libslirp

2019-02-11 Thread Samuel Thibault
Marc-André Lureau, le lun. 11 févr. 2019 12:34:47 +0100, a ecrit: > On Mon, Feb 11, 2019 at 12:09 PM Daniel P. Berrangé > wrote: > > > > On Fri, Feb 08, 2019 at 07:12:26PM +0100, Marc-André Lureau wrote: > > > Once libslirp has received its first release, we can link with the > > > external

Re: [Qemu-devel] [PATCH slirp 0/5] Make it a standalone project

2019-02-10 Thread Samuel Thibault
Hello, Peter Maydell, le dim. 10 févr. 2019 21:35:37 +, a ecrit: > On Fri, 8 Feb 2019 at 20:58, wrote: > > As discussed earlier in "[PATCH for-3.2 00/41] RFC: slirp: make it > > again a standalone project" and other threads, it would be useful to > > make slirp a separate project (the

Re: [Qemu-devel] [PATCH slirp 4/5] slirp: add state saving/loading

2019-02-09 Thread Samuel Thibault
Marc-André Lureau, le sam. 09 févr. 2019 14:16:53 +0100, a ecrit: > Hi > > On Sat, Feb 9, 2019 at 2:13 PM Samuel Thibault > wrote: > > > > Marc-André Lureau, le sam. 09 févr. 2019 14:09:02 +0100, a ecrit: > > > On Sat, Feb 9, 2019 at 12:40

Re: [Qemu-devel] [PATCH 1/1] RFC: net/slirp: link with libslirp

2019-02-09 Thread Samuel Thibault
See "slirp: add state > saving/loading" patch. However, the content should be treated as a > blob, as the format may change eventually in the future. > > Signed-off-by: Marc-André Lureau Reviewed-by: Samuel Thibault Thanks so much for all this work :)

Re: [Qemu-devel] [PATCH slirp 4/5] slirp: add state saving/loading

2019-02-09 Thread Samuel Thibault
Marc-André Lureau, le sam. 09 févr. 2019 14:09:02 +0100, a ecrit: > On Sat, Feb 9, 2019 at 12:40 PM Samuel Thibault > wrote: > > > > marcandre.lur...@redhat.com, le ven. 08 févr. 2019 19:11:21 +0100, a ecrit: > > > From: Marc-André Lureau > > > > >

Re: [Qemu-devel] [PATCH slirp 4/5] slirp: add state saving/loading

2019-02-09 Thread Samuel Thibault
marcandre.lur...@redhat.com, le ven. 08 févr. 2019 19:11:21 +0100, a ecrit: > From: Marc-André Lureau > > Based on qemu vmstate serialization code. At this point it should > produce the same result. However, with future state versions, slirp > should be free to change its format, by bumping the

Re: [Qemu-devel] [PATCH slirp 0/5] Make it a standalone project

2019-02-09 Thread Samuel Thibault
Hello, marcandre.lur...@redhat.com, le ven. 08 févr. 2019 19:11:17 +0100, a ecrit: > Where should this new project be hosted? (I suggest some gitlab > instance, because of the nice ui/CI/issues/milestone...) I'd say freedesktop's gitlab would make a lot of sense yes, I'd go for it

Re: [Qemu-devel] [PULLv4 27/32] slirp: improve send_packet() callback

2019-02-07 Thread Samuel Thibault
Philippe Mathieu-Daudé, le jeu. 07 févr. 2019 19:31:49 +0100, a ecrit: > > +if (ret < 0) { > > +g_critical("Failed to send packet, ret: %ld", (long) ret); > > From the v3 discussion [*] I thought send_packet() would return a > gssize, then we'd use G_GSSIZE_FORMAT here (and similarly

[Qemu-devel] [PULLv4 27/32] slirp: improve send_packet() callback

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Use a more descriptive name for the callback. Reuse the SlirpWriteCb type. Wrap it to check that all data has been written. Return a ssize_t for potential error handling and data-loss reporting. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault

[Qemu-devel] [PULLv4 28/32] slirp: replace global polling with per-instance & notifier

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Remove hard-coded dependency on slirp in main-loop, and use a "poll" notifier instead. The notifier is registered per slirp instance. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- include/qemu/main-loop.h | 15 ++ net/slirp.c

[Qemu-devel] [PULLv4 32/32] slirp: API is extern C

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Make it possible to use headers easily with C++ projects. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/libslirp.h | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/slirp/libslirp.h b/slirp/libslirp.h index

[Qemu-devel] [PULLv4 26/32] slirp: prefer c99 types over BSD kind

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Replace: - u_char -> uint8_t - u_short -> uint16_t - u_long -> uint32_t - u_int -> unsigned - caddr_t -> char * Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/ip_icmp.c| 6 +++--- slirp/ip_icmp.h| 18 +-

[Qemu-devel] [PULLv4 30/32] slirp: use polling callbacks, drop glib requirement

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau It would be legitimate to use libslirp without glib. Let's add_poll/get_revents pair of callbacks to provide the same functionality. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 72

[Qemu-devel] [PULLv4 29/32] slirp: remove slirp_instances list

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Now that polling is done per-instance, we don't need a global list of slirp instances. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/slirp.c | 5 - 1 file changed, 5 deletions(-) diff --git a/slirp/slirp.c b/slirp/slirp.c index

[Qemu-devel] [PULLv4 04/32] slirp: generalize guestfwd with a callback based approach

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Instead of calling into QEMU chardev directly, and mixing it with slirp_add_exec() handling, add a new function slirp_add_guestfwd() which takes a write callback. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 14

[Qemu-devel] [PULLv4 22/32] slirp: replace qemu qtailq with slirp own copy

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/qtailq.h | 193 + slirp/slirp.h | 3 +- 2 files changed, 194 insertions(+), 2 deletions(-) create mode 100644 slirp/qtailq.h diff --git

[Qemu-devel] [PULLv4 17/32] slirp: improve windows headers inclusion

2019-02-07 Thread Samuel Thibault
-by: Samuel Thibault --- slirp/slirp.h | 22 +++--- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/slirp/slirp.h b/slirp/slirp.h index 8d9d72ca9d..5a830ddcb8 100644 --- a/slirp/slirp.h +++ b/slirp/slirp.h @@ -3,10 +3,19 @@ #ifdef _WIN32 +/* as defined

[Qemu-devel] [PULLv4 05/32] net/slirp: simplify checking for cmd: prefix

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/slirp.c b/net/slirp.c index ec07f662c0..b91741b8fc 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -773,7 +773,7

[Qemu-devel] [PULLv4 18/32] slirp: add slirp own version of pstrcpy

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Remove a dependency on qemu util. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/slirp.c | 4 ++-- slirp/tftp.c | 2 +- slirp/util.c | 17 + slirp/util.h | 2 ++ 4 files changed, 22 insertions(+), 3 deletions(-) diff

[Qemu-devel] [PULLv4 15/32] slirp: move QEMU state saving to a separate unit

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Make state saving optional: this will allow to build SLIRP without QEMU. (eventually, the vmstate helpers will be extracted, so an external project & process could save its state) Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/Makefile.

[Qemu-devel] [PULLv4 12/32] slirp: replace qemu_set_nonblock()

2019-02-07 Thread Samuel Thibault
Signed-off-by: Samuel Thibault --- net/slirp.c | 6 ++ slirp/libslirp.h| 2 ++ slirp/misc.c| 3 ++- slirp/tcp_subr.c| 6 -- slirp/util.c| 14 ++ slirp/util.h| 1 + stubs/Makefile.objs | 2 +- 7 files changed, 30 insertions(+), 4

[Qemu-devel] [PULLv4 25/32] slirp: replace remaining qemu headers dependency

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Except for the migration code which is gated by WITH_QEMU, only include our own headers, so libslirp can be built standalone. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/arp_table.c | 3 ++- slirp/bootp.c | 1 - slirp/cksum.c

[Qemu-devel] [PULLv4 19/32] slirp: remove qemu timer.h dependency

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/if.c | 1 - slirp/ip6_icmp.c | 1 - slirp/slirp.c| 1 - slirp/util.h | 2 ++ 4 files changed, 2 insertions(+), 3 deletions(-) diff --git a/slirp/if.c b/slirp/if.c index 73e3705740

[Qemu-devel] [PULLv4 11/32] slirp: replace most qemu socket utilities with slirp own version

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau qemu_set_nonblock() is slightly more problematic and will be dealt with in a separate patch. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/Makefile.objs | 3 +- slirp/ip_icmp.c | 6 +- slirp/misc.c| 20 ++--- slirp/socket.c

[Qemu-devel] [PULLv4 16/32] slirp: do not include qemu headers in libslirp.h public API header

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/libslirp.h | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/slirp/libslirp.h b/slirp/libslirp.h index 679a25422b..02cbec9f8b 100644 --- a/slirp/libslirp.h +++ b

[Qemu-devel] [PULLv4 10/32] slirp: replace QEMU_PACKED with SLIRP_PACKED

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/ip.h | 10 +- slirp/ip6_icmp.h | 6 +++--- slirp/slirp.h| 5 +++-- slirp/util.h | 32 4 files changed, 43 insertions(+), 10 deletions

[Qemu-devel] [PULLv4 06/32] net/slirp: free forwarding rules on cleanup

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 25 ++--- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/net/slirp.c b/net/slirp.c index b91741b8fc..750105a466 100644 --- a/net/slirp.c +++ b/net

[Qemu-devel] [PULLv4 31/32] slirp: pass opaque to all callbacks

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau This is friendlier for FFI bindings. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 25 - slirp/dhcpv6.c | 2 +- slirp/if.c | 2 +- slirp/ip6_icmp.c | 15 +-- slirp/ip_icmp.c | 2

[Qemu-devel] [PULLv4 07/32] net/slirp: fix leaks on forwarding rule registration error

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/slirp.c b/net/slirp.c index 750105a466..0b15f427f5 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -807,6 +807,7 @@ static int

[Qemu-devel] [PULLv4 24/32] slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/

2019-02-07 Thread Samuel Thibault
Only slirp actually needs it, and will need it along in libslirp. Signed-off-by: Samuel Thibault Reviewed-by: Marc-André Lureau --- include/glib-compat.h | 57 --- slirp/misc.c | 62 +++ 2 files changed, 62

[Qemu-devel] [PULLv4 20/32] slirp: remove now useless QEMU headers inclusions

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Some of those could have been squashed earlier, but it is easier to do it all here. Signed-off-by: Marc-André Lureau Signed-off-by: samuel Thibault --- slirp/dhcpv6.c | 1 - slirp/ip6_icmp.c | 2 -- slirp/misc.c | 2 -- slirp/sbuf.c | 1 - slirp/slirp.c

[Qemu-devel] [PULLv4 01/32] slirp: Avoid unaligned 16bit memory access

2019-02-07 Thread Samuel Thibault
pkt parameter may be unaligned, so we must access it byte-wise. This fixes sparc64 host SIGBUS during pxe boot. Signed-off-by: Samuel Thibault Reviewed-by: Richard Henderson --- slirp/slirp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slirp/slirp.c b/slirp/slirp.c

[Qemu-devel] [PULLv4 21/32] slirp: replace net/eth.h inclusion with own defines

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/ip6.h | 1 - slirp/slirp.h | 1 - slirp/util.h | 10 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/slirp/ip6.h b/slirp/ip6.h index 1e3e329ce6..4e7c366505 100644

[Qemu-devel] [PULLv4 03/32] slirp: Don't mark struct ipq or struct ipasfrag as packed

2019-02-07 Thread Samuel Thibault
ipasfrag, as documented in the comment on that struct; assert at build time that this is the case. Signed-off-by: Peter Maydell Reviewed-by: Eric Blake Signed-off-by: Samuel Thibault --- slirp/ip.h | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/slirp/ip.h b/slirp/ip.h index

[Qemu-devel] [PULLv4 14/32] slirp: replace qemu_notify_event() with a callback

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Introduce a SlirpCb callback to kick the main io-thread. Add an intermediary sodrop() function that will call SlirpCb.notify callback when sbdrop() returns true. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 1 + slirp

[Qemu-devel] [PULLv4 13/32] slirp: add unregister_poll_fd() callback

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Add a counter-part to register_poll_fd() for completeness. (so far, register_poll_fd() is called only on struct socket fd) Suggested-by: Paolo Bonzini Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 6 ++ slirp/ip_icmp.c

[Qemu-devel] [PULLv4 23/32] slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT

2019-02-07 Thread Samuel Thibault
to remove another dependency on qemu. Signed-off-by: Samuel Thibault Reviewed-by: Marc-André Lureau Reviewed-by: Richard Henderson Reviewed-by: Stefano Garzarella Reviewed-by: Alex Bennée --- slirp/ip.h | 4 ++-- slirp/ip6.h | 4 ++-- slirp/ip6_icmp.h | 10 +- 3 files

[Qemu-devel] [PULLv4 09/32] slirp: replace trace functions with DEBUG calls

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Remove a dependency on QEMU. Use the existing logging facilities. Set SLIRP_DEBUG=tftp to get tftp log. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- Makefile.objs | 1 - slirp/debug.h | 13 ++--- slirp/slirp.c | 1

[Qemu-devel] [PULLv4 08/32] slirp: add callbacks for timer

2019-02-07 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 21 + slirp/ip6_icmp.c | 16 +++- slirp/libslirp.h | 14 +++--- slirp/slirp.h| 2 +- 4 files changed, 40 insertions(+), 13 deletions

[Qemu-devel] [PULLv4 02/32] slirp: Avoid marking naturally packed structs as QEMU_PACKED

2019-02-07 Thread Samuel Thibault
the address of fields within the structs without risking undefined behaviour, and suppresses clang -Waddress-of-packed-member warnings. Signed-off-by: Peter Maydell Reviewed-by: Eric Blake Signed-off-by: Samuel Thibault --- slirp/ip6.h | 12 ++-- slirp/ip6_icmp.h | 20

[Qemu-devel] [PULLv4 00/32] More work towards libslirp

2019-02-07 Thread Samuel Thibault
The following changes since commit 713acc316ddca119fe168e72846f1d2dd0548430: Merge remote-tracking branch 'remotes/rth/tags/pull-tcg-20190206' into staging (2019-02-07 11:46:40 +) are available in the Git repository at: https://people.debian.org/~sthibault/qemu.git tags/samuel-thibault

Re: [Qemu-devel] [PULLv3 00/32] More work towards libslirp

2019-02-07 Thread Samuel Thibault
Peter Maydell, le jeu. 07 févr. 2019 11:46:23 +, a ecrit: > On Tue, 5 Feb 2019 at 18:28, Samuel Thibault > wrote: > > > > The following changes since commit 01a9a51ffaf4699827ea6425cb2b834a356e159d: > > > > Merge remote-tracking branch > > 'remotes/

[Qemu-devel] [PULLv3 28/32] slirp: replace global polling with per-instance & notifier

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Remove hard-coded dependency on slirp in main-loop, and use a "poll" notifier instead. The notifier is registered per slirp instance. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- include/qemu/main-loop.h | 15 ++ net/slirp.c

[Qemu-devel] [PULLv3 19/32] slirp: remove qemu timer.h dependency

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/if.c | 1 - slirp/ip6_icmp.c | 1 - slirp/slirp.c| 1 - slirp/util.h | 2 ++ 4 files changed, 2 insertions(+), 3 deletions(-) diff --git a/slirp/if.c b/slirp/if.c index 73e3705740

Re: [Qemu-devel] [PULLv2 00/32] More work towards libslirp

2019-02-05 Thread Samuel Thibault
Peter Maydell, le mar. 05 févr. 2019 18:24:45 +, a ecrit: > /home/pm215/qemu/slirp/misc.c:166:5: error: unknown type name ‘QemuGSpawnFds’ D'oh... Fixed in v3. Samuel

[Qemu-devel] [PULLv3 25/32] slirp: replace remaining qemu headers dependency

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Except for the migration code which is gated by WITH_QEMU, only include our own headers, so libslirp can be built standalone. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/arp_table.c | 3 ++- slirp/bootp.c | 1 - slirp/cksum.c

[Qemu-devel] [PULLv3 26/32] slirp: prefer c99 types over BSD kind

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Replace: - u_char -> uint8_t - u_short -> uint16_t - u_long -> uint32_t - u_int -> unsigned - caddr_t -> char * Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/ip_icmp.c| 6 +++--- slirp/ip_icmp.h| 18 +-

[Qemu-devel] [PULLv3 14/32] slirp: replace qemu_notify_event() with a callback

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Introduce a SlirpCb callback to kick the main io-thread. Add an intermediary sodrop() function that will call SlirpCb.notify callback when sbdrop() returns true. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 1 + slirp

[Qemu-devel] [PULLv3 20/32] slirp: remove now useless QEMU headers inclusions

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Some of those could have been squashed earlier, but it is easier to do it all here. Signed-off-by: Marc-André Lureau Signed-off-by: samuel Thibault --- slirp/dhcpv6.c | 1 - slirp/ip6_icmp.c | 2 -- slirp/misc.c | 2 -- slirp/sbuf.c | 1 - slirp/slirp.c

[Qemu-devel] [PULLv3 10/32] slirp: replace QEMU_PACKED with SLIRP_PACKED

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/ip.h | 10 +- slirp/ip6_icmp.h | 6 +++--- slirp/slirp.h| 5 +++-- slirp/util.h | 32 4 files changed, 43 insertions(+), 10 deletions

[Qemu-devel] [PULLv3 18/32] slirp: add slirp own version of pstrcpy

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Remove a dependency on qemu util. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/slirp.c | 4 ++-- slirp/tftp.c | 2 +- slirp/util.c | 17 + slirp/util.h | 2 ++ 4 files changed, 22 insertions(+), 3 deletions(-) diff

[Qemu-devel] [PULLv3 04/32] slirp: generalize guestfwd with a callback based approach

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Instead of calling into QEMU chardev directly, and mixing it with slirp_add_exec() handling, add a new function slirp_add_guestfwd() which takes a write callback. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 14

[Qemu-devel] [PULLv3 32/32] slirp: API is extern C

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Make it possible to use headers easily with C++ projects. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/libslirp.h | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/slirp/libslirp.h b/slirp/libslirp.h index

[Qemu-devel] [PULLv3 08/32] slirp: add callbacks for timer

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 21 + slirp/ip6_icmp.c | 16 +++- slirp/libslirp.h | 14 +++--- slirp/slirp.h| 2 +- 4 files changed, 40 insertions(+), 13 deletions

[Qemu-devel] [PULLv3 17/32] slirp: improve windows headers inclusion

2019-02-05 Thread Samuel Thibault
-by: Samuel Thibault --- slirp/slirp.h | 22 +++--- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/slirp/slirp.h b/slirp/slirp.h index 8d9d72ca9d..5a830ddcb8 100644 --- a/slirp/slirp.h +++ b/slirp/slirp.h @@ -3,10 +3,19 @@ #ifdef _WIN32 +/* as defined

[Qemu-devel] [PULLv3 01/32] slirp: Avoid unaligned 16bit memory access

2019-02-05 Thread Samuel Thibault
pkt parameter may be unaligned, so we must access it byte-wise. This fixes sparc64 host SIGBUS during pxe boot. Signed-off-by: Samuel Thibault Reviewed-by: Richard Henderson --- slirp/slirp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/slirp/slirp.c b/slirp/slirp.c

[Qemu-devel] [PULLv3 27/32] slirp: improve send_packet() callback

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Use a more descriptive name for the callback. Reuse the SlirpWriteCb type. Wrap it to check that all data has been written. Return a ssize_t for potential error handling and data-loss reporting. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault

[Qemu-devel] [PULLv3 30/32] slirp: use polling callbacks, drop glib requirement

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau It would be legitimate to use libslirp without glib. Let's add_poll/get_revents pair of callbacks to provide the same functionality. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 72

[Qemu-devel] [PULLv3 02/32] slirp: Avoid marking naturally packed structs as QEMU_PACKED

2019-02-05 Thread Samuel Thibault
the address of fields within the structs without risking undefined behaviour, and suppresses clang -Waddress-of-packed-member warnings. Signed-off-by: Peter Maydell Reviewed-by: Eric Blake Signed-off-by: Samuel Thibault --- slirp/ip6.h | 12 ++-- slirp/ip6_icmp.h | 20

[Qemu-devel] [PULLv3 21/32] slirp: replace net/eth.h inclusion with own defines

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/ip6.h | 1 - slirp/slirp.h | 1 - slirp/util.h | 10 ++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/slirp/ip6.h b/slirp/ip6.h index 1e3e329ce6..4e7c366505 100644

[Qemu-devel] [PULLv3 23/32] slirp: replace QEMU_BUILD_BUG_ON with G_STATIC_ASSERT

2019-02-05 Thread Samuel Thibault
to remove another dependency on qemu. Signed-off-by: Samuel Thibault Reviewed-by: Marc-André Lureau Reviewed-by: Richard Henderson Reviewed-by: Stefano Garzarella Reviewed-by: Alex Bennée --- slirp/ip.h | 4 ++-- slirp/ip6.h | 4 ++-- slirp/ip6_icmp.h | 10 +- 3 files

[Qemu-devel] [PULLv3 13/32] slirp: add unregister_poll_fd() callback

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Add a counter-part to register_poll_fd() for completeness. (so far, register_poll_fd() is called only on struct socket fd) Suggested-by: Paolo Bonzini Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 6 ++ slirp/ip_icmp.c

[Qemu-devel] [PULLv3 29/32] slirp: remove slirp_instances list

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Now that polling is done per-instance, we don't need a global list of slirp instances. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/slirp.c | 5 - 1 file changed, 5 deletions(-) diff --git a/slirp/slirp.c b/slirp/slirp.c index

[Qemu-devel] [PULLv3 00/32] More work towards libslirp

2019-02-05 Thread Samuel Thibault
/samuel-thibault for you to fetch changes up to 1e924479dce65a26a7432bf5920f89c1bf957d74: slirp: API is extern C (2019-02-05 20:27:27 +0200) More work towards libslirp Marc-André Lureau (27): slirp: generalize guestfwd

[Qemu-devel] [PULLv3 22/32] slirp: replace qemu qtailq with slirp own copy

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/qtailq.h | 193 + slirp/slirp.h | 3 +- 2 files changed, 194 insertions(+), 2 deletions(-) create mode 100644 slirp/qtailq.h diff --git

[Qemu-devel] [PULLv3 15/32] slirp: move QEMU state saving to a separate unit

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Make state saving optional: this will allow to build SLIRP without QEMU. (eventually, the vmstate helpers will be extracted, so an external project & process could save its state) Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/Makefile.

[Qemu-devel] [PULLv3 05/32] net/slirp: simplify checking for cmd: prefix

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/slirp.c b/net/slirp.c index ec07f662c0..b91741b8fc 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -773,7 +773,7

[Qemu-devel] [PULLv3 24/32] slirp: Move g_spawn_async_with_fds_qemu compatibility to slirp/

2019-02-05 Thread Samuel Thibault
Only slirp actually needs it, and will need it along in libslirp. Signed-off-by: Samuel Thibault Reviewed-by: Marc-André Lureau --- include/glib-compat.h | 57 --- slirp/misc.c | 62 +++ 2 files changed, 62

[Qemu-devel] [PULLv3 07/32] net/slirp: fix leaks on forwarding rule registration error

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/slirp.c b/net/slirp.c index 750105a466..0b15f427f5 100644 --- a/net/slirp.c +++ b/net/slirp.c @@ -807,6 +807,7 @@ static int

[Qemu-devel] [PULLv3 31/32] slirp: pass opaque to all callbacks

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau This is friendlier for FFI bindings. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 25 - slirp/dhcpv6.c | 2 +- slirp/if.c | 2 +- slirp/ip6_icmp.c | 15 +-- slirp/ip_icmp.c | 2

[Qemu-devel] [PULLv3 16/32] slirp: do not include qemu headers in libslirp.h public API header

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/libslirp.h | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/slirp/libslirp.h b/slirp/libslirp.h index 679a25422b..02cbec9f8b 100644 --- a/slirp/libslirp.h +++ b

[Qemu-devel] [PULLv3 03/32] slirp: Don't mark struct ipq or struct ipasfrag as packed

2019-02-05 Thread Samuel Thibault
ipasfrag, as documented in the comment on that struct; assert at build time that this is the case. Signed-off-by: Peter Maydell Reviewed-by: Eric Blake Signed-off-by: Samuel Thibault --- slirp/ip.h | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/slirp/ip.h b/slirp/ip.h index

[Qemu-devel] [PULLv3 11/32] slirp: replace most qemu socket utilities with slirp own version

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau qemu_set_nonblock() is slightly more problematic and will be dealt with in a separate patch. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- slirp/Makefile.objs | 3 +- slirp/ip_icmp.c | 6 +- slirp/misc.c| 20 ++--- slirp/socket.c

[Qemu-devel] [PULLv3 12/32] slirp: replace qemu_set_nonblock()

2019-02-05 Thread Samuel Thibault
Signed-off-by: Samuel Thibault --- net/slirp.c | 6 ++ slirp/libslirp.h| 2 ++ slirp/misc.c| 3 ++- slirp/tcp_subr.c| 6 -- slirp/util.c| 14 ++ slirp/util.h| 1 + stubs/Makefile.objs | 2 +- 7 files changed, 30 insertions(+), 4

[Qemu-devel] [PULLv3 09/32] slirp: replace trace functions with DEBUG calls

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Remove a dependency on QEMU. Use the existing logging facilities. Set SLIRP_DEBUG=tftp to get tftp log. Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- Makefile.objs | 1 - slirp/debug.h | 13 ++--- slirp/slirp.c | 1

[Qemu-devel] [PULLv3 06/32] net/slirp: free forwarding rules on cleanup

2019-02-05 Thread Samuel Thibault
From: Marc-André Lureau Signed-off-by: Marc-André Lureau Signed-off-by: Samuel Thibault --- net/slirp.c | 25 ++--- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/net/slirp.c b/net/slirp.c index b91741b8fc..750105a466 100644 --- a/net/slirp.c +++ b/net

<    1   2   3   4   5   6   7   8   9   10   >