[coreboot] [patch][v2][2/4] Family 10

Stefan Reinauer stepan at coresystems.de
Tue Apr 22 19:42:06 CEST 2008


* Marc Jones <Marc.Jones at amd.com> [080416 19:19]:
> Update the FAM10 microcode to current versions. In addition, AP microcode is 
> now updated in early initialization to support errata settings that require it.
> 
> 
> Signed-off-by: Marc Jones (marc.jones at amd.com)
 
Acked-by: Stefan Reinauer <stepan at coresystems.de>

See a few comments below. They're mostly future ideas.

Stefan

> 
> 
> Index: coreboot-v2/src/cpu/amd/microcode/microcode.c
> ===================================================================
> --- coreboot-v2.orig/src/cpu/amd/microcode/microcode.c	2008-04-16 10:20:04.000000000 -0600
> +++ coreboot-v2/src/cpu/amd/microcode/microcode.c	2008-04-16 10:27:43.000000000 -0600
> @@ -61,8 +61,8 @@
>  {
>  
>  	if (m->processor_rev_id != equivalent_processor_rev_id) {
> -		printk_debug("microcode: rev id does not match this patch.\n");
> -		printk_debug("microcode: Not updated! Fix microcode_updates[] \n");
> +		printk_err("microcode: rev id (%x) does not match this patch.\n", m->processor_rev_id);
> +		printk_err("microcode: Not updated! Fix microcode_updates[] \n");
>  		return 0;

Is this really an error condition? Or rather a warning? How serious is
it?

> Index: coreboot-v2/src/cpu/amd/model_10xxx/mc_patch_01000065.h
> ===================================================================
> --- /dev/null	1970-01-01 00:00:00.000000000 +0000
> +++ coreboot-v2/src/cpu/amd/model_10xxx/mc_patch_01000065.h	2008-04-16 09:49:40.000000000 -0600
> @@ -0,0 +1,164 @@
> +/*
> + ============================================================
> + (c) Advanced Micro Devices, Inc., 2004-2008
> +
> + The  enclosed microcode  is intended  to be  used  with AMD
> + Microprocessors.  You  may   copy,  view  and  install  the
> + enclosed microcode  only for development  and deployment of
> + firmware,  BIOS,  or  operating  system code  for  computer
> + systems   that  contain  AMD   processors.   You   are  not
> + authorized  to use  the  enclosed microcode  for any  other
> + purpose.
> +
> + THE  MICROCODE IS PROVIDED  "AS IS"  WITHOUT ANY  EXPRESS OR
> + IMPLIED WARRANTY  OF ANY KIND, INCLUDING BUT  NOT LIMITED TO
> + WARRANTIES    OF    MERCHANTABILITY,   NON-    INFRINGEMENT,
> + TITLE,FITNESS  FOR  ANY  PARTICULAR PURPOSE,  OR  WARRANTIES
> + ARISING FROM CONDUCT, COURSE  OF DEALING, OR USAGE OF TRADE.
> + AMD does not assume  any responsibility for any errors which
> + may  appear   in  this   microcode  or  any   other  related
> + information provided  to you by  AMD, or result from  use of
> + this microcode.   AMD is not obligated  to furnish, support,
> + or  make   any  further  information,   software,  technical
> + information, know-how, or show-how available related to this
> + microcode.
> +
> + The  microcode is provided  with "RESTRICTED  RIGHTS."  Use,
> + duplication, or disclosure by the U.S. Government is subject
> + to  the  restrictions as  set  forth  in  FAR 52.227-14  and
> + DFAR252.227-7013,  et seq.,  or its  successor.  Use  of the
> + microcode    by    the    U.S.     Government    constitutes
> + acknowledgement  of   AMD's  proprietary  rights   in  them.
> + ============================================================
> +*/

I know this is an old license and we have been accepting this before.
We are fine with linking this into our code, are we?

Would it make sense for v3 to pack this into a lar? and load it
externally?


> @@ -455,6 +450,7 @@
>  	{ X86_VENDOR_AMD, 0x100f21 },
>  	{ X86_VENDOR_AMD, 0x100f2A },
>  	{ X86_VENDOR_AMD, 0x100f22 },
> +	{ X86_VENDOR_AMD, 0x100f23 },
>  	{ 0, 0 },
>  };

I want to suggest here that the list of CPUs is changed to only use
family and model but not stepping. AMD CPUs are not broken enough that
we need different cpu init code per stepping. So it is enough to write

{ X86_VENDOR_AMD, 0x100f20 },

and it will match 1, a, 2, 3, ....

I am not a fan of artificially restricting the number of machines that
are correctly initialized just because a developer didnt have it in
her/his hands yet.

-- 
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
      Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info at coresystems.dehttp://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866




More information about the coreboot mailing list