[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Need help understanding assertion fail.
From: |
Peter Maydell |
Subject: |
Re: Need help understanding assertion fail. |
Date: |
Tue, 4 Feb 2020 10:19:13 +0000 |
On Mon, 3 Feb 2020 at 21:32, Wayne Li <address@hidden> wrote:
>
> I see. So you're saying that it might be possible that my guest could be
> generating TCG ops that can't be translated into PPC instructions because the
> displacement value is to big. While the same TCG ops can be translated into
> x86 instructions because x86 allows for a bigger displacement value. But on
> the other hand it could be some other problem causing me to have a large
> displacement value.
>
> In that case, I think it'd be super helpful if I print out this displacement
> value in the TCG ops when running on PPC versus x86 because they should be
> the same right? What option in QEMU -d allows me to see generated TCG ops?
> Doing a -d --help shows the following options:
> There doesn't seem to be any option to print out the TCG ops specifically?
> Maybe I'll have to go into the code to add print statements that print out
> the TCG ops?
'op' prints out the ops...
Note that in the TCG ops output there won't be a displacement value, because
that is calculated in the TCG backend. At the ops level, the branches are to
labels. But you'll be able to see if you're generating a super-enormous block
really easily, because it'll have lots of ops in it. (See also the advice in
tcg/README about generally preferring to use calls to helper functions
rather than directly generating more than about 20 TCG ops
for any one guest insn, and the overall MAX_OP_PER_INSTR limit).
thanks
-- PMM