[Qemu-devel] [PULL 0/9] ppc-for-2.12 queue 20180315

David Gibson posted 9 patches 7 years, 7 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20180315041903.10046-1-david@gibson.dropbear.id.au
Test checkpatch passed
Test docker-build@min-glib passed
Test docker-mingw@fedora passed
Test docker-quick@centos6 passed
Test s390x passed
hw/ide/sii3112.c         | 12 ------------
hw/misc/macio/macio.c    |  2 ++
hw/ppc/e500.c            |  9 ++++-----
hw/ppc/ppc440_pcix.c     | 11 +++++++----
hw/ppc/prep.c            |  2 +-
hw/ppc/spapr.c           |  5 +++--
hw/scsi/lsi53c895a.c     |  7 +++++++
include/hw/pci/pci.h     |  1 +
target/ppc/translate.c   |  9 +++++++--
tests/boot-serial-test.c |  8 ++++++--
10 files changed, 38 insertions(+), 28 deletions(-)
[Qemu-devel] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by David Gibson 7 years, 7 months ago
The following changes since commit 026aaf47c02b79036feb830206cfebb2a726510d:

  Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging (2018-03-13 16:26:44 +0000)

are available in the Git repository at:

  git://github.com/dgibson/qemu.git tags/ppc-for-2.12-20180315

for you to fetch changes up to a9ab8cc157054ea6941fb849c78d9e6c515a7730:

  target/ppc: fix tlbsync to check privilege level depending on GTSE (2018-03-15 11:18:31 +1100)

----------------------------------------------------------------
ppc patch queue for 2018-03-15

Here's the set of accumulated patches now that we're into soft freeze.
I've split new functionality into a ppc-for-2.13 branch, so this only
has bugfixes.  Well.. and a couple of simple cleanups to make bugfixes
easier, some test improvements and a trivial change to make command
line options more obvious.  I think those are all acceptable for soft
freeze.

----------------------------------------------------------------
BALATON Zoltan (2):
      sii3112: Remove unneeded exit function
      ppc440_pcix: Change some error_report to qemu_log_mask(LOG_UNIMP, ...)

Cédric Le Goater (1):
      target/ppc: fix tlbsync to check privilege level depending on GTSE

David Engraf (1):
      PPC e500: Fix gap between u-boot and kernel

Thomas Huth (5):
      tests/boot-serial: Check the 40p machine, too
      hw/ppc/prep: Fix implicit creation of "-drive if=scsi" devices
      hw/misc/macio: Mark the macio devices with user_creatable = false
      hw/ppc/spapr: Allow "spapr-vlan" as NIC model name beside "ibmveth"
      tests/boot-serial: Test the sam460ex board

 hw/ide/sii3112.c         | 12 ------------
 hw/misc/macio/macio.c    |  2 ++
 hw/ppc/e500.c            |  9 ++++-----
 hw/ppc/ppc440_pcix.c     | 11 +++++++----
 hw/ppc/prep.c            |  2 +-
 hw/ppc/spapr.c           |  5 +++--
 hw/scsi/lsi53c895a.c     |  7 +++++++
 include/hw/pci/pci.h     |  1 +
 target/ppc/translate.c   |  9 +++++++--
 tests/boot-serial-test.c |  8 ++++++--
 10 files changed, 38 insertions(+), 28 deletions(-)

Re: [Qemu-devel] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by Peter Maydell 7 years, 7 months ago
On 15 March 2018 at 04:18, David Gibson <david@gibson.dropbear.id.au> wrote:
> The following changes since commit 026aaf47c02b79036feb830206cfebb2a726510d:
>
>   Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging (2018-03-13 16:26:44 +0000)
>
> are available in the Git repository at:
>
>   git://github.com/dgibson/qemu.git tags/ppc-for-2.12-20180315
>
> for you to fetch changes up to a9ab8cc157054ea6941fb849c78d9e6c515a7730:
>
>   target/ppc: fix tlbsync to check privilege level depending on GTSE (2018-03-15 11:18:31 +1100)
>
> ----------------------------------------------------------------
> ppc patch queue for 2018-03-15
>
> Here's the set of accumulated patches now that we're into soft freeze.
> I've split new functionality into a ppc-for-2.13 branch, so this only
> has bugfixes.  Well.. and a couple of simple cleanups to make bugfixes
> easier, some test improvements and a trivial change to make command
> line options more obvious.  I think those are all acceptable for soft
> freeze.
>

Hi -- this looks like it provokes new runtime error warnings from the
clang sanitizer:

TEST: tests/boot-serial-test... (pid=926)
  /ppc/boot-serial/ppce500:                                            OK
  /ppc/boot-serial/prep:                                               OK
  /ppc/boot-serial/40p:                                                OK
  /ppc/boot-serial/g3beige:                                            OK
  /ppc/boot-serial/mac99:                                              OK
  /ppc/boot-serial/sam460ex:
/home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
runtime error: load of value 142, which is not a valid value for type
'bool'
OK

TEST: tests/boot-serial-test... (pid=1016)
  /ppc64/boot-serial/ppce500:                                          OK
  /ppc64/boot-serial/prep:                                             OK
  /ppc64/boot-serial/40p:                                              OK
  /ppc64/boot-serial/mac99:                                            OK
  /ppc64/boot-serial/pseries:                                          OK
  /ppc64/boot-serial/powernv:                                          OK
  /ppc64/boot-serial/sam460ex:
/home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
runtime error: load of value 85, which is not a valid value for type
'bool'
OK

Looks like you're not initializing ctx->lazy_tlb_flush for all configs:
    if (env->mmu_model == POWERPC_MMU_32B ||
        env->mmu_model == POWERPC_MMU_601 ||
        (env->mmu_model & POWERPC_MMU_64B))
            ctx->lazy_tlb_flush = true;

should perhaps be
    ctx->lazy_tlb_flush =
        env->mmu_model == POWERPC_MMU_32B ||
        env->mmu_model == POWERPC_MMU_601 ||
        (env->mmu_model & POWERPC_MMU_64B);

?

thanks
-- PMM

Re: [Qemu-devel] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by David Gibson 7 years, 7 months ago
On Fri, Mar 16, 2018 at 05:25:04PM +0000, Peter Maydell wrote:
> On 15 March 2018 at 04:18, David Gibson <david@gibson.dropbear.id.au> wrote:
> > The following changes since commit 026aaf47c02b79036feb830206cfebb2a726510d:
> >
> >   Merge remote-tracking branch 'remotes/ehabkost/tags/python-next-pull-request' into staging (2018-03-13 16:26:44 +0000)
> >
> > are available in the Git repository at:
> >
> >   git://github.com/dgibson/qemu.git tags/ppc-for-2.12-20180315
> >
> > for you to fetch changes up to a9ab8cc157054ea6941fb849c78d9e6c515a7730:
> >
> >   target/ppc: fix tlbsync to check privilege level depending on GTSE (2018-03-15 11:18:31 +1100)
> >
> > ----------------------------------------------------------------
> > ppc patch queue for 2018-03-15
> >
> > Here's the set of accumulated patches now that we're into soft freeze.
> > I've split new functionality into a ppc-for-2.13 branch, so this only
> > has bugfixes.  Well.. and a couple of simple cleanups to make bugfixes
> > easier, some test improvements and a trivial change to make command
> > line options more obvious.  I think those are all acceptable for soft
> > freeze.
> >
> 
> Hi -- this looks like it provokes new runtime error warnings from the
> clang sanitizer:

Hrm.  What options do you need to trip these warnings?  Just using
--cc=clang doesn't give them to me, and using --enable-sanitizers
gives my piles of unrelated warnings.

