Current code would be panic(), when VT-d Device-TLB flush timed out.
the panic() is going to be eliminated, so we must check all kinds of
error and all the way up the call trees.
Signed-off-by: Quan Xu
CC: Jun Nakajima
CC: Kevin Tian
CC: George Dunlap
CC: Keir Fraser
CC: Jan Beulich
CC
Signed-off-by: Quan Xu
---
docs/misc/xen-command-line.markdown | 7 +++
xen/drivers/passthrough/vtd/qinval.c | 19 +++
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/docs/misc/xen-command-line.markdown
b/docs/misc/xen-command-line.markdown
index ca77e3b
ock
for pdev-s list.
* Print SBDF in canonical :bb:dd.f form.
* Handle 'ret'/'rc' variables in the same function, and remove the pointless
rc.
--Changes in v7:
#patch 1
* Enhance printout infomation.
* Enhance time unit conversion.
#patch 2
*Enhance chan
If Device-TLB flush timed out, we would hide the target ATS
device and crash the domain owning this ATS device. If impacted
domain is hardware domain, just throw out a warning.
The hidden device should be disallowed to be further assigned
to any domain.
Signed-off-by: Quan Xu
---
xen/drivers
xen_hvm_init()
[...]
-->xen_fe_register("vtpm", ...)
-->xenstore_fe_scan()
-->xen_fe_try_init(ops)
--> XenDevOps.init()
-->xen_fe_get_xendev()
--> XenDevOps.alloc()
-->xen_fe_check()
-->xen_fe_try_initialise()
Signed-off-by: Quan Xu
Reviewed-by: Eric Blake
---
configure| 14 ++
hmp.c| 2 ++
qapi-schema.json | 16 ++--
qemu-options.hx | 13 +++--
tpm.c| 7 ++-
5 files changed, 47 insertions(+), 5 deletions(-)
diff --git a
make sure QEMU machine class is initialized and QEMU has registered
Xen stubdom vTPM driver when call tpm_init()
Signed-off-by: Quan Xu
Reviewed-by: Stefan Berger
---
vl.c | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/vl.c b/vl.c
index 74c2681..7bc87f1
pmdev xenstubdoms,id=xenvtpm0 -device tpm-tis,tpmdev=xenvtpm0"
Signed-off-by: Quan Xu
Reviewed-by: Stefan Berger
--Changes in v7:
-Redefine DPRINTF macro.
---
hw/tpm/Makefile.objs | 2 +-
hw/tpm/tpm_xenstubdoms.c | 276 +++
2 files ch
and rename it to tpm_util_is_selftest().
Signed-off-by: Quan Xu
Reviewed-by: Stefan Berger
---
hw/tpm/Makefile.objs | 2 +-
hw/tpm/tpm_passthrough.c | 13 +
hw/tpm/tpm_util.c| 39 +++
include/sysemu
physical TPM 1.2 that is soldered onto the motherboard.
--Changes in v7:
-Redefine DPRINTF macro.
-Move 'extern struct XenDevOps xen_vtpmdev_ops' from patch #2 to patch #3.
-Replace PAGE_SIZE with VTPM_PAGE_SIZE.
-Move vtpm_backend_changed() to hw/tpm/xen_vtpm_frontend.c.
Quan Xu (6):
ackend, such as xendevs queue and xenstore update functions.
Signed-off-by: Quan Xu
--Changes in v7:
-Move 'extern struct XenDevOps xen_vtpmdev_ops' to patch #3.
---
hw/display/xenfb.c | 4 +-
hw/xen/Makefile.objs | 2 +-
hw/xen/xe
pmdev xenstubdoms,id=xenvtpm0 -device tpm-tis,tpmdev=xenvtpm0"
Signed-off-by: Quan Xu
Reviewed-by: Stefan Berger
---
hw/tpm/Makefile.objs | 2 +-
hw/tpm/tpm_xenstubdoms.c | 276 +++
2 files changed, 277 insertions(+), 1 deletion(-)
create m
physical TPM 1.2 that is soldered onto the motherboard.
--Changes in v8:
-split patch#2 in two, patch#2 and patch#3.
Quan Xu (7):
Qemu-Xen-vTPM: Support for Xen stubdom vTPM command line options
Qemu-Xen-vTPM: Create a new file xen_pvdev.c
Qemu-Xen-vTPM: Xen frontend driver infrastructure
make sure QEMU machine class is initialized and QEMU has registered
Xen stubdom vTPM driver when call tpm_init()
Signed-off-by: Quan Xu
Reviewed-by: Stefan Berger
---
vl.c | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/vl.c b/vl.c
index 74c2681..7bc87f1
and rename it to tpm_util_is_selftest().
Signed-off-by: Quan Xu
Reviewed-by: Stefan Berger
---
hw/tpm/Makefile.objs | 2 +-
hw/tpm/tpm_passthrough.c | 13 +
hw/tpm/tpm_util.c| 39 +++
include/sysemu
physical TPM 1.2 that is soldered onto the motherboard.
--Changes in v8:
-split patch#2 in two, patch#2 and patch#3.
Quan Xu (7):
Qemu-Xen-vTPM: Support for Xen stubdom vTPM command line options
Qemu-Xen-vTPM: Create a new file xen_pvdev.c
Qemu-Xen-vTPM: Xen frontend driver infrastructure
ndle event channel between the virtual machines.
Call xen_fe_register() function to register XenDevOps, and make sure,
XenDevOps's flags is DEVOPS_FLAG_FE, which is flag bit to point out
the XenDevOps is Xen frontend.
Signed-off-by: Quan Xu
---
hw/xen/Makefile.objs | 2 +-
hw/xen
for some common part of xen frontend and backend, such as xendevs
queue and xenstore update functions.
Signed-off-by: Quan Xu
---
hw/display/xenfb.c | 4 +-
hw/xen/Makefile.objs | 2 +-
hw/xen/xen_backend.c | 353 ---
hw/xen/xen_pvdev.c
xen_hvm_init()
[...]
-->xen_fe_register("vtpm", ...)
-->xenstore_fe_scan()
-->xen_fe_try_init(ops)
--> XenDevOps.init()
-->xen_fe_get_xendev()
--> XenDevOps.alloc()
-->xen_fe_check()
-->xen_fe_try_initialise()
-->
Signed-off-by: Quan Xu
Reviewed-by: Eric Blake
---
configure| 14 ++
hmp.c| 2 ++
qapi-schema.json | 16 ++--
qemu-options.hx | 13 +++--
tpm.c| 7 ++-
5 files changed, 47 insertions(+), 5 deletions(-)
diff --git a
On 2016 Jul 14 (Thu) 23:34, Stefano Stabellini wrote:>
Hi Quan,
>
> thanks for CC'ing me. sstabell...@kernel.org is the right address to
> reach me now.
>
> I am also CC'ing Anthony Perard who is Xen co-maintainer in QEMU.
>
> Cheers,
>
> Stefano
thanks in advance!! :):)Quan
_
[Quan:]: comment starts with [Quan:]
The purpose of the new file is to store generic functions shared by frontendand
backends such as xenstore operations, xendevs.
Signed-off-by: Quan Xu
Signed-off-by: Emil Condrea
---
hw/xen/Makefile.objs | 2 +-
hw/xen/xen_backend.c
-devel ; Daniel De Graaf
; xen-devel ; Stefano
Stabellini ; Quan Xu ; wei.liu2
; stefanb ; anthony.perard
Subject:Re: [Xen-devel] [PATCH 01/19] xen: Create a
new file xen_pvdev.c
Eric, this is the link to the original patch which is well formatted:
http://marc.info/?l=xen-devel&a
16 15:50:27 +0100, anthony.perard
wrote:> On Sun, Jul 17, 2016 at 03:41:26PM +0800, Quan Xu wrote:
> -int xenstore_write_int(const char *base, const char *node, int ival)
> -{
> -char val[12];
> -
> [Quan:]: why 12 ? what about XEN_BUFSIZE?
That is the number of digit in I
to pass down a flag indicating whether the lock is being held,
and check the way up the call trees.
Signed-off-by: Quan Xu
---
xen/arch/x86/mm/p2m-ept.c| 3 +-
xen/drivers/passthrough/vtd/iommu.c | 73 ++--
xen/drivers/passthrough/vtd/iommu.h | 3
to pass down a flag indicating whether the lock is being held,
and check the way up the call trees.
Signed-off-by: Quan Xu
---
xen/arch/x86/mm.c | 9 ++---
xen/arch/x86/mm/p2m-ept.c | 7 ---
xen/arch/x86/mm/p2m-pt.c
to pass down a flag indicating whether the lock is being held.
Signed-off-by: Quan Xu
---
xen/arch/arm/p2m.c | 2 +-
xen/common/memory.c | 4 ++--
xen/drivers/passthrough/iommu.c | 9 +
xen/drivers/passthrough/vtd/iommu.c | 5 +++--
xen/drivers
This patch checks all kinds of error and all the way up
the call trees of VT-d Device-TLB flush(IOMMU part).
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/amd/iommu_init.c | 4 +-
xen/drivers/passthrough/amd/pci_amd_iommu.c | 4 +-
xen/drivers/passthrough/arm/smmu.c
If Device-TLB flush is timeout, we'll hide the target ATS
device and crash the domain owning this ATS device.
If impacted domain is hardware domain, just throw out a warning.
The hidden device will be disallowed to be further assigned to
any domain.
Signed-off-by: Quan Xu
---
xen/dr
This patch checks all kinds of error and all the way up
the call trees of VT-d Device-TLB flush(MMU part).
Signed-off-by: Quan Xu
---
xen/arch/x86/acpi/power.c | 6 +-
xen/arch/x86/crash.c| 3 ++-
xen/arch/x86/domain_build.c | 5 -
xen/arch/x86/mm.c | 10
Signed-off-by: Quan Xu
---
docs/misc/xen-command-line.markdown | 7 +++
xen/drivers/passthrough/vtd/qinval.c | 11 +--
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/docs/misc/xen-command-line.markdown
b/docs/misc/xen-command-line.markdown
index a565c1b..6ed5cd8
be trivially avoided.(P7)
* Enhance the print out message. (P7)
* Enhance the comment.(P7)
* Consult the bitmap along with the domain ID array.(P7)
Quan Xu (7):
VT-d: Check VT-d Device-TLB flush error(IOMMU part).
VT-d: Check VT-d Device-TLB flush error(MMU part).
VT-d: Reduce spin timeout t
Comments are
welcomed.
Device marked as unassignable will be disallowed to be further assigned to
any domain.
*Kevin Tian did basic functional review.
Quan Xu (2):
VT-d: Reduce spin timeout to 1ms, which can be boot-time changed.
VT-d: Fix vt-d flush timeout issue.
xen/drivers/passthrough/vtd/i
hardware domain, just throw
out a warning. It's an open here whether we want to kill
Dom0 or hardware domain (or directly panic hypervisor).
Comments are welcomed.
Device marked as unassignable will be disallowed to be
further assigned to any domain.
Signed-off-by: Quan Xu
---
xen/drivers/pas
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/qinval.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/qinval.c
b/xen/drivers/passthrough/vtd/qinval.c
index b81b0bd..990baf2 100644
--- a/xen/drivers/passthrough/vtd/qinval.c
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/qinval.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/qinval.c
b/xen/drivers/passthrough/vtd/qinval.c
index b81b0bd..990baf2 100644
--- a/xen/drivers/passthrough/vtd/qinval.c
assigned to any domain.
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/extern.h | 4 ++
xen/drivers/passthrough/vtd/iommu.c | 6 +++
xen/drivers/passthrough/vtd/iommu.h | 5 ++
xen/drivers/passthrough/vtd/qinval.c | 86 ++-
xen/drivers/passthroug
eck within dev_invalidate_iotlb for each ATS device, to
identify bogus device accurately.
Quan Xu (2):
VT-d: Reduce spin timeout to 1ms, which can be boot-time changed.
VT-d: Fix vt-d flush timeout issue.
xen/drivers/passthrough/vtd/extern.h | 4 ++
xen/drivers/passthrough/vtd/iommu.c
then ignore these INVALID_* parameters.
3. Change macros(mark_pdev_unassignable/IS_PDEV_UNASSIGNABLE) into static
inline functions.
Quan Xu (2):
VT-d: Reduce spin timeout to 1ms, which can be boot-time changed.
VT-d: Fix vt-d flush timeout issue.
xen/drivers/passthrough/vtd/exte
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/qinval.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/qinval.c
b/xen/drivers/passthrough/vtd/qinval.c
index b81b0bd..990baf2 100644
--- a/xen/drivers/passthrough/vtd/qinval.c
assigned to any domain.
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/extern.h | 5 +++
xen/drivers/passthrough/vtd/iommu.c | 6 +++
xen/drivers/passthrough/vtd/qinval.c | 78 ++-
xen/drivers/passthrough/vtd/x86/ats.c | 16 +++
xen/in
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/qinval.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/qinval.c
b/xen/drivers/passthrough/vtd/qinval.c
index 946e812..b227e4e 100644
--- a/xen/drivers/passthrough/vtd/qinval.c
ll be disallowed to be further assigned to
any domain.
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/pci.c | 2 +-
xen/drivers/passthrough/vtd/extern.h | 2 +
xen/drivers/passthrough/vtd/qinval.c | 80 ++-
xen/drivers/passthrough/vtd/x86/ats.c
pervisor. The coming patch
set will fix it.
Quan Xu (3):
VT-d: Check VT-d Device-TLB flush error.
VT-d: Reduce spin timeout to 1ms, which can be boot-time changed.
VT-d: Fix vt-d Device-TLB flush timeout issue.
xen/arch/x86/acpi/power.c | 8 +-
xen/arch/x86/crash.
This patch checks all kinds of error and all the way up
the call trees of VT-d Device-TLB flush.
Signed-off-by: Quan Xu
---
xen/arch/x86/acpi/power.c | 8 +-
xen/arch/x86/crash.c | 3 +-
xen/arch/x86/domain_build.c | 5 +-
xen
Signed-off-by: Quan Xu
---
extras/mini-os/tpmback.c | 21 -
1 file changed, 16 insertions(+), 5 deletions(-)
diff --git a/extras/mini-os/tpmback.c b/extras/mini-os/tpmback.c
index 8a0a983..b8f4c8f 100644
--- a/extras/mini-os/tpmback.c
+++ b/extras/mini-os/tpmback.c
when virtual machine is destroyed.
Signed-off-by: Quan Xu
---
tools/libxl/libxl_device.c | 61 +++---
1 file changed, 57 insertions(+), 4 deletions(-)
diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c
index b1a71fe..668bf71 100644
Signed-off-by: Quan Xu
---
Config.mk | 4
tools/Makefile | 7 +++
2 files changed, 11 insertions(+)
diff --git a/Config.mk b/Config.mk
index a5b6c41..5a5f413 100644
--- a/Config.mk
+++ b/Config.mk
@@ -254,6 +254,10 @@ endif
OVMF_UPSTREAM_REVISION
refactor libxl__device_vtpm_add to call the right helpers
libxl__device_vtpm_add_{pv,hvm}. For HVM virtual machine,
it does not support hot-plug and hot-unplug, as it requires
SeaBios to initalize ACPI and virtual MMIO space for TPM
TIS when virtual machine starts.
Signed-off-by: Quan Xu
vtpm_recv() directly.
--Changes in v2:
-adding xen_fe_register() that handle any Xen PV frontend registration
-remove a private structure 'QEMUBH'
-change version number to 2.3 in qapi-schema.json
-move hw/xen/xen_stubdom_vtpm.c to hw/tpm/xen_stubdom_vtpm.c
Quan Xu (5):
-> XenDevOps.initialise()
-->xen_fe_try_connected()
--> XenDevOps.connected()
-->xs_watch()
[...]
--Changes in v3:
-Move xen_stubdom_vtpm.c to xen_vtpm_frontend.c
-Read Xen vTPM status via XenStore
--Changes in v4:
-Redesign vTPM xenstore architecture for HV
-Delete the domain type reading for domid
-refactor libxl__device_vtpm_add()
-rename libxl__device_hvm_vtpm_add() to libxl__device_vtpm_add_hvm()
Quan Xu (7):
vTPM: event channel bind interdomain with para/hvm virtual machine
vTPM: limit libxl__add_vtpms() function to para virtual machine
vTPM: add TPM TCPA and SSD
make sure QEMU machine class is initialized and QEMU has registered
Xen stubdom vTPM driver when call tpm_init()
Signed-off-by: Quan Xu
---
vl.c | 17 +++--
1 file changed, 11 insertions(+), 6 deletions(-)
diff --git a/vl.c b/vl.c
index f6b3546..0bbdaa1 100644
--- a/vl.c
+++ b/vl.c
--Changes in v4:
-qapi schema enhancement.
-remove no need code.
Signed-off-by: Quan Xu
---
configure| 14 ++
hmp.c| 2 ++
qapi-schema.json | 18 --
qemu-options.hx | 13 +++--
tpm.c| 7 ++-
5 files changed, 49
Signed-off-by: Quan Xu
---
tools/libxl/libxl_create.c | 11 +--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c
index b1ff5ae..66877b3 100644
--- a/tools/libxl/libxl_create.c
+++ b/tools/libxl/libxl_create.c
@@ -1358,8
Signed-off-by: Quan Xu
---
tools/firmware/hvmloader/acpi/build.c | 7 ---
tools/libxl/libxl_create.c| 5 -
2 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/tools/firmware/hvmloader/acpi/build.c
b/tools/firmware/hvmloader/acpi/build.c
index 1431296..49f6772
Signed-off-by: Quan Xu
Signed-off-by: Stefan Berger
---
Makefile | 2 +-
src/post.c | 3 +
src/tpm.c | 309 +
src/tpm.h | 141
4 files changed, 454 insertions(+), 1 deletion(-)
create mode 100644
-by: Quan Xu
Signed-off-by: Stefan Berger
Quan Xu (1):
SeaBios/vTPM: Enable Xen stubdom vTPM for HVM virtual machine
Makefile | 2 +-
src/post.c | 3 +
src/tpm.c | 309 +
src/tpm.h | 141
4 files
n_pvdev.c
-Move xenstore functions to xen_pvdev.c
-Check status before setting the frontend to connect
Signed-off-by: Quan Xu
---
hw/display/xenfb.c | 4 +-
hw/xen/Makefile.objs | 2 +-
hw/xen/xen_backend.c | 353 ---
hw/xen/xen_frontend
pmdev xenstubdoms,id=xenvtpm0 -device tpm-tis,tpmdev=xenvtpm0"
--Changes in v3:
-Call vtpm_send() and vtpm_recv() directly
--Changes in v4:
-Fix the comment style
Signed-off-by: Quan Xu
---
hw/tpm/Makefile.objs | 2 +-
hw/tpm/tpm_xenstubdo
Signed-off-by: Quan Xu
---
extras/mini-os/tpmback.c | 25 ++---
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/extras/mini-os/tpmback.c b/extras/mini-os/tpmback.c
index 00b66e8..8a0a983 100644
--- a/extras/mini-os/tpmback.c
+++ b/extras/mini-os/tpmback.c
Typedefs are duplicated in stubdom/vtpmmgr/tcg.h and supported compilers
do not cope with current staging branch.
Signed-off-by: Olaf Hering
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/common_types.h |9 +
stubdom/vtpmmgr/tcg.h |7 +--
stubdom/vtpmmgr/tpm2.c
Typedefs are duplicated in stubdom/vtpmmgr/tcg.h and supported compilers
do not cope with current staging branch.
Signed-off-by: Olaf Hering
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/common_types.h |9 +
stubdom/vtpmmgr/tcg.h |7 +--
stubdom/vtpmmgr/tpm2.c
of generating another interrupt. then, Clear IM fild of
Invalidation Event Control Register for no masking of QI interrupt.
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/iommu.c | 59 +
xen/drivers/passthrough/vtd/iommu.h | 6
2 files changed
The qi_flag is Set when submit Device-TLB invalidation requests. The
qi_flag will be Clear in QI interrupt handler if there are no in-flight
Device-TLB invalidation requests.
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/iommu.c | 1 +
xen/drivers/passthrough/vtd/qinval.c | 1 +
xen
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/iommu.c | 21 -
1 file changed, 12 insertions(+), 9 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/iommu.c
b/xen/drivers/passthrough/vtd/iommu.c
index 1dffc40..17bfb76 100644
--- a/xen/drivers/passthrough/vtd
to destroy virtual machine, schedule and wait on a waitqueue
until the Device-TLB flush is completed.
Signed-off-by: Quan Xu
---
xen/common/domain.c | 10 ++
xen/drivers/passthrough/vtd/iommu.c | 9 +
xen/include/xen/hvm/iommu.h | 6 ++
3 files
if it has no in-flight Device-TLB invalidation request.
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/iommu.c | 22 ++
1 file changed, 22 insertions(+)
diff --git a/xen/drivers/passthrough/vtd/iommu.c
b/xen/drivers/passthrough/vtd/iommu.c
index db6e3a2..0e912fb
Signed-off-by: Quan Xu
---
xen/common/memory.c | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/xen/common/memory.c b/xen/common/memory.c
index 61bb94c..4b2def5 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -253,7 +253,21 @@ int
Queued Invalidation(QI) interrupt handler
if the Device-TLB flush is completed.
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/iommu.c | 35 +++
xen/include/xen/hvm/iommu.h | 8
2 files changed, 43 insertions(+)
diff --git a/xen/drivers
here are no in-flight Device-TLB invalidation requests.))
Quan Xu (13):
vt-d: Redefine iommu_set_interrupt() for registering MSI interrupt
vt-d: Register MSI for async invalidation completion interrupt.
vt-d: Track the Device-TLB invalidation status in an invalidation table.
vt-d: Clear inva
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/iommu.c | 133
xen/drivers/passthrough/vtd/iommu.h | 10 +++
2 files changed, 143 insertions(+)
diff --git a/xen/drivers/passthrough/vtd/iommu.c
b/xen/drivers/passthrough/vtd/iommu.c
index 17bfb76
the Device-TLB flush is completed.
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/iommu.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/xen/drivers/passthrough/vtd/iommu.c
b/xen/drivers/passthrough/vtd/iommu.c
index 5c03e41..1297dea 100644
--- a/xen/drivers
not completed when to map the transferring page to a remote
domain, schedule and wait on a waitqueue until the Device-TLB
flush is completed.
Signed-off-by: Quan Xu
---
xen/common/grant_table.c | 16
1 file changed, 16 insertions(+)
diff --git a/xen/common/grant_table.c b/xen
entry guest mode and put into the SCHEDOP_yield list.
Signed-off-by: Quan Xu
---
xen/arch/x86/hvm/vmx/entry.S | 10 ++
xen/arch/x86/x86_64/asm-offsets.c | 1 +
xen/common/domain.c | 5 +
xen/include/xen/hvm/iommu.h | 2 ++
4 files changed, 18 insertions
invalidataion requests. If the IF bit is Set, the interrupt based mechanism
will be used to track the Device-TLB invalidation requests. Do not do polling
to detect whether hardware completes the Device-TLB invalidation during Device-
TLB invalidation.
Signed-off-by: Quan Xu
---
xen/drivers
Update invalidation table's count of in-flight Device-TLB invalidation
request and assign the address of global polling parameter per domain in
the Status Address of each invalidation wait descriptor, when submit
Device-TLB invalidation requests.
Signed-off-by: Quan Xu
---
xen/dr
Signed-off-by: Quan Xu
---
xen/drivers/passthrough/vtd/iommu.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/xen/drivers/passthrough/vtd/iommu.c
b/xen/drivers/passthrough/vtd/iommu.c
index 3d98fea..f31d41b 100644
--- a/xen/drivers/passthrough/vtd/iommu.c
+++ b
Bit 0:29 in Fault Event Control Register are 'Reserved and Preserved',
software cannot write 0 to it unconditionally. Software must preserve
the value read for writes.
Signed-off-by: Quan Xu
Acked-by: Yang Zhang
---
xen/drivers/passthrough/vtd/iommu.c | 10 --
1 file
Bit 0:29 in Fault Event Control Register are 'Reserved and Preserved',
software cannot write 0 to it unconditionally. Software must preserve
the value read for writes.
Signed-off-by: Quan Xu
Reported-by: Jan Beulich
---
xen/drivers/passthrough/vtd/iommu.c | 5 -
1 file
.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/init.c| 71 +++
stubdom/vtpmmgr/vtpmmgr.h | 3 ++
2 files changed, 74 insertions(+)
diff --git a/stubdom/vtpmmgr/init.c b/stubdom/vtpmmgr/init.c
index f3aa02f..c654071 100644
--- a/stubdom/vtpmmgr/init.c
These TPM 2.0 Exposed APIs for the Mini-os to access TPM 2.0
hardware.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/Makefile | 2 +-
stubdom/vtpmmgr/tpm2.c | 455 +++
stubdom/vtpmmgr/tpm2.h | 104 +++
3 files changed, 560 insertions(+), 1
Add TPM 2.0 data structure marshal for packing and unpacking TPM
2.0 data structures.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/tpm2_marshal.h | 673 +
1 file changed, 673 insertions(+)
create mode 100644 stubdom/vtpmmgr/tpm2_marshal.h
diff --git a
=16
disk=["file:/var/scale/vdisk/vmgr,hda,w"]
name="vtpmmgr"
iomem=["fed40,5"]
extra="--tpm2"
vtpm-stubdom domain configuration on TPM 1.x:
kernel="/usr/lib/xen/boot/vtpmmgr-stubdom.gz"
memory=16
disk=["file:/var/scale/vdisk/vmgr,hda,w"
These data is for the Mini-os to access TPM 2.0 hardware.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/vtpmmgr.h | 9 +
1 file changed, 9 insertions(+)
diff --git a/stubdom/vtpmmgr/vtpmmgr.h b/stubdom/vtpmmgr/vtpmmgr.h
index 2d9d153..0d0c604 100644
--- a/stubdom/vtpmmgr/vtpmmgr.h
+++ b
TPM2_LoadExternal command is used.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/init.c| 101 ++
stubdom/vtpmmgr/vtpmmgr.h | 1 +
2 files changed, 102 insertions(+)
diff --git a/stubdom/vtpmmgr/init.c b/stubdom/vtpmmgr/init.c
index c654071..8244bb0 100644
decryption using
the indicated padding scheme according to PKCS#1v2.1(PKCS#1).
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/disk_tpm.c | 42 --
stubdom/vtpmmgr/disk_tpm.h | 4
2 files changed, 44 insertions(+), 2 deletions(-)
diff --git a/stubdom/vtpmmgr
it will
extend the hash of the kernel that it boots into PCR #4, and will extend the
command line and initrd into PCR #5 before booting so that a domU booted in this
way can attest to its early boot state.
--
REFERENCES
--
Berlios TPM Emulat
call the TPM 2.0 various registers that allow communication between
the TPM 2.0 and platform hardware and software. TPM2_SelfTest causes
the TPM 2.0 to perform a test of its capabilities.
Signed-off-by: Quan Xu
---
extras/mini-os/include/tpm_tis.h | 1 +
extras/mini-os/tpm_tis.c | 156
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/disk_write.c | 29 -
1 file changed, 20 insertions(+), 9 deletions(-)
diff --git a/stubdom/vtpmmgr/disk_write.c b/stubdom/vtpmmgr/disk_write.c
index 4c825c5..73018ef 100644
--- a/stubdom/vtpmmgr/disk_write.c
+++ b/stubdom
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/disk_read.c | 28
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/stubdom/vtpmmgr/disk_read.c b/stubdom/vtpmmgr/disk_read.c
index 33aacdd..57573e4 100644
--- a/stubdom/vtpmmgr/disk_read.c
+++ b/stubdom/vtpmmgr
Add TPM 2.0 data structures on Trusted Platform Module Library Part 2:
Structures and Trust Platform Module Library Part 3: Commands.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/tpm2_types.h | 978 +++
1 file changed, 978 insertions(+)
create mode 100644
Accept commands from the vtpm-stubdom domains via the mini-os TPM
backend driver. The vTPM manager communicates directly with hardware
TPM 2.0 using the mini-os tpm2_tis driver.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/init.c| 110 ++
stubdom
http://tpm-emulator.berlios.de/
Xen docs/misc/vtpm.txt
Xen docs/misc/vtpm-platforms.txt
Xen docs/misc/vtpmmgr.txt
--Changes in V2:
1. Record some infomation in docs/misc/vtpmmgr.txt.
2. Add TPM 2.0 PCRs read.
3. Bind/Unbind the measurements of the hypervisor and other
TCB components.
Accept commands from the vtpm-stubdom domains via the mini-os TPM
backend driver. The vTPM manager communicates directly with hardware
TPM 2.0 using the mini-os tpm2_tis driver.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/init.c| 109 ++
stubdom
TPM2_LoadExternal command is used.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/init.c| 101 ++
stubdom/vtpmmgr/vtpmmgr.h | 1 +
2 files changed, 102 insertions(+)
diff --git a/stubdom/vtpmmgr/init.c b/stubdom/vtpmmgr/init.c
index c654071..8244bb0 100644
ory=16
disk=["file:/var/scale/vdisk/vmgr,hda,w"]
name="vtpmmgr"
iomem=["fed40,5"]
extra="tpm2"
vtpm-stubdom domain configuration on TPM 1.x:
kernel="/usr/lib/xen/boot/vtpmmgr-stubdom.gz"
memory=16
disk=["file:/var/scale/vdis
Add TPM 2.0 data structure marshal for packing and unpacking TPM
2.0 data structures.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/tpm2_marshal.h | 673 +
1 file changed, 673 insertions(+)
create mode 100644 stubdom/vtpmmgr/tpm2_marshal.h
diff --git a
.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/init.c| 71 +++
stubdom/vtpmmgr/vtpmmgr.h | 3 ++
2 files changed, 74 insertions(+)
diff --git a/stubdom/vtpmmgr/init.c b/stubdom/vtpmmgr/init.c
index f3aa02f..c654071 100644
--- a/stubdom/vtpmmgr/init.c
Add TPM 2.0 data structures on Trusted Platform Module Library Part 2:
Structures and Trust Platform Module Library Part 3: Commands.
Signed-off-by: Quan Xu
---
stubdom/vtpmmgr/tpm2_types.h | 978 +++
1 file changed, 978 insertions(+)
create mode 100644
101 - 200 of 345 matches
Mail list logo