Exemple #1
0
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;
}
Exemple #2
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;
}