> 
> TEST: tests/boot-serial-test... (pid=926)
>   /ppc/boot-serial/ppce500:                                            OK
>   /ppc/boot-serial/prep:                                               OK
>   /ppc/boot-serial/40p:                                                OK
>   /ppc/boot-serial/g3beige:                                            OK
>   /ppc/boot-serial/mac99:                                              OK
>   /ppc/boot-serial/sam460ex:
> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
> runtime error: load of value 142, which is not a valid value for type
> 'bool'
> OK
> 
> TEST: tests/boot-serial-test... (pid=1016)
>   /ppc64/boot-serial/ppce500:                                          OK
>   /ppc64/boot-serial/prep:                                             OK
>   /ppc64/boot-serial/40p:                                              OK
>   /ppc64/boot-serial/mac99:                                            OK
>   /ppc64/boot-serial/pseries:                                          OK
>   /ppc64/boot-serial/powernv:                                          OK
>   /ppc64/boot-serial/sam460ex:
> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
> runtime error: load of value 85, which is not a valid value for type
> 'bool'
> OK
> 
> Looks like you're not initializing ctx->lazy_tlb_flush for all configs:
>     if (env->mmu_model == POWERPC_MMU_32B ||
>         env->mmu_model == POWERPC_MMU_601 ||
>         (env->mmu_model & POWERPC_MMU_64B))
>             ctx->lazy_tlb_flush = true;
> 
> should perhaps be
>     ctx->lazy_tlb_flush =
>         env->mmu_model == POWERPC_MMU_32B ||
>         env->mmu_model == POWERPC_MMU_601 ||
>         (env->mmu_model & POWERPC_MMU_64B);
> 
> ?

Uh.. maybe.. except I don't see anything in the series that would be
likely to change that behaviour.

-- 
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
Re: [Qemu-devel] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by Peter Maydell 7 years, 7 months ago
On 17 March 2018 at 04:02, David Gibson <david@gibson.dropbear.id.au> wrote:
> On Fri, Mar 16, 2018 at 05:25:04PM +0000, Peter Maydell wrote:
>> Hi -- this looks like it provokes new runtime error warnings from the
>> clang sanitizer:
>
> Hrm.  What options do you need to trip these warnings?  Just using
> --cc=clang doesn't give them to me, and using --enable-sanitizers
> gives my piles of unrelated warnings.

https://wiki.qemu.org/Testing#clang_UBSan documents the necessary
cflags.

>
>>
>> TEST: tests/boot-serial-test... (pid=926)
>>   /ppc/boot-serial/ppce500:                                            OK
>>   /ppc/boot-serial/prep:                                               OK
>>   /ppc/boot-serial/40p:                                                OK
>>   /ppc/boot-serial/g3beige:                                            OK
>>   /ppc/boot-serial/mac99:                                              OK
>>   /ppc/boot-serial/sam460ex:
>> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
>> runtime error: load of value 142, which is not a valid value for type
>> 'bool'
>> OK
>>
>> TEST: tests/boot-serial-test... (pid=1016)
>>   /ppc64/boot-serial/ppce500:                                          OK
>>   /ppc64/boot-serial/prep:                                             OK
>>   /ppc64/boot-serial/40p:                                              OK
>>   /ppc64/boot-serial/mac99:                                            OK
>>   /ppc64/boot-serial/pseries:                                          OK
>>   /ppc64/boot-serial/powernv:                                          OK
>>   /ppc64/boot-serial/sam460ex:
>> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
>> runtime error: load of value 85, which is not a valid value for type
>> 'bool'
>> OK
>>
>> Looks like you're not initializing ctx->lazy_tlb_flush for all configs:
>>     if (env->mmu_model == POWERPC_MMU_32B ||
>>         env->mmu_model == POWERPC_MMU_601 ||
>>         (env->mmu_model & POWERPC_MMU_64B))
>>             ctx->lazy_tlb_flush = true;
>>
>> should perhaps be
>>     ctx->lazy_tlb_flush =
>>         env->mmu_model == POWERPC_MMU_32B ||
>>         env->mmu_model == POWERPC_MMU_601 ||
>>         (env->mmu_model & POWERPC_MMU_64B);
>>
>> ?
>
> Uh.. maybe.. except I don't see anything in the series that would be
> likely to change that behaviour.

I imagine it's "tests/boot-serial: Test the sam460ex board" --
this code was previously not being exercised in 'make check',
and now it is.

thanks
-- PMM

