[Skiboot] [PATCH v7 19/22] mbox: Reset bmc mbox in MPIPL path

Vasant Hegde hegdevasant at linux.vnet.ibm.com
Tue Apr 16 16:38:59 AEST 2019


On 04/15/2019 05:14 AM, Andrew Jeffery wrote:
> 
> 
> On Sat, 13 Apr 2019, at 18:47, Vasant Hegde wrote:
>> During boot SBE and early hostboot does not use MBOX
> 
> s/MBOX/HIOMAP/ throughout.

Fixed.

> 
>> protocol to get image
>> from PNOR. Instead it expects PNOR TOC and Hostboot Boot Loader to be
>> available at particular address in LPC bus. mbox daemon in BMC side takes
>> care of this during normal boot. Once boot is complete mbox daemon swiches
> 
> s/swiches/switches/

Fixed.


>> Note that this is workaround to get mbox working for now. Long term solution is
>> to use a bit in the Host Status byte of the mbox protocol's memory layout to
>> indicate to mboxd that the host is preparing for reboot. We will implement once
>> BMC side implementation is complete.
> 
> This simple reset is no-longer possible due to the nature of IPMI. Best replace
> this paragraph with a discussion of the requirements (i.e. that LPC and IPMI are
> functional).

Sure. will fix it in next version.

.../...

>>   
>> +bool flash_unregister(void)
>> +{
>> +	struct blocklevel_device *bl = system_flash->bl;
>> +
>> +	if (dt_find_compatible_node(dt_root, NULL, "mbox"))
> 
> I think it would be better to use ast_lpc_fw_ipmi_hiomap()
> here, and add another case for ast_lpc_fw_mbox_hiomap()

How about adding new call to "struct blocklevel_device". Like
	struct blocklevel_device {
		bool (*reset) (...)
	}

Then during init it will set reset() pointer . Here we just need to call reset 
function

	if (bl->reset)
		return bl->reset();

-Vasant



More information about the Skiboot mailing list