On 01/11/2018 12:38 PM, Laszlo Ersek wrote:
On 01/11/18 18:16, Stefan Berger wrote:
I can only point to the standard for the address. If QEMU has an API
where we can first try to allocate fed4 0000 and if that fails ask for
another address, then we can use that. But does driver initialization
work that way that we can first let all other devices register their
MMIO requirements and then the TPM device ask whether fed4 0000 is
available and then falls back to using a random address?
As far as I understand, QEMU would keep the base address generally
fixed, but it could be moved if (a) another platform device comes along
that needs a large contiguous area and it cannot be accommodated without
moving other devices around, or (b) the user wanted to move the address
on the command line for whatever reason.
(a) can be handled by changing a #define
(b) would be a bit more work.
I am not sure whether there's a registry for base addresses for devices
in the industry. Maybe it's just common knowledge that fed4 0000 per TCG
spec is a standard base address for the TPM hardware interface.
A comment on the PPI device would be great. I would like to coordinate
that with folks here before I make changes. The idea of the QEMU ACPI
table that holds the base address of this device looks appealing to me
unless there's that registry of base addresses and 0xffff 0000 .. 0xffff
00ff defines a well known PPI memory device.
So, I don't think the QEMU API that you describe exists, or that there's
a use case for it. AFAICT board code is expected to place platform
devices up-front so that the latter peacefully co-exist.
I want to add that TPM TIS works fine with Win10 and attached TPM 1.2
but not TPM 2, which seems to want a CRB.
Stefan
Thanks,
Laszlo
_______________________________________________
SeaBIOS mailing list
[email protected]
https://mail.coreboot.org/mailman/listinfo/seabios