Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 375176
b: refs/heads/master
c: 03a0331
h: refs/heads/master
v: v3
  • Loading branch information
Sanjay Lal authored and Ralf Baechle committed May 8, 2013
1 parent 93499e9 commit 71907e9
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 858dd5d4573353e2593f7ec6080bf09feeabcfc8
refs/heads/master: 03a0331c8c715c73d877aba8c542a60b13f70ed0
31 changes: 31 additions & 0 deletions trunk/arch/mips/kvm/00README.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
KVM/MIPS Trap & Emulate Release Notes
=====================================

(1) KVM/MIPS should support MIPS32R2 and beyond. It has been tested on the following platforms:
Malta Board with FPGA based 34K
Sigma Designs TangoX board with a 24K based 8654 SoC.
Malta Board with 74K @ 1GHz

(2) Both Guest kernel and Guest Userspace execute in UM.
Guest User address space: 0x00000000 -> 0x40000000
Guest Kernel Unmapped: 0x40000000 -> 0x60000000
Guest Kernel Mapped: 0x60000000 -> 0x80000000

Guest Usermode virtual memory is limited to 1GB.

(2) 16K Page Sizes: Both Host Kernel and Guest Kernel should have the same page size, currently at least 16K.
Note that due to cache aliasing issues, 4K page sizes are NOT supported.

(3) No HugeTLB Support
Both the host kernel and Guest kernel should have the page size set to 16K.
This will be implemented in a future release.

(4) KVM/MIPS does not have support for SMP Guests
Linux-3.7-rc2 based SMP guest hangs due to the following code sequence in the generated TLB handlers:
LL/TLBP/SC. Since the TLBP instruction causes a trap the reservation gets cleared
when we ERET back to the guest. This causes the guest to hang in an infinite loop.
This will be fixed in a future release.

(5) Use Host FPU
Currently KVM/MIPS emulates a 24K CPU without a FPU.
This will be fixed in a future release
13 changes: 13 additions & 0 deletions trunk/arch/mips/kvm/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Makefile for KVM support for MIPS
#

common-objs = $(addprefix ../../../virt/kvm/, kvm_main.o coalesced_mmio.o)

EXTRA_CFLAGS += -Ivirt/kvm -Iarch/mips/kvm

kvm-objs := $(common-objs) kvm_mips.o kvm_mips_emul.o kvm_locore.o \
kvm_mips_int.o kvm_mips_stats.o kvm_mips_commpage.o \
kvm_mips_dyntrans.o kvm_trap_emul.o

obj-$(CONFIG_KVM) += kvm.o
obj-y += kvm_cb.o kvm_tlb.o

0 comments on commit 71907e9

Please sign in to comment.