qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <philmd@redhat.com>
To: Stefan Markovic <stefan.markovic@rt-rk.com>, qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, pburton@wavecomp.com,
	smarkovic@wavecomp.com, jhogan@kernel.org, huth@tuxfamily.org,
	hpoussin@reactos.org, amarkovic@wavecomp.com,
	pjovanovic@wavecomp.com,
	Richard Henderson <richard.henderson@linaro.org>
Subject: Re: [Qemu-devel] [PATCH 1/2] qemu-doc: Add nanoMIPS ISA information
Date: Wed, 28 Nov 2018 15:31:28 +0100	[thread overview]
Message-ID: <3ef23076-d0b4-4df3-d023-bf18ba33aade@redhat.com> (raw)
In-Reply-To: <1543412590-29716-2-git-send-email-stefan.markovic@rt-rk.com>

Hi Stefan,

On 28/11/18 14:43, Stefan Markovic wrote:
> From: Stefan Markovic <smarkovic@wavecomp.com>
> 
> Add nanoMIPS information in qemu-doc.texi with example of usage
> included.
> 
> Signed-off-by: Stefan Markovic <smarkovic@wavecomp.com>
> ---
>  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)
>  
> +@menu
> +* nanoMIPS System emulator ::
> +@end 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
>  
> +@node nanoMIPS System emulator
> +@subsection nanoMIPS System emulator
> +@cindex system emulation (nanoMIPS)
> +
> +Executable @file{qemu-system-mipsel} also covers simulation of
> +32-bit nanoMIPS system in little endian mode:
> +
> +@itemize @minus
> +@item
> +nanoMIPS I7200 CPU
> +@end 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:
> +@example
> +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.

> +@end example
> +
>  
>  @node ARM System emulator
>  @section ARM System emulator
> 

  reply	other threads:[~2018-11-28 14:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-28 13:43 [Qemu-devel] [PATCH 0/2] qemu-doc: Update MIPS/nanoMIPS info Stefan Markovic
2018-11-28 13:43 ` [Qemu-devel] [PATCH 1/2] qemu-doc: Add nanoMIPS ISA information Stefan Markovic
2018-11-28 14:31   ` Philippe Mathieu-Daudé [this message]
2018-11-29 10:18     ` Stefan Markovic
2018-11-29 10:23       ` Peter Maydell
2018-11-29 18:03         ` Richard Henderson
2018-12-03 13:59         ` Stefan Markovic
2019-01-24 15:43   ` Aleksandar Markovic
2018-11-28 13:43 ` [Qemu-devel] [PATCH 2/2] docs/qemu-cpu-models: Add MIPS/nanoMIPS QEMU supported CPU models Stefan Markovic
2018-11-28 14:36   ` Philippe Mathieu-Daudé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3ef23076-d0b4-4df3-d023-bf18ba33aade@redhat.com \
    --to=philmd@redhat.com \
    --cc=amarkovic@wavecomp.com \
    --cc=hpoussin@reactos.org \
    --cc=huth@tuxfamily.org \
    --cc=jhogan@kernel.org \
    --cc=pburton@wavecomp.com \
    --cc=peter.maydell@linaro.org \
    --cc=pjovanovic@wavecomp.com \
    --cc=qemu-devel@nongnu.org \
    --cc=richard.henderson@linaro.org \
    --cc=smarkovic@wavecomp.com \
    --cc=stefan.markovic@rt-rk.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).