All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Alex Bennée" <alex.bennee@linaro.org>,
	"Luis Machado" <luis.machado@linaro.org>,
	"Peter Maydell" <peter.maydell@linaro.org>,
	"open list:ARM TCG CPUs" <qemu-arm@nongnu.org>
Subject: Re: [PATCH  v2 9/9] target/arm: use official org.gnu.gdb.aarch64.sve layout for registers
Date: Fri, 18 Dec 2020 15:17:26 +0000	[thread overview]
Message-ID: <87k0tfqgz0.fsf@linaro.org> (raw)
In-Reply-To: <20201218112707.28348-10-alex.bennee@linaro.org>


Alex Bennée <alex.bennee@linaro.org> writes:

> While GDB can work with any XML description given to it there is
> special handling for SVE registers on the GDB side which makes the
> users life a little better. The changes aren't that major and all the
> registers save the $vg reported the same. All that changes is:
>
>   - report org.gnu.gdb.aarch64.sve
>   - use gdb nomenclature for names and types
>   - minor re-ordering of the types to match reference
>   - re-enable ieee_half (as we know gdb supports it now)
>   - $vg is now a 64 bit int
>   - check $vN and $zN aliasing in test
>
> [NOTE: there seems a limitation on the indexing of the pseudo $vN
> registers which I'm not sure if it's intentional]

It is (v registers are the aliased vector registers, not an alternative
to the z register).
>  
> +        # check the v pseudo regs - I'm not sure if them capping out
> +        # at [15] is intentional though.

I'm going to change this comment to:

  Check the aliased V registers are set and GDB has correctly
  created them for us having recognised and handled SVE.

> +        try:
> +            for i in range(0, 16):
> +                val_z = gdb.parse_and_eval("$z0.b.u[%d]" % i)
> +                val_v = gdb.parse_and_eval("$v0.b.u[%d]" % i)
> +                report(int(val_z) == int(val_v),
> +                       "v0.b.u[%d] == z0.b.u[%d]" % (i, i))
> +        except gdb.error:
> +            report(False, "checking vregs (out of range)")
> +
>  
>  def run_test():
>      "Run through the tests one by one"


-- 
Alex Bennée

WARNING: multiple messages have this Message-ID (diff)
From: "Alex Bennée" <alex.bennee@linaro.org>
To: qemu-devel@nongnu.org
Cc: "Luis Machado" <luis.machado@linaro.org>,
	"open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	"Peter Maydell" <peter.maydell@linaro.org>
Subject: Re: [PATCH  v2 9/9] target/arm: use official org.gnu.gdb.aarch64.sve layout for registers
Date: Fri, 18 Dec 2020 15:17:26 +0000	[thread overview]
Message-ID: <87k0tfqgz0.fsf@linaro.org> (raw)
In-Reply-To: <20201218112707.28348-10-alex.bennee@linaro.org>


Alex Bennée <alex.bennee@linaro.org> writes:

> While GDB can work with any XML description given to it there is
> special handling for SVE registers on the GDB side which makes the
> users life a little better. The changes aren't that major and all the
> registers save the $vg reported the same. All that changes is:
>
>   - report org.gnu.gdb.aarch64.sve
>   - use gdb nomenclature for names and types
>   - minor re-ordering of the types to match reference
>   - re-enable ieee_half (as we know gdb supports it now)
>   - $vg is now a 64 bit int
>   - check $vN and $zN aliasing in test
>
> [NOTE: there seems a limitation on the indexing of the pseudo $vN
> registers which I'm not sure if it's intentional]

It is (v registers are the aliased vector registers, not an alternative
to the z register).
>  
> +        # check the v pseudo regs - I'm not sure if them capping out
> +        # at [15] is intentional though.

I'm going to change this comment to:

  Check the aliased V registers are set and GDB has correctly
  created them for us having recognised and handled SVE.

> +        try:
> +            for i in range(0, 16):
> +                val_z = gdb.parse_and_eval("$z0.b.u[%d]" % i)
> +                val_v = gdb.parse_and_eval("$v0.b.u[%d]" % i)
> +                report(int(val_z) == int(val_v),
> +                       "v0.b.u[%d] == z0.b.u[%d]" % (i, i))
> +        except gdb.error:
> +            report(False, "checking vregs (out of range)")
> +
>  
>  def run_test():
>      "Run through the tests one by one"


-- 
Alex Bennée


  reply	other threads:[~2020-12-18 15:19 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-18 11:26 [PATCH v2 0/9] gdbstub/next (cleanups, softmmu, SVE) Alex Bennée
2020-12-18 11:26 ` [PATCH v2 1/9] test/guest-debug: echo QEMU command as well Alex Bennée
2020-12-18 11:27 ` [PATCH v2 2/9] configure: gate our use of GDB to 8.3.1 or above Alex Bennée
2020-12-18 11:27 ` [PATCH v2 3/9] Revert "tests/tcg/multiarch/Makefile.target: Disable run-gdbstub-sha1 test" Alex Bennée
2020-12-18 11:27 ` [PATCH v2 4/9] gdbstub: implement a softmmu based test Alex Bennée
2020-12-18 11:27   ` Alex Bennée
2020-12-18 14:45   ` Philippe Mathieu-Daudé
2020-12-18 14:45     ` Philippe Mathieu-Daudé
2020-12-18 11:27 ` [PATCH v2 5/9] gdbstub: add support to Xfer:auxv:read: packet Alex Bennée
2020-12-18 11:27 ` [PATCH v2 6/9] gdbstub: drop CPUEnv from gdb_exit() Alex Bennée
2020-12-18 11:27   ` Alex Bennée
2020-12-18 11:59   ` Laurent Vivier
2020-12-18 11:59     ` Laurent Vivier
2020-12-18 14:10   ` Philippe Mathieu-Daudé
2020-12-18 14:10     ` Philippe Mathieu-Daudé
2020-12-18 11:27 ` [PATCH v2 7/9] gdbstub: drop gdbserver_cleanup in favour of gdb_exit Alex Bennée
2020-12-18 14:10   ` Philippe Mathieu-Daudé
2020-12-18 11:27 ` [PATCH v2 8/9] gdbstub: ensure we clean-up when terminated Alex Bennée
2020-12-18 14:12   ` Philippe Mathieu-Daudé
2020-12-18 11:27 ` [PATCH v2 9/9] target/arm: use official org.gnu.gdb.aarch64.sve layout for registers Alex Bennée
2020-12-18 11:27   ` Alex Bennée
2020-12-18 15:17   ` Alex Bennée [this message]
2020-12-18 15:17     ` Alex Bennée

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=87k0tfqgz0.fsf@linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=luis.machado@linaro.org \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --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 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.