u.citrix.com>
CC: Dario Faggioli <dario.faggi...@citrix.com>
Sugguested-by: Dario Faggioli <dario.faggi...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
---
v8:
- Remove the lazy context switch handling for PI state transition
- Change PI state in vcpu_block() and do_po
Extend struct pi_desc according to VT-d Posted-Interrupts Spec.
CC: Kevin Tian <kevin.t...@intel.com>
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-
. in the following URL:
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/vt-directed-io-spec.html
Feng Wu (17):
VT-d Posted-intterrupt (PI) design
Add cmpxchg16b support for x86-64
iommu: Add iommu_intpost to control VT-d Posted-Interrupts feature
vt-d: VT-d Posted
Extend struct iremap_entry according to VT-d Posted-Interrupts Spec.
CC: Yang Zhang <yang.z.zh...@intel.com>
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Acked-by: Kevin Tian <kevin.t...@intel.com>
---
v8:
- Make use of the __ui
Add the utility to dump the posted format IRTE.
CC: Yang Zhang <yang.z.zh...@intel.com>
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
---
v8:
- Coding style
v7:
- Remove the two stage loop
v6:
- Fix a typo
v4:
- Newly added
xen/drive
<jbeul...@suse.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Acked-by: Jan Beulich <jbeul...@suse.com>
---
v8:
- Remove local variable 'bitmap_array_size'
- Use switch to replace if-else
v7:
- Remove some pointless debug printk
- Fix a logic error when assigning 'deliv
gt;
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
Reviewed-by: Jan Beulich <jbeul...@suse.com>
---
v7:
- Remove pointless "if non iommu_intremap then disable iommu_intpost" log
ooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
Reviewed-by: Jan Beulich <jbeul...@suse.com>
---
v8:
- Parenthesize '1 << POSTED_INTR_ON' and '1 << POSTED_INTR_SN'
v7:
- Coding
Remove pointless casts.
CC: Yang Zhang <yang.z.zh...@intel.com>
CC: Kevin Tian <kevin.t...@intel.com>
Suggested-by: Jan Beulich <jbeul...@suse.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
---
v7:
- R
This patch adds some helper functions to manipulate the
Posted-Interrupts Descriptor.
CC: Kevin Tian <kevin.t...@intel.com>
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <
This patch adds cmpxchg16b support for x86-64, so software
can perform 128-bit atomic write/read.
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
---
v8:
- Re
' to control whether enable VT-d
posted-interrupt or not in the generic IOMMU code.
CC: Jan Beulich <jbeul...@suse.com>
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-by: Kevin Tian <kevin.t...@intel.com>
Reviewed-by: Konrad Rzeszutek Wilk
Move some APIC related macros to apicdef.h, so they can be used
outside of vlapic.c.
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Acked-by: Jan Beulich &l
Add the design doc for VT-d PI.
CC: Kevin Tian <kevin.t...@intel.com>
CC: Yang Zhang <yang.z.zh...@intel.com>
CC: Jan Beulich <jbeul...@suse.com>
CC: Keir Fraser <k...@xen.org>
CC: Andrew Cooper <andrew.coop...@citrix.com>
CC: George Dunlap <george.dun...@eu.c
. in the following URL:
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/vt-directed-io-spec.html
Feng Wu (17):
VT-d Posted-intterrupt (PI) design
Add cmpxchg16b support for x86-64
iommu: Add iommu_intpost to control VT-d Posted-Interrupts feature
vt-d: VT-d Posted
Extend struct iremap_entry according to VT-d Posted-Interrupts Spec.
CC: Yang Zhang <yang.z.zh...@intel.com>
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Acked-by: Kevin Tian <kevin.t...@intel.com>
---
v7:
- Add a __uint128_t membe
drew Cooper <andrew.coop...@citrix.com>
CC: Kevin Tian <kevin.t...@intel.com>
CC: George Dunlap <george.dun...@eu.citrix.com>
CC: Dario Faggioli <dario.faggi...@citrix.com>
Sugguested-by: Dario Faggioli <dario.faggi...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.co
>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Acked-by: Kevin Tian <kevin.t...@intel.com>
---
v7:
- Retain 'cli' in the comments to make it more understandable.
- Register another not
This patch adds some helper functions to manipulate the
Posted-Interrupts Descriptor.
CC: Kevin Tian <kevin.t...@intel.com>
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <
This patch initializes the VT-d Posted-interrupt Descriptor.
CC: Kevin Tian <kevin.t...@intel.com>
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Acked-by: Ke
This patch adds cmpxchg16b support for x86-64, so software
can perform 128-bit atomic write/read.
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
---
v7:
- Make
Remove pointless casts.
CC: Yang Zhang <yang.z.zh...@intel.com>
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
---
v7:
- Remove an 'u32' casting omitted in v5
v5:
- Ne
ooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
---
v7:
- Coding style
- Read the current pi_desc.control as the intial value of prev.control
v6:
- Add some comments
v5:
- keep the vcpu_kick() a
Extend struct pi_desc according to VT-d Posted-Interrupts Spec.
CC: Kevin Tian <kevin.t...@intel.com>
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-
gt;
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.w...@oracle.com>
---
v7:
- Remove pointless "if non iommu_intremap then disable iommu_intpost" logic
- Don't need to check !iommu_intremap or !iommu_i
Move some APIC related macros to apicdef.h, so they can be used
outside of vlapic.c.
CC: Keir Fraser <k...@xen.org>
CC: Jan Beulich <jbeul...@suse.com>
CC: Andrew Cooper <andrew.coop...@citrix.com>
Signed-off-by: Feng Wu <feng...@intel.com>
---
v7:
- Put the Macros t
<jbeul...@suse.com>
Signed-off-by: Feng Wu <feng...@intel.com>
---
v7:
- Remove some pointless debug printk
- Fix a logic error when assigning 'delivery_mode'
- Adjust the definition of local variable 'idx'
- Add a dprintk if we cannot find the vCPU from 'pi_find_dest_vcpu'
' to control whether enable VT-d
posted-interrupt or not in the generic IOMMU code.
CC: Jan Beulich <jbeul...@suse.com>
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
Reviewed-by: Kevin Tian <kevin.t...@intel.com>
Reviewed-by: Konrad Rzeszutek Wilk
Add the utility to dump the posted format IRTE.
CC: Yang Zhang <yang.z.zh...@intel.com>
CC: Kevin Tian <kevin.t...@intel.com>
Signed-off-by: Feng Wu <feng...@intel.com>
---
v7:
- Remove the two stage loop
v6:
- Fix a typo
v4:
- Newly added
xen/drivers/passthroug
Extend struct pi_desc according to VT-d Posted-Interrupts Spec.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Andrew Cooper andrew.coop
jbeul...@suse.com
Signed-off-by: Feng Wu feng...@intel.com
---
v6:
- Use macro to replace plain numbers
- Correct the overflow error in a loop
v5:
- Make 'struct vcpu *vcpu' const
v4:
- Make some 'int' variables 'unsigned int' in pi_find_dest_vcpu()
- Make 'dest_id' uint32_t
- Rename 'size
This patch initializes the VT-d Posted-interrupt Descriptor.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
Reviewed
This patch adds some helper functions to manipulate the
Posted-Interrupts Descriptor.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Konrad
' to control whether enable VT-d
posted-interrupt or not in the generic IOMMU code.
CC: Jan Beulich jbeul...@suse.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Kevin Tian kevin.t...@intel.com
Reviewed-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
---
v5
This patch adds cmpxchg16b support for x86-64, so software
can perform 128-bit atomic write/read.
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v6:
- Fix a typo
v5:
- Change back
. in the following URL:
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/vt-directed-io-spec.html
Feng Wu (18):
VT-d Posted-intterrupt (PI) design
Add cmpxchg16b support for x86-64
iommu: Add iommu_intpost to control VT-d Posted-Interrupts feature
vt-d: VT-d Posted
Add the design doc for VT-d PI.
CC: Kevin Tian kevin.t...@intel.com
CC: Yang Zhang yang.z.zh...@intel.com
CC: Jan Beulich jbeul...@suse.com
CC: Keir Fraser k...@xen.org
CC: Andrew Cooper andrew.coop...@citrix.com
CC: George Dunlap george.dun...@eu.citrix.com
Signed-off-by: Feng Wu feng
Enable VT-d Posted-Interrupts and add a command line
parameter for it.
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Kevin Tian kevin.t...@intel.com
---
v6:
- Change the default value to 'false' in xen-command-line.markdown
docs/misc/xen-command-line.markdown | 9 -
xen/drivers
...@citrix.com
CC: Kevin Tian kevin.t...@intel.com
CC: George Dunlap george.dun...@eu.citrix.com
CC: Dario Faggioli dario.faggi...@citrix.com
Sugguested-by: Dario Faggioli dario.faggi...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Dario Faggioli dario.faggi...@citrix.com
---
v6:
- Add two
Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v6:
- Ack the interrupt in the beginning of pi_notification_interrupt()
v4:
- Coding style.
v3:
- Make pi_notification_interrupt() static
xen
: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v6:
- Fix some typos
- Ack the interrupt right after the spin_unlock in pi_wakeup_interrupt()
v4:
- Use local variables in pi_wakeup_interrupt()
- Remove vcpu from the blocked
Add the utility to dump the posted format IRTE.
CC: Yang Zhang yang.z.zh...@intel.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
---
v6:
- Fix a typo
v4:
- Newly added
xen/drivers/passthrough/vtd/utils.c | 43 +++--
1 file
Move some APIC related macros to apicdef.h, so they can be used
outside of vlapic.c.
Signed-off-by: Feng Wu feng...@intel.com
---
v6:
- Newly introduced.
xen/arch/x86/hvm/vlapic.c | 5 -
xen/include/asm-x86/apicdef.h | 4
2 files changed, 4 insertions(+), 5 deletions(-)
diff --git
Remove pointless casts.
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
---
v5:
- Newly added.
xen/drivers/passthrough/vtd/utils.c | 16 +++-
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/xen/drivers/passthrough/vtd
Extend struct iremap_entry according to VT-d Posted-Interrupts Spec.
CC: Yang Zhang yang.z.zh...@intel.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v4:
- res_4 is not a bitfiled, correct it.
- Expose 'im
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Konrad Rzeszutek Wilk konrad.w...@oracle.com
---
v6:
- Add some comments
v5:
- keep the vcpu_kick() at the end of vmx_deliver_posted_intr()
- Keep the 'return' after calling __vmx_deliver_posted_interrupt()
v4:
- Coding style.
- V3 removes
...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v5:
- Make some function parameters const
- Call spin_unlock_irq(desc-lock); a little eariler
- Add ASSERT(spin_is_locked(pcidevs_lock))
- -EBADSLT - -ENODEV, EBADSLT is removed in the lasted Xen
v4:
- Don't
Extend struct iremap_entry according to VT-d Posted-Interrupts Spec.
CC: Yang Zhang yang.z.zh...@intel.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v4:
- res_4 is not a bitfiled, correct it.
- Expose 'im
: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Use local variables in pi_wakeup_interrupt()
- Remove vcpu from the blocked list when pi_desc.on==1, this
- avoid kick vcpu multiple times.
- Remove tasklet
v3
Add the utility to dump the posted format IRTE.
CC: Yang Zhang yang.z.zh...@intel.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Newly added
xen/drivers/passthrough/vtd/utils.c | 41 -
1 file changed, 40 insertions
jbeul...@suse.com
Signed-off-by: Feng Wu feng...@intel.com
---
v5:
- Make 'struct vcpu *vcpu' const
v4:
- Make some 'int' variables 'unsigned int' in pi_find_dest_vcpu()
- Make 'dest_id' uint32_t
- Rename 'size' to 'bitmap_array_size'
- find_next_bit() and find_first_bit() always return unsigned int
...@citrix.com
CC: Kevin Tian kevin.t...@intel.com
CC: George Dunlap george.dun...@eu.citrix.com
CC: Dario Faggioli dario.faggi...@citrix.com
Sugguested-by: Dario Faggioli dario.faggi...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v5:
- Rename arch_vcpu_wake to arch_vcpu_wake_prepare
- Make
Enable VT-d Posted-Interrupts and add a command line
parameter for it.
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Kevin Tian kevin.t...@intel.com
---
docs/misc/xen-command-line.markdown | 9 -
xen/drivers/passthrough/iommu.c | 3 +++
2 files changed, 11 insertions(+), 1
Remove pointless casts.
Signed-off-by: Feng Wu feng...@intel.com
---
v5:
- Newly added.
xen/drivers/passthrough/vtd/utils.c | 16 +++-
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/utils.c
b/xen/drivers/passthrough/vtd/utils.c
index
Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
---
v5:
- Remove blank line
v4:
- Correct a logic error when setting iommu_intpost to 0
v3:
- Remove the if no intremap then no intpost logic in
intel_vtd_setup(), it is covered in the iommu_setup().
- Add if no intremap
Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v4:
- Coding style.
v3:
- Make pi_notification_interrupt() static
xen/arch/x86/hvm/vmx/vmx.c | 47
Signed-off-by: Feng Wu feng...@intel.com
---
v5:
- keep the vcpu_kick() at the end of vmx_deliver_posted_intr()
- Keep the 'return' after calling __vmx_deliver_posted_interrupt()
v4:
- Coding style.
- V3 removes a vcpu_kick() from the eoi_exitmap_changed path
incorrectly, fix it.
v3:
- use
Extend struct pi_desc according to VT-d Posted-Interrupts Spec.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Andrew Cooper andrew.coop
Add the design doc for VT-d PI.
CC: Kevin Tian kevin.t...@intel.com
CC: Yang Zhang yang.z.zh...@intel.com
CC: Jan Beulich jbeul...@suse.com
CC: Keir Fraser k...@xen.org
CC: Andrew Cooper andrew.coop...@citrix.com
CC: George Dunlap george.dun...@eu.citrix.com
Signed-off-by: Feng Wu feng
' to control whether enable VT-d
posted-interrupt or not in the generic IOMMU code.
CC: Jan Beulich jbeul...@suse.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Kevin Tian kevin.t...@intel.com
---
v5:
- Remove the if no intremap then no intpost logic
This patch adds some helper functions to manipulate the
Posted-Interrupts Descriptor.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Newly added
xen
This patch initializes the VT-d Posted-interrupt Descriptor.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v3
This patch adds cmpxchg16b support for x86-64, so software
can perform 128-bit atomic write/read.
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v5:
- Change back the parameters
. in the following URL:
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/vt-directed-io-spec.html
Feng Wu (17):
VT-d Posted-intterrupt (PI) design
Add cmpxchg16b support for x86-64
iommu: Add iommu_intpost to control VT-d Posted-Interrupts feature
vt-d: VT-d Posted
io_regions[x] when handling XEN_PT_BAR_FLAG_UPPER.
Signed-off-by: Feng Wu feng...@intel.com
---
I cannot test this patch sicne I don't have such a device, if
someone have it, it would be highly appreicated if he can help
to verfiy this patch.
hw/xen/xen_pt_config_init.c | 22 +++---
1
...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v4:
- Don't inline setup_posted_irte()
- const struct pi_desc *pi_desc for setup_posted_irte()
- return -EINVAL when pirq_spin_lock_irq_desc() fails.
- Make some variables const
- Release irq desc lock earlier
: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Use local variables in pi_wakeup_interrupt()
- Remove vcpu from the blocked list when pi_desc.on==1, this
- avoid kick vcpu multiple times.
- Remove tasklet
v3
This patch initializes the VT-d Posted-interrupt Descriptor.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v4
jbeul...@suse.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Make some 'int' variables 'unsigned int' in pi_find_dest_vcpu()
- Make 'dest_id' uint32_t
- Rename 'size' to 'bitmap_array_size'
- find_next_bit() and find_first_bit() always return unsigned int,
so no need to check whether
Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v4:
- Coding style.
v3:
- Make pi_notification_interrupt() static
xen/arch/x86/hvm/vmx/vmx.c | 47
: Kevin Tian kevin.t...@intel.com
CC: George Dunlap george.dun...@eu.citrix.com
CC: Dario Faggioli dario.faggi...@citrix.com
Sugguested-by: Dario Faggioli dario.faggi...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Newly added
xen/arch/x86/domain.c | 10 +++
xen/arch
Add the utility to dump the posted format IRTE.
CC: Yang Zhang yang.z.zh...@intel.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Newly added
xen/drivers/passthrough/vtd/utils.c | 41 -
1 file changed, 40 insertions
Extend struct iremap_entry according to VT-d Posted-Interrupts Spec.
CC: Yang Zhang yang.z.zh...@intel.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
Acked-by: Kevin Tian kevin.t...@intel.com
---
v4:
- res_4 is not a bitfiled, correct it.
- Expose 'im
Add a dummy arch hooks for scheduler to make the build successful
in ARM.
CC: Ian Campbell ian.campb...@citrix.com
CC: Stefano Stabellini stefano.stabell...@citrix.com
CC: Tim Deegan t...@xen.org
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Newly added
xen/include/asm-arm/domain.h | 2
This patch adds cmpxchg16b support for x86-64, so software
can perform 128-bit atomic write/read.
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Use pointer as the parameter
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Coding style.
- V3 removes a vcpu_kick() from the eoi_exitmap_changed path
incorrectly, fix it.
v3:
- use cmpxchg to test SN/ON and set ON
xen/arch/x86/hvm/vmx/vmx.c | 33 +
1 file changed, 29 insertions(+), 4
Add the design doc for VT-d PI.
CC: Kevin Tian kevin.t...@intel.com
CC: Yang Zhang yang.z.zh...@intel.com
CC: Jan Beulich jbeul...@suse.com
CC: Keir Fraser k...@xen.org
CC: Andrew Cooper andrew.coop...@citrix.com
CC: George Dunlap george.dun...@eu.citrix.com
Signed-off-by: Feng Wu feng
Add macro cpu_has_cx16 to detect X86_FEATURE_CX16 feature.
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Kevin Tian kevin.t...@intel.com
Reviewed
Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Correct a logic error when setting iommu_intpost to 0
v3:
- Remove the if no intremap then no intpost logic in
intel_vtd_setup(), it is covered in the iommu_setup().
- Add if no intremap then no intpost logic in the end
Extend struct pi_desc according to VT-d Posted-Interrupts Spec.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Andrew Cooper andrew.coop
' to control whether enable VT-d
posted-interrupt or not in the generic IOMMU code.
CC: Jan Beulich jbeul...@suse.com
CC: Kevin Tian kevin.t...@intel.com
Signed-off-by: Feng Wu feng...@intel.com
Reviewed-by: Kevin Tian kevin.t...@intel.com
---
v4:
- No changes
v3:
- Remove pointless initializer
. in the following URL:
http://www.intel.com/content/www/us/en/intelligent-systems/intel-technology/vt-directed-io-spec.html
This patch set follow the following design:
http://article.gmane.org/gmane.comp.emulators.xen.devel/236476
Feng Wu (17):
VT-d Posted-intterrupt (PI) design
Add helper macro
This patch adds some helper functions to manipulate the
Posted-Interrupts Descriptor.
CC: Kevin Tian kevin.t...@intel.com
CC: Keir Fraser k...@xen.org
CC: Jan Beulich jbeul...@suse.com
CC: Andrew Cooper andrew.coop...@citrix.com
Signed-off-by: Feng Wu feng...@intel.com
---
v4:
- Newly added
xen
Enable VT-d Posted-Interrupts and add a command line
parameter for it.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
Remove the redundant no intremp then no intpost logic
docs/misc/xen-command-line.markdown | 9 -
xen/drivers/passthrough/iommu.c | 4 +++-
2 files changed, 11
to 'Notification Vector' if needed.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
* Use write_atomic() to update 'NV' and 'NDST' fileds.
* Use MASK_INSR() to get the value for 'NDST' field
* Add ASSERT_UNREACHABLE() for the break case in vmx_pi_desc_update()
* Remove pointless NULL assignment
When a vCPU is running in Root mode and a notification event
has been injected to it. we need to set VCPU_KICK_SOFTIRQ for
the current cpu, so the pending interrupt in PIRR will be
synced to vIRR before VM-Exit in time.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- Make
posted-interrupt.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- Remove the if no intremap then no intpost logic in
intel_vtd_setup(), it is covered in the iommu_setup().
- Add if no intremap then no intpost logic in the end
of init_vtd_hw() which is called by vtd_resume().
So the logic
Add macro cpu_has_cx16 to detect X86_FEATURE_CX16 feature.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- Newly added. We need to atomically update the IRTE in PI format
via CMPXCHG16B which is only available with this feature.
xen/include/asm-x86/cpufeature.h | 2 ++
1 file changed, 2
vcpu_unblock
cannot be called directly.
- Define two per-cpu variables:
* pi_blocked_vcpu:
A list storing the vCPUs which were blocked on this pCPU.
* pi_blocked_vcpu_lock:
The spinlock to protect pi_blocked_vcpu.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- This patch
vector-hashing mechamisn to find
the destination vCPU. This follows the hardware behavior, since modern
Intel CPUs use vector hashing to handle the lowest-priority interrupt.
For multicast/broadcast vCPU, we cannot handle it via interrupt posting,
still use interrupt remapping.
Signed-off-by: Feng
Extend struct iremap_entry according to VT-d Posted-Interrupts Spec.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- Use u32 instead of u64 to define the bitfields in 'struct iremap_entry'
- Limit using bitfield if possible
xen/drivers/passthrough/vtd/intremap.c | 92
This patch adds an API which is used to update the IRTE
for posted-interrupt when guest changes MSI/MSI-X information.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- Remove adding PDA_MASK() when updating 'pda_l' and 'pda_h' for IRTE.
- Change the return type of pi_update_irte() to int
numbers.
Feng Wu (15):
Vt-d Posted-intterrupt (PI) design
Add helper macro for X86_FEATURE_CX16 feature detection
Add cmpxchg16b support for x86-64
iommu: Add iommu_intpost to control VT-d Posted-Interrupts feature
vt-d: VT-d Posted-Interrupts feature detection
vmx: Extend struct pi_desc
This patch initializes the VT-d Posted-interrupt Descriptor.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- Move pi_desc_init() to xen/arch/x86/hvm/vmx/vmcs.c
- Remove the 'inline' flag of pi_desc_init()
xen/arch/x86/hvm/vmx/vmcs.c | 18 ++
xen/include/asm-x86/hvm/vmx
' to control whether enable VT-d
posted-interrupt or not in the generic IOMMU code.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- Remove pointless initializer for 'iommu_intpost'.
- Some adjustment for if no intremap then no intpost logic.
* For parse_iommu_param(), move it to the end
Currently, we don't support urgent interrupt, all interrupts
are recognized as non-urgent interrupt, so we cannot send
posted-interrupt when 'SN' is set.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
use cmpxchg to test SN/ON and set ON
xen/arch/x86/hvm/vmx/vmx.c | 32
Extend struct pi_desc according to VT-d Posted-Interrupts Spec.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
- Use u32 instead of u64 for the bitfield in 'struct pi_desc'
xen/include/asm-x86/hvm/vmx/vmcs.h | 15 +--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git
This patch adds cmpxchg16b support for x86-64, so software
can perform 128-bit atomic write/read.
Signed-off-by: Feng Wu feng...@intel.com
---
v3:
Newly added.
xen/include/asm-x86/x86_64/system.h | 28
xen/include/xen/types.h | 5 +
2 files changed
This patch adds an API which is used to update the IRTE
for posted-interrupt when guest changes MSI/MSI-X information.
Signed-off-by: Feng Wu feng...@intel.com
---
xen/drivers/passthrough/vtd/intremap.c | 98 ++
xen/drivers/passthrough/vtd/iommu.h| 4 ++
xen
This patch defines two per-cpu variables:
blocked_vcpu:
A list storing the vCPUs which were blocked on this pCPU.
blocked_vcpu_lock:
The spinlock to protect blocked_vcpu.
Signed-off-by: Feng Wu feng...@intel.com
---
xen/arch/x86/hvm/vmx/vmcs.c | 3 +++
xen/arch/x86/hvm/vmx/vmx.c
101 - 200 of 227 matches
Mail list logo