Sanjay Lal | 03a0331 | 2012-11-21 18:34:06 -0800 | [diff] [blame] | 1 | KVM/MIPS Trap & Emulate Release Notes |
| 2 | ===================================== |
| 3 | |
| 4 | (1) KVM/MIPS should support MIPS32R2 and beyond. It has been tested on the following platforms: |
| 5 | Malta Board with FPGA based 34K |
| 6 | Sigma Designs TangoX board with a 24K based 8654 SoC. |
| 7 | Malta Board with 74K @ 1GHz |
| 8 | |
| 9 | (2) Both Guest kernel and Guest Userspace execute in UM. |
| 10 | Guest User address space: 0x00000000 -> 0x40000000 |
| 11 | Guest Kernel Unmapped: 0x40000000 -> 0x60000000 |
| 12 | Guest Kernel Mapped: 0x60000000 -> 0x80000000 |
| 13 | |
| 14 | Guest Usermode virtual memory is limited to 1GB. |
| 15 | |
| 16 | (2) 16K Page Sizes: Both Host Kernel and Guest Kernel should have the same page size, currently at least 16K. |
| 17 | Note that due to cache aliasing issues, 4K page sizes are NOT supported. |
| 18 | |
| 19 | (3) No HugeTLB Support |
| 20 | Both the host kernel and Guest kernel should have the page size set to 16K. |
| 21 | This will be implemented in a future release. |
| 22 | |
| 23 | (4) KVM/MIPS does not have support for SMP Guests |
| 24 | Linux-3.7-rc2 based SMP guest hangs due to the following code sequence in the generated TLB handlers: |
| 25 | LL/TLBP/SC. Since the TLBP instruction causes a trap the reservation gets cleared |
| 26 | when we ERET back to the guest. This causes the guest to hang in an infinite loop. |
| 27 | This will be fixed in a future release. |
| 28 | |
| 29 | (5) Use Host FPU |
| 30 | Currently KVM/MIPS emulates a 24K CPU without a FPU. |
| 31 | This will be fixed in a future release |