blob: 0783ace2443da021d6d595bbf5216e7c16a47e75 [file] [log] [blame]
Stefan Reinauer3f8989e2012-04-25 22:58:23 +02001/*
2 * This file is part of the coreboot project.
3 *
Vadim Bendebury537b4e02012-06-19 12:56:57 -07004 * Copyright (C) 2012 The ChromiumOS Authors. All rights reserved.
Stefan Reinauer3f8989e2012-04-25 22:58:23 +02005 * Copyright (C) 2000 Ronald G. Minnich
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; version 2 of the License.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
Stefan Reinauer3f8989e2012-04-25 22:58:23 +020015 */
Vadim Bendebury537b4e02012-06-19 12:56:57 -070016#ifndef __CPU__INTEL__MICROCODE__
17#define __CPU__INTEL__MICROCODE__
Stefan Reinauer3f8989e2012-04-25 22:58:23 +020018
Aaron Durbina02bb652016-02-05 14:58:06 -060019#include <stdint.h>
20
Vadim Bendebury537b4e02012-06-19 12:56:57 -070021void intel_update_microcode_from_cbfs(void);
Aaron Durbin98ffb422013-01-15 15:15:32 -060022/* Find a microcode that matches the revision and platform family returning
23 * NULL if none found. */
24const void *intel_microcode_find(void);
25/* It is up to the caller to determine if parallel loading is possible as
Paul Menzeld46161e2013-03-30 21:01:13 +010026 * well as ensuring the microcode matches the family and revision (i.e. with
Aaron Durbin98ffb422013-01-15 15:15:32 -060027 * intel_microcode_find()). */
28void intel_microcode_load_unlocked(const void *microcode_patch);
Rizwan Qureshi30b755b2015-07-23 22:31:51 +053029
30/* SoC specific check to determine if microcode update is really
31 * required, will skip microcode update if true. */
32int soc_skip_ucode_update(u32 currrent_patch_id, u32 new_patch_id);
Vadim Bendebury537b4e02012-06-19 12:56:57 -070033
34#endif