qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Ninad Palsule <ninad@linux.vnet.ibm.com>
To: "Cédric Le Goater" <clg@kaod.org>,
	"Ninad Palsule" <ninad@linux.ibm.com>,
	qemu-devel@nongnu.org, peter.maydell@linaro.org, andrew@aj.id.au,
	joel@jms.id.au
Cc: qemu-arm@nongnu.org
Subject: Re: [PATCH v3 1/1] hw/arm/aspeed:Add vpd data for Rainier machine
Date: Wed, 24 May 2023 20:26:01 -0500	[thread overview]
Message-ID: <1f3d8799-7c12-e9d4-91bd-5fead72b7f82@linux.vnet.ibm.com> (raw)
In-Reply-To: <7fadea2f-39e0-902f-848a-8f9bd7ff1f52@kaod.org>

Hello Cedric,

On 5/24/23 1:36 AM, Cédric Le Goater wrote:
> On 5/23/23 23:45, Ninad Palsule wrote:
>> The current modeling of Rainier machine creates zero filled 
>> VPDs(EEPROMs).
>> This makes some services and applications unhappy and causing them to 
>> fail.
>> Hence this drop adds some fabricated data for system and BMC FRU so that
>> vpd services are happy and active.
>>
>> Tested:
>>     - The system-vpd.service is active.
>>     - VPD service related to bmc is active.
>>
>> Signed-off-by: Ninad Palsule <ninad@linux.ibm.com>
>
> You can keep the R-b tag when you resend, unless there are a lot of 
> changes.
Yes, Sure. Sorry about that.
>
> Reviewed-by: Cédric Le Goater <clg@kaod.org>
>
> Since I am curious, I started a rainier machine under QEMU and ran some
> commands :
>     root@p10bmc:~# hexdump -C /sys/bus/i2c/devices/i2c-8/8-0050/eeprom
>   00000000  00 00 00 00 00 00 00 00  00 00 00 84 28 00 52 54 
> |............(.RT|
>   00000010  04 56 48 44 52 56 44 02  01 00 50 54 0e 56 54 4f 
> |.VHDRVD...PT.VTO|
>   00000020  43 00 00 37 00 4a 00 00  00 00 00 50 46 08 00 00 
> |C..7.J.....PF...|
>   00000030  00 00 00 00 00 00 00 00  46 00 52 54 04 56 54 4f 
> |........F.RT.VTO|
>   00000040  43 50 54 38 56 49 4e 49  00 00 81 00 3a 00 00 00 
> |CPT8VINI....:...|
>   00000050  00 00 56 53 59 53 00 00  bb 00 27 00 00 00 00 00 
> |..VSYS....'.....|
>   00000060  56 43 45 4e 00 00 e2 00  27 00 00 00 00 00 56 53 
> |VCEN....'.....VS|
>   00000070  42 50 00 00 09 01 19 00  00 00 00 00 50 46 01 00 
> |BP..........PF..|
>   00000080  00 00 36 00 52 54 04 56  49 4e 49 44 52 04 44 45 
> |..6.RT.VINIDR.DE|
>   00000090  53 43 48 57 02 30 31 43  43 04 33 34 35 36 46 4e 
> |SCHW.01CC.3456FN|
>   000000a0  04 46 52 34 39 53 4e 04  53 52 31 32 50 4e 04 50 
> |.FR49SN.SR12PN.P|
>   000000b0  52 39 39 50 46 04 00 00  00 00 00 00 23 00 52 54 
> |R99PF.......#.RT|
>   000000c0  04 56 53 59 53 53 45 07  49 42 4d 53 59 53 31 54 
> |.VSYSSE.IBMSYS1T|
>   000000d0  4d 08 32 32 32 32 2d 32  32 32 50 46 04 00 00 00 
> |M.2222-222PF....|
>   000000e0  00 00 00 23 00 52 54 04  56 43 45 4e 53 45 07 31 
> |...#.RT.VCENSE.1|
>   000000f0  32 33 34 35 36 37 46 43  08 31 31 31 31 2d 31 31 
> |234567FC.1111-11|
>   00000100  31 50 46 04 00 00 00 00  00 00 15 00 52 54 04 56 
> |1PF.........RT.V|
>   00000110  53 42 50 49 4d 04 50 00  10 01 50 46 04 00 00 00 
> |SBPIM.P...PF....|
>   00000120  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 
> |................|
>   *
>   00002000
>   root@p10bmc:~# hexdump -C /sys/bus/i2c/devices/i2c-8/8-0051/eeprom
>   00000000  00 00 00 00 00 00 00 00  00 00 00 84 28 00 52 54 
> |............(.RT|
>   00000010  04 56 48 44 52 56 44 02  01 00 50 54 0e 56 54 4f 
> |.VHDRVD...PT.VTO|
>   00000020  43 00 00 37 00 20 00 00  00 00 00 50 46 08 00 00 |C..7. 
> .....PF...|
>   00000030  00 00 00 00 00 00 00 00  1c 00 52 54 04 56 54 4f 
> |..........RT.VTO|
>   00000040  43 50 54 0e 56 49 4e 49  00 00 57 00 1e 00 00 00 
> |CPT.VINI..W.....|
>   00000050  00 00 50 46 01 00 00 00  1a 00 52 54 04 56 49 4e 
> |..PF......RT.VIN|
>   00000060  49 44 52 04 44 45 53 43  48 57 02 30 31 50 46 04 
> |IDR.DESCHW.01PF.|
>   00000070  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00 
> |................|
>
> and
>
>   root@p10bmc:~# systemctl status  com.ibm.VPD.Manager.service  -l
>   * com.ibm.VPD.Manager.service - IBM VPD Manager
>        Loaded: loaded 
> (/lib/systemd/system/com.ibm.VPD.Manager.service; enabled; preset: 
> enabled)
>        Active: active (running) since Wed 2023-05-24 06:26:34 UTC; 
> 1min 28s ago
>      Main PID: 2784 (vpd-manager)
>           CPU: 101ms
>        CGroup: /system.slice/com.ibm.VPD.Manager.service
>                `-2784 /usr/bin/vpd-manager
>

Thank you for checking.


> But, I also got this :
>
>   root@p10bmc:~# [   91.656331] watchdog: watchdog0: watchdog did not 
> stop!
>   [   91.734858] systemd-shutdown[1]: Using hardware watchdog 
> 'aspeed_wdt', version 0, device /dev/watchdog0
>   [   91.735766] systemd-shutdown[1]: Watchdog running with a timeout 
> of 1min.
>   [   91.987363] systemd-shutdown[1]: Syncing filesystems and block 
> devices.
>   [   93.471897] systemd-shutdown[1]: Sending SIGTERM to remaining 
> processes...
This is a different issue. I am also hitting it without my changes.
>
> and the machine rebooted.
>
> Joel had the same problem :
>     https://github.com/openbmc/qemu/issues/39
>   Is it unrelated ? I haven't started a rainier in 2 years at least so 
> I can
> not tell.
>   Thanks,
>   C.
>
>
>
>
>
>
>> ---
>>   hw/arm/aspeed.c        |  6 ++++--
>>   hw/arm/aspeed_eeprom.c | 45 +++++++++++++++++++++++++++++++++++++++++-
>>   hw/arm/aspeed_eeprom.h |  5 +++++
>>   3 files changed, 53 insertions(+), 3 deletions(-)
>>
>> diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
>> index 0b29028fe1..bfc2070bd2 100644
>> --- a/hw/arm/aspeed.c
>> +++ b/hw/arm/aspeed.c
>> @@ -788,8 +788,10 @@ static void 
>> rainier_bmc_i2c_init(AspeedMachineState *bmc)
>>                        0x48);
>> i2c_slave_create_simple(aspeed_i2c_get_bus(&soc->i2c, 8), TYPE_TMP105,
>>                        0x4a);
>> -    at24c_eeprom_init(aspeed_i2c_get_bus(&soc->i2c, 8), 0x50, 64 * 
>> KiB);
>> -    at24c_eeprom_init(aspeed_i2c_get_bus(&soc->i2c, 8), 0x51, 64 * 
>> KiB);
>> +    at24c_eeprom_init_rom(aspeed_i2c_get_bus(&soc->i2c, 8), 0x50,
>> +                          64 * KiB, rainier_bb_fruid, 
>> rainier_bb_fruid_len);
>> +    at24c_eeprom_init_rom(aspeed_i2c_get_bus(&soc->i2c, 8), 0x51,
>> +                          64 * KiB, rainier_bmc_fruid, 
>> rainier_bmc_fruid_len);
>>       create_pca9552(soc, 8, 0x60);
>>       create_pca9552(soc, 8, 0x61);
>>       /* Bus 8: ucd90320@11 */
>> diff --git a/hw/arm/aspeed_eeprom.c b/hw/arm/aspeed_eeprom.c
>> index dc33a88a54..ace5266cec 100644
>> --- a/hw/arm/aspeed_eeprom.c
>> +++ b/hw/arm/aspeed_eeprom.c
>> @@ -119,9 +119,52 @@ const uint8_t yosemitev2_bmc_fruid[] = {
>>       0x6e, 0x66, 0x69, 0x67, 0x20, 0x41, 0xc1, 0x45,
>>   };
>>   +const uint8_t rainier_bb_fruid[] = {
>> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
>> 0x00, 0x84,
>> +    0x28, 0x00, 0x52, 0x54, 0x04, 0x56, 0x48, 0x44, 0x52, 0x56, 
>> 0x44, 0x02,
>> +    0x01, 0x00, 0x50, 0x54, 0x0e, 0x56, 0x54, 0x4f, 0x43, 0x00, 
>> 0x00, 0x37,
>> +    0x00, 0x4a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x46, 0x08, 
>> 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00, 
>> 0x52, 0x54,
>> +    0x04, 0x56, 0x54, 0x4f, 0x43, 0x50, 0x54, 0x38, 0x56, 0x49, 
>> 0x4e, 0x49,
>> +    0x00, 0x00, 0x81, 0x00, 0x3a, 0x00, 0x00, 0x00, 0x00, 0x00, 
>> 0x56, 0x53,
>> +    0x59, 0x53, 0x00, 0x00, 0xbb, 0x00, 0x27, 0x00, 0x00, 0x00, 
>> 0x00, 0x00,
>> +    0x56, 0x43, 0x45, 0x4e, 0x00, 0x00, 0xe2, 0x00, 0x27, 0x00, 
>> 0x00, 0x00,
>> +    0x00, 0x00, 0x56, 0x53, 0x42, 0x50, 0x00, 0x00, 0x09, 0x01, 
>> 0x19, 0x00,
>> +    0x00, 0x00, 0x00, 0x00, 0x50, 0x46, 0x01, 0x00, 0x00, 0x00, 
>> 0x36, 0x00,
>> +    0x52, 0x54, 0x04, 0x56, 0x49, 0x4e, 0x49, 0x44, 0x52, 0x04, 
>> 0x44, 0x45,
>> +    0x53, 0x43, 0x48, 0x57, 0x02, 0x30, 0x31, 0x43, 0x43, 0x04, 
>> 0x33, 0x34,
>> +    0x35, 0x36, 0x46, 0x4e, 0x04, 0x46, 0x52, 0x34, 0x39, 0x53, 
>> 0x4e, 0x04,
>> +    0x53, 0x52, 0x31, 0x32, 0x50, 0x4e, 0x04, 0x50, 0x52, 0x39, 
>> 0x39, 0x50,
>> +    0x46, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x00, 
>> 0x52, 0x54,
>> +    0x04, 0x56, 0x53, 0x59, 0x53, 0x53, 0x45, 0x07, 0x49, 0x42, 
>> 0x4d, 0x53,
>> +    0x59, 0x53, 0x31, 0x54, 0x4d, 0x08, 0x32, 0x32, 0x32, 0x32, 
>> 0x2d, 0x32,
>> +    0x32, 0x32, 0x50, 0x46, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 
>> 0x00, 0x23,
>> +    0x00, 0x52, 0x54, 0x04, 0x56, 0x43, 0x45, 0x4e, 0x53, 0x45, 
>> 0x07, 0x31,
>> +    0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x46, 0x43, 0x08, 0x31, 
>> 0x31, 0x31,
>> +    0x31, 0x2d, 0x31, 0x31, 0x31, 0x50, 0x46, 0x04, 0x00, 0x00, 
>> 0x00, 0x00,
>> +    0x00, 0x00, 0x15, 0x00, 0x52, 0x54, 0x04, 0x56, 0x53, 0x42, 
>> 0x50, 0x49,
>> +    0x4d, 0x04, 0x50, 0x00, 0x10, 0x01, 0x50, 0x46, 0x04, 0x00, 
>> 0x00, 0x00,
>> +    0x00, 0x00,
>> +};
>> +
>> +/* Rainier BMC FRU */
>> +const uint8_t rainier_bmc_fruid[] = {
>> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
>> 0x00, 0x84,
>> +    0x28, 0x00, 0x52, 0x54, 0x04, 0x56, 0x48, 0x44, 0x52, 0x56, 
>> 0x44, 0x02,
>> +    0x01, 0x00, 0x50, 0x54, 0x0e, 0x56, 0x54, 0x4f, 0x43, 0x00, 
>> 0x00, 0x37,
>> +    0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x46, 0x08, 
>> 0x00, 0x00,
>> +    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 
>> 0x52, 0x54,
>> +    0x04, 0x56, 0x54, 0x4f, 0x43, 0x50, 0x54, 0x0e, 0x56, 0x49, 
>> 0x4e, 0x49,
>> +    0x00, 0x00, 0x57, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 
>> 0x50, 0x46,
>> +    0x01, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x52, 0x54, 0x04, 0x56, 
>> 0x49, 0x4e,
>> +    0x49, 0x44, 0x52, 0x04, 0x44, 0x45, 0x53, 0x43, 0x48, 0x57, 
>> 0x02, 0x30,
>> +    0x31, 0x50, 0x46, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
>> +};
>> +
>>   const size_t tiogapass_bmc_fruid_len = sizeof(tiogapass_bmc_fruid);
>>   const size_t fby35_nic_fruid_len = sizeof(fby35_nic_fruid);
>>   const size_t fby35_bb_fruid_len = sizeof(fby35_bb_fruid);
>>   const size_t fby35_bmc_fruid_len = sizeof(fby35_bmc_fruid);
>> -
>>   const size_t yosemitev2_bmc_fruid_len = sizeof(yosemitev2_bmc_fruid);
>> +const size_t rainier_bb_fruid_len = sizeof(rainier_bb_fruid);
>> +const size_t rainier_bmc_fruid_len = sizeof(rainier_bmc_fruid);
>> diff --git a/hw/arm/aspeed_eeprom.h b/hw/arm/aspeed_eeprom.h
>> index 86db6f0479..bbf9e54365 100644
>> --- a/hw/arm/aspeed_eeprom.h
>> +++ b/hw/arm/aspeed_eeprom.h
>> @@ -22,4 +22,9 @@ extern const size_t fby35_bmc_fruid_len;
>>   extern const uint8_t yosemitev2_bmc_fruid[];
>>   extern const size_t yosemitev2_bmc_fruid_len;
>>   +extern const uint8_t rainier_bb_fruid[];
>> +extern const size_t rainier_bb_fruid_len;
>> +extern const uint8_t rainier_bmc_fruid[];
>> +extern const size_t rainier_bmc_fruid_len;
>> +
>>   #endif
>


      parent reply	other threads:[~2023-05-25  1:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-23 21:45 [PATCH v3 0/1] Add vpd data for Rainier machine Ninad Palsule
2023-05-23 21:45 ` [PATCH v3 1/1] hw/arm/aspeed:Add " Ninad Palsule
2023-05-24  6:36   ` Cédric Le Goater
2023-05-24  7:44     ` Joel Stanley
2023-05-24  8:35       ` Cédric Le Goater
2023-05-25  0:30       ` Andrew Jeffery
2023-05-25  6:37         ` Cédric Le Goater
2023-05-25 19:57           ` Ninad Palsule
2023-05-26  6:18             ` Cédric Le Goater
2023-06-01 14:36               ` Ninad Palsule
2023-05-25  1:26     ` Ninad Palsule [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1f3d8799-7c12-e9d4-91bd-5fead72b7f82@linux.vnet.ibm.com \
    --to=ninad@linux.vnet.ibm.com \
    --cc=andrew@aj.id.au \
    --cc=clg@kaod.org \
    --cc=joel@jms.id.au \
    --cc=ninad@linux.ibm.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).