Re: [Qemu-devel] [Qemu-ppc] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by BALATON Zoltan 7 years, 7 months ago
On Sat, 17 Mar 2018, Peter Maydell wrote:
> On 17 March 2018 at 04:02, David Gibson <david@gibson.dropbear.id.au> wrote:
>> On Fri, Mar 16, 2018 at 05:25:04PM +0000, Peter Maydell wrote:
>>> Hi -- this looks like it provokes new runtime error warnings from the
>>> clang sanitizer:
>>
>> Hrm.  What options do you need to trip these warnings?  Just using
>> --cc=clang doesn't give them to me, and using --enable-sanitizers
>> gives my piles of unrelated warnings.
>
> https://wiki.qemu.org/Testing#clang_UBSan documents the necessary
> cflags.
>
>>
>>>
>>> TEST: tests/boot-serial-test... (pid=926)
>>>   /ppc/boot-serial/ppce500:                                            OK
>>>   /ppc/boot-serial/prep:                                               OK
>>>   /ppc/boot-serial/40p:                                                OK
>>>   /ppc/boot-serial/g3beige:                                            OK
>>>   /ppc/boot-serial/mac99:                                              OK
>>>   /ppc/boot-serial/sam460ex:
>>> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
>>> runtime error: load of value 142, which is not a valid value for type
>>> 'bool'
>>> OK
>>>
>>> TEST: tests/boot-serial-test... (pid=1016)
>>>   /ppc64/boot-serial/ppce500:                                          OK
>>>   /ppc64/boot-serial/prep:                                             OK
>>>   /ppc64/boot-serial/40p:                                              OK
>>>   /ppc64/boot-serial/mac99:                                            OK
>>>   /ppc64/boot-serial/pseries:                                          OK
>>>   /ppc64/boot-serial/powernv:                                          OK
>>>   /ppc64/boot-serial/sam460ex:
>>> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
>>> runtime error: load of value 85, which is not a valid value for type
>>> 'bool'
>>> OK
>>>
>>> Looks like you're not initializing ctx->lazy_tlb_flush for all configs:
>>>     if (env->mmu_model == POWERPC_MMU_32B ||
>>>         env->mmu_model == POWERPC_MMU_601 ||
>>>         (env->mmu_model & POWERPC_MMU_64B))
>>>             ctx->lazy_tlb_flush = true;
>>>
>>> should perhaps be
>>>     ctx->lazy_tlb_flush =
>>>         env->mmu_model == POWERPC_MMU_32B ||
>>>         env->mmu_model == POWERPC_MMU_601 ||
>>>         (env->mmu_model & POWERPC_MMU_64B);
>>>
>>> ?
>>
>> Uh.. maybe.. except I don't see anything in the series that would be
>> likely to change that behaviour.
>
> I imagine it's "tests/boot-serial: Test the sam460ex board" --
> this code was previously not being exercised in 'make check',
> and now it is.

I'm not sure what could cause this in case of sam460ex. It has PPC440 
which has POWERPC_MMU_BOOKE but the ppce500 should also have that and a 
similar u-boot and that does not produce this error. Is there maybe some 
initialisation of some structure I've missed somewhere? But these 
DisasContext structs seem to be internal to TCG so I'm not sure what could 
be missing outside of TCG to avoid this. Could be that the different 
u-boot version does something that triggers this while the one for ppce500 
does not execute code that causes this warning during the test?

Regards,
BALATON Zoltan

