[PATCH v3 0/4] RISC-V: Modularize common match conditions for trigger

Alvin Chang via posted 4 patches 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20240226070825.51120-1-alvinga@andestech.com
Maintainers: Palmer Dabbelt <palmer@dabbelt.com>, Alistair Francis <alistair.francis@wdc.com>, Bin Meng <bin.meng@windriver.com>, Weiwei Li <liwei1518@gmail.com>, Daniel Henrique Barboza <dbarboza@ventanamicro.com>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>
There is a newer version of this series
target/riscv/debug.c | 124 +++++++++++++++++++++++++++++--------------
1 file changed, 83 insertions(+), 41 deletions(-)
[PATCH v3 0/4] RISC-V: Modularize common match conditions for trigger
Posted by Alvin Chang via 9 months ago
According to latest RISC-V Debug specification version 1.0 [1], the
enabled privilege levels of the trigger is common match conditions for
all the types of the trigger.

This series modularize the code for checking the privilege levels of
type 2/3/6 triggers by implementing functions trigger_common_match()
and trigger_priv_match().

Additional match conditions, such as CSR tcontrol and textra, can be
further implemented into trigger_common_match() in the future.

[1]: https://github.com/riscv/riscv-debug-spec/releases/tag/1.0.0-rc1-asciidoc

Changes from v2:
- Explicitly mention the targeting version of RISC-V Debug Spec.

Changes from v1:
- Fix typo
- Add commit description for changing behavior of looping the triggers
  when we check type 2 triggers.

Alvin Chang (4):
  target/riscv: Add functions for common matching conditions of trigger
  target/riscv: Apply modularized matching conditions for breakpoint
  target/riscv: Apply modularized matching conditions for watchpoint
  target/riscv: Apply modularized matching conditions for icount trigger

 target/riscv/debug.c | 124 +++++++++++++++++++++++++++++--------------
 1 file changed, 83 insertions(+), 41 deletions(-)

-- 
2.34.1
Re: [PATCH v3 0/4] RISC-V: Modularize common match conditions for trigger
Posted by Alistair Francis 9 months ago
On Mon, Feb 26, 2024 at 5:10 PM Alvin Chang via <qemu-devel@nongnu.org> wrote:
>
> According to latest RISC-V Debug specification version 1.0 [1], the

The issue here is that we really only support the "debug" spec. That's
the 0.13 version of the spec.

We do also support bits of the 1.0 spec, but those should be changed
to be hidden behind the new extension flags like "Sdtrig"

I think this patch still applies to the 0.13 version though. Do you
mind changing this to target the 0.13 version of the spec instead?

Ideally we can then support the new Sdtrig extension in the future

Alistair

> enabled privilege levels of the trigger is common match conditions for
> all the types of the trigger.
>
> This series modularize the code for checking the privilege levels of
> type 2/3/6 triggers by implementing functions trigger_common_match()
> and trigger_priv_match().
>
> Additional match conditions, such as CSR tcontrol and textra, can be
> further implemented into trigger_common_match() in the future.
>
> [1]: https://github.com/riscv/riscv-debug-spec/releases/tag/1.0.0-rc1-asciidoc
>
> Changes from v2:
> - Explicitly mention the targeting version of RISC-V Debug Spec.
>
> Changes from v1:
> - Fix typo
> - Add commit description for changing behavior of looping the triggers
>   when we check type 2 triggers.
>
> Alvin Chang (4):
>   target/riscv: Add functions for common matching conditions of trigger
>   target/riscv: Apply modularized matching conditions for breakpoint
>   target/riscv: Apply modularized matching conditions for watchpoint
>   target/riscv: Apply modularized matching conditions for icount trigger
>
>  target/riscv/debug.c | 124 +++++++++++++++++++++++++++++--------------
>  1 file changed, 83 insertions(+), 41 deletions(-)
>
> --
> 2.34.1
>
>
RE: [PATCH v3 0/4] RISC-V: Modularize common match conditions for trigger
Posted by Alvin Che-Chia Chang(張哲嘉) 9 months ago
Hi Alistair,

> -----Original Message-----
> From: Alistair Francis <alistair23@gmail.com>
> Sent: Tuesday, February 27, 2024 8:02 AM
> To: Alvin Che-Chia Chang(張哲嘉) <alvinga@andestech.com>
> Cc: qemu-riscv@nongnu.org; qemu-devel@nongnu.org;
> alistair.francis@wdc.com; bin.meng@windriver.com; liwei1518@gmail.com;
> dbarboza@ventanamicro.com; zhiwei_liu@linux.alibaba.com
> Subject: Re: [PATCH v3 0/4] RISC-V: Modularize common match conditions for
> trigger
>
> [EXTERNAL MAIL 外部信件]
>
> On Mon, Feb 26, 2024 at 5:10 PM Alvin Chang via <qemu-devel@nongnu.org>
> wrote:
> >
> > According to latest RISC-V Debug specification version 1.0 [1], the
>
> The issue here is that we really only support the "debug" spec. That's the 0.13
> version of the spec.
>
> We do also support bits of the 1.0 spec, but those should be changed to be
> hidden behind the new extension flags like "Sdtrig"
>
> I think this patch still applies to the 0.13 version though. Do you mind changing
> this to target the 0.13 version of the spec instead?

I have changed it to target 0.13
Please see patch v4, thanks!


Sincerely,
Alvin Chang

>
> Ideally we can then support the new Sdtrig extension in the future
>
> Alistair
>
> > enabled privilege levels of the trigger is common match conditions for
> > all the types of the trigger.
> >
> > This series modularize the code for checking the privilege levels of
> > type 2/3/6 triggers by implementing functions trigger_common_match()
> > and trigger_priv_match().
> >
> > Additional match conditions, such as CSR tcontrol and textra, can be
> > further implemented into trigger_common_match() in the future.
> >
> > [1]:
> > https://github.com/riscv/riscv-debug-spec/releases/tag/1.0.0-rc1-ascii
> > doc
> >
> > Changes from v2:
> > - Explicitly mention the targeting version of RISC-V Debug Spec.
> >
> > Changes from v1:
> > - Fix typo
> > - Add commit description for changing behavior of looping the triggers
> >   when we check type 2 triggers.
> >
> > Alvin Chang (4):
> >   target/riscv: Add functions for common matching conditions of trigger
> >   target/riscv: Apply modularized matching conditions for breakpoint
> >   target/riscv: Apply modularized matching conditions for watchpoint
> >   target/riscv: Apply modularized matching conditions for icount
> > trigger
> >
> >  target/riscv/debug.c | 124
> > +++++++++++++++++++++++++++++--------------
> >  1 file changed, 83 insertions(+), 41 deletions(-)
> >
> > --
> > 2.34.1
> >
> >
CONFIDENTIALITY NOTICE:

This e-mail (and its attachments) may contain confidential and legally privileged information or information protected from disclosure. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein is strictly prohibited. In this case, please immediately notify the sender by return e-mail, delete the message (and any accompanying documents) and destroy all printed hard copies. Thank you for your cooperation.

Copyright ANDES TECHNOLOGY CORPORATION - All Rights Reserved.