[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 00/12] KVM Support for MIPS32 Processors
From: |
Zhang, Yang Z |
Subject: |
Re: [Qemu-devel] [PATCH 00/12] KVM Support for MIPS32 Processors |
Date: |
Mon, 4 Mar 2013 01:21:40 +0000 |
Sanjay Lal wrote on 2013-03-02:
> The following patchset implements KVM support for MIPS32 processors,
> using Trap & Emulate, with basic runtime binary translation to improve
> performance.
>
> In KVM mode, CPU virtualization is handled via the kvm kernel module,
> while system and I/O virtualization leverage the Malta model already present
> in QEMU.
One question(maybe stupid):
I don't see any changes to mips32 kernel. But you said cpu virtualization is
handled via kvm kernel module. How it handle it?
> Both Guest kernel and Guest Userspace execute in UM. The Guest address
> space is
> as folows:
> Guest User address space: 0x00000000 -> 0x40000000
> Guest Kernel Unmapped: 0x40000000 -> 0x60000000
> Guest Kernel Mapped: 0x60000000 -> 0x80000000
>
> As a result, Guest Usermode virtual memory is limited to 1GB.
>
> The Malta model has been enhanced to support SMP guest kernels via support
> for the CPS bootcode from MIPS which supports bootstrapping multiple cpus.
> A model for the MIPS GIC has also been added to support IPIs.
> This allows booting Linux in full SMP mode with a cluster of MIPS32R2 cpus.
>
> There is a companion kernel patchset for KVM that has been posted on
> the KVM/MIPS mailing lists.
>
> --
> Sanjay Lal (12):
> KVM/MIPS: Bootcode for MIPS SMP configurations with a GCMP
> KVM/MIPS: GIC emulation for SMP guests.
> KVM/MIPS: Add save/restore state APIs for saving/restoring KVM
> guests. KVM/MIPS: Do not start the periodic timer in KVM mode.
> Compare/Count timer interrupts are handled in-kernel. KVM/MIPS: In
> KVM mode, inject IRQ2 (I/O) interupts via ioctls(). COP0 emulation
> is in-kernel KVM/MIPS: Define APIs to convert Guest KSEG0 <-> Guest
> Physical addresses.
> KVM/MIPS: QEMU <-> Kernel interface for KVM/MIPS
> KVM/MIPS: Enable KVM/MIPS for MIPS targets. Add MIPS GIC code to the
> build.
> KVM/MIPS: set sigmask length to 16 for MIPS targets.
> KVM/MIPS: Set page size to 16K in KVM mode.
> KVM/MIPS: MIPS specfic APIs for KVM.
> KVM/MIPS: General KVM support and support for SMP Guests
> configure | 17 +- hw/gt64xxx.c
> | 317 +++++++++++++++++++++++++++++ hw/mips/Makefile.objs
> | 2 +- hw/mips_addr.c | 14 ++
> hw/mips_cps_bootcode.h | 310 ++++++++++++++++++++++++++++
> hw/mips_cpudevs.h | 4 + hw/mips_gcmpregs.h
> | 122 +++++++++++ hw/mips_gic.c | 418
> ++++++++++++++++++++++++++++++++++++++ hw/mips_gic.h
> | 378 ++++++++++++++++++++++++++++++++++ hw/mips_int.c
> | 15 ++ hw/mips_malta.c | 192 +++++++++++------
> hw/mips_timer.c | 13 +- kvm-all.c
> | 5 + linux-headers/asm-mips/kvm.h | 94 +++++++++
> linux-headers/asm-mips/kvm_para.h | 10 + target-mips/Makefile.objs
> | 1 + target-mips/kvm.c | 292
> ++++++++++++++++++++++++++ target-mips/kvm_mips.h | 21 ++
> target-mips/mips-defs.h | 5 + 19 files changed, 2157
> insertions(+), 73 deletions(-) create mode 100644
> hw/mips_cps_bootcode.h create mode 100644 hw/mips_gcmpregs.h create
> mode 100644 hw/mips_gic.c create mode 100644 hw/mips_gic.h create mode
> 100644 linux-headers/asm-mips/kvm.h create mode 100644
> linux-headers/asm-mips/kvm_para.h create mode 100644 target-mips/kvm.c
> create mode 100644 target-mips/kvm_mips.h
> --
> 1.7.11.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to address@hidden
> More majordomo info at http://vger.kernel.org/majordomo-info.html
Best regards,
Yang
- Re: [Qemu-devel] [PATCH 08/12] KVM/MIPS: Enable KVM/MIPS for MIPS targets. Add MIPS GIC code to the build., (continued)
- [Qemu-devel] [PATCH 01/12] KVM/MIPS: Bootcode for MIPS SMP configurations with a GCMP, Sanjay Lal, 2013/03/02
- [Qemu-devel] [PATCH 01/12] MIPS: Bootcode for MIPS SMP configurations with a GCMP, Sanjay Lal, 2013/03/02
- [Qemu-devel] [PATCH 05/12] KVM/MIPS: In KVM mode, inject IRQ2 (I/O) interupts via ioctls(). COP0 emulation is in-kernel, Sanjay Lal, 2013/03/02
- [Qemu-devel] [PATCH 04/12] KVM/MIPS: Do not start the periodic timer in KVM mode. Compare/Count timer interrupts are handled in-kernel., Sanjay Lal, 2013/03/02
- [Qemu-devel] [PATCH 06/12] KVM/MIPS: Define APIs to convert Guest KSEG0 <-> Guest Physical addresses., Sanjay Lal, 2013/03/02
- [Qemu-devel] [PATCH 10/12] KVM/MIPS: Set page size to 16K in KVM mode., Sanjay Lal, 2013/03/02
- Re: [Qemu-devel] [PATCH 00/12] KVM Support for MIPS32 Processors,
Zhang, Yang Z <=
- Re: [Qemu-devel] [PATCH 00/12] KVM Support for MIPS32 Processors, Andreas Färber, 2013/03/04