[PATCH] covoar/Target_aarch64: Swap QEMU taken/not taken bits

Gedare Bloom gedare at rtems.org
Fri Apr 16 19:33:22 UTC 2021


why this is needed?

On Fri, Apr 16, 2021 at 1:25 PM Alex White <alex.white at oarcorp.com> wrote:
>
> This overrides the `TargetBase` behavior to allow branches to be marked
> correctly as either taken or not taken.
>
> Closes #4387
> ---
>  tester/covoar/Target_aarch64.cc | 11 +++++++++++
>  tester/covoar/Target_aarch64.h  |  6 ++++++
>  2 files changed, 17 insertions(+)
>
> diff --git a/tester/covoar/Target_aarch64.cc b/tester/covoar/Target_aarch64.cc
> index 64472d6..4d16456 100644
> --- a/tester/covoar/Target_aarch64.cc
> +++ b/tester/covoar/Target_aarch64.cc
> @@ -12,6 +12,7 @@
>
>  #include <rld.h>
>
> +#include "qemu-traces.h"
>  #include "Target_aarch64.h"
>
>  namespace Target {
> @@ -90,6 +91,16 @@ namespace Target {
>      );
>    }
>
> +  uint8_t Target_aarch64::qemuTakenBit()
> +  {
> +    return TRACE_OP_BR1;
> +  }
> +
> +  uint8_t Target_aarch64::qemuNotTakenBit()
> +  {
> +    return TRACE_OP_BR0;
> +  }
> +
>    TargetBase *Target_aarch64_Constructor(
>      std::string          targetName
>    )
> diff --git a/tester/covoar/Target_aarch64.h b/tester/covoar/Target_aarch64.h
> index 26fedb6..08bd1fb 100644
> --- a/tester/covoar/Target_aarch64.h
> +++ b/tester/covoar/Target_aarch64.h
> @@ -54,6 +54,12 @@ namespace Target {
>        const char* const instruction
>      );
>
> +    /* Documentation inherited from base class */
> +    uint8_t qemuTakenBit() override;
> +
> +    /* Documentation inherited from base class */
> +    uint8_t qemuNotTakenBit() override;
> +
>    private:
>
>    };
> --
> 2.27.0
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list