static int prepare_mrc_cache(struct pei_data *pei_data) { struct mrc_data_container *mrc_cache; struct fmap_entry entry; int ret; ret = read_seed_from_cmos(pei_data); if (ret) return ret; ret = get_mrc_entry(NULL, &entry); if (ret) return ret; mrc_cache = mrccache_find_current(&entry); if (!mrc_cache) return -ENOENT; /* * TODO([email protected]): Skip this for now as it causes boot * problems */ if (0) { pei_data->mrc_input = mrc_cache->data; pei_data->mrc_input_len = mrc_cache->data_size; } debug("%s: at %p, size %x checksum %04x\n", __func__, pei_data->mrc_input, pei_data->mrc_input_len, mrc_cache->checksum); return 0; }
static int prepare_mrc_cache(struct pei_data *pei_data) { struct mrc_data_container *mrc_cache; struct mrc_region entry; int ret; ret = read_seed_from_cmos(pei_data); if (ret) return ret; ret = mrccache_get_region(NULL, &entry); if (ret) return ret; mrc_cache = mrccache_find_current(&entry); if (!mrc_cache) return -ENOENT; pei_data->mrc_input = mrc_cache->data; pei_data->mrc_input_len = mrc_cache->data_size; debug("%s: at %p, size %x checksum %04x\n", __func__, pei_data->mrc_input, pei_data->mrc_input_len, mrc_cache->checksum); return 0; }