On 5/12/20 1:44 PM, Daniel P. Berrangé wrote:
On Tue, May 12, 2020 at 01:21:40PM -0300, Daniel Henrique Barboza
wrote:
>
>
> On 5/12/20 12:53 PM, Daniel P. Berrangé wrote:
>> On Tue, May 12, 2020 at 11:21:52AM -0400, Stefan Berger wrote:
>>> On 5/11/20 7:28 AM, Daniel P. Berrangé wrote:
>>>> On Mon, May 11, 2020 at 08:26:53AM -0300, Daniel Henrique Barboza wrote:
>>>>>
>>>>> On 5/11/20 6:57 AM, Daniel P. Berrangé wrote:
>>>>>> On Mon, May 11, 2020 at 11:22:57AM +1000, David Gibson wrote:
>>>>> [...]
>>>>>>> It's a different guest side interface, the H_TPM_COMM
hypercall
>>>>>>> instead of the other PAPR TPM interface. To which
"why?" is a very
>>>>>>> good question, but it's there now, so there's not
much we can do about
>>>>>>> it.
>>>>>> That's ok. Even though its a different guest interface, it is
still
>>>>>> conceptually a TPM device at a high level, so we should be
reusing
>>>>>> the existing <tpm> device type. At most we should add a new
backend
>>>>>> type
>>>>> I think adding a new backend type is sensible. Re-using the
passthrough type
>>>>> and making the differentiation with 'model', for a device
that doesn't
>>>>> operate exactly as a regular vTPM but can coexist with other vTPM
devices,
>>>>> will make for a lot of IFs in the code.
>>>> Currently libvirt only allows a single <tpm>, but we can trivially
>>>> lift that restriction to allow multiple if desired too.
>>>
>>>
>>> QEMU won't accept multiple TIS or CRB devices, though.
>>
>> The commit message says you can do 2 at a time:
>>
>> "Although redundant, there is currently no technical
>> limitation for a guest to assign both a vTPM and a TPM Proxy at the
>> same time."
>>
>> is that text not accurate ?
>
>
> It is. A TPM Proxy is not considered a TIS or CRB, so it's ok to mix it up
> with another TPM device. The allowed combinations are:
>
> - single vTPM device
> - single TPM Proxy device
> - a single vTPM + single TPM Proxy devices
So we do need multiple <tpm> support in the XML for this last case
then.
Indeed we do. Working on it ATM. The plan is for this kind of XML format to be valid:
<tpm model='tpm-tis'>
<backend type='passthrough'>
<device path='/dev/tpm0'/>
</backend>
</tpm>
<tpm model='spapr-tpm-proxy'>
<backend type='passthrough'>
<device path='/dev/tpmrm0'/>
</backend>
</tpm>
A TPM Proxy allows a second TPM device to be added, as long as it's not a second TPM
Proxy device.
Thanks,
DHB
Regards,
Daniel