From 017e45c3f202116ad09d5abdcaeb88f5b5f52594 Mon Sep 17 00:00:00 2001 From: Deepak Kodihalli Date: Wed, 12 Jul 2017 01:06:30 -0500 Subject: vpnor: create hostboot bootloader partition The hostboot bootloader code doesn't use mbox. It has specific requirements: - The PNOR TOC should be at the 'PNOR end - TOC size - page size' offset. It searches for the TOC here, if not found, the search moves down page by page. - The PNOR should be 64M. The page size and erase block should be 4K. The TOC should be 32K. Copy what the bootloader expects to the LPC memory when mboxd starts up. The same needs to be done in the case of an mbox reset (irrespective of where the reset comes from). Skiboot expects that the TOC should be at offset 0, but it uses mbox to read the TOC. So this commit doesn't impact skiboot requirements. Change-Id: I7de556dccfea85f2faa5f401177006a3a562494e Signed-off-by: Deepak Kodihalli --- mboxd_msg.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'mboxd_msg.c') diff --git a/mboxd_msg.c b/mboxd_msg.c index 65946e8..437c67d 100644 --- a/mboxd_msg.c +++ b/mboxd_msg.c @@ -138,14 +138,15 @@ int clr_bmc_events(struct mbox_context *context, uint8_t bmc_event, /* * Command: RESET_STATE - * Reset the LPC mapping to point back at the flash + * Reset the LPC mapping to point back at the flash, or memory in case we're + * using a virtual pnor. */ static int mbox_handle_reset(struct mbox_context *context, union mbox_regs *req, struct mbox_msg *resp) { /* Host requested it -> No BMC Event */ reset_all_windows(context, NO_BMC_EVENT); - return point_to_flash(context); + return reset_lpc(context); } /* -- cgit v1.2.1