qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 6a1f53: sparc32_dma: rename SPARC32_DMA type


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 6a1f53: sparc32_dma: rename SPARC32_DMA type to SPARC32_DM...
Date: Tue, 31 Oct 2017 11:49:02 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 6a1f53f0fe51011d1222b15aa10328fce8546c76
      
https://github.com/qemu/qemu/commit/6a1f53f0fe51011d1222b15aa10328fce8546c76
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/sparc/sun4m.c

  Log Message:
  -----------
  sparc32_dma: rename SPARC32_DMA type to SPARC32_DMA_DEVICE

Also update the function names to match as appropriate. While we're
here rename the type from sparc32_dma to sparc32-dma in order to
match the current QOM convention.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 52d39e5b67f0d75544837cac9c7be21873ed649f
      
https://github.com/qemu/qemu/commit/52d39e5b67f0d75544837cac9c7be21873ed649f
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/sparc/sun4m.c

  Log Message:
  -----------
  sparc32_dma: split esp and le into separate DMA devices

Due to slight differences in behaviour accessing the registers for the
esp and le devices, create two separate SPARC32_DMA_DEVICE types and
update the sun4m machine to use.

Note that by using different device types we already know the size of
the register block and the value of is_ledma at init time, allowing us to
drop the SPARC32_DMA_DEVICE realize function and the is_ledma device
property.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Acked-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 9db2cf3f29a843829b9dff870948ddfb26eb1288
      
https://github.com/qemu/qemu/commit/9db2cf3f29a843829b9dff870948ddfb26eb1288
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  sparc32_dma: move type declarations from sparc32_dma.c to sparc32_dma.h

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Acked-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 9540619d82da44d5c0a1e8895598461b8d5e3dca
      
https://github.com/qemu/qemu/commit/9540619d82da44d5c0a1e8895598461b8d5e3dca
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/sparc/sun4m.c

  Log Message:
  -----------
  sun4m: move DMA device wiring from sparc32_dma_init() to sun4m_hw_init()

By using the sysbus interface it is possible to wire up the esp/le devices
to the sun4m DMA controller directly during sun4m_hw_init() instead of
passing qemu_irqs into the sparc32_dma_init() function.

This is an intermediate step to allow further reorganisation as more logic
is moved into the relevant SPARC32 DMA devices; there will be a final
refactoring of sparc32_dma_init() once this work is complete.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 9227f296a9be63f946bf8e552f24527a63a75b6d
      
https://github.com/qemu/qemu/commit/9227f296a9be63f946bf8e552f24527a63a75b6d
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sun4m_iommu.c
    M include/hw/sparc/sun4m.h

  Log Message:
  -----------
  sun4m_iommu: move TYPE_SUN4M_IOMMU declaration to sun4m.h

This is in preparation to allow the type to be used elsewhere.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: f542ad03888ff0fad87db269186b79fe2ce1823b
      
https://github.com/qemu/qemu/commit/f542ad03888ff0fad87db269186b79fe2ce1823b
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/sparc/sun4m.c

  Log Message:
  -----------
  sparc32_dma: use object link instead of qdev property to pass IOMMU reference

This enables us to remove the last remaining (opaque) qdev property. Whilst we
are here, also update iommu_init() to use TYPE_SUN4M_IOMMU instead of a
hardcoded string.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 1b13a60c1c15d7d69164f6d89465915838ddc07b
      
https://github.com/qemu/qemu/commit/1b13a60c1c15d7d69164f6d89465915838ddc07b
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/scsi/esp.c
    M include/hw/scsi/esp.h

  Log Message:
  -----------
  esp: move TYPE_ESP and SysBusESPState from esp.c to esp.h

This enables them to be used outside of esp.c.

Signed-off-by: Mark Cave-Ayland <address@hidden>
CC: Paolo Bonzini <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 7f773ff5d0d2172a7fb4a16a283c1fc5965f6fac
      