Re: [Qemu-devel] [Qemu-ppc] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by BALATON Zoltan 7 years, 7 months ago
On Sat, 17 Mar 2018, BALATON Zoltan wrote:
> On Sat, 17 Mar 2018, Peter Maydell wrote:
>> On 17 March 2018 at 04:02, David Gibson <david@gibson.dropbear.id.au> 
>> wrote:
>>> On Fri, Mar 16, 2018 at 05:25:04PM +0000, Peter Maydell wrote:
>>>> Hi -- this looks like it provokes new runtime error warnings from the
>>>> clang sanitizer:
>>> 
>>> Hrm.  What options do you need to trip these warnings?  Just using
>>> --cc=clang doesn't give them to me, and using --enable-sanitizers
>>> gives my piles of unrelated warnings.
>> 
>> https://wiki.qemu.org/Testing#clang_UBSan documents the necessary
>> cflags.
>> 
>>> 
>>>> 
>>>> TEST: tests/boot-serial-test... (pid=926)
>>>>   /ppc/boot-serial/ppce500:                                            OK
>>>>   /ppc/boot-serial/prep:                                               OK
>>>>   /ppc/boot-serial/40p:                                                OK
>>>>   /ppc/boot-serial/g3beige:                                            OK
>>>>   /ppc/boot-serial/mac99:                                              OK
>>>>   /ppc/boot-serial/sam460ex:
>>>> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
>>>> runtime error: load of value 142, which is not a valid value for type
>>>> 'bool'
>>>> OK
>>>> 
>>>> TEST: tests/boot-serial-test... (pid=1016)
>>>>   /ppc64/boot-serial/ppce500:                                          OK
>>>>   /ppc64/boot-serial/prep:                                             OK
>>>>   /ppc64/boot-serial/40p:                                              OK
>>>>   /ppc64/boot-serial/mac99:                                            OK
>>>>   /ppc64/boot-serial/pseries:                                          OK
>>>>   /ppc64/boot-serial/powernv:                                          OK
>>>>   /ppc64/boot-serial/sam460ex:
>>>> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
>>>> runtime error: load of value 85, which is not a valid value for type
>>>> 'bool'
>>>> OK
>>>> 
>>>> Looks like you're not initializing ctx->lazy_tlb_flush for all configs:
>>>>     if (env->mmu_model == POWERPC_MMU_32B ||
>>>>         env->mmu_model == POWERPC_MMU_601 ||
>>>>         (env->mmu_model & POWERPC_MMU_64B))
>>>>             ctx->lazy_tlb_flush = true;
>>>> 
>>>> should perhaps be
>>>>     ctx->lazy_tlb_flush =
>>>>         env->mmu_model == POWERPC_MMU_32B ||
>>>>         env->mmu_model == POWERPC_MMU_601 ||
>>>>         (env->mmu_model & POWERPC_MMU_64B);
>>>> 
>>>> ?
>>> 
>>> Uh.. maybe.. except I don't see anything in the series that would be
>>> likely to change that behaviour.
>> 
>> I imagine it's "tests/boot-serial: Test the sam460ex board" --
>> this code was previously not being exercised in 'make check',
>> and now it is.
>
> I'm not sure what could cause this in case of sam460ex. It has PPC440 which 
> has POWERPC_MMU_BOOKE but the ppce500 should also have that and a similar 
> u-boot and that does not produce this error. Is there maybe some 
> initialisation of some structure I've missed somewhere? But these 
> DisasContext structs seem to be internal to TCG so I'm not sure what could be 
> missing outside of TCG to avoid this. Could be that the different u-boot 
> version does something that triggers this while the one for ppce500 does not 
> execute code that causes this warning during the test?

Oops, replied too soon. I've checked e500 and it seems to have 
POWERPC_MMU_BOOKE206 (I thought e500 was BookE but I don't know these very 
well). Only bamboo, virtex-ml507 and sam460ex seem to be POWERPC_MMU_BOOKE 
so if only the sam460ex test is added now and the others were never tested 
then it could be this is the first time this is catched.

Regards,
BALATON Zoltan

