target-mips: Add TLB Refill exception interpreter

Exception interpreter supersedes the TLB optimisation which was
initially written to optimize the kernel refill handler
and it was pretty hard to maintain it because the table walker
depends on the exact layout of the refill handler code.
The idea behind this approach is not to make any assumptions
about the refill handler and let the interpreter execute it
as it is.

Change-Id: I7acaa77215aae721937c3c5f10ee77da7f6d4cca
Signed-off-by: Miodrag Dinic <miodrag.dinic@imgtec.com>
3 files changed
tree: af0b313bafa0ab9d1093807a07a449fadc369cfa
  1. audio/
  2. backends/
  3. block/
  4. bsd-user/
  5. default-configs/
  6. disas/
  7. docs/
  8. fpu/
  9. fsdev/
  10. gdb-xml/
  11. hw/
  12. include/
  13. libcacard/
  14. libdecnumber/
  15. linux-headers/
  16. linux-user/
  17. net/
  18. pc-bios/
  19. po/
  20. qapi/
  21. qga/
  22. qobject/
  23. qom/
  24. roms/
  25. scripts/
  26. slirp/
  27. stubs/
  28. sysconfigs/
  29. target-alpha/
  30. target-arm/
  31. target-cris/
  32. target-i386/
  33. target-lm32/
  34. target-m68k/
  35. target-microblaze/
  36. target-mips/
  37. target-moxie/
  38. target-openrisc/
  39. target-ppc/
  40. target-s390x/
  41. target-sh4/
  42. target-sparc/
  43. target-tricore/
  44. target-unicore32/
  45. target-xtensa/
  46. tcg/
  47. tests/
  48. trace/
  49. ui/
  50. util/
  51. .exrc
  52. .gitignore
  53. .gitmodules
  54. .mailmap
  55. .travis.yml
  56. accel.c
  57. aio-posix.c
  58. aio-win32.c
  59. android-commands.h
  60. android-console.c
  61. android-console.h
  62. arch_init.c
  63. async.c
  64. balloon.c
  65. block-migration.c
  66. block.c
  67. blockdev-nbd.c
  68. blockdev.c
  69. blockjob.c
  70. bootdevice.c
  71. bt-host.c
  72. bt-vhci.c
  73. Changelog
  74. CODING_STYLE
  75. configure
  76. COPYING
  77. COPYING.LIB
  78. coroutine-gthread.c
  79. coroutine-sigaltstack.c
  80. coroutine-ucontext.c
  81. coroutine-win32.c
  82. cpu-exec.c
  83. cpus.c
  84. cputlb.c
  85. device-hotplug.c
  86. device_tree.c
  87. disas.c
  88. dma-helpers.c
  89. dump.c
  90. exec.c
  91. gdbstub.c
  92. HACKING
  93. hmp-commands.hx
  94. hmp.c
  95. hmp.h
  96. iohandler.c
  97. ioport.c
  98. iothread.c
  99. kvm-all.c
  100. kvm-stub.c
  101. LICENSE
  102. main-loop.c
  103. MAINTAINERS
  104. Makefile
  105. Makefile.objs
  106. Makefile.target
  107. memory.c
  108. memory_mapping.c
  109. migration-exec.c
  110. migration-fd.c
  111. migration-rdma.c
  112. migration-tcp.c
  113. migration-unix.c
  114. migration.c
  115. module-common.c
  116. monitor.c
  117. nbd.c
  118. numa.c
  119. os-posix.c
  120. os-win32.c
  121. page_cache.c
  122. qapi-schema.json
  123. qdev-monitor.c
  124. qdict-test-data.txt
  125. qemu-bridge-helper.c
  126. qemu-char.c
  127. qemu-coroutine-io.c
  128. qemu-coroutine-lock.c
  129. qemu-coroutine-sleep.c
  130. qemu-coroutine.c
  131. qemu-doc.texi
  132. qemu-file-stdio.c
  133. qemu-file-unix.c
  134. qemu-file.c
  135. qemu-img-cmds.hx
  136. qemu-img.c
  137. qemu-img.texi
  138. qemu-io-cmds.c
  139. qemu-io.c
  140. qemu-log.c
  141. qemu-nbd.c
  142. qemu-nbd.texi
  143. qemu-options-wrapper.h
  144. qemu-options.h
  145. qemu-options.hx
  146. qemu-seccomp.c
  147. qemu-tech.texi
  148. qemu-timer.c
  149. qemu.nsi
  150. qemu.sasl
  151. qmp-commands.hx
  152. qmp.c
  153. qtest.c
  154. README
  155. rules.mak
  156. savevm.c
  157. softmmu_template.h
  158. spice-qemu-char.c
  159. tcg-runtime.c
  160. tci.c
  161. thread-pool.c
  162. thunk.c
  163. tpm.c
  164. trace-events
  165. translate-all.c
  166. translate-all.h
  167. user-exec.c
  168. VERSION
  169. version.rc
  170. vl.c
  171. vmstate.c
  172. xbzrle.c
  173. xen-common-stub.c
  174. xen-common.c
  175. xen-hvm-stub.c
  176. xen-hvm.c
  177. xen-mapcache.c