[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 8d7b8c: iommu: add is_write as a parameter to
From: |
GitHub |
Subject: |
[Qemu-commits] [qemu/qemu] 8d7b8c: iommu: add is_write as a parameter to the translat... |
Date: |
Thu, 04 Sep 2014 04:00:08 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 8d7b8cb9c22b7aa809050800a62e89f869054b35
https://github.com/qemu/qemu/commit/8d7b8cb9c22b7aa809050800a62e89f869054b35
Author: Le Tan <address@hidden>
Date: 2014-08-28 (Thu, 28 Aug 2014)
Changed paths:
M exec.c
M hw/alpha/typhoon.c
M hw/pci-host/apb.c
M hw/ppc/spapr_iommu.c
M include/exec/memory.h
Log Message:
-----------
iommu: add is_write as a parameter to the translate function of
MemoryRegionIOMMUOps
Add a bool variable is_write as a parameter to the translate function of
MemoryRegionIOMMUOps to indicate the operation of the access. It can be
used for correct fault reporting from within the callback.
Change the interface of related functions.
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 1da12ec4c81330eb1ed1f29a78854bea87a23595
https://github.com/qemu/qemu/commit/1da12ec4c81330eb1ed1f29a78854bea87a23595
Author: Le Tan <address@hidden>
Date: 2014-08-28 (Thu, 28 Aug 2014)
Changed paths:
M hw/i386/Makefile.objs
A hw/i386/intel_iommu.c
A hw/i386/intel_iommu_internal.h
A include/hw/i386/intel_iommu.h
Log Message:
-----------
intel-iommu: introduce Intel IOMMU (VT-d) emulation
Add support for emulating Intel IOMMU according to the VT-d specification for
the q35 chipset machine. Implement the logics for DMAR (DMA remapping) without
PASID support. The emulation supports register-based invalidation and primary
fault logging.
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: d4eb911935640139eef7f1dd5cf9db7141578554
https://github.com/qemu/qemu/commit/d4eb911935640139eef7f1dd5cf9db7141578554
Author: Le Tan <address@hidden>
Date: 2014-08-28 (Thu, 28 Aug 2014)
Changed paths:
M hw/i386/acpi-build.c
M hw/i386/acpi-defs.h
Log Message:
-----------
intel-iommu: add DMAR table to ACPI tables
Expose Intel IOMMU to the BIOS. If object of TYPE_INTEL_IOMMU_DEVICE exists,
add DMAR table to ACPI RSDT table. For now the DMAR table indicates that there
is only one hardware unit without INTR_REMAP capability on the platform.
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: a52a7fdfa7512c9d095f2d5797c3c423dec43dbc
https://github.com/qemu/qemu/commit/a52a7fdfa7512c9d095f2d5797c3c423dec43dbc
Author: Le Tan <address@hidden>
Date: 2014-08-28 (Thu, 28 Aug 2014)
Changed paths:
M hw/core/machine.c
M hw/pci-host/q35.c
M include/hw/boards.h
M include/hw/pci-host/q35.h
M qemu-options.hx
M vl.c
Log Message:
-----------
intel-iommu: add Intel IOMMU emulation to q35 and add a machine option
"iommu" as a switch
Add Intel IOMMU emulation to q35 chipset and expose it to the guest.
1. Add a machine option. Users can use "-machine iommu=on|off" in the command
line to enable/disable Intel IOMMU. The default is off.
2. Accroding to the machine option, q35 will initialize the Intel IOMMU and
use pci_setup_iommu() to setup q35_host_dma_iommu() as the IOMMU function for
the pci bus.
3. q35_host_dma_iommu() will return different address space according to the
bus_num and devfn of the device.
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: ac40aa1540baffb4984c80822da618ebb3180a4d
https://github.com/qemu/qemu/commit/ac40aa1540baffb4984c80822da618ebb3180a4d
Author: Le Tan <address@hidden>
Date: 2014-08-28 (Thu, 28 Aug 2014)
Changed paths:
M hw/core/machine.c
M hw/pci-host/q35.c
Log Message:
-----------
intel-iommu: fix coding style issues around in q35.c and machine.c
Fix coding style issues around in hw/pci-host/q35.c and hw/core/machine.c.
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: ed7b8fbcfb888716c850c8f908f5b5329de46d7c
https://github.com/qemu/qemu/commit/ed7b8fbcfb888716c850c8f908f5b5329de46d7c
Author: Le Tan <address@hidden>
Date: 2014-08-28 (Thu, 28 Aug 2014)
Changed paths:
M hw/i386/intel_iommu.c
M hw/i386/intel_iommu_internal.h
Log Message:
-----------
intel-iommu: add supports for queued invalidation interface
Add supports for queued invalidation interface, an expended invalidation
interface with extended capabilities.
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: d92fa2dc6e42e8bd8470e69d85141176f98feaea
https://github.com/qemu/qemu/commit/d92fa2dc6e42e8bd8470e69d85141176f98feaea
Author: Le Tan <address@hidden>
Date: 2014-08-28 (Thu, 28 Aug 2014)
Changed paths:
M hw/i386/intel_iommu.c
M hw/i386/intel_iommu_internal.h
M hw/pci-host/q35.c
M include/hw/i386/intel_iommu.h
Log Message:
-----------
intel-iommu: add context-cache to cache context-entry
Add context-cache to cache context-entry encountered on a page-walk. Each
VTDAddressSpace has a member of VTDContextCacheEntry which represents an entry
in the context-cache. Since devices with different bus_num and devfn have their
respective VTDAddressSpace, this will be a good way to reference the cached
entries.
Each VTDContextCacheEntry will have a context_cache_gen and the cached entry
is valid only when context_cache_gen equals IntelIOMMUState.context_cache_gen.
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: b5a280c00840f4ebc2f40afb4f74e37e34d19f7c
https://github.com/qemu/qemu/commit/b5a280c00840f4ebc2f40afb4f74e37e34d19f7c
Author: Le Tan <address@hidden>
Date: 2014-08-28 (Thu, 28 Aug 2014)
Changed paths:
M hw/i386/intel_iommu.c
M hw/i386/intel_iommu_internal.h
M include/hw/i386/intel_iommu.h
Log Message:
-----------
intel-iommu: add IOTLB using hash table
Add IOTLB to cache information about the translation of input-addresses. IOTLB
use a GHashTable as cache. The key of the hash table is the logical-OR of gfn
and source id after left-shifting.
Signed-off-by: Le Tan <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 2d2507ef23d2a28eaeea5507ff4ec68657f1792f
https://github.com/qemu/qemu/commit/2d2507ef23d2a28eaeea5507ff4ec68657f1792f
Author: Michael S. Tsirkin <address@hidden>
Date: 2014-09-02 (Tue, 02 Sep 2014)
Changed paths:
M hw/net/vhost_net.c
Log Message:
-----------
vhost_net: cleanup start/stop condition
Checking vhost device internal state in vhost_net looks like
a layering violation since vhost_net does not
set this flag: it is set and tested by vhost.c.
There seems to be no reason to check this:
caller in virtio net uses its own flag,
vhost_started, to ensure vhost is started/stopped
as appropriate.
Signed-off-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Amos Kong <address@hidden>
Commit: fc8342f7589f0ef026cfebf8d6e5eab88323c7cf
https://github.com/qemu/qemu/commit/fc8342f7589f0ef026cfebf8d6e5eab88323c7cf
Author: Gonglei <address@hidden>
Date: 2014-09-02 (Tue, 02 Sep 2014)
Changed paths:
M hw/pci-bridge/ioh3420.h
Log Message:
-----------
ioh3420: remove unused ioh3420_init() declaration
commit 0f9b1771ccc65873a8376c81200a437aa58c2f6d
ioh3420: Remove obsoleted, unused ioh3420_init function
removed the implementation of ioh3420_init
Drop the declaration from the header file as well.
Signed-off-by: Gonglei <address@hidden>
Reviewed-by: Knut Omang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: 0187c7989a5cedd4f88bba76839cc9c44fb3fc81
https://github.com/qemu/qemu/commit/0187c7989a5cedd4f88bba76839cc9c44fb3fc81
Author: Michael S. Tsirkin <address@hidden>
Date: 2014-09-02 (Tue, 02 Sep 2014)
Changed paths:
M hw/net/virtio-net.c
Log Message:
-----------
virtio-net: don't run bh on vm stopped
commit 783e7706937fe15523b609b545587a028a2bdd03
virtio-net: stop/start bh when appropriate
is incomplete: BH might execute within the same main loop iteration but
after vmstop, so in theory, we might trigger an assertion.
I was unable to reproduce this in practice,
but it seems clear enough that the potential is there, so worth fixing.
Cc: address@hidden
Reported-by: Stefan Hajnoczi <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: d7efb7e08e5edaac23b0dc824f72c3f353447c39
https://github.com/qemu/qemu/commit/d7efb7e08e5edaac23b0dc824f72c3f353447c39
Author: Knut Omang <address@hidden>
Date: 2014-09-02 (Tue, 02 Sep 2014)
Changed paths:
M hw/pci/pci.c
Log Message:
-----------
pci: avoid losing config updates to MSI/MSIX cap regs
Since
commit 95d658002401e2e47a5404298ebe9508846e8a39
msi: Invoke msi/msix_write_config from PCI core
msix config writes are lost, the value written is always 0.
Fix pci_default_write_config to avoid this.
Cc: address@hidden
Signed-off-by: Knut Omang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: aad4dce934649b3a398396fc2a76f215bb194ea4
https://github.com/qemu/qemu/commit/aad4dce934649b3a398396fc2a76f215bb194ea4
Author: Jason Wang <address@hidden>
Date: 2014-09-02 (Tue, 02 Sep 2014)
Changed paths:
M hw/net/vhost_net.c
M hw/virtio/vhost.c
Log Message:
-----------
vhost_net: start/stop guest notifiers properly
commit a9f98bb5ebe6fb1869321dcc58e72041ae626ad8 vhost: multiqueue
support changed the order of stopping the device. Previously
vhost_dev_stop would disable backend and only afterwards, unset guest
notifiers. We now unset guest notifiers while vhost is still
active. This can lose interrupts causing guest networking to fail. In
particular, this has been observed during migration.
To adapt this, several other changes are needed:
- remove the hdev->started assertion in vhost.c since we may want to
start the guest notifiers before vhost starts and stop the guest
notifiers after vhost is stopped.
- introduce the vhost_net_set_vq_index() and call it before setting
guest notifiers. This is used to guarantee vhost_net has the correct
virtqueue index when setting guest notifiers.
Cc: address@hidden
Reported-by: "Zhangjie (HZ)" <address@hidden>
Tested-by: William Dauchy <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Jason Wang <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
Commit: f2426947decc96bde4f9ea50097dac66a0a48acc
https://github.com/qemu/qemu/commit/f2426947decc96bde4f9ea50097dac66a0a48acc
Author: Peter Maydell <address@hidden>
Date: 2014-09-02 (Tue, 02 Sep 2014)
Changed paths:
M exec.c
M hw/alpha/typhoon.c
M hw/core/machine.c
M hw/i386/Makefile.objs
M hw/i386/acpi-build.c
M hw/i386/acpi-defs.h
A hw/i386/intel_iommu.c
A hw/i386/intel_iommu_internal.h
M hw/net/vhost_net.c
M hw/net/virtio-net.c
M hw/pci-bridge/ioh3420.h
M hw/pci-host/apb.c
M hw/pci-host/q35.c
M hw/pci/pci.c
M hw/ppc/spapr_iommu.c
M hw/virtio/vhost.c
M include/exec/memory.h
M include/hw/boards.h
A include/hw/i386/intel_iommu.h
M include/hw/pci-host/q35.h
M qemu-options.hx
M vl.c
Log Message:
-----------
Merge remote-tracking branch 'remotes/mst/tags/for_upstream' into staging
pci, pc fixes, features
A bunch of bugfixes - these will make sense for 2.1.1
Initial Intel IOMMU support.
Signed-off-by: Michael S. Tsirkin <address@hidden>
# gpg: Signature made Tue 02 Sep 2014 16:05:04 BST using RSA key ID D28D5469
# gpg: Good signature from "Michael S. Tsirkin <address@hidden>"
# gpg: aka "Michael S. Tsirkin <address@hidden>"
* remotes/mst/tags/for_upstream:
vhost_net: start/stop guest notifiers properly
pci: avoid losing config updates to MSI/MSIX cap regs
virtio-net: don't run bh on vm stopped
ioh3420: remove unused ioh3420_init() declaration
vhost_net: cleanup start/stop condition
intel-iommu: add IOTLB using hash table
intel-iommu: add context-cache to cache context-entry
intel-iommu: add supports for queued invalidation interface
intel-iommu: fix coding style issues around in q35.c and machine.c
intel-iommu: add Intel IOMMU emulation to q35 and add a machine option
"iommu" as a switch
intel-iommu: add DMAR table to ACPI tables
intel-iommu: introduce Intel IOMMU (VT-d) emulation
iommu: add is_write as a parameter to the translate function of
MemoryRegionIOMMUOps
Signed-off-by: Peter Maydell <address@hidden>
Compare: https://github.com/qemu/qemu/compare/30eaca3acdf1...f2426947decc
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Qemu-commits] [qemu/qemu] 8d7b8c: iommu: add is_write as a parameter to the translat...,
GitHub <=