Re: [Qemu-devel] [Qemu-ppc] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by David Gibson 7 years, 7 months ago
On Sat, Mar 17, 2018 at 12:30:58PM +0100, BALATON Zoltan wrote:
> On Sat, 17 Mar 2018, BALATON Zoltan wrote:
> > On Sat, 17 Mar 2018, Peter Maydell wrote:
> > > On 17 March 2018 at 04:02, David Gibson
> > > <david@gibson.dropbear.id.au> wrote:
> > > > On Fri, Mar 16, 2018 at 05:25:04PM +0000, Peter Maydell wrote:
> > > > > Hi -- this looks like it provokes new runtime error warnings from the
> > > > > clang sanitizer:
> > > > 
> > > > Hrm.  What options do you need to trip these warnings?  Just using
> > > > --cc=clang doesn't give them to me, and using --enable-sanitizers
> > > > gives my piles of unrelated warnings.
> > > 
> > > https://wiki.qemu.org/Testing#clang_UBSan documents the necessary
> > > cflags.
> > > 
> > > > 
> > > > > 
> > > > > TEST: tests/boot-serial-test... (pid=926)
> > > > >   /ppc/boot-serial/ppce500:                                            OK
> > > > >   /ppc/boot-serial/prep:                                               OK
> > > > >   /ppc/boot-serial/40p:                                                OK
> > > > >   /ppc/boot-serial/g3beige:                                            OK
> > > > >   /ppc/boot-serial/mac99:                                              OK
> > > > >   /ppc/boot-serial/sam460ex:
> > > > > /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
> > > > > runtime error: load of value 142, which is not a valid value for type
> > > > > 'bool'
> > > > > OK
> > > > > 
> > > > > TEST: tests/boot-serial-test... (pid=1016)
> > > > >   /ppc64/boot-serial/ppce500:                                          OK
> > > > >   /ppc64/boot-serial/prep:                                             OK
> > > > >   /ppc64/boot-serial/40p:                                              OK
> > > > >   /ppc64/boot-serial/mac99:                                            OK
> > > > >   /ppc64/boot-serial/pseries:                                          OK
> > > > >   /ppc64/boot-serial/powernv:                                          OK
> > > > >   /ppc64/boot-serial/sam460ex:
> > > > > /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
> > > > > runtime error: load of value 85, which is not a valid value for type
> > > > > 'bool'
> > > > > OK
> > > > > 
> > > > > Looks like you're not initializing ctx->lazy_tlb_flush for all configs:
> > > > >     if (env->mmu_model == POWERPC_MMU_32B ||
> > > > >         env->mmu_model == POWERPC_MMU_601 ||
> > > > >         (env->mmu_model & POWERPC_MMU_64B))
> > > > >             ctx->lazy_tlb_flush = true;
> > > > > 
> > > > > should perhaps be
> > > > >     ctx->lazy_tlb_flush =
> > > > >         env->mmu_model == POWERPC_MMU_32B ||
> > > > >         env->mmu_model == POWERPC_MMU_601 ||
> > > > >         (env->mmu_model & POWERPC_MMU_64B);
> > > > > 
> > > > > ?
> > > > 
> > > > Uh.. maybe.. except I don't see anything in the series that would be
> > > > likely to change that behaviour.
> > > 
> > > I imagine it's "tests/boot-serial: Test the sam460ex board" --
> > > this code was previously not being exercised in 'make check',
> > > and now it is.
> > 
> > I'm not sure what could cause this in case of sam460ex. It has PPC440
> > which has POWERPC_MMU_BOOKE but the ppce500 should also have that and a
> > similar u-boot and that does not produce this error. Is there maybe some
> > initialisation of some structure I've missed somewhere? But these
> > DisasContext structs seem to be internal to TCG so I'm not sure what
> > could be missing outside of TCG to avoid this. Could be that the
> > different u-boot version does something that triggers this while the one
> > for ppce500 does not execute code that causes this warning during the
> > test?
> 
> Oops, replied too soon. I've checked e500 and it seems to have
> POWERPC_MMU_BOOKE206 (I thought e500 was BookE but I don't know these very
> well). Only bamboo, virtex-ml507 and sam460ex seem to be POWERPC_MMU_BOOKE
> so if only the sam460ex test is added now and the others were never tested
> then it could be this is the first time this is catched.

Thanks for the pointer.  I've now confirmed that the sam460ex test was
the problem.

-- 
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
Re: [Qemu-devel] [Qemu-ppc] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by Thomas Huth 7 years, 7 months ago
On 17.03.2018 12:30, BALATON Zoltan wrote:
> On Sat, 17 Mar 2018, BALATON Zoltan wrote:
>> On Sat, 17 Mar 2018, Peter Maydell wrote:
[...]
>>>>>   /ppc64/boot-serial/sam460ex:
>>>>> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
>>>>> runtime error: load of value 85, which is not a valid value for type
>>>>> 'bool'
>>>>> OK
>>>>>
>>>>> Looks like you're not initializing ctx->lazy_tlb_flush for all
>>>>> configs:
>>>>>     if (env->mmu_model == POWERPC_MMU_32B ||
>>>>>         env->mmu_model == POWERPC_MMU_601 ||
>>>>>         (env->mmu_model & POWERPC_MMU_64B))
>>>>>             ctx->lazy_tlb_flush = true;
>>>>>
>>>>> should perhaps be
>>>>>     ctx->lazy_tlb_flush =
>>>>>         env->mmu_model == POWERPC_MMU_32B ||
>>>>>         env->mmu_model == POWERPC_MMU_601 ||
>>>>>         (env->mmu_model & POWERPC_MMU_64B);
>>>>>
>>>>> ?
>>>>
>>>> Uh.. maybe.. except I don't see anything in the series that would be
>>>> likely to change that behaviour.
>>>
>>> I imagine it's "tests/boot-serial: Test the sam460ex board" --
>>> this code was previously not being exercised in 'make check',
>>> and now it is.
>>
>> I'm not sure what could cause this in case of sam460ex. It has PPC440
>> which has POWERPC_MMU_BOOKE but the ppce500 should also have that and
>> a similar u-boot and that does not produce this error. Is there maybe
>> some initialisation of some structure I've missed somewhere? But these
>> DisasContext structs seem to be internal to TCG so I'm not sure what
>> could be missing outside of TCG to avoid this. Could be that the
>> different u-boot version does something that triggers this while the
>> one for ppce500 does not execute code that causes this warning during
>> the test?
> 
> Oops, replied too soon. I've checked e500 and it seems to have
> POWERPC_MMU_BOOKE206 (I thought e500 was BookE but I don't know these
> very well). Only bamboo, virtex-ml507 and sam460ex seem to be
> POWERPC_MMU_BOOKE so if only the sam460ex test is added now and the
> others were never tested then it could be this is the first time this is
> catched.