https://github.com/qemu/qemu/commit/7f773ff5d0d2172a7fb4a16a283c1fc5965f6fac
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/sparc/sun4m.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  sparc32_dma: make esp device child of espdma device

This makes it possible to reference the esp device from the espdma device as
required, and by wiring up the device ourselves in sun4m.c we can drop use
of the esp_init() function.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Acked-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 76d28ca7653b69df5e9a4e11b2d15cbe885e5698
      
https://github.com/qemu/qemu/commit/76d28ca7653b69df5e9a4e11b2d15cbe885e5698
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/net/lance.c
    A include/hw/net/lance.h

  Log Message:
  -----------
  lance: move TYPE_LANCE and SysBusPCNetState from lance.c to lance.h

This enables them to be used outside of lance.c. We also update the comment to
refer to the SPARC32 lance device rather than the AMD PCNet-II device (of which
lance is a register-compatible subset).

Signed-off-by: Mark Cave-Ayland <address@hidden>
CC: Jason Wang <address@hidden>
Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: e6ca02a46ae0fafe59544b789e9172efa1a929c1
      
https://github.com/qemu/qemu/commit/e6ca02a46ae0fafe59544b789e9172efa1a929c1
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/sparc/sun4m.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  sparc32_dma: make lance device child of ledma device

This makes it possible to reference the lance device from the ledma device as
required.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Acked-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 6aa62ed6b8cef3623083b1a90cecfb854f7c4a79
      
https://github.com/qemu/qemu/commit/6aa62ed6b8cef3623083b1a90cecfb854f7c4a79
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/sparc/sun4m.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  sparc32_dma: introduce new SPARC32_DMA type container object

Create a new SPARC32_DMA container object (including an appropriate container
memory region) and add instances of the SPARC32_ESPDMA_DEVICE and
SPARC32_LEDMA_DEVICE as child objects. The benefit is that most of the gpio
wiring complexity between esp/espdma and lance/ledma is now hidden within the
SPARC32_DMA realize function.

Since the sun4m IOMMU is already QOMified we can find a reference to
it using object_resolve_path_type() allowing us to completely remove all 
external
references to the iommu pointer.

Finally we rework sun4m's sparc32_dma_init() to invoke the new SPARC32_DMA 
object
and wire up the remaining board memory regions/IRQs.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Acked-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 4ca3d368d2a66e6e0739fd1cb4552e68d060d337
      
https://github.com/qemu/qemu/commit/4ca3d368d2a66e6e0739fd1cb4552e68d060d337
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M include/hw/sparc/sparc32_dma.h

  Log Message:
  -----------
  sparc32_dma: remove is_ledma hack and replace with memory region alias

This hack originated from before the memory region API was introduced, and
increased the size of the ledma DMA device to capture incorrect accesses
beyond the end of the ledma device. A full analysis can be found on Artyom's
blog at 
http://tyom.blogspot.co.uk/2010/10/bug-in-all-solaris-versions-after-57.html.

With the memory API we can now simply alias the incorrect access onto its
intended destination allowing us to remove the hack.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 331b7fc1569d65eb9e083e6d3e3c9352fcccd4f9
      
https://github.com/qemu/qemu/commit/331b7fc1569d65eb9e083e6d3e3c9352fcccd4f9
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/dma/trace-events

  Log Message:
  -----------
  sparc32_dma: add len to esp/le DMA memory tracing

This is surprisingly useful when trying to debug DMA issues.

Signed-off-by: Mark Cave-Ayland <address@hidden>
Reviewed-by: Artyom Tarasenko <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Tested-by: Philippe Mathieu-Daudé <address@hidden>


  Commit: 8413846631113f42f0cd18165f465a6193af7f30
      
https://github.com/qemu/qemu/commit/8413846631113f42f0cd18165f465a6193af7f30
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sun4m_iommu.c
    M include/hw/sparc/sun4m.h

  Log Message:
  -----------
  sun4m: implement IOMMU translation using IOMMU memory region

Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: c413e9a426e263816dd2c11c62589e0532bcf7e9
      
