kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/15] MIPS: Add mips_paravirt
@ 2014-05-20 14:47 Andreas Herrmann
  2014-05-20 14:47 ` [PATCH 01/15] MIPS: OCTEON: Enable use of FPU Andreas Herrmann
                   ` (14 more replies)
  0 siblings, 15 replies; 50+ messages in thread
From: Andreas Herrmann @ 2014-05-20 14:47 UTC (permalink / raw)
  To: linux-mips; +Cc: David Daney, Andreas Herrmann, Ralf Baechle, James Hogan, kvm

Hi,

Following patches add support for paravirtualized guest on mips
(mips_paravirt). Some of the patches add basic support to run it on
octeon3.

The core of mips_paravirt is David's work.
I rebased his code, rearranged it somewhat (e.g. split it into the
current patches) and added some minor modifications.

I've run it using lkvm on a host with KVM MIPS-VZ support (on
octeon3). I've tested guest kernels built for CPU_MIPS64_R2 and
CPU_MIPS32_R2.

When the guest kernel is built for CPU_CAVIUM_OCTEON it requires an
additional patch to avoid usage of octeon_send_ipi_single in
octeon_flush_icache_all_cores. Latest patch for this is not yet
included as it caused a regression and needs some rework.

To built a mips_paravirt guest kernel it's easiest to start with
mips_paravirt_defconfig, check/modify CPU selection (defconfig has
CPU_MIPS64_R2), and kick off kernel built.

Patches are against v3.15-rc5. Diffstat is

 arch/mips/Kbuild.platforms                         |    1 +
 arch/mips/Kconfig                                  |   30 +-
 arch/mips/cavium-octeon/Kconfig                    |   30 +-
 arch/mips/configs/mips_paravirt_defconfig          | 1521 ++++++++++++++++++++
 arch/mips/include/asm/cpu-features.h               |    9 +-
 arch/mips/include/asm/cpu-type.h                   |    1 +
 .../asm/mach-cavium-octeon/cpu-feature-overrides.h |    1 -
 .../asm/mach-paravirt/cpu-feature-overrides.h      |   36 +
 arch/mips/include/asm/mach-paravirt/irq.h          |   19 +
 .../include/asm/mach-paravirt/kernel-entry-init.h  |   49 +
 arch/mips/include/asm/mach-paravirt/war.h          |   25 +
 arch/mips/include/asm/mipsregs.h                   |   72 +
 arch/mips/include/asm/r4kcache.h                   |    2 +
 arch/mips/kernel/Makefile                          |    2 +-
 arch/mips/kernel/branch.c                          |    6 +-
 arch/mips/kernel/octeon_switch.S                   |   84 +-
 arch/mips/kernel/r4k_switch.S                      |    3 +
 arch/mips/math-emu/cp1emu.c                        |   12 +-
 arch/mips/mm/c-r4k.c                               |   32 +
 arch/mips/mm/tlbex.c                               |    8 +-
 arch/mips/paravirt/Kconfig                         |    6 +
 arch/mips/paravirt/Makefile                        |   14 +
 arch/mips/paravirt/Platform                        |    9 +
 arch/mips/paravirt/paravirt-irq.c                  |  388 +++++
 arch/mips/paravirt/paravirt-smp.c                  |  149 ++
 arch/mips/paravirt/serial.c                        |   38 +
 arch/mips/paravirt/setup.c                         |   67 +
 arch/mips/pci/Makefile                             |    2 +-
 arch/mips/pci/pci-virtio-guest.c                   |  140 ++
 29 files changed, 2709 insertions(+), 47 deletions(-)


Comments are welcome.


Thanks,

Andreas

^ permalink raw reply	[flat|nested] 50+ messages in thread

