1. 05 1月, 2014 1 次提交
  2. 18 12月, 2013 4 次提交
  3. 10 12月, 2013 1 次提交
  4. 31 10月, 2013 1 次提交
  5. 11 9月, 2013 3 次提交
  6. 20 8月, 2013 3 次提交
  7. 23 7月, 2013 1 次提交
  8. 15 7月, 2013 1 次提交
  9. 10 7月, 2013 1 次提交
  10. 26 6月, 2013 3 次提交
  11. 19 4月, 2013 1 次提交
    • J
      target-arm: port ARM CPU save/load to use VMState · 3cc1d208
      Juan Quintela 提交于
      Port the ARM CPU save/load code to use VMState. Some state is
      saved in a slightly different order to simplify things -- for
      example arrays are saved one after the other rather than 'striped',
      and we always save all 32 VFP registers even if the CPU happens
      to only have 16.
      
      Use one subsection for each feature.  This means that we don't need to
      bump the version field each time that a new feature gets introduced.
      Signed-off-by: NJuan Quintela <quintela@redhat.com>
      [PMM: fixed conflicts, updated to use cpu_class_set_vmsd(),  updated
       with new/removed fields since original patch, changed to use custom
       VMStateInfo for cpsr rather than presave/postload hooks, corrected
       subsection names so vmload doesn't fail]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      3cc1d208
  12. 12 3月, 2013 2 次提交
  13. 05 3月, 2013 1 次提交
  14. 16 2月, 2013 1 次提交
  15. 19 12月, 2012 2 次提交
  16. 31 10月, 2012 1 次提交
  17. 05 10月, 2012 1 次提交
  18. 16 9月, 2012 1 次提交
  19. 10 8月, 2012 1 次提交
  20. 12 7月, 2012 4 次提交
  21. 20 6月, 2012 6 次提交
    • P
      target-arm: Remove ARM_CPUID_* macros · b2d06f96
      Peter Maydell 提交于
      All the uses of ARM_CPUID() to vary behaviour have now been
      removed, so we can delete the ARM_CPUID_* macros now.
      The one exception is the TI915T/925T, because of its odd behaviour
      where the MIDR value can be changed at runtime.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAndreas Färber <afaerber@suse.de>
      b2d06f96
    • P
      target-arm: Remove c0_cachetype CPUARMState field · b22af022
      Peter Maydell 提交于
      Remove the no-longer-used CPUARMState c0_cachetype field.
      Although this was a constant register we had it in our
      migration state. Drop this (with resulting version bump)
      because for ARM currently we prefer cleaner migration
      code and have not stabilised migration format yet.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      b22af022
    • P
      target-arm: Convert MPIDR · 81bdde9d
      Peter Maydell 提交于
      Convert the MPIDR to the new cp15 register scheme.
      This includes giving it its own feature bit rather
      than doing a CPUID value check.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      81bdde9d
    • P
      target-arm: Convert cp15 cache ID registers · 776d4e5c
      Peter Maydell 提交于
      Convert the cp15 cache ID registers to the new scheme.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      776d4e5c
    • P
      target-arm: Convert cp15 crn=0 crm={1,2} feature registers · 8515a092
      Peter Maydell 提交于
      Convert the cp15 crn=0 crm={1,2} features registers to
      the new cp reg framework.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      8515a092
    • P
      target-arm: convert cp15 crn=7 registers · c4804214
      Peter Maydell 提交于
      Convert the cp15 crn=7 registers to the new scheme.
      Note that to do this we have to distinguish some registers
      used on the ARM9 and ARM10 from some which are ARM1176
      only. This is because the old code returned a value of 0
      but always set the Z flag (by clearing env->ZF, since we
      store the Z flag in CPUState inverted). This is inconsistent
      with actual ARM CPU behaviour, which only sets flags for
      reads to r15 and sets them based on the top bits of the result.
      However it happened to work for the two common use cases for
      cp15 crn=7 reads:
       * On ARM9 and ARM10 the cache clean-and-test operations are
      typically done with a destination of r15 so that you can do
      a "loop: mrc ... ; bne loop" to keep cleaning until the cache
      is finally clean; always setting the Z flag means this loop
      terminates immediately
       * on ARM1176 the Cache Dirty Status Register reads as zero
      if the cache is dirty; returning 0 means this is correctly
      implemented for QEMU
      
      Since the new coprocessor register framework does the right
      thing of always setting flags based on the returned result
      for reads to r15, we need to split these up so that we can
      return (1<<30) for the ARM9/ARM10 registers but 0 for the
      ARM1176 one.
      
      This allows us to remove the nasty hack which always sets Z.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c4804214