https://github.com/qemu/qemu/commit/c413e9a426e263816dd2c11c62589e0532bcf7e9
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c

  Log Message:
  -----------
  sparc32_dma: switch over to using IOMMU memory region and DMA API

Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 3cc71c7992704c595b9945fe98fdc4d2d08ce48c
      
https://github.com/qemu/qemu/commit/3cc71c7992704c595b9945fe98fdc4d2d08ce48c
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sun4m_iommu.c
    M include/hw/sparc/sun4m.h

  Log Message:
  -----------
  sun4m_iommu: remove legacy sparc_iommu_memory_rw() function

With the switch to the IOMMU memory region and DMA API, this is no longer
required.

Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: badd3d62c619d24a5af62198374f42b7c510ee41
      
https://github.com/qemu/qemu/commit/badd3d62c619d24a5af62198374f42b7c510ee41
  Author: Mark Cave-Ayland <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M include/hw/sparc/sun4m.h

  Log Message:
  -----------
  sun4m: change TYPE_SUN4M_IOMMU macro from "iommu" to "sun4m-iommu"

This is a legacy artifact from when the sun4m IOMMU implementation was
the only IOMMU available within QEMU.

Signed-off-by: Mark Cave-Ayland <address@hidden>


  Commit: 47ba789c97c8d201d01058b00a14d8a9a85fcfe9
      
https://github.com/qemu/qemu/commit/47ba789c97c8d201d01058b00a14d8a9a85fcfe9
  Author: Peter Maydell <address@hidden>
  Date:   2017-10-31 (Tue, 31 Oct 2017)

  Changed paths:
    M hw/dma/sparc32_dma.c
    M hw/dma/sun4m_iommu.c
    M hw/dma/trace-events
    M hw/net/lance.c
    M hw/scsi/esp.c
    M hw/sparc/sun4m.c
    A include/hw/net/lance.h
    M include/hw/scsi/esp.h
    M include/hw/sparc/sparc32_dma.h
    M include/hw/sparc/sun4m.h

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/mcayland/tags/qemu-sparc-signed' into 
staging

qemu-sparc update

# gpg: Signature made Tue 31 Oct 2017 17:43:11 GMT
# gpg:                using RSA key 0x5BC2C56FAE0F321F
# gpg: Good signature from "Mark Cave-Ayland <address@hidden>"
# Primary key fingerprint: CC62 1AB9 8E82 200D 915C  C9C4 5BC2 C56F AE0F 321F

* remotes/mcayland/tags/qemu-sparc-signed:
  sun4m: change TYPE_SUN4M_IOMMU macro from "iommu" to "sun4m-iommu"
  sun4m_iommu: remove legacy sparc_iommu_memory_rw() function
  sparc32_dma: switch over to using IOMMU memory region and DMA API
  sun4m: implement IOMMU translation using IOMMU memory region
  sparc32_dma: add len to esp/le DMA memory tracing
  sparc32_dma: remove is_ledma hack and replace with memory region alias
  sparc32_dma: introduce new SPARC32_DMA type container object
  sparc32_dma: make lance device child of ledma device
  lance: move TYPE_LANCE and SysBusPCNetState from lance.c to lance.h
  sparc32_dma: make esp device child of espdma device
  esp: move TYPE_ESP and SysBusESPState from esp.c to esp.h
  sparc32_dma: use object link instead of qdev property to pass IOMMU reference
  sun4m_iommu: move TYPE_SUN4M_IOMMU declaration to sun4m.h
  sun4m: move DMA device wiring from sparc32_dma_init() to sun4m_hw_init()
  sparc32_dma: move type declarations from sparc32_dma.c to sparc32_dma.h
  sparc32_dma: split esp and le into separate DMA devices
  sparc32_dma: rename SPARC32_DMA type to SPARC32_DMA_DEVICE

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/7fa00e204902...47ba789c97c8

reply via email to

[Prev in Thread] Current Thread [Next in Thread]