Right, bamboo and virtex-ml507 do not ship with a pre-built firmware
image, so they are *not* tested in the boot-serial tester. ppce500 is
the only embedded PPC board that is tested so far. So it's good that we
finally have one more test case for an additional CPU type here :-)

 Thomas

Re: [Qemu-devel] [PULL 0/9] ppc-for-2.12 queue 20180315
Posted by David Gibson 7 years, 7 months ago
On Sat, Mar 17, 2018 at 10:08:26AM +0000, Peter Maydell wrote:
> On 17 March 2018 at 04:02, David Gibson <david@gibson.dropbear.id.au> wrote:
> > On Fri, Mar 16, 2018 at 05:25:04PM +0000, Peter Maydell wrote:
> >> Hi -- this looks like it provokes new runtime error warnings from the
> >> clang sanitizer:
> >
> > Hrm.  What options do you need to trip these warnings?  Just using
> > --cc=clang doesn't give them to me, and using --enable-sanitizers
> > gives my piles of unrelated warnings.
> 
> https://wiki.qemu.org/Testing#clang_UBSan documents the necessary
> cflags.

Thanks.

> >> TEST: tests/boot-serial-test... (pid=926)
> >>   /ppc/boot-serial/ppce500:                                            OK
> >>   /ppc/boot-serial/prep:                                               OK
> >>   /ppc/boot-serial/40p:                                                OK
> >>   /ppc/boot-serial/g3beige:                                            OK
> >>   /ppc/boot-serial/mac99:                                              OK
> >>   /ppc/boot-serial/sam460ex:
> >> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
> >> runtime error: load of value 142, which is not a valid value for type
> >> 'bool'
> >> OK
> >>
> >> TEST: tests/boot-serial-test... (pid=1016)
> >>   /ppc64/boot-serial/ppce500:                                          OK
> >>   /ppc64/boot-serial/prep:                                             OK
> >>   /ppc64/boot-serial/40p:                                              OK
> >>   /ppc64/boot-serial/mac99:                                            OK
> >>   /ppc64/boot-serial/pseries:                                          OK
> >>   /ppc64/boot-serial/powernv:                                          OK
> >>   /ppc64/boot-serial/sam460ex:
> >> /home/petmay01/linaro/qemu-for-merges/target/ppc/translate.c:2979:15:
> >> runtime error: load of value 85, which is not a valid value for type
> >> 'bool'
> >> OK
> >>
> >> Looks like you're not initializing ctx->lazy_tlb_flush for all configs:
> >>     if (env->mmu_model == POWERPC_MMU_32B ||
> >>         env->mmu_model == POWERPC_MMU_601 ||
> >>         (env->mmu_model & POWERPC_MMU_64B))
> >>             ctx->lazy_tlb_flush = true;
> >>
> >> should perhaps be
> >>     ctx->lazy_tlb_flush =
> >>         env->mmu_model == POWERPC_MMU_32B ||
> >>         env->mmu_model == POWERPC_MMU_601 ||
> >>         (env->mmu_model & POWERPC_MMU_64B);
> >>
> >> ?
> >
> > Uh.. maybe.. except I don't see anything in the series that would be
> > likely to change that behaviour.
> 
> I imagine it's "tests/boot-serial: Test the sam460ex board" --
> this code was previously not being exercised in 'make check',
> and now it is.

Yeah, looks like.

-- 
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