All of lore.kernel.org
 help / color / mirror / Atom feed
* Invalid instruction with qemu-ppc64 for ppc64e6500
@ 2016-10-31  9:12 Yi Zhao
  2016-10-31 13:58 ` Zhenhua Luo
  0 siblings, 1 reply; 7+ messages in thread
From: Yi Zhao @ 2016-10-31  9:12 UTC (permalink / raw)
  To: meta-freescale

Hi folks,

I tried to build an image with nxp4xxx (DEFAULTTUNE="ppc64e6500"), when 
do_rootfs tried to run intercept scripts, I got an invalid instruction 
error:

NOTE: Running intercept scripts:
NOTE: > Executing update_gio_module_cache intercept ...
Invalid instruction
NIP 00000000008046ac LR 0000000000000000 CTR 0000000000000000 XER 
0000000000000000 CPU#0
MSR 8000000000006000 HID0 0000000000000000 HF 0000000000006000 iidx 0 didx 0
TB 00510390 2192111342502858
[snip]
qemu: uncaught target signal 4 (Illegal instruction) - core dumped
/buildarea/build-nxp/tmp/sysroots/nxp-t4xxx/usr/bin/crossscripts/qemuwrapper: 
line 2: 25969 Illegal instruction (core dumped) qemu-ppc64 -r 3.2.0 -cpu 
e500mc "$@"
WARNING: The postinstall intercept hook 'update_gio_module_cache' failed 
(exit code: 132)! See log for details!
WARNING: The postinstalls for the following packages will be postponed 
for first boot: libglib-2.0-0

The issue is most likely introduced by the commit:

commit 27e202f2d9114a64b67c83eb7eafeb12de5ceea7
Author: Zhenhua Luo <zhenhua.luo@nxp.com>
Date:   Thu Apr 14 17:26:44 2016 +0800

     meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to e500mc

     The e5500 and e6500 cpu types are not supported by native qemu, set 
the value
     of -cpu to e500mc. Without this change, build will fail for 
packages which use
     qemuwrapper in compile phase due to the following error.
     | Unable to find CPU definition

     e.g. gobject-introspection

     (From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)

     Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
     Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
index f3d3be8..75739db 100644
--- a/meta/classes/qemu.bbclass
+++ b/meta/classes/qemu.bbclass
@@ -52,8 +52,8 @@ QEMU_OPTIONS[vardeps] += 
"QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"

  QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
  QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
-QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
-QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
-QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
-QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
+QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
+QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
+QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
+QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
  QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"


For my limited knowledge, the ppc64e6500 is a 64bit cpu but e500mc is 
32bit, so when qemuwrapper running command qemu-ppc64 -r 3.2.0 -cpu 
e500mc "$@" would cause this failure.
Since the qemu native still doesn't support e6500 cpu, I just remove the 
line: QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc", and the qemuwrapper 
could work.

Is it a appropriate method to solve this issue ?  I'm not familiar with 
ppc, so don't know if this change could break something else?

Thanks,
Yi




^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: Invalid instruction with qemu-ppc64 for ppc64e6500
  2016-10-31  9:12 Invalid instruction with qemu-ppc64 for ppc64e6500 Yi Zhao
@ 2016-10-31 13:58 ` Zhenhua Luo
  2016-11-01  9:39   ` Yi Zhao
  0 siblings, 1 reply; 7+ messages in thread
From: Zhenhua Luo @ 2016-10-31 13:58 UTC (permalink / raw)
  To: Yi Zhao, meta-freescale

Hi Yi, 

Due to ppce6500 is not supported by qemu-native, the patch is a workaround for the limitation. 

May I know which version of poky and meta-fsl-ppc can reproduce the problem? 


Best Regards, 

Zhenhua

> -----Original Message-----
> From: Yi Zhao [mailto:yi.zhao@windriver.com]
> Sent: Monday, October 31, 2016 5:13 PM
> To: meta-freescale@yoctoproject.org
> Cc: Zhenhua Luo <zhenhua.luo@nxp.com>; Kevin Hao
> <kexin.hao@windriver.com>
> Subject: Invalid instruction with qemu-ppc64 for ppc64e6500
> 
> Hi folks,
> 
> I tried to build an image with nxp4xxx (DEFAULTTUNE="ppc64e6500"), when
> do_rootfs tried to run intercept scripts, I got an invalid instruction
> error:
> 
> NOTE: Running intercept scripts:
> NOTE: > Executing update_gio_module_cache intercept ...
> Invalid instruction
> NIP 00000000008046ac LR 0000000000000000 CTR 0000000000000000 XER
> 0000000000000000 CPU#0
> MSR 8000000000006000 HID0 0000000000000000 HF 0000000000006000 iidx 0
> didx 0 TB 00510390 2192111342502858 [snip]
> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
> /buildarea/build-nxp/tmp/sysroots/nxp-
> t4xxx/usr/bin/crossscripts/qemuwrapper:
> line 2: 25969 Illegal instruction (core dumped) qemu-ppc64 -r 3.2.0 -cpu e500mc
> "$@"
> WARNING: The postinstall intercept hook 'update_gio_module_cache' failed
> (exit code: 132)! See log for details!
> WARNING: The postinstalls for the following packages will be postponed for
> first boot: libglib-2.0-0
> 
> The issue is most likely introduced by the commit:
> 
> commit 27e202f2d9114a64b67c83eb7eafeb12de5ceea7
> Author: Zhenhua Luo <zhenhua.luo@nxp.com>
> Date:   Thu Apr 14 17:26:44 2016 +0800
> 
>      meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to e500mc
> 
>      The e5500 and e6500 cpu types are not supported by native qemu, set the
> value
>      of -cpu to e500mc. Without this change, build will fail for packages which use
>      qemuwrapper in compile phase due to the following error.
>      | Unable to find CPU definition
> 
>      e.g. gobject-introspection
> 
>      (From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)
> 
>      Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
>      Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> 
> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass index
> f3d3be8..75739db 100644
> --- a/meta/classes/qemu.bbclass
> +++ b/meta/classes/qemu.bbclass
> @@ -52,8 +52,8 @@ QEMU_OPTIONS[vardeps] +=
> "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
> 
>   QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
>   QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
> -QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
> -QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
> -QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
> -QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
> +QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
> +QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
> +QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
> +QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
>   QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
> 
> 
> For my limited knowledge, the ppc64e6500 is a 64bit cpu but e500mc is 32bit, so
> when qemuwrapper running command qemu-ppc64 -r 3.2.0 -cpu e500mc "$@"
> would cause this failure.
> Since the qemu native still doesn't support e6500 cpu, I just remove the
> line: QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc", and the
> qemuwrapper could work.
> 
> Is it a appropriate method to solve this issue ?  I'm not familiar with ppc, so don't
> know if this change could break something else?
> 
> Thanks,
> Yi
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Invalid instruction with qemu-ppc64 for ppc64e6500
  2016-10-31 13:58 ` Zhenhua Luo
@ 2016-11-01  9:39   ` Yi Zhao
  2016-11-02  3:50     ` Zhenhua Luo
  0 siblings, 1 reply; 7+ messages in thread
From: Yi Zhao @ 2016-11-01  9:39 UTC (permalink / raw)
  To: Zhenhua Luo, meta-freescale

Hi Zhenhua,

I use morty branch for both poky and meta-fsl-ppc, machine is t4240rdb-64b.

Add the following line in conf/local.conf:

QEMU_TARGETS_append = " ppc64"

Then run bitbake core-image-sato

You could check the log in 
tmp/work/t4240rdb_64b-poky-linux/core-image-sato/1.0-r0/temp/log.do_rootfs


Thanks,

Yi


在 2016年10月31日 21:58, Zhenhua Luo 写道:
> Hi Yi,
>
> Due to ppce6500 is not supported by qemu-native, the patch is a workaround for the limitation.
>
> May I know which version of poky and meta-fsl-ppc can reproduce the problem?
>
>
> Best Regards,
>
> Zhenhua
>
>> -----Original Message-----
>> From: Yi Zhao [mailto:yi.zhao@windriver.com]
>> Sent: Monday, October 31, 2016 5:13 PM
>> To: meta-freescale@yoctoproject.org
>> Cc: Zhenhua Luo <zhenhua.luo@nxp.com>; Kevin Hao
>> <kexin.hao@windriver.com>
>> Subject: Invalid instruction with qemu-ppc64 for ppc64e6500
>>
>> Hi folks,
>>
>> I tried to build an image with nxp4xxx (DEFAULTTUNE="ppc64e6500"), when
>> do_rootfs tried to run intercept scripts, I got an invalid instruction
>> error:
>>
>> NOTE: Running intercept scripts:
>> NOTE: > Executing update_gio_module_cache intercept ...
>> Invalid instruction
>> NIP 00000000008046ac LR 0000000000000000 CTR 0000000000000000 XER
>> 0000000000000000 CPU#0
>> MSR 8000000000006000 HID0 0000000000000000 HF 0000000000006000 iidx 0
>> didx 0 TB 00510390 2192111342502858 [snip]
>> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
>> /buildarea/build-nxp/tmp/sysroots/nxp-
>> t4xxx/usr/bin/crossscripts/qemuwrapper:
>> line 2: 25969 Illegal instruction (core dumped) qemu-ppc64 -r 3.2.0 -cpu e500mc
>> "$@"
>> WARNING: The postinstall intercept hook 'update_gio_module_cache' failed
>> (exit code: 132)! See log for details!
>> WARNING: The postinstalls for the following packages will be postponed for
>> first boot: libglib-2.0-0
>>
>> The issue is most likely introduced by the commit:
>>
>> commit 27e202f2d9114a64b67c83eb7eafeb12de5ceea7
>> Author: Zhenhua Luo <zhenhua.luo@nxp.com>
>> Date:   Thu Apr 14 17:26:44 2016 +0800
>>
>>       meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to e500mc
>>
>>       The e5500 and e6500 cpu types are not supported by native qemu, set the
>> value
>>       of -cpu to e500mc. Without this change, build will fail for packages which use
>>       qemuwrapper in compile phase due to the following error.
>>       | Unable to find CPU definition
>>
>>       e.g. gobject-introspection
>>
>>       (From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)
>>
>>       Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
>>       Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>>
>> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass index
>> f3d3be8..75739db 100644
>> --- a/meta/classes/qemu.bbclass
>> +++ b/meta/classes/qemu.bbclass
>> @@ -52,8 +52,8 @@ QEMU_OPTIONS[vardeps] +=
>> "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
>>
>>    QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
>>    QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
>> -QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
>> -QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
>> -QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
>> -QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
>> +QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
>> +QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
>> +QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
>> +QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
>>    QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
>>
>>
>> For my limited knowledge, the ppc64e6500 is a 64bit cpu but e500mc is 32bit, so
>> when qemuwrapper running command qemu-ppc64 -r 3.2.0 -cpu e500mc "$@"
>> would cause this failure.
>> Since the qemu native still doesn't support e6500 cpu, I just remove the
>> line: QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc", and the
>> qemuwrapper could work.
>>
>> Is it a appropriate method to solve this issue ?  I'm not familiar with ppc, so don't
>> know if this change could break something else?
>>
>> Thanks,
>> Yi
>>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Invalid instruction with qemu-ppc64 for ppc64e6500
  2016-11-01  9:39   ` Yi Zhao
@ 2016-11-02  3:50     ` Zhenhua Luo
  2016-11-02  5:05       ` Yi Zhao
  0 siblings, 1 reply; 7+ messages in thread
From: Zhenhua Luo @ 2016-11-02  3:50 UTC (permalink / raw)
  To: Yi Zhao; +Cc: meta-freescale

Hi Yi, 

Due to the ppc64 support limitation of qemu-native, please don't add the following line in local.conf, the core-image-sato can be built with default configuration. 

QEMU_TARGETS_append = " ppc64"


Best Regards, 

Zhenhua

> -----Original Message-----
> From: Yi Zhao [mailto:yi.zhao@windriver.com]
> Sent: Tuesday, November 01, 2016 5:40 PM
> To: Zhenhua Luo <zhenhua.luo@nxp.com>; meta-freescale@yoctoproject.org
> Cc: Kevin Hao <kexin.hao@windriver.com>
> Subject: Re: Invalid instruction with qemu-ppc64 for ppc64e6500
> 
> Hi Zhenhua,
> 
> I use morty branch for both poky and meta-fsl-ppc, machine is t4240rdb-64b.
> 
> Add the following line in conf/local.conf:
> 
> QEMU_TARGETS_append = " ppc64"
> 
> Then run bitbake core-image-sato
> 
> You could check the log in
> tmp/work/t4240rdb_64b-poky-linux/core-image-sato/1.0-
> r0/temp/log.do_rootfs
> 
> 
> Thanks,
> 
> Yi
> 
> 
> 在 2016年10月31日 21:58, Zhenhua Luo 写道:
> > Hi Yi,
> >
> > Due to ppce6500 is not supported by qemu-native, the patch is a workaround
> for the limitation.
> >
> > May I know which version of poky and meta-fsl-ppc can reproduce the
> problem?
> >
> >
> > Best Regards,
> >
> > Zhenhua
> >
> >> -----Original Message-----
> >> From: Yi Zhao [mailto:yi.zhao@windriver.com]
> >> Sent: Monday, October 31, 2016 5:13 PM
> >> To: meta-freescale@yoctoproject.org
> >> Cc: Zhenhua Luo <zhenhua.luo@nxp.com>; Kevin Hao
> >> <kexin.hao@windriver.com>
> >> Subject: Invalid instruction with qemu-ppc64 for ppc64e6500
> >>
> >> Hi folks,
> >>
> >> I tried to build an image with nxp4xxx (DEFAULTTUNE="ppc64e6500"), when
> >> do_rootfs tried to run intercept scripts, I got an invalid instruction
> >> error:
> >>
> >> NOTE: Running intercept scripts:
> >> NOTE: > Executing update_gio_module_cache intercept ...
> >> Invalid instruction
> >> NIP 00000000008046ac LR 0000000000000000 CTR 0000000000000000 XER
> >> 0000000000000000 CPU#0
> >> MSR 8000000000006000 HID0 0000000000000000 HF 0000000000006000
> iidx 0
> >> didx 0 TB 00510390 2192111342502858 [snip]
> >> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
> >> /buildarea/build-nxp/tmp/sysroots/nxp-
> >> t4xxx/usr/bin/crossscripts/qemuwrapper:
> >> line 2: 25969 Illegal instruction (core dumped) qemu-ppc64 -r 3.2.0 -cpu
> e500mc
> >> "$@"
> >> WARNING: The postinstall intercept hook 'update_gio_module_cache' failed
> >> (exit code: 132)! See log for details!
> >> WARNING: The postinstalls for the following packages will be postponed for
> >> first boot: libglib-2.0-0
> >>
> >> The issue is most likely introduced by the commit:
> >>
> >> commit 27e202f2d9114a64b67c83eb7eafeb12de5ceea7
> >> Author: Zhenhua Luo <zhenhua.luo@nxp.com>
> >> Date:   Thu Apr 14 17:26:44 2016 +0800
> >>
> >>       meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to e500mc
> >>
> >>       The e5500 and e6500 cpu types are not supported by native qemu, set the
> >> value
> >>       of -cpu to e500mc. Without this change, build will fail for packages which
> use
> >>       qemuwrapper in compile phase due to the following error.
> >>       | Unable to find CPU definition
> >>
> >>       e.g. gobject-introspection
> >>
> >>       (From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)
> >>
> >>       Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
> >>       Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> >>
> >> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass index
> >> f3d3be8..75739db 100644
> >> --- a/meta/classes/qemu.bbclass
> >> +++ b/meta/classes/qemu.bbclass
> >> @@ -52,8 +52,8 @@ QEMU_OPTIONS[vardeps] +=
> >> "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
> >>
> >>    QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
> >>    QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
> >> -QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
> >> -QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
> >> -QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
> >> -QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
> >> +QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
> >> +QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
> >> +QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
> >> +QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
> >>    QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
> >>
> >>
> >> For my limited knowledge, the ppc64e6500 is a 64bit cpu but e500mc is 32bit,
> so
> >> when qemuwrapper running command qemu-ppc64 -r 3.2.0 -cpu e500mc
> "$@"
> >> would cause this failure.
> >> Since the qemu native still doesn't support e6500 cpu, I just remove the
> >> line: QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc", and the
> >> qemuwrapper could work.
> >>
> >> Is it a appropriate method to solve this issue ?  I'm not familiar with ppc, so
> don't
> >> know if this change could break something else?
> >>
> >> Thanks,
> >> Yi
> >>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Invalid instruction with qemu-ppc64 for ppc64e6500
  2016-11-02  3:50     ` Zhenhua Luo
@ 2016-11-02  5:05       ` Yi Zhao
  2016-11-02  5:46         ` Zhenhua Luo
  0 siblings, 1 reply; 7+ messages in thread
From: Yi Zhao @ 2016-11-02  5:05 UTC (permalink / raw)
  To: Zhenhua Luo; +Cc: meta-freescale

Hi Zhenhuan,


在 2016年11月02日 11:50, Zhenhua Luo 写道:
> Hi Yi,
>
> Due to the ppc64 support limitation of qemu-native, please don't add the following line in local.conf, the core-image-sato can be built with default configuration.
>
> QEMU_TARGETS_append = " ppc64"

Remove this line would also generate a failure for  running intercept 
scripts:
tmp/sysroots/p5040ds-64b/usr/bin/crossscripts/qemuwrapper: line 2: 
qemu-ppc64: command not found

Regrads,
Yi

>
>
> Best Regards,
>
> Zhenhua
>
>> -----Original Message-----
>> From: Yi Zhao [mailto:yi.zhao@windriver.com]
>> Sent: Tuesday, November 01, 2016 5:40 PM
>> To: Zhenhua Luo <zhenhua.luo@nxp.com>; meta-freescale@yoctoproject.org
>> Cc: Kevin Hao <kexin.hao@windriver.com>
>> Subject: Re: Invalid instruction with qemu-ppc64 for ppc64e6500
>>
>> Hi Zhenhua,
>>
>> I use morty branch for both poky and meta-fsl-ppc, machine is t4240rdb-64b.
>>
>> Add the following line in conf/local.conf:
>>
>> QEMU_TARGETS_append = " ppc64"
>>
>> Then run bitbake core-image-sato
>>
>> You could check the log in
>> tmp/work/t4240rdb_64b-poky-linux/core-image-sato/1.0-
>> r0/temp/log.do_rootfs
>>
>>
>> Thanks,
>>
>> Yi
>>
>>
>> 在 2016年10月31日 21:58, Zhenhua Luo 写道:
>>> Hi Yi,
>>>
>>> Due to ppce6500 is not supported by qemu-native, the patch is a workaround
>> for the limitation.
>>> May I know which version of poky and meta-fsl-ppc can reproduce the
>> problem?
>>>
>>> Best Regards,
>>>
>>> Zhenhua
>>>
>>>> -----Original Message-----
>>>> From: Yi Zhao [mailto:yi.zhao@windriver.com]
>>>> Sent: Monday, October 31, 2016 5:13 PM
>>>> To: meta-freescale@yoctoproject.org
>>>> Cc: Zhenhua Luo <zhenhua.luo@nxp.com>; Kevin Hao
>>>> <kexin.hao@windriver.com>
>>>> Subject: Invalid instruction with qemu-ppc64 for ppc64e6500
>>>>
>>>> Hi folks,
>>>>
>>>> I tried to build an image with nxp4xxx (DEFAULTTUNE="ppc64e6500"), when
>>>> do_rootfs tried to run intercept scripts, I got an invalid instruction
>>>> error:
>>>>
>>>> NOTE: Running intercept scripts:
>>>> NOTE: > Executing update_gio_module_cache intercept ...
>>>> Invalid instruction
>>>> NIP 00000000008046ac LR 0000000000000000 CTR 0000000000000000 XER
>>>> 0000000000000000 CPU#0
>>>> MSR 8000000000006000 HID0 0000000000000000 HF 0000000000006000
>> iidx 0
>>>> didx 0 TB 00510390 2192111342502858 [snip]
>>>> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
>>>> /buildarea/build-nxp/tmp/sysroots/nxp-
>>>> t4xxx/usr/bin/crossscripts/qemuwrapper:
>>>> line 2: 25969 Illegal instruction (core dumped) qemu-ppc64 -r 3.2.0 -cpu
>> e500mc
>>>> "$@"
>>>> WARNING: The postinstall intercept hook 'update_gio_module_cache' failed
>>>> (exit code: 132)! See log for details!
>>>> WARNING: The postinstalls for the following packages will be postponed for
>>>> first boot: libglib-2.0-0
>>>>
>>>> The issue is most likely introduced by the commit:
>>>>
>>>> commit 27e202f2d9114a64b67c83eb7eafeb12de5ceea7
>>>> Author: Zhenhua Luo <zhenhua.luo@nxp.com>
>>>> Date:   Thu Apr 14 17:26:44 2016 +0800
>>>>
>>>>        meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to e500mc
>>>>
>>>>        The e5500 and e6500 cpu types are not supported by native qemu, set the
>>>> value
>>>>        of -cpu to e500mc. Without this change, build will fail for packages which
>> use
>>>>        qemuwrapper in compile phase due to the following error.
>>>>        | Unable to find CPU definition
>>>>
>>>>        e.g. gobject-introspection
>>>>
>>>>        (From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)
>>>>
>>>>        Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
>>>>        Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>>>>
>>>> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass index
>>>> f3d3be8..75739db 100644
>>>> --- a/meta/classes/qemu.bbclass
>>>> +++ b/meta/classes/qemu.bbclass
>>>> @@ -52,8 +52,8 @@ QEMU_OPTIONS[vardeps] +=
>>>> "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
>>>>
>>>>     QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
>>>>     QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
>>>> -QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
>>>> -QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
>>>> -QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
>>>> -QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
>>>> +QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
>>>> +QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
>>>> +QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
>>>> +QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
>>>>     QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
>>>>
>>>>
>>>> For my limited knowledge, the ppc64e6500 is a 64bit cpu but e500mc is 32bit,
>> so
>>>> when qemuwrapper running command qemu-ppc64 -r 3.2.0 -cpu e500mc
>> "$@"
>>>> would cause this failure.
>>>> Since the qemu native still doesn't support e6500 cpu, I just remove the
>>>> line: QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc", and the
>>>> qemuwrapper could work.
>>>>
>>>> Is it a appropriate method to solve this issue ?  I'm not familiar with ppc, so
>> don't
>>>> know if this change could break something else?
>>>>
>>>> Thanks,
>>>> Yi
>>>>



^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Invalid instruction with qemu-ppc64 for ppc64e6500
  2016-11-02  5:05       ` Yi Zhao
@ 2016-11-02  5:46         ` Zhenhua Luo
  2016-11-02  5:53           ` Yi Zhao
  0 siblings, 1 reply; 7+ messages in thread
From: Zhenhua Luo @ 2016-11-02  5:46 UTC (permalink / raw)
  To: Yi Zhao; +Cc: meta-freescale

Yi, 

I did a clean build and don't meet any problem, the following is my step and log, is there any difference between your build and mine? 

Steps:
    * git clone git://git.yoctoproject.org/poky -b morty 
    * cd poky
    * git clone git://git.yoctoproject.org/meta-fsl-ppc -b morty
    * . ./oe-init-build-env t4240rdb-64b
    * Edit conf/bblayers.conf to add meta-fsl-ppc layer in BBLAYERS
    * MACHINE= t4240rdb-64b bitbake core-image-sato

Log:
$ bitbake core-image-sato -k
Parsing recipes: 100% |######################################################################################################| Time: 0:00:21
Parsing of 908 .bb files complete (0 cached, 908 parsed). 2274 targets, 253 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.32.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-16.04"
TARGET_SYS        = "powerpc64-poky-linux"
MACHINE           = "t4240rdb-64b"
DISTRO            = "poky"
DISTRO_VERSION    = "2.2"
TUNE_FEATURES     = "m64 fpu-hard e6500 altivec"
TARGET_FPU        = "hard"
meta              
meta-poky         
meta-yocto-bsp    = "morty:dc8508f609974cc99606b9042bfa7f870ce80228"
meta-fsl-ppc      = "morty:87efefc0687d78e52e9e1e6945ac28a15379287e"

NOTE: Fetching uninative binary shim from http://downloads.yoctoproject.org/releases/uninative/1.4/x86_64-nativesdk-libc.tar.bz2;sha256sum=101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca
--2016-10-31 23:46:54--  http://downloads.yoctoproject.org/releases/uninative/1.4/x86_64-nativesdk-libc.tar.bz2
Resolving downloads.yoctoproject.org (downloads.yoctoproject.org)... 198.145.20.127
Connecting to downloads.yoctoproject.org (downloads.yoctoproject.org)|198.145.20.127|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2473216 (2.4M) [application/octet-stream]
Saving to: \u2018/home/bjsimics/workspace/sources//uninative/101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca/x86_64-nativesdk-libc.tar.bz2\u2019


2016-10-31 23:47:03 (270 KB/s) - \u2018/home/bjsimics/workspace/sources//uninative/101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca/x86_64-nativesdk-libc.tar.bz2\u2019 saved [2473216/2473216]

Initialising tasks: 100% |###################################################################################################| Time: 0:00:18
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_pixbuf_cache' failed (exit code: 127)! See log for details!
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: libgdk-pixbuf-2.0-loader-jpeg libgdk-pixbuf-2.0-loader-gif libgdk-pixbuf-2.0-loader-png libgdk-pixbuf-2.0-loader-xpm
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_font_cache' failed (exit code: 127)! See log for details!
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: liberation-fonts
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_gio_module_cache' failed (exit code: 127)! See log for details!
WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: libglib-2.0-0 glib-networking gconf
WARNING: core-image-sato-1.0-r0 do_rootfs: [log_check] core-image-sato: found 6 warning messages in the logfile:
[log_check] WARNING: The postinstall intercept hook 'update_pixbuf_cache' failed (exit code: 127)! See log for details!
[log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: libgdk-pixbuf-2.0-loader-jpeg libgdk-pixbuf-2.0-loader-gif libgdk-pixbuf-2.0-loader-png libgdk-pixbuf-2.0-loader-xpm
[log_check] WARNING: The postinstall intercept hook 'update_font_cache' failed (exit code: 127)! See log for details!
[log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: liberation-fonts
[log_check] WARNING: The postinstall intercept hook 'update_gio_module_cache' failed (exit code: 127)! See log for details!
[log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: libglib-2.0-0 glib-networking gconf

NOTE: Tasks Summary: Attempted 5541 tasks of which 15 didn't need to be rerun and all succeeded.

Summary: There were 7 WARNING messages shown.


Best Regards, 

Zhenhua

> -----Original Message-----
> From: Yi Zhao [mailto:yi.zhao@windriver.com]
> Sent: Wednesday, November 02, 2016 1:06 PM
> To: Zhenhua Luo <zhenhua.luo@nxp.com>
> Cc: Kevin Hao <kexin.hao@windriver.com>; meta-freescale@yoctoproject.org
> Subject: Re: Invalid instruction with qemu-ppc64 for ppc64e6500
> 
> Hi Zhenhuan,
> 
> 
> 在 2016年11月02日 11:50, Zhenhua Luo 写道:
> > Hi Yi,
> >
> > Due to the ppc64 support limitation of qemu-native, please don't add the
> following line in local.conf, the core-image-sato can be built with default
> configuration.
> >
> > QEMU_TARGETS_append = " ppc64"
> 
> Remove this line would also generate a failure for  running intercept
> scripts:
> tmp/sysroots/p5040ds-64b/usr/bin/crossscripts/qemuwrapper: line 2:
> qemu-ppc64: command not found
> 
> Regrads,
> Yi
> 
> >
> >
> > Best Regards,
> >
> > Zhenhua
> >
> >> -----Original Message-----
> >> From: Yi Zhao [mailto:yi.zhao@windriver.com]
> >> Sent: Tuesday, November 01, 2016 5:40 PM
> >> To: Zhenhua Luo <zhenhua.luo@nxp.com>;
> >> meta-freescale@yoctoproject.org
> >> Cc: Kevin Hao <kexin.hao@windriver.com>
> >> Subject: Re: Invalid instruction with qemu-ppc64 for ppc64e6500
> >>
> >> Hi Zhenhua,
> >>
> >> I use morty branch for both poky and meta-fsl-ppc, machine is t4240rdb-64b.
> >>
> >> Add the following line in conf/local.conf:
> >>
> >> QEMU_TARGETS_append = " ppc64"
> >>
> >> Then run bitbake core-image-sato
> >>
> >> You could check the log in
> >> tmp/work/t4240rdb_64b-poky-linux/core-image-sato/1.0-
> >> r0/temp/log.do_rootfs
> >>
> >>
> >> Thanks,
> >>
> >> Yi
> >>
> >>
> >> 在 2016年10月31日 21:58, Zhenhua Luo 写道:
> >>> Hi Yi,
> >>>
> >>> Due to ppce6500 is not supported by qemu-native, the patch is a
> >>> workaround
> >> for the limitation.
> >>> May I know which version of poky and meta-fsl-ppc can reproduce the
> >> problem?
> >>>
> >>> Best Regards,
> >>>
> >>> Zhenhua
> >>>
> >>>> -----Original Message-----
> >>>> From: Yi Zhao [mailto:yi.zhao@windriver.com]
> >>>> Sent: Monday, October 31, 2016 5:13 PM
> >>>> To: meta-freescale@yoctoproject.org
> >>>> Cc: Zhenhua Luo <zhenhua.luo@nxp.com>; Kevin Hao
> >>>> <kexin.hao@windriver.com>
> >>>> Subject: Invalid instruction with qemu-ppc64 for ppc64e6500
> >>>>
> >>>> Hi folks,
> >>>>
> >>>> I tried to build an image with nxp4xxx (DEFAULTTUNE="ppc64e6500"),
> >>>> when do_rootfs tried to run intercept scripts, I got an invalid
> >>>> instruction
> >>>> error:
> >>>>
> >>>> NOTE: Running intercept scripts:
> >>>> NOTE: > Executing update_gio_module_cache intercept ...
> >>>> Invalid instruction
> >>>> NIP 00000000008046ac LR 0000000000000000 CTR 0000000000000000
> XER
> >>>> 0000000000000000 CPU#0
> >>>> MSR 8000000000006000 HID0 0000000000000000 HF 0000000000006000
> >> iidx 0
> >>>> didx 0 TB 00510390 2192111342502858 [snip]
> >>>> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
> >>>> /buildarea/build-nxp/tmp/sysroots/nxp-
> >>>> t4xxx/usr/bin/crossscripts/qemuwrapper:
> >>>> line 2: 25969 Illegal instruction (core dumped) qemu-ppc64 -r 3.2.0
> >>>> -cpu
> >> e500mc
> >>>> "$@"
> >>>> WARNING: The postinstall intercept hook 'update_gio_module_cache'
> >>>> failed (exit code: 132)! See log for details!
> >>>> WARNING: The postinstalls for the following packages will be
> >>>> postponed for first boot: libglib-2.0-0
> >>>>
> >>>> The issue is most likely introduced by the commit:
> >>>>
> >>>> commit 27e202f2d9114a64b67c83eb7eafeb12de5ceea7
> >>>> Author: Zhenhua Luo <zhenhua.luo@nxp.com>
> >>>> Date:   Thu Apr 14 17:26:44 2016 +0800
> >>>>
> >>>>        meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to
> >>>> e500mc
> >>>>
> >>>>        The e5500 and e6500 cpu types are not supported by native
> >>>> qemu, set the value
> >>>>        of -cpu to e500mc. Without this change, build will fail for
> >>>> packages which
> >> use
> >>>>        qemuwrapper in compile phase due to the following error.
> >>>>        | Unable to find CPU definition
> >>>>
> >>>>        e.g. gobject-introspection
> >>>>
> >>>>        (From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)
> >>>>
> >>>>        Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
> >>>>        Signed-off-by: Richard Purdie
> >>>> <richard.purdie@linuxfoundation.org>
> >>>>
> >>>> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
> >>>> index f3d3be8..75739db 100644
> >>>> --- a/meta/classes/qemu.bbclass
> >>>> +++ b/meta/classes/qemu.bbclass
> >>>> @@ -52,8 +52,8 @@ QEMU_OPTIONS[vardeps] +=
> >>>> "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
> >>>>
> >>>>     QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
> >>>>     QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
> >>>> -QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
> >>>> -QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
> >>>> -QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
> >>>> -QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
> >>>> +QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
> >>>> +QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
> >>>> +QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
> >>>> +QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
> >>>>     QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
> >>>>
> >>>>
> >>>> For my limited knowledge, the ppc64e6500 is a 64bit cpu but e500mc
> >>>> is 32bit,
> >> so
> >>>> when qemuwrapper running command qemu-ppc64 -r 3.2.0 -cpu e500mc
> >> "$@"
> >>>> would cause this failure.
> >>>> Since the qemu native still doesn't support e6500 cpu, I just
> >>>> remove the
> >>>> line: QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc", and the
> >>>> qemuwrapper could work.
> >>>>
> >>>> Is it a appropriate method to solve this issue ?  I'm not familiar
> >>>> with ppc, so
> >> don't
> >>>> know if this change could break something else?
> >>>>
> >>>> Thanks,
> >>>> Yi
> >>>>


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Invalid instruction with qemu-ppc64 for ppc64e6500
  2016-11-02  5:46         ` Zhenhua Luo
@ 2016-11-02  5:53           ` Yi Zhao
  0 siblings, 0 replies; 7+ messages in thread
From: Yi Zhao @ 2016-11-02  5:53 UTC (permalink / raw)
  To: Zhenhua Luo; +Cc: meta-freescale

Hi Zhenhua,


在 2016年11月02日 13:46, Zhenhua Luo 写道:
> Yi,
>
> I did a clean build and don't meet any problem, the following is my step and log, is there any difference between your build and mine?
>
> Steps:
>      * git clone git://git.yoctoproject.org/poky -b morty
>      * cd poky
>      * git clone git://git.yoctoproject.org/meta-fsl-ppc -b morty
>      * . ./oe-init-build-env t4240rdb-64b
>      * Edit conf/bblayers.conf to add meta-fsl-ppc layer in BBLAYERS
>      * MACHINE= t4240rdb-64b bitbake core-image-sato
>
> Log:
> $ bitbake core-image-sato -k
> Parsing recipes: 100% |######################################################################################################| Time: 0:00:21
> Parsing of 908 .bb files complete (0 cached, 908 parsed). 2274 targets, 253 skipped, 0 masked, 0 errors.
> NOTE: Resolving any missing task queue dependencies
>
> Build Configuration:
> BB_VERSION        = "1.32.0"
> BUILD_SYS         = "x86_64-linux"
> NATIVELSBSTRING   = "Ubuntu-16.04"
> TARGET_SYS        = "powerpc64-poky-linux"
> MACHINE           = "t4240rdb-64b"
> DISTRO            = "poky"
> DISTRO_VERSION    = "2.2"
> TUNE_FEATURES     = "m64 fpu-hard e6500 altivec"
> TARGET_FPU        = "hard"
> meta
> meta-poky
> meta-yocto-bsp    = "morty:dc8508f609974cc99606b9042bfa7f870ce80228"
> meta-fsl-ppc      = "morty:87efefc0687d78e52e9e1e6945ac28a15379287e"
>
> NOTE: Fetching uninative binary shim from http://downloads.yoctoproject.org/releases/uninative/1.4/x86_64-nativesdk-libc.tar.bz2;sha256sum=101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca
> --2016-10-31 23:46:54--  http://downloads.yoctoproject.org/releases/uninative/1.4/x86_64-nativesdk-libc.tar.bz2
> Resolving downloads.yoctoproject.org (downloads.yoctoproject.org)... 198.145.20.127
> Connecting to downloads.yoctoproject.org (downloads.yoctoproject.org)|198.145.20.127|:80... connected.
> HTTP request sent, awaiting response... 200 OK
> Length: 2473216 (2.4M) [application/octet-stream]
> Saving to: \u2018/home/bjsimics/workspace/sources//uninative/101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca/x86_64-nativesdk-libc.tar.bz2\u2019
>
>
> 2016-10-31 23:47:03 (270 KB/s) - \u2018/home/bjsimics/workspace/sources//uninative/101ff8f2580c193488db9e76f9646fb6ed38b65fb76f403acb0e2178ce7127ca/x86_64-nativesdk-libc.tar.bz2\u2019 saved [2473216/2473216]
>
> Initialising tasks: 100% |###################################################################################################| Time: 0:00:18
> NOTE: Executing SetScene Tasks
> NOTE: Executing RunQueue Tasks
> WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_pixbuf_cache' failed (exit code: 127)! See log for details!
> WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: libgdk-pixbuf-2.0-loader-jpeg libgdk-pixbuf-2.0-loader-gif libgdk-pixbuf-2.0-loader-png libgdk-pixbuf-2.0-loader-xpm
> WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_font_cache' failed (exit code: 127)! See log for details!
> WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: liberation-fonts
> WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstall intercept hook 'update_gio_module_cache' failed (exit code: 127)! See log for details!
> WARNING: core-image-sato-1.0-r0 do_rootfs: The postinstalls for the following packages will be postponed for first boot: libglib-2.0-0 glib-networking gconf
> WARNING: core-image-sato-1.0-r0 do_rootfs: [log_check] core-image-sato: found 6 warning messages in the logfile:
> [log_check] WARNING: The postinstall intercept hook 'update_pixbuf_cache' failed (exit code: 127)! See log for details!
> [log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: libgdk-pixbuf-2.0-loader-jpeg libgdk-pixbuf-2.0-loader-gif libgdk-pixbuf-2.0-loader-png libgdk-pixbuf-2.0-loader-xpm
> [log_check] WARNING: The postinstall intercept hook 'update_font_cache' failed (exit code: 127)! See log for details!
> [log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: liberation-fonts
> [log_check] WARNING: The postinstall intercept hook 'update_gio_module_cache' failed (exit code: 127)! See log for details!
> [log_check] WARNING: The postinstalls for the following packages will be postponed for first boot: libglib-2.0-0 glib-networking gconf

The root cause  of these warnings is missing  qemu-ppc64 command. So you 
don't want fix it and these warning can be ignored ?

Regards,
Yi


> NOTE: Tasks Summary: Attempted 5541 tasks of which 15 didn't need to be rerun and all succeeded.
>
> Summary: There were 7 WARNING messages shown.
>
>
> Best Regards,
>
> Zhenhua
>
>> -----Original Message-----
>> From: Yi Zhao [mailto:yi.zhao@windriver.com]
>> Sent: Wednesday, November 02, 2016 1:06 PM
>> To: Zhenhua Luo <zhenhua.luo@nxp.com>
>> Cc: Kevin Hao <kexin.hao@windriver.com>; meta-freescale@yoctoproject.org
>> Subject: Re: Invalid instruction with qemu-ppc64 for ppc64e6500
>>
>> Hi Zhenhuan,
>>
>>
>> 在 2016年11月02日 11:50, Zhenhua Luo 写道:
>>> Hi Yi,
>>>
>>> Due to the ppc64 support limitation of qemu-native, please don't add the
>> following line in local.conf, the core-image-sato can be built with default
>> configuration.
>>> QEMU_TARGETS_append = " ppc64"
>> Remove this line would also generate a failure for  running intercept
>> scripts:
>> tmp/sysroots/p5040ds-64b/usr/bin/crossscripts/qemuwrapper: line 2:
>> qemu-ppc64: command not found
>>
>> Regrads,
>> Yi
>>
>>>
>>> Best Regards,
>>>
>>> Zhenhua
>>>
>>>> -----Original Message-----
>>>> From: Yi Zhao [mailto:yi.zhao@windriver.com]
>>>> Sent: Tuesday, November 01, 2016 5:40 PM
>>>> To: Zhenhua Luo <zhenhua.luo@nxp.com>;
>>>> meta-freescale@yoctoproject.org
>>>> Cc: Kevin Hao <kexin.hao@windriver.com>
>>>> Subject: Re: Invalid instruction with qemu-ppc64 for ppc64e6500
>>>>
>>>> Hi Zhenhua,
>>>>
>>>> I use morty branch for both poky and meta-fsl-ppc, machine is t4240rdb-64b.
>>>>
>>>> Add the following line in conf/local.conf:
>>>>
>>>> QEMU_TARGETS_append = " ppc64"
>>>>
>>>> Then run bitbake core-image-sato
>>>>
>>>> You could check the log in
>>>> tmp/work/t4240rdb_64b-poky-linux/core-image-sato/1.0-
>>>> r0/temp/log.do_rootfs
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> Yi
>>>>
>>>>
>>>> 在 2016年10月31日 21:58, Zhenhua Luo 写道:
>>>>> Hi Yi,
>>>>>
>>>>> Due to ppce6500 is not supported by qemu-native, the patch is a
>>>>> workaround
>>>> for the limitation.
>>>>> May I know which version of poky and meta-fsl-ppc can reproduce the
>>>> problem?
>>>>> Best Regards,
>>>>>
>>>>> Zhenhua
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Yi Zhao [mailto:yi.zhao@windriver.com]
>>>>>> Sent: Monday, October 31, 2016 5:13 PM
>>>>>> To: meta-freescale@yoctoproject.org
>>>>>> Cc: Zhenhua Luo <zhenhua.luo@nxp.com>; Kevin Hao
>>>>>> <kexin.hao@windriver.com>
>>>>>> Subject: Invalid instruction with qemu-ppc64 for ppc64e6500
>>>>>>
>>>>>> Hi folks,
>>>>>>
>>>>>> I tried to build an image with nxp4xxx (DEFAULTTUNE="ppc64e6500"),
>>>>>> when do_rootfs tried to run intercept scripts, I got an invalid
>>>>>> instruction
>>>>>> error:
>>>>>>
>>>>>> NOTE: Running intercept scripts:
>>>>>> NOTE: > Executing update_gio_module_cache intercept ...
>>>>>> Invalid instruction
>>>>>> NIP 00000000008046ac LR 0000000000000000 CTR 0000000000000000
>> XER
>>>>>> 0000000000000000 CPU#0
>>>>>> MSR 8000000000006000 HID0 0000000000000000 HF 0000000000006000
>>>> iidx 0
>>>>>> didx 0 TB 00510390 2192111342502858 [snip]
>>>>>> qemu: uncaught target signal 4 (Illegal instruction) - core dumped
>>>>>> /buildarea/build-nxp/tmp/sysroots/nxp-
>>>>>> t4xxx/usr/bin/crossscripts/qemuwrapper:
>>>>>> line 2: 25969 Illegal instruction (core dumped) qemu-ppc64 -r 3.2.0
>>>>>> -cpu
>>>> e500mc
>>>>>> "$@"
>>>>>> WARNING: The postinstall intercept hook 'update_gio_module_cache'
>>>>>> failed (exit code: 132)! See log for details!
>>>>>> WARNING: The postinstalls for the following packages will be
>>>>>> postponed for first boot: libglib-2.0-0
>>>>>>
>>>>>> The issue is most likely introduced by the commit:
>>>>>>
>>>>>> commit 27e202f2d9114a64b67c83eb7eafeb12de5ceea7
>>>>>> Author: Zhenhua Luo <zhenhua.luo@nxp.com>
>>>>>> Date:   Thu Apr 14 17:26:44 2016 +0800
>>>>>>
>>>>>>         meta/classes/qemu.bbclass: set -cpu of ppce5500/ppce6500 to
>>>>>> e500mc
>>>>>>
>>>>>>         The e5500 and e6500 cpu types are not supported by native
>>>>>> qemu, set the value
>>>>>>         of -cpu to e500mc. Without this change, build will fail for
>>>>>> packages which
>>>> use
>>>>>>         qemuwrapper in compile phase due to the following error.
>>>>>>         | Unable to find CPU definition
>>>>>>
>>>>>>         e.g. gobject-introspection
>>>>>>
>>>>>>         (From OE-Core rev: e06c5c5447350049ebd1a6245fc2dd2608b265e5)
>>>>>>
>>>>>>         Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
>>>>>>         Signed-off-by: Richard Purdie
>>>>>> <richard.purdie@linuxfoundation.org>
>>>>>>
>>>>>> diff --git a/meta/classes/qemu.bbclass b/meta/classes/qemu.bbclass
>>>>>> index f3d3be8..75739db 100644
>>>>>> --- a/meta/classes/qemu.bbclass
>>>>>> +++ b/meta/classes/qemu.bbclass
>>>>>> @@ -52,8 +52,8 @@ QEMU_OPTIONS[vardeps] +=
>>>>>> "QEMU_EXTRAOPTIONS_${PACKAGE_ARCH}"
>>>>>>
>>>>>>      QEMU_EXTRAOPTIONS_ppce500v2 = " -cpu e500v2"
>>>>>>      QEMU_EXTRAOPTIONS_ppce500mc = " -cpu e500mc"
>>>>>> -QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e5500"
>>>>>> -QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e5500"
>>>>>> -QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e6500"
>>>>>> -QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e6500"
>>>>>> +QEMU_EXTRAOPTIONS_ppce5500 = " -cpu e500mc"
>>>>>> +QEMU_EXTRAOPTIONS_ppc64e5500 = " -cpu e500mc"
>>>>>> +QEMU_EXTRAOPTIONS_ppce6500 = " -cpu e500mc"
>>>>>> +QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc"
>>>>>>      QEMU_EXTRAOPTIONS_ppc7400 = " -cpu 7400"
>>>>>>
>>>>>>
>>>>>> For my limited knowledge, the ppc64e6500 is a 64bit cpu but e500mc
>>>>>> is 32bit,
>>>> so
>>>>>> when qemuwrapper running command qemu-ppc64 -r 3.2.0 -cpu e500mc
>>>> "$@"
>>>>>> would cause this failure.
>>>>>> Since the qemu native still doesn't support e6500 cpu, I just
>>>>>> remove the
>>>>>> line: QEMU_EXTRAOPTIONS_ppc64e6500 = " -cpu e500mc", and the
>>>>>> qemuwrapper could work.
>>>>>>
>>>>>> Is it a appropriate method to solve this issue ?  I'm not familiar
>>>>>> with ppc, so
>>>> don't
>>>>>> know if this change could break something else?
>>>>>>
>>>>>> Thanks,
>>>>>> Yi
>>>>>>



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-11-02  5:54 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-31  9:12 Invalid instruction with qemu-ppc64 for ppc64e6500 Yi Zhao
2016-10-31 13:58 ` Zhenhua Luo
2016-11-01  9:39   ` Yi Zhao
2016-11-02  3:50     ` Zhenhua Luo
2016-11-02  5:05       ` Yi Zhao
2016-11-02  5:46         ` Zhenhua Luo
2016-11-02  5:53           ` Yi Zhao

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.