end of thread, other threads:[~2014-05-28 23:18 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-20 14:47 [PATCH 00/15] MIPS: Add mips_paravirt Andreas Herrmann
2014-05-20 14:47 ` [PATCH 01/15] MIPS: OCTEON: Enable use of FPU Andreas Herrmann
2014-05-20 14:47 ` [PATCH 02/15] MIPS: Move system level config items from CPU_CAVIUM_OCTEON to CAVIUM_OCTEON_SOC Andreas Herrmann
2014-05-20 14:47 ` [PATCH 03/15] MIPS: OCTEON: Move CAVIUM_OCTEON_CVMSEG_SIZE to CPU_CAVIUM_OCTEON Andreas Herrmann
2014-05-20 22:52   ` James Hogan
2014-05-20 23:23     ` David Daney
2014-05-21  6:22       ` Andreas Herrmann
2014-05-20 14:47 ` [PATCH 04/15] MIPS: Don't use RI/XI with 32-bit kernels on 64-bit CPUs Andreas Herrmann
2014-05-20 14:47 ` [PATCH 05/15] MIPS: Don't build fast TLB refill handler with 32-bit kernels Andreas Herrmann
2014-05-21  9:38   ` James Hogan
2014-05-21 13:04     ` Ralf Baechle
2014-05-21 13:17       ` Andreas Herrmann
2014-05-20 14:47 ` [PATCH 06/15] MIPS: Add minimal support for OCTEON3 to c-r4k.c Andreas Herrmann
2014-05-21 10:04   ` James Hogan
2014-05-21 16:10     ` David Daney
2014-05-21 12:40   ` Ralf Baechle
2014-05-21 21:02     ` Andreas Herrmann
2014-05-22  7:59       ` Ralf Baechle
2014-05-20 14:47 ` [PATCH 07/15] MIPS: Add mips_cpunum() function Andreas Herrmann
2014-05-21 11:10   ` James Hogan
2014-05-22 16:13     ` Andreas Herrmann
2014-05-22 16:15       ` James Hogan
2014-05-20 14:47 ` [PATCH 08/15] MIPS: OCTEON: Add OCTEON3 to __get_cpu_type Andreas Herrmann
2014-05-20 14:47 ` [PATCH 09/15] MIPS: Add functions for hypervisor call Andreas Herrmann
2014-05-21  0:16   ` James Hogan
2014-05-21  7:30     ` Andreas Herrmann
2014-05-20 14:47 ` [PATCH 10/15] MIPS: Add code for new system 'paravirt' Andreas Herrmann
2014-05-21 13:39   ` James Hogan
2014-05-21 16:31     ` David Daney
2014-05-21 16:46       ` James Hogan
2014-05-23 20:31       ` Andreas Herrmann
2014-05-22 16:54     ` Andreas Herrmann
2014-05-23 20:28     ` Andreas Herrmann
2014-05-23 21:47       ` Ralf Baechle
2014-05-20 14:47 ` [PATCH 11/15] MIPS: paravirt: Add pci controller for virtio Andreas Herrmann
2014-05-21 11:42   ` James Hogan
2014-05-22 20:17     ` Andreas Herrmann
2014-05-28 22:10       ` Andreas Herrmann
2014-05-21 13:34   ` Ralf Baechle
2014-05-20 14:47 ` [PATCH 12/15] MIPS: Enable build for new system 'paravirt' Andreas Herrmann
2014-05-20 14:47 ` [PATCH 13/15] MIPS: Add defconfig for mips_paravirt Andreas Herrmann
2014-05-20 23:14   ` James Hogan
2014-05-21  6:29     ` Andreas Herrmann
2014-05-20 14:47 ` [PATCH 14/15] MIPS: paravirt: Update mips_paravirt_defconfig Andreas Herrmann
2014-05-20 23:17   ` James Hogan
2014-05-21  6:36     ` Andreas Herrmann
2014-05-20 14:47 ` [PATCH 15/15] MIPS: paravirt: Provide _machine_halt function to exit VM on shutdown of guest Andreas Herrmann
2014-05-21 13:44   ` James Hogan
2014-05-28 22:04     ` Andreas Herrmann
2014-05-28 23:18       ` James Hogan

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).