Re: [U-Boot] [PATCH 02/30] x86: ivybridge: Allow microcode to be collated

2016-08-28 Thread Bin Meng
On Thu, Jul 28, 2016 at 2:53 PM, Bin Meng  wrote:
> On Tue, Jul 26, 2016 at 8:58 AM, Simon Glass  wrote:
>> Generally the microcode is combined into a single block only (and removed
>> from the device tree) when there are multiple blocks. But this is not a
>> requirement.
>>
>> Adjust the ivybridge code to avoid assuming this.
>>
>> Signed-off-by: Simon Glass 
>> ---
>>
>>  arch/x86/cpu/intel_common/microcode.c | 12 +++-
>>  1 file changed, 11 insertions(+), 1 deletion(-)
>>
>
> Reviewed-by: Bin Meng 

applied to u-boot-x86, thanks!
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


Re: [U-Boot] [PATCH 02/30] x86: ivybridge: Allow microcode to be collated

2016-07-27 Thread Bin Meng
On Tue, Jul 26, 2016 at 8:58 AM, Simon Glass  wrote:
> Generally the microcode is combined into a single block only (and removed
> from the device tree) when there are multiple blocks. But this is not a
> requirement.
>
> Adjust the ivybridge code to avoid assuming this.
>
> Signed-off-by: Simon Glass 
> ---
>
>  arch/x86/cpu/intel_common/microcode.c | 12 +++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
>

Reviewed-by: Bin Meng 
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH 02/30] x86: ivybridge: Allow microcode to be collated

2016-07-25 Thread Simon Glass
Generally the microcode is combined into a single block only (and removed
from the device tree) when there are multiple blocks. But this is not a
requirement.

Adjust the ivybridge code to avoid assuming this.

Signed-off-by: Simon Glass 
---

 arch/x86/cpu/intel_common/microcode.c | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/x86/cpu/intel_common/microcode.c 
b/arch/x86/cpu/intel_common/microcode.c
index daf0d69..eac5b78 100644
--- a/arch/x86/cpu/intel_common/microcode.c
+++ b/arch/x86/cpu/intel_common/microcode.c
@@ -43,7 +43,7 @@ static int microcode_decode_node(const void *blob, int node,
 {
update->data = fdt_getprop(blob, node, "data", &update->size);
if (!update->data)
-   return -EINVAL;
+   return -ENOENT;
update->data += UCODE_HEADER_LEN;
update->size -= UCODE_HEADER_LEN;
 
@@ -145,6 +145,16 @@ int microcode_update_intel(void)
}
 
ret = microcode_decode_node(blob, node, &update);
+   if (ret == -ENOENT && ucode_base) {
+   /*
+* The microcode has been removed from the device tree
+* in the build system. In that case it will have
+* already been updated in car_init().
+*/
+   debug("%s: Microcode data not available\n", __func__);
+   skipped++;
+   continue;
+   }
if (ret) {
debug("%s: Unable to decode update: %d\n", __func__,
  ret);
-- 
2.8.0.rc3.226.g39d4020

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot