Message ID | 1391310292-18008-2-git-send-email-edgar.iglesias@gmail.com |
---|---|
State | New |
Headers | show |
On Sun, Feb 02, 2014 at 03:04:47AM +0000, edgar.iglesias@gmail.com wrote: > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> This is not a regression, but my static busybox sample I have fails to run with -cpu crisv32. -cpu crisv11 works a little better, but most syscalls will blow up. Now it is entirely possible my cris busybox binary is broken, as I have no hw to test it... ./cris-linux-user/qemu-cris -cpu crisv32 /home/voipio/linaro/qemu-smoke/cris/busybox echo hi PC=80138 CCS=e8 btaken=1 btarget=80138 cc_op=8 cc_src=4 cc_dest=-150999004 cc_result=f6fff020 cc_mask=f $r0=001dca60 $r1=00000000 $r2=00000000 $r3=00000000 $r4=00000000 $r5=00000000 $r6=00000000 $r7=00000000 $r8=00000000 $r9=0012dc50 $r10=000806a6 $r11=00000003 $r12=f6fff02c $r13=00001966 $sp=f6fff020 $acr=f6fff01c special regs: $bz=00000000 $vr=00000020 $pid=00000000 $srs=00000000 $wz=00000000 $exs=00000000 $eda=001dca60 $mof=00000000 $dz=00000000 $ebp=00000000 $erp=00000000 $srp=00000000 $nrp=00000000 $ccs=000000e8 $usp=00000000 $spc=00000000 support function regs bank 0: s00=00000000 s01=00000000 s02=00000000 s03=00000000 s04=00000000 s05=00000000 s06=00000000 s07=00000000 s08=00000000 s09=00000000 s10=00000000 s11=00000000 s12=00000000 s13=00000000 s14=00000000 s15=00000000 > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > --- > target-cris/cpu.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/target-cris/cpu.c b/target-cris/cpu.c > index 44301a4..21f1860 100644 > --- a/target-cris/cpu.c > +++ b/target-cris/cpu.c > @@ -239,7 +239,14 @@ static const TypeInfo cris_cpu_model_type_infos[] = { > .name = TYPE("crisv32"), > .parent = TYPE_CRIS_CPU, > .class_init = crisv32_cpu_class_init, > + }, > +#if defined(CONFIG_USER_ONLY) > + { > + .name = TYPE("any"), > + .parent = TYPE_CRIS_CPU, > + .class_init = crisv32_cpu_class_init, > } > +#endif > }; > > #undef TYPE > -- > 1.8.3.2 >
Hi, Am 02.02.2014 04:04, schrieb edgar.iglesias@gmail.com: > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > --- > target-cris/cpu.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/target-cris/cpu.c b/target-cris/cpu.c > index 44301a4..21f1860 100644 > --- a/target-cris/cpu.c > +++ b/target-cris/cpu.c > @@ -239,7 +239,14 @@ static const TypeInfo cris_cpu_model_type_infos[] = { > .name = TYPE("crisv32"), > .parent = TYPE_CRIS_CPU, > .class_init = crisv32_cpu_class_init, > + }, > +#if defined(CONFIG_USER_ONLY) > + { > + .name = TYPE("any"), > + .parent = TYPE_CRIS_CPU, > + .class_init = crisv32_cpu_class_init, > } If this model is supposed to be exactly the same as crisv32, I would recommend to make this an alias handled in CRISCPU::class_by_name() rather than a distinct QOM type. Regards, Andreas > +#endif > }; > > #undef TYPE
On Mon, Feb 03, 2014 at 01:02:34PM +0200, Riku Voipio wrote: > On Sun, Feb 02, 2014 at 03:04:47AM +0000, edgar.iglesias@gmail.com wrote: > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > This is not a regression, but my static busybox sample I have fails to > run with -cpu crisv32. -cpu crisv11 works a little better, but most > syscalls will blow up. Now it is entirely possible my cris busybox binary is > broken, as I have no hw to test it... Hi Riku, The CRISv10 class of CPUs (8, 9, 10, 11) are very different from the CRISv32. There is some binary compatibility and more ASM compat but they should really be seen as different archs. Not sure what kind of binary you have but if you want I can provide busybox for both v10 and v32. Cheers, Edgar > > ./cris-linux-user/qemu-cris -cpu crisv32 /home/voipio/linaro/qemu-smoke/cris/busybox echo hi > > PC=80138 CCS=e8 btaken=1 btarget=80138 > cc_op=8 cc_src=4 cc_dest=-150999004 cc_result=f6fff020 cc_mask=f > $r0=001dca60 $r1=00000000 $r2=00000000 $r3=00000000 > $r4=00000000 $r5=00000000 $r6=00000000 $r7=00000000 > $r8=00000000 $r9=0012dc50 $r10=000806a6 $r11=00000003 > $r12=f6fff02c $r13=00001966 $sp=f6fff020 $acr=f6fff01c > > special regs: > $bz=00000000 $vr=00000020 $pid=00000000 $srs=00000000 > $wz=00000000 $exs=00000000 $eda=001dca60 $mof=00000000 > $dz=00000000 $ebp=00000000 $erp=00000000 $srp=00000000 > $nrp=00000000 $ccs=000000e8 $usp=00000000 $spc=00000000 > > support function regs bank 0: > s00=00000000 s01=00000000 s02=00000000 s03=00000000 > s04=00000000 s05=00000000 s06=00000000 s07=00000000 > s08=00000000 s09=00000000 s10=00000000 s11=00000000 > s12=00000000 s13=00000000 s14=00000000 s15=00000000 > > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > > --- > > target-cris/cpu.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/target-cris/cpu.c b/target-cris/cpu.c > > index 44301a4..21f1860 100644 > > --- a/target-cris/cpu.c > > +++ b/target-cris/cpu.c > > @@ -239,7 +239,14 @@ static const TypeInfo cris_cpu_model_type_infos[] = { > > .name = TYPE("crisv32"), > > .parent = TYPE_CRIS_CPU, > > .class_init = crisv32_cpu_class_init, > > + }, > > +#if defined(CONFIG_USER_ONLY) > > + { > > + .name = TYPE("any"), > > + .parent = TYPE_CRIS_CPU, > > + .class_init = crisv32_cpu_class_init, > > } > > +#endif > > }; > > > > #undef TYPE > > -- > > 1.8.3.2 > >
On Mon, Feb 03, 2014 at 12:44:03PM +0100, Andreas Färber wrote: > Hi, > > Am 02.02.2014 04:04, schrieb edgar.iglesias@gmail.com: > > From: "Edgar E. Iglesias" <edgar.iglesias@xilinx.com> > > > > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com> > > --- > > target-cris/cpu.c | 7 +++++++ > > 1 file changed, 7 insertions(+) > > > > diff --git a/target-cris/cpu.c b/target-cris/cpu.c > > index 44301a4..21f1860 100644 > > --- a/target-cris/cpu.c > > +++ b/target-cris/cpu.c > > @@ -239,7 +239,14 @@ static const TypeInfo cris_cpu_model_type_infos[] = { > > .name = TYPE("crisv32"), > > .parent = TYPE_CRIS_CPU, > > .class_init = crisv32_cpu_class_init, > > + }, > > +#if defined(CONFIG_USER_ONLY) > > + { > > + .name = TYPE("any"), > > + .parent = TYPE_CRIS_CPU, > > + .class_init = crisv32_cpu_class_init, > > } > > If this model is supposed to be exactly the same as crisv32, I would > recommend to make this an alias handled in CRISCPU::class_by_name() > rather than a distinct QOM type. > Sounds good, I'll send a v2 of this one. Cheers, Edgar
diff --git a/target-cris/cpu.c b/target-cris/cpu.c index 44301a4..21f1860 100644 --- a/target-cris/cpu.c +++ b/target-cris/cpu.c @@ -239,7 +239,14 @@ static const TypeInfo cris_cpu_model_type_infos[] = { .name = TYPE("crisv32"), .parent = TYPE_CRIS_CPU, .class_init = crisv32_cpu_class_init, + }, +#if defined(CONFIG_USER_ONLY) + { + .name = TYPE("any"), + .parent = TYPE_CRIS_CPU, + .class_init = crisv32_cpu_class_init, } +#endif }; #undef TYPE