1. 10 6月, 2019 1 次提交
  2. 07 6月, 2019 2 次提交
  3. 11 5月, 2019 2 次提交
  4. 04 3月, 2019 1 次提交
  5. 30 1月, 2019 1 次提交
  6. 12 10月, 2018 1 次提交
  7. 04 10月, 2018 2 次提交
  8. 31 5月, 2018 1 次提交
  9. 01 3月, 2018 1 次提交
    • D
      s390x/tcg: fix loading 31bit PSWs with the highest bit set · be8b49de
      David Hildenbrand 提交于
      Let's also put the 31-bit hack in front of the REAL MMU, otherwise right
      now we get errors when loading a PSW where the highest bit is set (e.g.
      via s390-netboot.img). The highest bit is not masked away, therefore we
      inject addressing exceptions into the guest.
      
      The proper fix will later be to do all address wrapping before accessing
      the MMU - so we won't get any "wrong" entries in there (which makes
      flushing also easier). But that will require more work (wrapping in
      load_psw, wrapping when incrementing the PC, wrapping every memory
      access).
      
      This fixes the tests/pxe-test test.
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20180301120826.6847-1-david@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      be8b49de
  10. 09 2月, 2018 5 次提交
  11. 25 1月, 2018 1 次提交
    • L
      accel/tcg: add size paremeter in tlb_fill() · 98670d47
      Laurent Vivier 提交于
      The MC68040 MMU provides the size of the access that
      triggers the page fault.
      
      This size is set in the Special Status Word which
      is written in the stack frame of the access fault
      exception.
      
      So we need the size in m68k_cpu_unassigned_access() and
      m68k_cpu_handle_mmu_fault().
      
      To be able to do that, this patch modifies the prototype of
      handle_mmu_fault handler, tlb_fill() and probe_write().
      do_unassigned_access() already includes a size parameter.
      
      This patch also updates handle_mmu_fault handlers and
      tlb_fill() of all targets (only parameter, no code change).
      Signed-off-by: NLaurent Vivier <laurent@vivier.eu>
      Reviewed-by: NDavid Hildenbrand <david@redhat.com>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20180118193846.24953-2-laurent@vivier.eu>
      98670d47
  12. 15 12月, 2017 2 次提交
  13. 20 10月, 2017 9 次提交
  14. 06 10月, 2017 2 次提交
  15. 20 9月, 2017 2 次提交
    • D
      target/s390x: use "core-id" for cpu number/address/id handling · ca5c1457
      David Hildenbrand 提交于
      Some time ago we discussed that using "id" as property name is not the
      right thing to do, as it is a reserved property for other devices and
      will not work with device_add.
      
      Switch to the term "core-id" instead, and use it as an equivalent to
      "CPU address" mentioned in the PoP. There is no such thing as cpu number,
      so rename env.cpu_num to env.core_id. We use "core-id" as this is the
      common term to use for device_add later on (x86 and ppc).
      
      We can get rid of cpu->id now. Keep cpu_index and env->core_id in sync.
      cpu_index was already implicitly used by e.g. cpu_exists(), so keeping
      both in sync seems to be the right thing to do.
      
      cpu_index will now no longer automatically get set via
      cpu_exec_realizefn(). For now, we were lucky that both implicitly stayed
      in sync.
      
      Our new cpu property "core-id" can be a static property. Range checks can
      be avoided by using the correct type and the "setting after realized"
      check is done implicitly.
      
      device_add will later need the reserved "id" property. Hotplugging a CPU
      on s390x will then be: "device_add host-s390-cpu,id=cpu2,core-id=2".
      Reviewed-by: NMatthew Rosato <mjrosato@linux.vnet.ibm.com>
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20170913132417.24384-14-david@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      ca5c1457
    • D
      target/s390x: use trigger_pgm_exception() in s390_cpu_handle_mmu_fault() · 525f4b65
      David Hildenbrand 提交于
      This looks cleaner. linux-user will not use the ilen field, so setting
      it doesn't do any harm.
      Reviewed-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20170913132417.24384-10-david@redhat.com>
      Signed-off-by: NCornelia Huck <cohuck@redhat.com>
      525f4b65
  16. 31 8月, 2017 2 次提交
  17. 25 7月, 2017 3 次提交
  18. 14 6月, 2017 1 次提交
    • D
      target/s390x: rework PGM interrupt psw.addr handling · becf8217
      David Hildenbrand 提交于
      We can tell from the program interrupt code, whether a program interrupt
      has to forward the address in the PGM new PSW
      (suppressing/terminated/completed) to point at the next instruction, or
      if it is nullifying and the PSW address does not have to be incremented.
      
      So let's not modify the PSW address outside of the injection path and
      handle this internally. We just have to handle instruction length
      auto detection if no valid instruction length can be provided.
      
      This should fix various program interrupt injection paths, where the
      PSW was not properly forwarded.
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20170609142156.18767-3-david@redhat.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      becf8217
  19. 07 6月, 2017 1 次提交
    • D
      target/s390x: addressing exceptions are suppressing · 49921d68
      David Hildenbrand 提交于
      We have to make the address in the old PSW point at the next
      instruction, as addressing exceptions are suppressing and not
      nullifying.
      
      I assume that there are a lot of other broken cases (as most instructions
      we care about are suppressing) - all trigger_pgm_exception() specifying
      and explicit number or ILEN_LATER look suspicious, however this is another
      story that might require bigger changes (and I have to understand when
      the address might already have been incremented first).
      
      This is needed to make an upcoming kvm-unit-test work.
      Reviewed-by: NThomas Huth <thuth@redhat.com>
      Signed-off-by: NDavid Hildenbrand <david@redhat.com>
      Message-Id: <20170529121228.2789-1-david@redhat.com>
      Signed-off-by: NRichard Henderson <rth@twiddle.net>
      49921d68