Skip to content
Snippets Groups Projects
  1. Nov 16, 2023
  2. Nov 14, 2023
  3. Nov 13, 2023
  4. Nov 07, 2023
  5. Nov 06, 2023
    • Peter Maydell's avatar
      hw/arm/vexpress-a9: Remove useless mapping of RAM at address 0 · 13edcf59
      Peter Maydell authored
      On the vexpress-a9 board we try to map both RAM and flash to address 0,
      as seen in "info mtree":
      
      address-space: memory
        0000000000000000-ffffffffffffffff (prio 0, i/o): system
          0000000000000000-0000000003ffffff (prio 0, romd): alias vexpress.flashalias @vexpress.flash0 0000000000000000-0000000003ffffff
          0000000000000000-0000000003ffffff (prio 0, ram): alias vexpress.lowmem @vexpress.highmem 0000000000000000-0000000003ffffff
          0000000010000000-0000000010000fff (prio 0, i/o): arm-sysctl
          0000000010004000-0000000010004fff (prio 0, i/o): pl041
      (etc)
      
      The flash "wins" and the RAM mapping is useless (but also harmless).
      
      This happened as a result of commit 6ec1588e in 2014, which changed
      "we always map the RAM to the low addresses for vexpress-a9" to "we
      always map flash in the low addresses", but forgot to stop mapping
      the RAM.
      
      In real hardware, this low part of memory is remappable, both at
      runtime by the guest writing to a control register, and configurably
      as to what you get out of reset -- you can have the first flash
      device, or the second, or the DDR2 RAM, or the external AXI bus
      (which for QEMU means "nothing there").  In an ideal world we would
      support that remapping both at runtime and via a machine property to
      select the out-of-reset behaviour.
      
      Pending anybody caring enough to implement the full remapping
      behaviour:
       * remove the useless mapped-but-inaccessible lowram MR
       * document that QEMU doesn't support remapping of low memory
      
      Fixes: 6ec1588e ("hw/arm/vexpress: Alias NOR flash at 0 for vexpress-a9")
      Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1761
      
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20231103185602.875849-1-peter.maydell@linaro.org
      13edcf59
  6. Nov 03, 2023
    • Yi Liu's avatar
      hw/pci: modify pci_setup_iommu() to set PCIIOMMUOps · ba7d12eb
      Yi Liu authored
      
      This patch modifies pci_setup_iommu() to set PCIIOMMUOps
      instead of setting PCIIOMMUFunc. PCIIOMMUFunc is used to
      get an address space for a PCI device in vendor specific
      way. The PCIIOMMUOps still offers this functionality. But
      using PCIIOMMUOps leaves space to add more iommu related
      vendor specific operations.
      
      Cc: Kevin Tian <kevin.tian@intel.com>
      Cc: Jacob Pan <jacob.jun.pan@linux.intel.com>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: Eric Auger <eric.auger@redhat.com>
      Cc: Yi Sun <yi.y.sun@linux.intel.com>
      Cc: David Gibson <david@gibson.dropbear.id.au>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: Eric Auger <eric.auger@redhat.com>
      Cc: Peter Maydell <peter.maydell@linaro.org>
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Peter Xu <peterx@redhat.com>
      Cc: Jason Wang <jasowang@redhat.com>
      Cc: Andrey Smirnov <andrew.smirnov@gmail.com>
      Cc: Helge Deller <deller@gmx.de>
      Cc: Hervé Poussineau <hpoussin@reactos.org>
      Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
      Cc: BALATON Zoltan <balaton@eik.bme.hu>
      Cc: Elena Ufimtseva <elena.ufimtseva@oracle.com>
      Cc: Jagannathan Raman <jag.raman@oracle.com>
      Cc: Matthew Rosato <mjrosato@linux.ibm.com>
      Cc: Eric Farman <farman@linux.ibm.com>
      Cc: Halil Pasic <pasic@linux.ibm.com>
      Cc: Christian Borntraeger <borntraeger@linux.ibm.com>
      Cc: Thomas Huth <thuth@redhat.com>
      Cc: Helge Deller <deller@gmx.de>
      Reviewed-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
      Signed-off-by: default avatarYi Liu <yi.l.liu@intel.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Reviewed-by: default avatarEric Auger <eric.auger@redhat.com>
      Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      [ clg: - refreshed on latest QEMU
             - included hw/remote/iommu.c
             - documentation update
             - asserts in pci_setup_iommu()
             - removed checks on iommu_bus->iommu_ops->get_address_space
             - included Elroy PCI host (PA-RISC) ]
      Signed-off-by: default avatarCédric Le Goater <clg@redhat.com>
      ba7d12eb
    • Hyman Huang's avatar
      docs/migration: Add the dirty limit section · ceddc482
      Hyman Huang authored
      
      The dirty limit feature has been introduced since the 8.1
      QEMU release but has not reflected in the document, add a
      section for that.
      
      Signed-off-by: default avatarHyman Huang <yong.huang@smartx.com>
      Reviewed-by: default avatarFabiano Rosas <farosas@suse.de>
      Reviewed-by: default avatarJuan Quintela <quintela@redhat.com>
      Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
      Message-ID: <0f2b2c63fec22ea23e4926cdeb567b7a0ebd8152.1698847223.git.yong.huang@smartx.com>
      ceddc482
  7. Nov 02, 2023
  8. Nov 01, 2023
  9. Oct 31, 2023
  10. Oct 30, 2023
  11. Oct 27, 2023
    • Peter Maydell's avatar
      target/arm: Implement Neoverse N2 CPU model · dfff1000
      Peter Maydell authored
      
      Implement a model of the Neoverse N2 CPU. This is an Armv9.0-A
      processor very similar to the Cortex-A710. The differences are:
       * no FEAT_EVT
       * FEAT_DGH (data gathering hint)
       * FEAT_NV (not yet implemented in QEMU)
       * Statistical Profiling Extension (not implemented in QEMU)
       * 48 bit physical address range, not 40
       * CTR_EL0.DIC = 1 (no explicit icache cleaning needed)
       * PMCR_EL0.N = 6 (always 6 PMU counters, not 20)
      
      Because it has 48-bit physical address support, we can use
      this CPU in the sbsa-ref board as well as the virt board.
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Tested-by: default avatarMarcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20230915185453.1871167-3-peter.maydell@linaro.org
      dfff1000
    • Thomas Huth's avatar
      docs/about: Mark the old pc-i440fx-2.0 - 2.3 machine types as deprecated · c7437f0d
      Thomas Huth authored
      
      As we've seen in the past, it's useful for deprecating old machine
      types to finally be able to get of legacy code or do other clean-ups
      (see e.g. commit ea985d23 that was used to drop the PCI code in
      the 128k bios binaries to free some precious space in those binaries).
      
      So let's continue deprecating the oldest pc machine types. QEMU 2.3
      has been released 8 years ago, so that's plenty of time since such
      machine types have been used by default, thus deprecating pc-i440fx-2.0
      up to pc-i440fx-2.3 should be fine nowadays.
      
      Message-ID: <20231006075247.403364-1-thuth@redhat.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Signed-off-by: default avatarThomas Huth <thuth@redhat.com>
      c7437f0d
  12. Oct 22, 2023
  13. Oct 20, 2023
  14. Oct 19, 2023
    • Peter Maydell's avatar
      target/arm: Implement FEAT_HPMN0 · 3d80bbf1
      Peter Maydell authored
      
      FEAT_HPMN0 is a small feature which defines that it is valid for
      MDCR_EL2.HPMN to be set to 0, meaning "no PMU event counters provided
      to an EL1 guest" (previously this setting was reserved). QEMU's
      implementation almost gets HPMN == 0 right, but we need to fix
      one check in pmevcntr_is_64_bit(). That is enough for us to
      advertise the feature in the 'max' CPU.
      
      (We don't need to make the behaviour conditional on feature
      presence, because the FEAT_HPMN0 behaviour is within the range
      of permitted UNPREDICTABLE behaviour for a non-FEAT_HPMN0
      implementation.)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-id: 20230921185445.3339214-1-peter.maydell@linaro.org
      3d80bbf1
Loading