|
@@ -376,7 +376,7 @@ static enum ucode_state __load_microcode_amd(u8 family, const u8 *data,
|
|
|
return UCODE_OK;
|
|
|
}
|
|
|
|
|
|
-enum ucode_state load_microcode_amd(u8 family, const u8 *data, size_t size)
|
|
|
+enum ucode_state load_microcode_amd(int cpu, u8 family, const u8 *data, size_t size)
|
|
|
{
|
|
|
enum ucode_state ret;
|
|
|
|
|
@@ -390,8 +390,8 @@ enum ucode_state load_microcode_amd(u8 family, const u8 *data, size_t size)
|
|
|
|
|
|
#if defined(CONFIG_MICROCODE_AMD_EARLY) && defined(CONFIG_X86_32)
|
|
|
/* save BSP's matching patch for early load */
|
|
|
- if (cpu_data(smp_processor_id()).cpu_index == boot_cpu_data.cpu_index) {
|
|
|
- struct ucode_patch *p = find_patch(smp_processor_id());
|
|
|
+ if (cpu_data(cpu).cpu_index == boot_cpu_data.cpu_index) {
|
|
|
+ struct ucode_patch *p = find_patch(cpu);
|
|
|
if (p) {
|
|
|
memset(amd_ucode_patch, 0, PATCH_MAX_SIZE);
|
|
|
memcpy(amd_ucode_patch, p->data, min_t(u32, ksize(p->data),
|
|
@@ -444,7 +444,7 @@ static enum ucode_state request_microcode_amd(int cpu, struct device *device,
|
|
|
goto fw_release;
|
|
|
}
|
|
|
|
|
|
- ret = load_microcode_amd(c->x86, fw->data, fw->size);
|
|
|
+ ret = load_microcode_amd(cpu, c->x86, fw->data, fw->size);
|
|
|
|
|
|
fw_release:
|
|
|
release_firmware(fw);
|