From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60252) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cBHp8-0008W2-IL for qemu-devel@nongnu.org; Mon, 28 Nov 2016 04:02:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cBHp2-0004jd-Pz for qemu-devel@nongnu.org; Mon, 28 Nov 2016 04:02:06 -0500 Received: from mx1.redhat.com ([209.132.183.28]:38880) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1cBHp2-0004j3-Jr for qemu-devel@nongnu.org; Mon, 28 Nov 2016 04:02:00 -0500 Message-ID: <1480323717.20061.27.camel@redhat.com> From: Gerd Hoffmann Date: Mon, 28 Nov 2016 10:01:57 +0100 In-Reply-To: <6f8e7da4-b581-9bf2-9209-4100c591c7a6@redhat.com> References: <20161118103659.10448-1-lersek@redhat.com> <20161124003835.GA20281@morn.lan> <20161124062859-mutt-send-email-mst@kernel.org> <20161125055952-mutt-send-email-mst@kernel.org> <0067a71d-74e8-d727-a2cb-a5e6dfd09127@redhat.com> <6f8e7da4-b581-9bf2-9209-4100c591c7a6@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH v3 for-2.9 0/3] q35: add negotiable broadcast SMI List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laszlo Ersek Cc: "Michael S. Tsirkin" , Paolo Bonzini , Kevin O'Connor , qemu devel list , Igor Mammedov , "Jordan Justen (Intel address)" , Michael Kinney Hi, > If I understand correctly, one argument against the current state of > writeable fw_cfg, captured in > , is > that callbacks on write are not supported. Apparently, QEMU code that > uses the data written by the guest is supposed to just read that data, > not to expect a notification about it. >=20 > I'm unsure how this can work for actual negotiation, where the guest > usually does a read/write/read cycle, and expects some kind of change > between steps #2 and #3. I don't see how that can be implemented in QEMU > without write callbacks (i.e. how QEMU can confirm or reject the > negotiation attempt). Do you actually need negotiation? I think you only need to know whenever broadcast-smi is supported, and the presence of the etc/broadcast-smi (or however we name that) fw_cfg file indicates that. If it is there just write true/false to it to enable/disable, and qemu checks the field each time a smi is raised. cheers, Gerd