qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH for-5.1 V3 0/7] mips: Add Loongson-3 machine support (with KV


From: Aleksandar Markovic
Subject: Re: [PATCH for-5.1 V3 0/7] mips: Add Loongson-3 machine support (with KVM)
Date: Thu, 7 May 2020 14:17:57 +0200

сре, 6. мај 2020. у 03:43 Huacai Chen <address@hidden> је написао/ла:
>
> Hi, Aleksandar,
>
> On Tue, May 5, 2020 at 6:12 PM Aleksandar Markovic
> <address@hidden> wrote:
> >
> >
> >
> > уторак, 05. мај 2020., chen huacai <address@hidden> је написао/ла:
> >>
> >> Hi, Aleksandar,
> >>
> >> On Sun, May 3, 2020 at 6:50 PM Aleksandar Markovic
> >> <address@hidden> wrote:
> >> >
> >> > нед, 3. мај 2020. у 12:21 Huacai Chen <address@hidden> је написао/ла:
> >> > >
> >> > > 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/address@hidden/,
> >> 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.

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 <address@hidden>
> >> > > ---
> >> > >  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 via email to

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