ron minnich wrote:
> support for node id and core id. We've been faking this for two
> years now.

Good improvement.


> +++ mainboard/amd/serengeti/Makefile  (working copy)
> @@ -27,6 +27,8 @@
>                       $(src)/southbridge/amd/amd8111/stage1_smbus.c \
>                       $(src)/southbridge/amd/amd8111/stage1_ctrl.c \
>                       $(src)/southbridge/amd/amd8111/stage1_enable_rom.c \
> +                     $(src)/arch/x86/amd/model_fxx/dualcore_id.c \
> +                     $(src)/arch/x86/amd/model_fxx/stage1.c \
>                       $(src)/northbridge/amd/k8/coherent_ht.c \
>                       $(src)/northbridge/amd/k8/libstage1.c \
>  
> @@ -38,10 +40,9 @@
>                       $(src)/arch/x86/pci_ops_conf1.c \
>                       $(src)/arch/x86/stage1_mtrr.c \
>                       $(src)/southbridge/amd/amd8111/stage1_smbus.c \
> -                     $(src)/arch/x86/amd/model_fxx/init_cpus.c \
>                       $(src)/arch/x86/amd/model_fxx/dualcore.c \
> -                     $(src)/arch/x86/amd/model_fxx/dualcore_id.c \
>                       $(src)/arch/x86/amd/model_fxx/fidvid.c \
> +                     $(src)/arch/x86/amd/model_fxx/init_cpus.c \
>                       $(src)/lib/clog2.c

Hm, is the order important?


>  /**
> + * Return core id/node id info. Always 0. 
> + */
> +struct node_core_id get_node_core_id(void)
> +{
> +     struct node_core_id id;
> +     id.nodeid = 0;
> +     id.coreid = 0;
> +}

Except there is no return. :)


> +     me = get_node_core_id();
> +     /* before we do anything, we want to stop if we dont run
> +      * on the bootstrap processor.
> +      * stop_ap is responsible for NOT stopping the BSP
> +      */
>  
> +     stop_ap();
> +

stop_ap() and comment could go before get_node_core_id().


>       /* Initialize global variables before we can think of using them.
>        * NEVER run this on an AP!
>        */
> -     global_vars_init(&globvars);
> -     globvars.init_detected = init_detected;
> +     if (me.nodeid == 0) {
> +             global_vars_init(&globvars);
> +             globvars.init_detected = init_detected;
> +     }

And in any case this check shouldn't be needed - then stop_ap() will
have failed and if that can happen it should be handled by stop_ap().


//Peter

--
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to