qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/2] qemu-doc: Add nanoMIPS ISA information


From: Stefan Markovic
Subject: Re: [Qemu-devel] [PATCH 1/2] qemu-doc: Add nanoMIPS ISA information
Date: Thu, 29 Nov 2018 10:18:28 +0000

Hi Philippe,


I'll investigate further running with  --enable-debug option to fix this 
issue.

In the meantime, we could note enable-debug as 'To Be Done/Work In 
Progress' for nanoMIPS in qemu docs .


Thanks,

Stefan

On 28.11.18. 15:31, Philippe Mathieu-Daudé wrote:
> Hi Stefan,
>
> On 28/11/18 14:43, Stefan Markovic wrote:
>> From: Stefan Markovic <address@hidden>
>>
>> Add nanoMIPS information in qemu-doc.texi with example of usage
>> included.
>>
>> Signed-off-by: Stefan Markovic <address@hidden>
>> ---
>>   qemu-doc.texi | 29 +++++++++++++++++++++++++++++
>>   1 file changed, 29 insertions(+)
>>
>> diff --git a/qemu-doc.texi b/qemu-doc.texi
>> index f7ad1df..6ef593d 100644
>> --- a/qemu-doc.texi
>> +++ b/qemu-doc.texi
>> @@ -1994,6 +1994,10 @@ Set the emulated machine type. The default is sun4u.
>>   @section MIPS System emulator
>>   @cindex system emulation (MIPS)
>>   
>> address@hidden
>> +* nanoMIPS System emulator ::
>> address@hidden menu
>> +
>>   Four executables cover simulation of 32 and 64-bit MIPS systems in
>>   both endian options, @file{qemu-system-mips}, @file{qemu-system-mipsel}
>>   @file{qemu-system-mips64} and @file{qemu-system-mips64el}.
>> @@ -2085,6 +2089,31 @@ SCSI controller
>>   G364 framebuffer
>>   @end itemize
>>   
>> address@hidden nanoMIPS System emulator
>> address@hidden nanoMIPS System emulator
>> address@hidden system emulation (nanoMIPS)
>> +
>> +Executable @file{qemu-system-mipsel} also covers simulation of
>> +32-bit nanoMIPS system in little endian mode:
>> +
>> address@hidden @minus
>> address@hidden
>> +nanoMIPS I7200 CPU
>> address@hidden itemize
>> +
>> +Example of @file{qemu-system-mipsel} usage for nanoMIPS is shown below:
>> +
>> +Download @code{<disk_image_file>} from 
>> @url{https://mipsdistros.mips.com/LinuxDistro/nanomips/buildroot/index.html}.
>> +
>> +Download @code{<kernel_image_file>} from 
>> @url{https://mipsdistros.mips.com/LinuxDistro/nanomips/kernels/v4.15.18-432-gb2eb9a8b07a1-20180627102142/index.html}.
>> +
>> +Start system emulation of Malta board with nanoMIPS I7200 CPU:
>> address@hidden
>> +qemu-system-mipsel -cpu I7200 -kernel @code{<kernel_image_file>} \
>> +    -M malta -serial stdio -m @code{<memory_size>} -hda 
>> @code{<disk_image_file>} \
>> +    -append "mem=256m@@0x0 rw console=ttyS0 vga=cirrus vesa=0x111 
>> root=/dev/sda"
> Trying your example with generic_nano32r6el_page64k_dbg current master
> (c56606684) I'm getting:
>
> IN: cgroup_init_early
> 0x8087ae64:  84f0 8050      LW a3, 0x50(s0)
> 0x8087ae68:  a630 2c48      SWM s1, 72(s0), 0x2
> 0x8087ae6c:  bb84           BNEZC a3, 0x8087ae72
>
> OP:
>   ld_i32 tmp0,env,$0xffffffffffffffe4
>   movi_i32 tmp1,$0x0
>   brcond_i32 tmp0,tmp1,lt,$L0
>
>   ---- 8087ae64 00000000 00000000
>   movi_i32 tmp0,$0x50
>   add_i32 tmp0,s0,tmp0
>   qemu_ld_i32 tmp0,tmp0,un+leul,0
>   mov_i32 a3,tmp0
>
>   ---- 8087ae68 00000000 00000000
>   movi_i32 tmp0,$0x48
>   add_i32 tmp0,s0,tmp0
>   mov_i32 tmp1,s1
>   qemu_st_i32 tmp1,tmp0,leul,0
>   movi_i32 tmp0,$0x4c
>   add_i32 tmp0,s0,tmp0
>   mov_i32 tmp1,s2
>   qemu_st_i32 tmp1,tmp0,leul,0
>
>   ---- 8087ae6c 00000000 00000000
>   mov_i32 tmp0,a3
>   movi_i32 tmp1,$0x0
>   setcond_i32 bcond,tmp0,tmp1,ne
>   movi_i32 tmp0,$0x0
>   brcond_i32 bcond,tmp0,ne,$L1
>   goto_tb $0x1
>   movi_i32 PC,$0xffffffff8087ae6e
>   exit_tb $0x7f80a2005f01
>   set_label $L1
>   goto_tb $0x0
>   movi_i32 PC,$0xffffffff8087ae72
>   exit_tb $0x7f80a2005f00
>   set_label $L0
>   exit_tb $0x7f80a2005f03
>
> qemu-system-mipsel: tcg/tcg-op.c:2607: tcg_gen_goto_tb: Assertion
> `(tcg_ctx->goto_tb_issue_mask & (1 << idx)) == 0' failed.
>
> Richard said on IRC "it means that it has issued two goto_tb with the
> same idx."
>
> I built QEMU on a x86_64 host, using the following options:
>
> ./configure --disable-user \
>   --enable-vnc-sasl --enable-trace-backends=log \
>   --extra-cflags=-ggdb --enable-debug
>
> Regards,
>
> Phil.
>
>> address@hidden example
>> +
>>   
>>   @node ARM System emulator
>>   @section ARM System emulator
>>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]