Ronny Ko <h...@g.harvard.edu>On 2017/9/13 Wed 22:26 wrote: > Hi Quan, > > My phsyical TPM is v2.0. I alrady tried 'iomem=["fed40,1"]' but didn't > work.. > > Actually, my DOM's TPM driver has been loaded. > Meanwhile, I thought xen-devel was too busy with other real issues, so I > asked this question to Daniel after that and he sent me a patch. I am > trying out his patch on xen-unstable, and if the patch works Daniel will > submit it upstream. > > I will let you guys know about the result soon. >
As the TPM manager uses direct access to the physical TPM, it may interfere to access to the TPM by dom0. for tpm2.0 Add: .. extra="tpm2" .. extra option to launch vtpmmgr domain on TPM 2.0, and ignore it on TPM 1.x. for example: kernel="/usr/lib/xen/boot/vtpmmgr.gz" memory=128 disk=["file:/home/vtpm2/vmgr,hda,w"] name="vtpmmgr" iomem=["fed40,5"] extra="tpm2" try again, good luck Quan > > On Wed, Sep 13, 2017 at 8:27 AM, Quan Xu <quan....@gmail.com> wrote: > >> >> >> on 2017/9/13 18:42, Wei Liu wrote: >> >>> Cc VTPM maintainers >>> >>> On Sun, Sep 10, 2017 at 03:07:04PM -0400, Ronny Ko wrote: >>> >>>> Hi, >>>> >>>> I'm a PhD student from Harvard University having a trouble in running >>>> vTPM manager. >>>> >>>> I cannot successfully launch vTPM manager in Xen, because when I >>>> command "sudo xl create vtpm-manager.cfg" to launch a virtual TPM VM, >>>> I get the following error: >>>> >>>> libxl: error: libxl_create.c:1295:domcreate_launch_dm: Domain >>>> 10:failed give domain access to iomeim range fed44-fed44: Operation >>>> not permitted >>>> >>>> In Xen, virtual TPM is a standalone VM that communicates with DOMu. >>>> "vtpm-manager.cfg" is Xen's configuration file for virtual TPM manager >>>> VM, whose contents are as follows: >>>> >>>> ============ vtpm-manager.cfg ================ >>>> kernel="/usr/local/lib/xen/boot/vtpmmgr-stubdom.gz" # vTPM manager >>>> code image >>>> memory=16 # 16M RAM size >>>> disk=["file:/home/skyer/Desktop/xen/vtpmmgr-stubdom.img,hda,w"] # >>>> disk storage >>>> name="vtpmmgr" # Just a nick name >>>> iomem=["fed44,1"] # This means, map physical memory from >>>> 0xfed44000-0xfed44fff for I/O, which is to be used by virtual TPM >>>> manager to communicate with the physical TPM device. >>>> =========================================== >>>> >>> >> Ronny, >> is your physical TPM device v1.2 or v2.0? >> >> for tpm1.2.. , commands that are sent to the TPM through the register set >> at address FED4.0000 are implicitly associated with locality 0. >> try 'iomem=["fed40,1"]' >> >> >> and make sure Dom0 's TPM driver is _not_ loaded... >> >> Quan >> >> My kernel is compiled with CONFIG_IO_STRICT_DEVMEM flag disabled, so >>>> iomem shouldn't be blocked by the kernel. I tried to map not only >>>> 0xfed44000, but also any other random addresses for testing, but all >>>> of them give the same error message as above. >>>> >>>> I'm launching the vTPM manager VM not from inside a DOMu Linux VM, but >>>> from inside the Linux kernel directly loaded by Xen-4.9.0 (which I >>>> suppose to be DOM0 Linux VM), and I believe this is the correct way to >>>> launch vTPM manager. >>>> >>>> In particular, I get the iomem() "operation not allowed" error at the >>>> source code line; >>>> ioctl(fd, IOCTL_PRIVCMD_HYPERCALL, hypercall); >>>> >>>> In ioctl(fd, IOCTL_PRIVCMD_HYPERCALL, hypercall), >>>> - "fd" is the special privileged Command device >>>> - "IOCTL_PRIVCMD_HYPERCALL" denotes that this is a privileged hypercall >>>> command >>>> - "hypercall" is an object containing the information of: { >>>> hypercall_command_index, target_DOM_id, iomem_start_page, >>>> iomem_page_count, allow_or_deny_access}. >>>> >>>> When I launch the vTPM manager, target_DOM_id = the ID of vTPM >>>> manager, iomem_start_page = 0xfed40, iomem_page_count = 5, and >>>> allow_or_deny_access = 1, and this ioctl() gives an >>>> "operation-not-allowed" error. But if I hard-code DOM_id = 0 just for >>>> a test, this error goes away, but then I get a 0xfed0 memory mapping >>>> failure error later on. >>>> >>>> To summarize, I cannot find the reason why the vTPM manager VM crashes >>>> with "Operation not permitted". If anyone has a clue, please give me >>>> some help. Thanks very much. >>>> >>>> Ronny >>>> >>>> _______________________________________________ >>>> Xen-devel mailing list >>>> Xen-devel@lists.xen.org >>>> https://lists.xen.org/xen-devel >>>> >>> >> >
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel