All of lore.kernel.org
 help / color / mirror / Atom feed
From: Huacai Chen <chenhuacai@gmail.com>
To: Aleksandar Markovic <aleksandar.qemu.devel@gmail.com>
Cc: "chen huacai" <zltjiangshi@gmail.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	"Jiaxun Yang" <jiaxun.yang@flygoat.com>,
	"QEMU Developers" <qemu-devel@nongnu.org>,
	"Aleksandar Rikalo" <aleksandar.rikalo@rt-rk.com>,
	"Aurelien Jarno" <aurelien@aurel32.net>
Subject: Re: [PATCH for-5.1 V3 0/7] mips: Add Loongson-3 machine support (with KVM)
Date: Fri, 8 May 2020 09:41:38 +0800	[thread overview]
Message-ID: <CAAhV-H6JWtuek8kHFh5-3zW87av5zWwcOGwH0V4MZDF7Xuj=Bw@mail.gmail.com> (raw)
In-Reply-To: <CAHiYmc7XhGGb4q3RUX_-=ohsX2D7PHgax4y6nCPGtW7LLHV9dQ@mail.gmail.com>

Hi, Aleksandar,

On Thu, May 7, 2020 at 8:18 PM Aleksandar Markovic
<aleksandar.qemu.devel@gmail.com> wrote:
>
> сре, 6. мај 2020. у 03:43 Huacai Chen <chenhuacai@gmail.com> је написао/ла:
> >
> > Hi, Aleksandar,
> >
> > On Tue, May 5, 2020 at 6:12 PM Aleksandar Markovic
> > <aleksandar.qemu.devel@gmail.com> wrote:
> > >
> > >
> > >
> > > уторак, 05. мај 2020., chen huacai <zltjiangshi@gmail.com> је написао/ла:
> > >>
> > >> Hi, Aleksandar,
> > >>
> > >> On Sun, May 3, 2020 at 6:50 PM Aleksandar Markovic
> > >> <aleksandar.qemu.devel@gmail.com> wrote:
> > >> >
> > >> > нед, 3. мај 2020. у 12:21 Huacai Chen <zltjiangshi@gmail.com> је написао/ла:
> > >> > >
> > >> > > Loongson-3 CPU family include Loongson-3A R1/R2/R3/R4 and Loongson-3B
> > >> > > R1/R2. Loongson-3A R1 is the oldest and its ISA is the smallest, while
> > >> > > Loongson-3A R4 is the newest and its ISA is almost the superset of all
> > >> > > others. To reduce complexity, in QEMU we just define two CPU types:
> > >> > >
> > >> > > 1, "Loongson-3A1000" CPU which is corresponding to Loongson-3A R1. It is
> > >> > >    suitable for TCG because Loongson-3A R1 has fewest ASE.
> > >> > > 2, "Loongson-3A4000" CPU which is corresponding to Loongson-3A R4. It is
> > >> > >    suitable for KVM because Loongson-3A R4 has the VZ ASE.
> > >> > >
> > >> >
> > >> > Huacai, thanks for putting together v3, which is a little better than v2, and
> > >> > thanks for addressing my previous suggestions.
> > >> >
> > >> > Now, give us some time to digest new data on Loongson3.  We will
> > >> > respond, but it won't happen immediately, which is, you'd agree,
> > >> > reasonable. Just be patient.
> > >> >
> > >> > But again, in general, I salute your efforts very much!
> > >> >
> > >> > Yours, Aleksandar
> > >> I'm sorry for this late response because I have done many tests to
> > >> reproduce the problem reported at
> > >> https://patchew.org/QEMU/1588501221-1205-1-git-send-email-chenhc@lemote.com/,
> > >> but I don't have such a failure...
> > >>
> > >> What I have done:
> > >> 1, "make check" on MIPS64 platform (distro is Fedora28 for Loongson);
> > >> 2, "make check" on X86_64 platform (distro is RHEL8);
> > >> 3, "make docker-test-quick@centos7 SHOW_ENV=1 NETWORK=1" on X86_64
> > >> platform (distro is RHEL8);
> > >> 4, "make docker-test-quick@centos7 SHOW_ENV=1 J=n NETWORK=1" on X86_64
> > >> platform (distro is RHEL8 and I've tried n=2,3,4....14);
> > >>
> > >> I always get the same result:
> > >> Not run: 259
> > >> Passed all 117 iotests
> > >>
> > >> And, it seems that my patchset doesn't touch anything about iotests,
> > >> so I don't know why the build test fails on iotests 192 (Maybe your
> > >> build test has the same problem without my patches).
> > >>
> > >
> > > From time to time, there is some instability in our automatic iotests. You shouldn't bother too much about it, of course you retest in your environments, that is good. But, in all likelyhood, your patchset doesn't really have anything to do with the reported iotest failure.
> >
> > Thank you for your help, and here is another question: Could
> > "target/mips: Support variable page size" series be merged now? This
> > Loongson-3 series depend on variable page size logically.
> >
>
> Hi, Huacei.
>
> Please be patient. This is a significant series, and we don't do or
> have a "fast track" for series of such nature. It might or might not
> be that some of the patches will be accepted before the entire series,
> but certainly do not rush us. This is not the way to achieve your
> goal, let's put it that way. Focus on improving your series. Being
> careful with reviewing and upstreaming is actually in your interest.
Thank your very much. I know I should be patient, and I'm patient
actually. I mention "target/mips: Support variable page size" here
because I forget to add "for-5.1" in that series, I want to know
whether I should resend it.

