[{"id":3678978,"web_url":"http://patchwork.ozlabs.org/comment/3678978/","msgid":"<CAFEAcA9yq2RH226fx5vybumH=fjosPVgMSvigauAz=OK8-RWQQ@mail.gmail.com>","list_archive_url":null,"date":"2026-04-18T15:13:55","subject":"Re: [PATCH] chardev/msmouse: save and restore device state for\n migration and savevm","submitter":{"id":5111,"url":"http://patchwork.ozlabs.org/api/people/5111/","name":"Peter Maydell","email":"peter.maydell@linaro.org"},"content":"On Sat, 18 Apr 2026 at 12:53, Trieu Huynh <vikingtc4@gmail.com> wrote:\n>\n> From: Trieu Huynh <vikingtc4@gmail.com>\n>\n> MouseChardev holds state that must survive migration and savevm/loadvm:\n>\n>   tiocm   - serial line control (RTS/DTR).  When zero the mouse is\n>             considered powered-off and all input events are silently\n>             dropped.  Losing this field after migration leaves the\n>             mouse in a dead state: the guest driver must toggle\n>             RTS/DTR again to re-detect the mouse, which most drivers\n>             (Linux sermouse, DOS ctmouse) only do at initialisation.\n>\n>   axis[]  - accumulated X/Y movement not yet encoded into a packet.\n>\n>   btns[]  - current button state.\n>\n>   btnc[]  - per-button change flags used for middle-button tracking.\n>\n>   outbuf  - Fifo8 of encoded mouse bytes waiting to be delivered to\n>             the serial port receive FIFO.\n>\n> Add a VMStateDescription covering all five fields, registering it in\n> msmouse_chr_open and unregistering it in char_msmouse_finalize.  This\n> follows the same pattern used by ui/vdagent.c\n>\n> Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1234\n>\n> Signed-off-by: Trieu Huynh <vikingtc4@gmail.com>\n\n> @@ -263,6 +279,7 @@ static bool msmouse_chr_open(Chardev *chr,\n>                                              &msmouse_handler);\n>      mouse->tiocm = 0;\n>      fifo8_create(&mouse->outbuf, MSMOUSE_BUF_SZ);\n> +    vmstate_register_any(NULL, &vmstate_msmouse, mouse);\n\nAdding a new use of vmstate_register_any() is a bit\nunfortunate -- this is supposed to be a legacy function.\n\nMore generally, it seems odd that the chardev has any state\nthat needs to be migrated at all. The chardev should have\nstate corresponding to the host's situation, which is all fresh\nfor the migration destination. State corresponding to things the\nguest has or has not done ought to be in a device model somewhere,\nsurely?\n\nPut another way, why is this msmouse code in chardev/ and a subtype\nof TYPE_CHARDEV, and not a device in hw/input that's a subtype\nof TYPE_DEVICE? I guess that the idea is we want to be able to\nplug it into any UART device, but that seems to have some issues\nwhen it comes to migration. wctablet is probably in the same boat.\n\n-- PMM","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=w1jISSLY;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fyb071d0Sz1yGt\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 19 Apr 2026 01:15:01 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wE7N6-0004vU-Rv; Sat, 18 Apr 2026 11:14:12 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1wE7N4-0004vI-Qs\n for qemu-devel@nongnu.org; Sat, 18 Apr 2026 11:14:10 -0400","from mail-yw1-x112d.google.com ([2607:f8b0:4864:20::112d])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <peter.maydell@linaro.org>)\n id 1wE7N2-0002xC-Qv\n for qemu-devel@nongnu.org; Sat, 18 Apr 2026 11:14:10 -0400","by mail-yw1-x112d.google.com with SMTP id\n 00721157ae682-7947cf097c1so14425257b3.2\n for <qemu-devel@nongnu.org>; Sat, 18 Apr 2026 08:14:08 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; t=1776525247; cv=none;\n d=google.com; s=arc-20240605;\n b=PCzWhYua4IBVEDCHGmTWYyF4fC6M7RERlaTN2T6DkRhW8JXi7fM4L8yeJmdM1IAjE/\n 01B1u77QJD6PKZtWPmyfjU0QmM3528kuQNxJcUQvPGq9JaZq7UwIWOHHstp5ma038LbO\n 61X3TJpGrpAdxSnvnT1R6JM9OHq+/f+QrIWKIu7kU+072/HpjYAQwiXKLhp1LLkgc3Hd\n Mq9b70A+9OeUUbk1L3rqGkco91jrWnDwdwKagnYzcD+19CA1TFFv39Cbnw0m/dwpc2Uo\n PQTJI2DG6lGrzdkT05ekpkrBOjtWMP/HioDm/ffhC0YkP5APZaehFps/8dhF2ZF5pdo2\n acJQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com;\n s=arc-20240605;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:dkim-signature;\n bh=JotdqhCLC3RWhzCY0VF8TfDWQpSZiqN1wI5LkIQnkEo=;\n fh=wKVqvMNt0AiJNNYTjWZOveR6Ru3lORxepIdjx1rFDAU=;\n b=NO/s/iIC8bOI/CaWGs60V5tUVkMbassz2J2v5eCKD+iBcwaLeV4WDJ6Ub8yQ1MKrlZ\n MTdK8gST3e5i2Fs0/sRpozxErhFMnxI3jCmPr5lPpq1NWEtcpk0uNbwRGFYNBpWs3OwF\n cZw1lLOVmvaWPdaKE4eRsxZuLzj8KctT70fnGbm++Q3z1ohB20So+6ueYGC9Cc0tf1ES\n id9LDTHjWM5n0Dwtf0wI/xmBg/bkDA7aL5N1Agr+vML01wq3TzX71rrJD0wJktQXth2u\n h+Yjf6zw/R5NNmblN2Qk+4A2SrNiwFe/adlqR1xsE1gihQhHQtLy1i9Le2YXIOOtUWQH\n 949g==; darn=nongnu.org","ARC-Authentication-Results":"i=1; mx.google.com; arc=none","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=linaro.org; s=google; t=1776525247; x=1777130047; darn=nongnu.org;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:from:to:cc:subject:date:message-id:reply-to;\n bh=JotdqhCLC3RWhzCY0VF8TfDWQpSZiqN1wI5LkIQnkEo=;\n b=w1jISSLYj3+MJnXbb282RB7BLdvEwzt/Cio7POFkejdCU841jgWbcmyQutLhy10Lcn\n Bwdfs+nQGrNV5bJp7mPLPAAvnEqyg+mowNhIxpUCOumK7gJmXU1EWkviUoYKXOUe3LpT\n 8XaAqP9PyIPEZOY3ERfKD2jVkb38HQva2oVd3xKjGBBEHVNp681ppR32J00ypDMLSksh\n LrIt5kuX2rEhvpSZSkgFS0FRY5sZIw0GOgF5DLBjCQkgZTYNXz250+eFYDZlJgqqNfxa\n oFhbmOK5uTmYynvuYqlrEg7RIzYerPheVd6LA6jr/9GX47ipBdeAiy7lJEoReLWZ9+3H\n dNhg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776525247; x=1777130047;\n h=cc:to:subject:message-id:date:from:in-reply-to:references\n :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=JotdqhCLC3RWhzCY0VF8TfDWQpSZiqN1wI5LkIQnkEo=;\n b=TkKW7Xg9dxc55mNyDeB8Mz1PSJwRGpenwEHBMDRSNzp00cW968sl6C96yV6ptLntLi\n HfVfZOP8UU7XK1g7MkrqL7jqvWPVwLpgYbvTYVF50uf+GAqlpqg/WRHjR687tBOqUln3\n sOc+c9+oVWXAZLxlkfw/UAxgRb5hpf5zKozY+MrZ6Sxxq97j8OeBC2djCQgp7j2eQ2QC\n P9ApIf1yzW33cJCh5avmQ1ohklTmZENi5sCnH9YJNQEIWbonb6A/mLGnR520FVas0gd6\n fd33vt6gHxctkJU1r+ydn1xPbIjQGqcaH9hbTHBk4GP6fSWwherUlkI2I4H55xXmDyzs\n 1VtA==","X-Gm-Message-State":"AOJu0YzunNjdOSPaV1uDjGzlKOvFdnumDaVvLT6Ccwpr42ZRmAZ4dXyX\n xasOlnPJwbFzaFQ8X3uRAvWBXxfrv0DJFqLvx+OvL3bSJnHQmY75a1B8sVcMPDPXlbEaMD1LWNf\n wvfRpzWY/NSP/Ikxp02qnjh6l4AZJBCrdi/qz/VeHJQ==","X-Gm-Gg":"AeBDietOhhQxOurhhxW37fVf/2FXgKVYdlBDLiam2YGPx08H5NPQLUPc0lt6FtnRmwz\n 1cPstxGEZy+2yv4ivuobgf30PHkggNCBT4UldU9RuCaoh6i7YpUFBzsnbRdPeJ3aNhl05/9qasJ\n R4sL/0GrVi29ot7+cnUO+GCvsAXGW6hjUdfAwBBHwYPYqfs6ApW8mSmVqLwaTjk3nEUFYBmWRE/\n FPX5B+xeHtTe8hLnFE3VxnQjUw5v9ws9Ily5idBd5LXDMjiyrXlIvxiNCzry9jvvfygQNDErlqF\n UFhjo8BdfszLWuYcTTZpzVpDjt9QhDgZ8UgZwXwoSXeruIaE5JH0g4Wisq2sTnKr+NVjZ/qnYDf\n vPg==","X-Received":"by 2002:a05:690c:93:b0:7b3:9175:30a4 with SMTP id\n 00721157ae682-7b9ecefdb46mr71816327b3.15.1776525247135; Sat, 18 Apr 2026\n 08:14:07 -0700 (PDT)","MIME-Version":"1.0","References":"<20260418115230.17809-1-viking4@gmail.com>","In-Reply-To":"<20260418115230.17809-1-viking4@gmail.com>","From":"Peter Maydell <peter.maydell@linaro.org>","Date":"Sat, 18 Apr 2026 16:13:55 +0100","X-Gm-Features":"AQROBzBA5tEJQXveD6CCzDtkzZ5vZDgt3CefrDOu59wWX1VgosRIXMDqdPLq0qs","Message-ID":"\n <CAFEAcA9yq2RH226fx5vybumH=fjosPVgMSvigauAz=OK8-RWQQ@mail.gmail.com>","Subject":"Re: [PATCH] chardev/msmouse: save and restore device state for\n migration and savevm","To":"Trieu Huynh <vikingtc4@gmail.com>","Cc":"qemu-devel@nongnu.org,\n =?utf-8?q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,\n  Paolo Bonzini <pbonzini@redhat.com>","Content-Type":"text/plain; charset=\"UTF-8\"","Received-SPF":"pass client-ip=2607:f8b0:4864:20::112d;\n envelope-from=peter.maydell@linaro.org; helo=mail-yw1-x112d.google.com","X-Spam_score_int":"-20","X-Spam_score":"-2.1","X-Spam_bar":"--","X-Spam_report":"(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}},{"id":3680902,"web_url":"http://patchwork.ozlabs.org/comment/3680902/","msgid":"<izunxfckxpm3tcsb5zzbxpwjzfz6goldhtgsofoedfpfngc5fh@eqa4ojekufcl>","list_archive_url":null,"date":"2026-04-22T19:23:13","subject":"Re: [PATCH] chardev/msmouse: save and restore device state for\n migration and savevm","submitter":{"id":92831,"url":"http://patchwork.ozlabs.org/api/people/92831/","name":"Trieu Huynh","email":"vikingtc4@gmail.com"},"content":"On Sat, Apr 18, 2026 at 04:13:55PM +0100, Peter Maydell wrote:\n> On Sat, 18 Apr 2026 at 12:53, Trieu Huynh <vikingtc4@gmail.com> wrote:\n> >\n> > From: Trieu Huynh <vikingtc4@gmail.com>\n> >\n> > MouseChardev holds state that must survive migration and savevm/loadvm:\n> >\n> >   tiocm   - serial line control (RTS/DTR).  When zero the mouse is\n> >             considered powered-off and all input events are silently\n> >             dropped.  Losing this field after migration leaves the\n> >             mouse in a dead state: the guest driver must toggle\n> >             RTS/DTR again to re-detect the mouse, which most drivers\n> >             (Linux sermouse, DOS ctmouse) only do at initialisation.\n> >\n> >   axis[]  - accumulated X/Y movement not yet encoded into a packet.\n> >\n> >   btns[]  - current button state.\n> >\n> >   btnc[]  - per-button change flags used for middle-button tracking.\n> >\n> >   outbuf  - Fifo8 of encoded mouse bytes waiting to be delivered to\n> >             the serial port receive FIFO.\n> >\n> > Add a VMStateDescription covering all five fields, registering it in\n> > msmouse_chr_open and unregistering it in char_msmouse_finalize.  This\n> > follows the same pattern used by ui/vdagent.c\n> >\n> > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1234\n> >\n> > Signed-off-by: Trieu Huynh <vikingtc4@gmail.com>\n> \n> > @@ -263,6 +279,7 @@ static bool msmouse_chr_open(Chardev *chr,\n> >                                              &msmouse_handler);\n> >      mouse->tiocm = 0;\n> >      fifo8_create(&mouse->outbuf, MSMOUSE_BUF_SZ);\n> > +    vmstate_register_any(NULL, &vmstate_msmouse, mouse);\n> \nHello Peter,\nThanks for the detail feedbacks. I've spent time to check your\nconcerns.\n> Adding a new use of vmstate_register_any() is a bit\n> unfortunate -- this is supposed to be a legacy function.\nAgreed. Thanks for the point.\n> \n> More generally, it seems odd that the chardev has any state\n> that needs to be migrated at all. The chardev should have\n> state corresponding to the host's situation, which is all fresh\n> for the migration destination. State corresponding to things the\n> guest has or has not done ought to be in a device model somewhere,\n> surely?\n> \n> Put another way, why is this msmouse code in chardev/ and a subtype\n> of TYPE_CHARDEV, and not a device in hw/input that's a subtype\n> of TYPE_DEVICE? I guess that the idea is we want to be able to\n> plug it into any UART device, but that seems to have some issues\n> when it comes to migration. wctablet is probably in the same boat.\nYou're right to concern.\nWhen at this point, IMHO we can either\n- add TYPE_VMSTATE_IF to TYPE_CHARDEV as a preparatory patch, then\nuse vmstate_register() here and in wctablet.\n- or follow your suggestion more fully: move MouseChardev into\nhw/input/ as a TYPE_DEVICE subtype, attach it to the serial port via\nthe existing interface, and use dc->vmsd for migration. wctablet could\nfollow the same pattern.\nThe later is architecturally cleaner but is a bigger refactor. OTOH,\nthe former is minimal but still adds vmstate to a chardev, which\nyou've flagged as conceptually wrong.\n\nWhich direction would you prefer? Happy to go either way.\n> \n> -- PMM\nBRs,\nTrieu Huynh","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=gS5CpyYU;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g18KJ471Fz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 05:23:48 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wFdAW-0003UH-HV; Wed, 22 Apr 2026 15:23:28 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <vikingtc4@gmail.com>)\n id 1wFdAR-0003Tm-F3\n for qemu-devel@nongnu.org; Wed, 22 Apr 2026 15:23:23 -0400","from mail-pl1-x629.google.com ([2607:f8b0:4864:20::629])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <vikingtc4@gmail.com>)\n id 1wFdAP-0007Gy-Bg\n for qemu-devel@nongnu.org; Wed, 22 Apr 2026 15:23:23 -0400","by mail-pl1-x629.google.com with SMTP id\n d9443c01a7336-2b2589c26e3so52905305ad.1\n for <qemu-devel@nongnu.org>; Wed, 22 Apr 2026 12:23:20 -0700 (PDT)","from localhost ([42.114.219.141]) by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b5faa32ad8sm178851765ad.31.2026.04.22.12.23.18\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 22 Apr 2026 12:23:18 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=gmail.com; s=20251104; t=1776885800; x=1777490600; darn=nongnu.org;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n bh=SuwjZ5Y3pQdTT7osz6mAAFkp5K7vr2u8osvSou81iI4=;\n b=gS5CpyYUPVq6WlOkJWAUz/qbx4xusrAlMIs+PqusIW0kVcAqJBI/wvFH0rt5bijNqQ\n p2yBVKrzNjnpFwUIukTO15M5DZFF5CmxuHL+yaZuAfircr1w8MZGQaH/jozd5qTq+5gm\n iujSIdoVPfLsuI4hbLH6k6lEWMLQYSKOVl/uu5Gfnjkz74Hb8ncCQA9vO9uKgDP8yBJk\n UCUUg2x8e+f2OeVdtNd+nfce2SfTOx5KQLKWq8+1imy7T93p0H7TQVx9cwJshwkcSgxc\n r9GNpIKV30IRejGqe4se6xASnwyd/5TbytU6DdL2EuVbsyZbPR1JRMHwFZCOMdhRAb96\n AmMA==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776885800; x=1777490600;\n h=in-reply-to:content-disposition:mime-version:references:message-id\n :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=SuwjZ5Y3pQdTT7osz6mAAFkp5K7vr2u8osvSou81iI4=;\n b=q5W+wDc7rStSH/d9iNx11b3DhdEVO9c3cGUm/Ou+Y6viIhf2yVYEy86GZ3OHnkXdWl\n NGpKykzwLAJR8gdJeoKmf1VlRRD1HXCK3pavDl5WwjPxnpW/iI1+sa4ZhGBOnXZauhFT\n tL3+BdkzO+vogpCNpSdr9QygoYn05Kpk1q09IbHwGbqkUf6K2bzV4XhHiLC9nizQyvEf\n p0ZGMeKuWa/F2bwg8xPwREojbRhi4ihmaOu+xDFuJhCmqS+Qdo9nBp09WauTs1xrVzsu\n +M4L9c4z0O97AdEoOQVTKndF98nYDzV4h6jldAmAQHf1gJN7d/YXKfcDvOGALL2jQSCE\n vUDw==","X-Gm-Message-State":"AOJu0YwFpBBCbilov44pjPss2VjF0NbXk0OEWikIh9vzT/g7SYHtuGsP\n 8VbVeQNp4CSdOo9RRxiu9txUqZU8aUn1hxRyPhZ33rLKHL+bZxkOI2rS","X-Gm-Gg":"AeBDietkTAjqio3+CcLE2B6GJMAQ1Jbfe4YTOnJUtqHgeEdA7hj3ukDE0CTz7eFocZi\n CwxFCj1xvYY7f1qrAGqwaxr70Yo6oViCuf5Raa/MCANXuT7Zm5K40jFRU2W/eLSK7R4jDEB201P\n D/bVj4U0TraTNbi+WdfQ3+5IBD3WqYPas5tBEtMveUIbLs5am1XCEOkFS/sbUiQDNnyU4jDA2bm\n y1Av/QUUFc2gIc0uE8mzE99stYSZUZ0vuAFt62awtpfBuoWIklHvGFhmQdv30Vvph7YmV6v0cAQ\n R+JKP5IUGcuLW00whmujc9IWfTJ3lKVbsb06HWcOzd8VyjGdx2urNz/2iK6MLkOxnNGFkfSR/Pj\n FwfCqzXD7kIYZWdOPGOTBGi+xjiMSn5KHm2P+wdBgMjmP/SNB0sP+TeAidBDMcLQ5Etr6Qi6z5A\n uBBrSgKv5qjFbTxOGJmfWQaKtOjuTp0QK0NnyR4t1DSlFp","X-Received":"by 2002:a17:902:7c0f:b0:2b2:b117:1e16 with SMTP id\n d9443c01a7336-2b5f9f7e95fmr180844305ad.20.1776885799648;\n Wed, 22 Apr 2026 12:23:19 -0700 (PDT)","Date":"Thu, 23 Apr 2026 02:23:13 +0700","From":"Trieu Huynh <vikingtc4@gmail.com>","To":"Peter Maydell <peter.maydell@linaro.org>","Cc":"qemu-devel@nongnu.org,\n =?utf-8?q?Marc-Andr=C3=A9?= Lureau <marcandre.lureau@redhat.com>,\n Paolo Bonzini <pbonzini@redhat.com>","Subject":"Re: [PATCH] chardev/msmouse: save and restore device state for\n migration and savevm","Message-ID":"<izunxfckxpm3tcsb5zzbxpwjzfz6goldhtgsofoedfpfngc5fh@eqa4ojekufcl>","References":"<20260418115230.17809-1-viking4@gmail.com>\n <CAFEAcA9yq2RH226fx5vybumH=fjosPVgMSvigauAz=OK8-RWQQ@mail.gmail.com>","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"\n <CAFEAcA9yq2RH226fx5vybumH=fjosPVgMSvigauAz=OK8-RWQQ@mail.gmail.com>","Received-SPF":"pass client-ip=2607:f8b0:4864:20::629;\n envelope-from=vikingtc4@gmail.com; helo=mail-pl1-x629.google.com","X-Spam_score_int":"-17","X-Spam_score":"-1.8","X-Spam_bar":"-","X-Spam_report":"(-1.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001,\n RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"qemu development <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"}}]