[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] Implement instructions: yield, mdoio, mdoom
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] Implement instructions: yield, mdoio, mdoom |
Date: |
Fri, 24 Jun 2016 12:45:48 +1000 |
User-agent: |
Mutt/1.6.1 (2016-04-27) |
On Thu, Jun 23, 2016 at 08:10:08PM -0500, address@hidden wrote:
> In target-ppc/translate.c, the gen_or() function now has the ability
> to pause the CPU via gen_pause(). However gen_or() does not implement
> the PPC instructions yield (rs,ra,rb=27), mdoio (29), or mdoom (30),
> which could be handled by simply calling gen_pause() for them.
Uh.. having a glance at the description of these in the arch, I don't
think treating them as pause is correct. I don't see anything we can
do with these in TCG that's better than the no-op we currently treat
them as.
> I could either:
> 1. Add explicit code for registers 27, 29, and 30, or
> 2. Change the existing code to call gen_pause() whenever rs!=0
> (simple noop).
>
> My rationale for #2 is that it is simpler, and seems likely to be
> right for future encodings of "or".
>
> Comments solicited.
>
> Aaron.
>
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature