1. 05 2月, 2018 1 次提交
  2. 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
  3. 21 12月, 2017 1 次提交
  4. 09 11月, 2017 1 次提交
  5. 27 10月, 2017 1 次提交
  6. 25 10月, 2017 4 次提交
  7. 10 10月, 2017 1 次提交
  8. 06 10月, 2017 1 次提交
    • P
      nvic: Implement Security Attribution Unit registers · 9901c576
      Peter Maydell 提交于
      Implement the register interface for the SAU: SAU_CTRL,
      SAU_TYPE, SAU_RNR, SAU_RBAR and SAU_RLAR. None of the
      actual behaviour is implemented here; registers just
      read back as written.
      
      When the CPU definition for Cortex-M33 is eventually
      added, its initfn will set cpu->sau_sregion, in the same
      way that we currently set cpu->pmsav7_dregion for the
      M3 and M4.
      
      Number of SAU regions is typically a configurable
      CPU parameter, but this patch doesn't provide a
      QEMU CPU property for it. We can easily add one when
      we have a board that requires it.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 1506092407-26985-14-git-send-email-peter.maydell@linaro.org
      9901c576
  9. 22 9月, 2017 1 次提交
  10. 21 9月, 2017 1 次提交
    • P
      nvic: Implement AIRCR changes for v8M · 3b2e9344
      Peter Maydell 提交于
      The Application Interrupt and Reset Control Register has some changes
      for v8M:
       * new bits SYSRESETREQS, BFHFNMINS and PRIS: these all have
         real state if the security extension is implemented and otherwise
         are constant
       * the PRIGROUP field is banked between security states
       * non-secure code can be blocked from using the SYSRESET bit
         to reset the system if SYSRESETREQS is set
      
      Implement the new state and the changes to register read and write.
      For the moment we ignore the effects of the secure PRIGROUP.
      We will implement the effects of PRIS and BFHFNMIS later.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Message-id: 1505240046-11454-6-git-send-email-peter.maydell@linaro.org
      3b2e9344
  11. 19 9月, 2017 1 次提交
    • I
      arm: drop intermediate cpu_model -> cpu type parsing and use cpu type directly · ba1ba5cc
      Igor Mammedov 提交于
      there are 2 use cases to deal with:
        1: fixed CPU models per board/soc
        2: boards with user configurable cpu_model and fallback to
           default cpu_model if user hasn't specified one explicitly
      
      For the 1st
        drop intermediate cpu_model parsing and use const cpu type
        directly, which replaces:
           typename = object_class_get_name(
                 cpu_class_by_name(TYPE_ARM_CPU, cpu_model))
           object_new(typename)
        with
           object_new(FOO_CPU_TYPE_NAME)
        or
           cpu_generic_init(BASE_CPU_TYPE, "my cpu model")
        with
           cpu_create(FOO_CPU_TYPE_NAME)
      
      as result 1st use case doesn't have to invoke not necessary
      translation and not needed code is removed.
      
      For the 2nd
       1: set default cpu type with MachineClass::default_cpu_type and
       2: use generic cpu_model parsing that done before machine_init()
          is run and:
          2.1: drop custom cpu_model parsing where pattern is:
             typename = object_class_get_name(
                 cpu_class_by_name(TYPE_ARM_CPU, cpu_model))
             [parse_features(typename, cpu_model, &err) ]
      
          2.2: or replace cpu_generic_init() which does what
               2.1 does + create_cpu(typename) with just
               create_cpu(machine->cpu_type)
      as result cpu_name -> cpu_type translation is done using
      generic machine code one including parsing optional features
      if supported/present (removes a bunch of duplicated cpu_model
      parsing code) and default cpu type is defined in an uniform way
      within machine_class_init callbacks instead of adhoc places
      in boadr's machine_init code.
      Signed-off-by: NIgor Mammedov <imammedo@redhat.com>
      Reviewed-by: NEduardo Habkost <ehabkost@redhat.com>
      Message-Id: <1505318697-77161-6-git-send-email-imammedo@redhat.com>
      Reviewed-by: NAlistair Francis <alistair.francis@xilinx.com>
      Reviewed-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      ba1ba5cc
  12. 15 9月, 2017 1 次提交
  13. 07 9月, 2017 9 次提交
  14. 04 9月, 2017 2 次提交
  15. 31 7月, 2017 1 次提交
  16. 17 7月, 2017 1 次提交
    • P
      target/arm: Make Cortex-M3 and M4 default to 8 PMSA regions · 8d92e26b
      Peter Maydell 提交于
      The Cortex-M3 and M4 CPUs always have 8 PMSA MPU regions (this isn't
      a configurable option for the hardware).  Make the default value of
      the pmsav7-dregion property be set per-cpu, so we don't need to have
      every user of these CPUs set it manually.  (The existing default of
      16 is correct for the other PMSAv7 core, the Cortex-R5.)
      
      This fixes a bug where we were creating the M3 and M4 with
      too many regions; most guest software would not notice or
      care, though, since it would just not use the registers
      associated with the unexpected extra regions.
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NMarc-André Lureau <marcandre.lureau@redhat.com>
      Message-id: 1499788408-10096-4-git-send-email-peter.maydell@linaro.org
      8d92e26b
  17. 06 6月, 2017 1 次提交
  18. 04 6月, 2017 1 次提交
  19. 02 6月, 2017 4 次提交
  20. 12 5月, 2017 2 次提交
  21. 21 4月, 2017 1 次提交
  22. 28 2月, 2017 1 次提交
    • P
      armv7m: Fix condition check for taking exceptions · 7ecdaa4a
      Peter Maydell 提交于
      The M profile condition for when we can take a pending exception or
      interrupt is not the same as that for A/R profile.  The code
      originally copied from the A/R profile version of the
      cpu_exec_interrupt function only worked by chance for the
      very simple case of exceptions being masked by PRIMASK.
      Replace it with a call to a function in the NVIC code that
      correctly compares the priority of the pending exception
      against the current execution priority of the CPU.
      
      [Michael Davidsaver's patchset had a patch to do something
      similar but the implementation ended up being a rewrite.]
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: NAlex Bennée <alex.bennee@linaro.org>
      7ecdaa4a
  23. 24 2月, 2017 1 次提交
  24. 11 2月, 2017 1 次提交