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