From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Max Filippov <jcmvbkbc@gmail.com>, qemu-devel@nongnu.org
Cc: Laurent Vivier <laurent@vivier.eu>
Subject: Re: [Qemu-devel] [PATCH v2] scripts/qemu-binfmt-conf.sh: add bFL handler registration
Date: Sun, 21 Oct 2018 12:40:16 +0200 [thread overview]
Message-ID: <fcb254ec-254f-b7df-62b8-29ba8caa09b4@redhat.com> (raw)
In-Reply-To: <20181021024953.9905-1-jcmvbkbc@gmail.com>
On 21/10/18 4:49, Max Filippov wrote:
> bFLT format header doesn't have enough information to register a handler
> for a specific architecture. Add switch -f / --flat that registers one
> of the qemu binaries as a handler for bFLT executable images.
"bFLT" in patch subject
>
> Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
> ---
> Changes v1->v2:
> - drop unintended changes to dtc;
>
> scripts/qemu-binfmt-conf.sh | 32 ++++++++++++++++++++++++++++++--
> 1 file changed, 30 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/qemu-binfmt-conf.sh b/scripts/qemu-binfmt-conf.sh
> index b5a16742a149..39f61065c698 100755
> --- a/scripts/qemu-binfmt-conf.sh
> +++ b/scripts/qemu-binfmt-conf.sh
> @@ -132,6 +132,9 @@ or1k_magic='\x7fELF\x01\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\
> or1k_mask='\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff'
> or1k_family=or1k
>
> +flat_magic='bFLT\x00\x00\x00\x04'
> +flat_mask='\xff\xff\xff\xff\xff\xff\xff\xff'
> +
> qemu_get_family() {
> cpu=${HOST_ARCH:-$(uname -m)}
> case "$cpu" in
> @@ -170,6 +173,7 @@ usage() {
> Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU]
> [--help][--credential yes|no][--exportdir PATH]
> [--persistent yes|no][--qemu-suffix SUFFIX]
> + [--flat CPU]
>
> Configure binfmt_misc to use qemu interpreter
>
> @@ -188,7 +192,9 @@ Usage: qemu-binfmt-conf.sh [--qemu-path PATH][--debian][--systemd CPU]
> calculated according to the binary to interpret
> --persistent: if yes, the interpreter is loaded when binfmt is
> configured and remains in memory. All future uses
> - are cloned from the open file.
> + are cloned from the open file
> + --flat: register QEMU for this CPU architecture as a handler
> + for the bFLT executable format.
>
> To import templates with update-binfmts, use :
>
> @@ -311,6 +317,13 @@ qemu_set_binfmts() {
> $BINFMT_SET
> fi
> done
> + if [ -n "$QEMU_FLAT" ] ; then
> + cpu="${QEMU_FLAT}_bflt"
> + qemu="$QEMU_PATH/qemu-$QEMU_FLAT"
> + magic=$flat_magic
> + mask=$flat_mask
> + $BINFMT_SET
> + fi
> }
>
> CHECK=qemu_check_bintfmt_misc
> @@ -324,7 +337,7 @@ CREDENTIAL=no
> PERSISTENT=no
> QEMU_SUFFIX=""
>
> -options=$(getopt -o ds:Q:S:e:hc:p: -l debian,systemd:,qemu-path:,qemu-suffix:,exportdir:,help,credential:,persistent: -- "$@")
> +options=$(getopt -o ds:Q:S:e:hc:p:f: -l debian,systemd:,qemu-path:,qemu-suffix:,exportdir:,help,credential:,persistent:,flat: -- "$@")
> eval set -- "$options"
>
> while true ; do
> @@ -380,6 +393,21 @@ while true ; do
> shift
> PERSISTENT="$1"
> ;;
> + -f|--flat)
> + shift
> + QEMU_FLAT="$1"
> + for cpu in ${qemu_target_list} ; do
> + if [ "$cpu" = "$1" ] ; then
> + break
> + fi
> + done
> +
> + if [ "$cpu" != "$1" ] ; then
> + echo "ERROR: unknown CPU \"$1\"" 1>&2
> + usage
> + exit 1
> + fi
> + ;;
> *)
> break
> ;;
>
prev parent reply other threads:[~2018-10-21 10:40 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-21 2:49 [Qemu-devel] [PATCH v2] scripts/qemu-binfmt-conf.sh: add bFL handler registration Max Filippov
2018-10-21 10:40 ` Philippe Mathieu-Daudé [this message]
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=fcb254ec-254f-b7df-62b8-29ba8caa09b4@redhat.com \
--to=philmd@redhat.com \
--cc=jcmvbkbc@gmail.com \
--cc=laurent@vivier.eu \
--cc=qemu-devel@nongnu.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).