>
> Yours,
> Aleksandar
>
> > >
> > > Truly yours,
> > > Aleksandar
> > >
> > >
> > >>
> > >> P.S.: I have found a problem that my patchset has a build failure with
> > >> CONFIG_KVM=n, but this is another problem and I will send V4 to fix it
> > >> (after collecting all problems in V3).
> > >>
> > >>
> > >> >
> > >> > > Loongson-3 lacks English documents. I've tried to translated them with
> > >> > > translate.google.com, and the machine translated documents (together
> > >> > > with their original Chinese versions) are available here.
> > >> > >
> > >> > > Loongson-3A R1 (Loongson-3A1000)
> > >> > > User Manual Part 1:
> > >> > > http://ftp.godson.ac.cn/lemote/3A1000_p1.pdf
> > >> > > http://ftp.godson.ac.cn/lemote/Loongson3A1000_processor_user_manual_P1.pdf (Chinese Version)
> > >> > > User Manual Part 2:
> > >> > > http://ftp.godson.ac.cn/lemote/3A1000_p2.pdf
> > >> > > http://ftp.godson.ac.cn/lemote/Loongson3A1000_processor_user_manual_P2.pdf (Chinese Version)
> > >> > >
> > >> > > Loongson-3A R2 (Loongson-3A2000)
> > >> > > User Manual Part 1:
> > >> > > http://ftp.godson.ac.cn/lemote/3A2000_p1.pdf
> > >> > > http://ftp.godson.ac.cn/lemote/Loongson3A2000_user1.pdf (Chinese Version)
> > >> > > User Manual Part 2:
> > >> > > http://ftp.godson.ac.cn/lemote/3A2000_p2.pdf
> > >> > > http://ftp.godson.ac.cn/lemote/Loongson3A2000_user2.pdf (Chinese Version)
> > >> > >
> > >> > > Loongson-3A R3 (Loongson-3A3000)
> > >> > > User Manual Part 1:
> > >> > > http://ftp.godson.ac.cn/lemote/3A3000_p1.pdf
> > >> > > http://ftp.godson.ac.cn/lemote/Loongson3A3000_3B3000usermanual1.pdf (Chinese Version)
> > >> > > User Manual Part 2:
> > >> > > http://ftp.godson.ac.cn/lemote/3A3000_p2.pdf
> > >> > > http://ftp.godson.ac.cn/lemote/Loongson3A3000_3B3000usermanual2.pdf (Chinese Version)
> > >> > >
> > >> > > Loongson-3A R4 (Loongson-3A4000)
> > >> > > User Manual Part 1:
> > >> > > http://ftp.godson.ac.cn/lemote/3A4000_p1.pdf
> > >> > > http://ftp.godson.ac.cn/lemote/3A4000user.pdf (Chinese Version)
> > >> > > User Manual Part 2:
> > >> > > I'm sorry that it is unavailable now.
> > >> > >
> > >> > > We are preparing to add QEMU's Loongson-3 support. MIPS VZ extension is
> > >> > > fully supported in Loongson-3A R4+, so we at first add QEMU/KVM support
> > >> > > in this series. And the next series will add QEMU/TCG support (it will
> > >> > > emulate Loongson-3A R1).
> > >> > >
> > >> > > We already have a full functional Linux kernel (based on Linux-5.4.x LTS
> > >> > > but not upstream yet) here:
> > >> > >
> > >> > > https://github.com/chenhuacai/linux
> > >> > >
> > >> > > How to use QEMU/Loongson-3?
> > >> > > 1, Download kernel source from the above URL;
> > >> > > 2, Build a kernel with arch/mips/configs/loongson3_{def,hpc}config;
> > >> > > 3, Boot a Loongson-3A4000 host with this kernel;
> > >> > > 4, Build QEMU-5.0.0 with this patchset;
> > >> > > 5, modprobe kvm;
> > >> > > 6, Use QEMU with TCG (available in future):
> > >> > >        qemu-system-mips64el -M loongson3,accel=tcg -cpu Loongson-3A1000 -kernel <path_to_kernel> -append ...
> > >> > >    Use QEMU with KVM (available at present):
> > >> > >        qemu-system-mips64el -M loongson3,accel=kvm -cpu Loongson-3A4000 -kernel <path_to_kernel> -append ...
> > >> > >
> > >> > >    The "-cpu" parameter can be omitted here and QEMU will use the correct type for TCG/KVM automatically.
> > >> > >
> > >> > > V1 -> V2:
> > >> > > 1, Add a cover letter;
> > >> > > 2, Improve CPU definitions;
> > >> > > 3, Remove LS7A-related things (Use GPEX instead);
> > >> > > 4, Add a description of how to run QEMU/Loongson-3.
> > >> > >
> > >> > > V2 -> V3:
> > >> > > 1, Fix all possible checkpatch.pl errors and warnings.
> > >> > >
> > >> > > Huacai Chen(7):
> > >> > >  configure: Add KVM target support for MIPS64
> > >> > >  hw/mips: Implement the kvm_type() hook in MachineClass
> > >> > >  hw/mips: Add CPU IRQ3 delivery for KVM
> > >> > >  target/mips: Add Loongson-3 CPU definition
> > >> > >  target/mips: Add more CP0 register for save/restor
> > >> > >  hw/mips: Add Loongson-3 machine support (with KVM)
> > >> > >  MAINTAINERS: Add myself as Loongson-3 maintainer
> > >> > >
> > >> > > Signed-off-by: Huacai Chen <chenhc@lemote.com>
> > >> > > ---
> > >> > >  MAINTAINERS                          |   5 +
> > >> > >  configure                            |   2 +-
> > >> > >  default-configs/mips64el-softmmu.mak |   1 +
> > >> > >  hw/core/Makefile.objs                |   2 +-
> > >> > >  hw/core/null-machine.c               |   4 +
> > >> > >  hw/mips/Kconfig                      |  10 +
> > >> > >  hw/mips/Makefile.objs                |   3 +-
> > >> > >  hw/mips/common.c                     |  31 ++
> > >> > >  hw/mips/mips_int.c                   |   4 +-
> > >> > >  hw/mips/mips_loongson3.c             | 901 +++++++++++++++++++++++++++++++++++
> > >> > >  include/hw/mips/mips.h               |   3 +
> > >> > >  target/mips/cpu.h                    |  28 ++
> > >> > >  target/mips/internal.h               |   2 +
> > >> > >  target/mips/kvm.c                    | 212 +++++++++
> > >> > >  target/mips/machine.c                |   6 +-
> > >> > >  target/mips/mips-defs.h              |   7 +-
> > >> > >  target/mips/translate.c              |   2 +
> > >> > >  target/mips/translate_init.inc.c     |  86 ++++
> > >> > >  18 files changed, 1300 insertions(+), 9 deletions(-)
> > >> > >  create mode 100644 hw/mips/common.c
> > >> > >  create mode 100644 hw/mips/mips_loongson3.c
> > >> > > --
> > >> > > 2.7.0
> > >>
> > >>
> > >>
> > >> --
> > >> Huacai Chen
> > Best regards,
> > Huacai


  reply	other threads:[~2020-05-08  1:35 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-03 10:20 [PATCH for-5.1 V3 0/7] mips: Add Loongson-3 machine support (with KVM) Huacai Chen
2020-05-03 10:20 ` [PATCH for-5.1 V3 1/7] configure: Add KVM target support for MIPS64 Huacai Chen
2020-05-12 12:54   ` Aleksandar Markovic
2020-06-01  9:03   ` Aleksandar Markovic
2020-05-03 10:20 ` [PATCH for-5.1 V3 2/7] hw/mips: Implement the kvm_type() hook in MachineClass Huacai Chen
2020-05-14 19:37   ` Aleksandar Markovic
2020-06-01  9:01   ` Aleksandar Markovic
2020-06-01 10:15     ` Aleksandar Markovic
2020-06-01 12:06       ` chen huacai
2020-05-03 10:20 ` [PATCH for-5.1 V3 3/7] hw/mips: Add CPU IRQ3 delivery for KVM Huacai Chen
2020-05-12 12:57   ` Aleksandar Markovic
2020-05-03 10:20 ` [PATCH for-5.1 V3 4/7] target/mips: Add Loongson-3 CPU definition Huacai Chen
2020-05-03 10:20 ` [PATCH for-5.1 V3 5/7] target/mips: Add more CP0 register for save/restore Huacai Chen
2020-05-12 13:01   ` Aleksandar Markovic
2020-06-01  9:05   ` Aleksandar Markovic
2020-05-03 10:20 ` [PATCH for-5.1 V3 6/7] hw/mips: Add Loongson-3 machine support (with KVM) Huacai Chen
2020-05-03 10:20 ` [PATCH for-5.1 V3 7/7] MAINTAINERS: Add myself as Loongson-3 maintainer Huacai Chen
2020-05-03 10:42 ` [PATCH for-5.1 V3 0/7] mips: Add Loongson-3 machine support (with KVM) 罗勇刚(Yonggang Luo)
2020-05-04  6:13   ` chen huacai
2020-05-04  6:15     ` 罗勇刚(Yonggang Luo)
2020-05-03 10:49 ` no-reply
2020-05-03 10:49 ` Aleksandar Markovic
2020-05-05  7:40   ` chen huacai
2020-05-05 10:12     ` Aleksandar Markovic
2020-05-06  1:50       ` Huacai Chen
2020-05-07 12:17         ` Aleksandar Markovic
2020-05-08  1:41           ` Huacai Chen [this message]
2020-05-08 16:55 ` Aleksandar Markovic
2020-05-09  3:07   ` chen huacai

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='CAAhV-H6JWtuek8kHFh5-3zW87av5zWwcOGwH0V4MZDF7Xuj=Bw@mail.gmail.com' \
    --to=chenhuacai@gmail.com \
    --cc=aleksandar.qemu.devel@gmail.com \
    --cc=aleksandar.rikalo@rt-rk.com \
    --cc=aurelien@aurel32.net \
    --cc=f4bug@amsat.org \
    --cc=jiaxun.yang@flygoat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=zltjiangshi@gmail.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 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.