All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: "Lluís Vilanova" <vilanova@ac.upc.edu>
Cc: Blue Swirl <blauwirbel@gmail.com>,
	Zhi Yong Wu <zwu.kernel@gmail.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 1/5] backdoor: Add documentation
Date: Tue, 06 Dec 2011 16:50:19 -0600	[thread overview]
Message-ID: <4EDE9C2B.4030403@codemonkey.ws> (raw)
In-Reply-To: <20111205222225.31271.1747.stgit@ginnungagap.bsc.es>

On 12/05/2011 04:22 PM, Lluís Vilanova wrote:
> Signed-off-by: Lluís Vilanova<vilanova@ac.upc.edu>
> ---
>   docs/backdoor.txt |  167 +++++++++++++++++++++++++++++++++++++++++++++++++++++
>   1 files changed, 167 insertions(+), 0 deletions(-)
>   create mode 100644 docs/backdoor.txt
>
> diff --git a/docs/backdoor.txt b/docs/backdoor.txt
> new file mode 100644
> index 0000000..1c6502a
> --- /dev/null
> +++ b/docs/backdoor.txt
> @@ -0,0 +1,167 @@
> += Backdoor communication channel =
> +
> +== Introduction ==
> +
> +This document describes how the guest can use the backdoor communication channel
> +to interact with user-provided code inside QEMU.
> +
> +The backdoor provides a lightweight and guest-initiated communication channel
> +between code running inside the guest system and code in QEMU, including both
> +QEMU in 'softmmu' and 'user' modes.
> +
> +The semantics of the backdoor channel are up to the user, who must provide the
> +implementation of the QEMU-side callbacks used when the backdoor channel is
> +invoked.
> +
> +On the guest side, code can be linked against a simple library provided in QEMU
> +to interface with the backdoor channel.
> +
> +The features of this mechanism are:
> +
> +* Minimal setup for the guest.
> +* Independent of guest architecture.
> +* Works with 'softmmu' and 'user' mode.
> +* Negligible guest overhead; guest invocations of the backdoor channel does not
> +  go through any OS abstraction, except during the setup of the communication
> +  channel.
> +* Negligible host overhead; invocations of the backdoor channel are interpreted
> +  by QEMU, while a side-channel can be used as regular memory to communicate
> +  bulk data without any extra overhead.
> +* The user-provided backdoor callbacks can perform arbitrary actions on the
> +  guest system (e.g., read or write memory, change register values, etc.).
> +
> +
> +== QEMU-side code ==
> +
> +1. Create the "Makefile" to build the user-provided backdoor channel library:
> +
> +    mkdir /tmp/my-backdoor-qemu
> +    cat>  /tmp/my-backdoor-qemu/Makefile<<EOF
> +    include $(BUILD_DIR)/config-host.mak
> +    include $(BUILD_DIR)/$(TARGET_DIR)../config-target.mak
> +    include $(SRC_PATH)/rules.mak
> +
> +    vpath %.c /tmp/my-backdoor-qemu
> +
> +
> +    libbackdoor.a: backdoor.o
> +
> +
> +    # Include automatically generated dependency files
> +    -include $(wildcard *.d)
> +    EOF
> +
> +2. Implement the callbacks declared in "backdoor/qemu/qemu-backdoor.h":
> +
> +    cat>  /tmp/my-backdoor-qemu/backdoor.c<<EOF

Oh, I didn't see this.

Major Nack on this.  This is not reasonable at all to do.  We're not sneaking in 
an ad-hoc plugin interface here.

Regards,

Anthony Liguori

  parent reply	other threads:[~2011-12-06 22:50 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-05 22:22 [Qemu-devel] [PATCH v2 0/5] backdoor: lightweight guest-to-QEMU backdoor channel Lluís Vilanova
2011-12-05 22:22 ` [Qemu-devel] [PATCH v2 1/5] backdoor: Add documentation Lluís Vilanova
2011-12-06 22:36   ` Peter Maydell
2011-12-06 22:51     ` Anthony Liguori
2011-12-06 22:50   ` Anthony Liguori [this message]
2011-12-05 22:22 ` [Qemu-devel] [PATCH v2 2/5] backdoor: Add build infrastructure Lluís Vilanova
2011-12-05 22:22 ` [Qemu-devel] [PATCH v2 3/5] backdoor: [*-user] Add QEMU-side proxy to "libbackdoor.a" Lluís Vilanova
2011-12-05 22:23 ` [Qemu-devel] [PATCH v2 4/5] backdoor: [softmmu] " Lluís Vilanova
2011-12-06 19:55   ` Anthony Liguori
2011-12-06 22:30     ` Lluís Vilanova
2011-12-06 22:35       ` Anthony Liguori
2011-12-06 22:37         ` Peter Maydell
2011-12-07  8:21         ` [Qemu-devel] Insane virtio-serial semantics (was: [PATCH v2 4/5] backdoor: [softmmu] Add QEMU-side proxy to "libbackdoor.a") Markus Armbruster
2011-12-07 13:49           ` [Qemu-devel] Insane virtio-serial semantics Anthony Liguori
2011-12-07 19:44             ` Michael Roth
2011-12-07 19:53               ` Anthony Liguori
2011-12-08 10:11                 ` Markus Armbruster
2011-12-08 14:37                   ` Anthony Liguori
2011-12-06 22:39       ` [Qemu-devel] [PATCH v2 4/5] backdoor: [softmmu] Add QEMU-side proxy to "libbackdoor.a" Lluís Vilanova
2011-12-05 22:23 ` [Qemu-devel] [PATCH v2 5/5] backdoor: Add guest-side library Lluís Vilanova
2011-12-06 22:52 ` [Qemu-devel] [PATCH v2 0/5] backdoor: lightweight guest-to-QEMU backdoor channel Anthony Liguori
2011-12-07 12:21   ` Lluís Vilanova
2011-12-07 13:55     ` Anthony Liguori
2011-12-07 15:23       ` Lluís Vilanova
2011-12-07 15:48         ` Anthony Liguori
2011-12-07 16:59           ` Lluís Vilanova
2011-12-07 17:48             ` Anthony Liguori
2011-12-07 18:35               ` Lluís Vilanova
2011-12-07 18:51                 ` Peter Maydell
2011-12-07 18:54                   ` Anthony Liguori
2011-12-07 20:13                     ` Lluís Vilanova
2011-12-07 22:03                       ` Lluís Vilanova
2011-12-08 20:45                     ` Blue Swirl
2011-12-08 14:05 ` Stefan Hajnoczi
2011-12-08 18:57   ` Lluís Vilanova
2011-12-08 20:57     ` Blue Swirl
2011-12-08 22:16       ` Lluís Vilanova
2011-12-09 11:23     ` Stefan Hajnoczi
2011-12-09 20:55       ` Lluís Vilanova

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EDE9C2B.4030403@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.org \
    --cc=vilanova@ac.upc.edu \
    --cc=zwu.kernel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.