On 8/28/24 05:35, Cédric Le Goater wrote:
On 8/26/24 20:50, Guenter Roeck wrote:
Hi,

On 8/26/24 02:58, Cédric Le Goater wrote:
Hello Guenter,

On 8/9/24 00:05, Guenter Roeck wrote:
Hi,

On Tue, Jun 25, 2024 at 09:08:30AM +0200, Cédric Le Goater wrote:
The tacoma-bmc machine was a board including an AST2600 SoC based BMC
and a witherspoon like OpenPOWER system. It was used for bring up of
the AST2600 SoC in labs. It can be easily replaced by the rainier-bmc
machine which is part of a real product offering.

Signed-off-by: Cédric Le Goater <c...@redhat.com>

I have been using tacoma-bmc to test tcg,tpm-tis-i2c functionality
on arm. rainier-bmc doesn't support that, and other IBM BMCs which
do support it (bonnell, everest, system1) are not supported in qemu.

Do you have a suggested alternative ?

Could you use the ast2600-evb machine instead ? as done in
machine_aspeed.py, see routine test_arm_ast2600_evb_buildroot_tpm.


Unfortunately, that does not work for me because that requires instantiating
the tpm chip from the CLI by writing into the new_device sysfs attribute,
and I can not do that in my test environment.

Ah. too bad.

We can't add a "tpm-tis-i2c" device to the tacoma-bmc machine init
routine because a TPM backend is required.


Not sure I understand; tacoma-bmc instantiates the TPM chip through its
devicetree file which is what I was looking for.

I meant at the "HW" board level in QEMU.

We can not instantiate the TPM I2C chip device model in the tacoma-bmc
machine init routine and attach it to the I2C bus because of the required
TPM backend. This means that the device is necessarily defined on the QEMU
command line and this makes the ast2600-evb and tacoma-bmc machine very
similar in terms of HW definitions.


Yes, I found that as well.

I solved the problem by adding support for IBM Bonnell (which instantiates
the TPM chip through its devicetree file, similar to tacoma-bmc) to my local
copy of qemu.

Hmm, did you copy the rainier-bmc machine definition ?

For aspeed_machine_bonnell_class_init(), pretty much yes, since I don't know
the actual hardware. For I2C initialization I used the devicetree file.
You can find the patch in the master-local or v9.1.0-local branches
of my qemu clone at https://github.com/groeck/qemu if you are interested.

It isn't perfect since I don't know the correct HW pin strapping
and reused the strapping from Rainier, but it works for me.

Keeping the tacoma-bmc machine is fine if there is a use for it. Testing
the TPM I2C device driver is certainly a good use but we should reflect
that in QEMU also (so that we don't forget). Could we change the test in
machine_aspeed.py to use the tacoma-bmc machine instead ? and revert the
deprecation patch of course.


No need from my perspective. This isn't the only patch I carry on top of
upstream qemu, after all.

Thanks,
Guenter


Reply via email to