[PATCH 2/2] score: SMP initialization changes

2014-04-11 Thread Sebastian Huber
_t _CPU_SMP_Get_current_processor( void ); diff --git a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h index c864164..5241b5b 100644 --- a/cpukit/score/cpu/no_cpu/rtems/score/cpu.h +++ b/cpukit/score/cpu/no_cpu/rtems/score/cpu.h @@ -1467,19 +1467,47 @@

Re: SMP Initialization

2014-03-06 Thread Sebastian Huber
On 2014-03-07 03:25, Chris Johns wrote: On 6/03/2014 9:04 pm, Sebastian Huber wrote: Hello, there is a potential problem in the SMP initialization procedure. One processor in the system has a special role, the so called boot processor. Currently this is the processor with index zero. The way

Re: SMP Initialization

2014-03-06 Thread Chris Johns
On 6/03/2014 9:04 pm, Sebastian Huber wrote: Hello, there is a potential problem in the SMP initialization procedure. One processor in the system has a special role, the so called boot processor. Currently this is the processor with index zero. The way to select the boot processor may change

Re: SMP Initialization

2014-03-06 Thread Gedare Bloom
On Thu, Mar 6, 2014 at 5:04 AM, Sebastian Huber wrote: > Hello, > > there is a potential problem in the SMP initialization procedure. > > One processor in the system has a special role, the so called boot > processor. Currently this is the processor with index zero. The way to

SMP Initialization

2014-03-06 Thread Sebastian Huber
Hello, there is a potential problem in the SMP initialization procedure. One processor in the system has a special role, the so called boot processor. Currently this is the processor with index zero. The way to select the boot processor may change in the future, but what will not change is

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-03-02 Thread Chris Johns
and without it I am limited to commenting in patches about general design issues. The SMP initialization existed before my involvement in this area. It is not my work and I only fix basic problems here. I know this is the case and I am also not asking you to fix the problem. I am attempting to id

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-27 Thread Sebastian Huber
atches about general design issues. The SMP initialization existed before my involvement in this area. It is not my work and I only fix basic problems here. I put a great deal of information into the wiki page http://www.rtems.org/wiki/index.php?title=SMP I also sent several e-mails to the list i

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-27 Thread Chris Johns
makes the boot monitor simpler. Given I currently only use the ARM which is easy and I will not ship uboot due to licensing reason I favour adding support to RTEMS. :) The boot processor calls boot_card() and all other processors do what they want, but they must wait until the boot process

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-26 Thread Sebastian Huber
ort to RTEMS what we want to have and worth it verses adding this code gives us complete control over initialisation and makes the boot monitor simpler. Given I currently only use the ARM which is easy and I will not ship uboot due to licensing reason I favour adding support to RTEMS. :) The b

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-26 Thread Sebastian Huber
On 2014-02-25 00:13, Chris Johns wrote: On 25/02/2014 10:02 am, Chris Johns wrote: Does a LEON3 define START_LEON3_ENABLE_SMP ? I mean LEON4, that is "Does a LEON4 define START_LEON3_ENABLE_SMP ?". There is no specific LEON4 BSP, so LEON3 and LEON4 are currently equal in RTEMS. -- Sebastian

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-24 Thread Chris Johns
On 25/02/2014 10:02 am, Chris Johns wrote: Does a LEON3 define START_LEON3_ENABLE_SMP ? I mean LEON4, that is "Does a LEON4 define START_LEON3_ENABLE_SMP ?". Chris ___ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listin

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-24 Thread Chris Johns
s the boot monitor simpler. Given I currently only use the ARM which is easy and I will not ship uboot due to licensing reason I favour adding support to RTEMS. :) The boot processor calls boot_card() and all other processors do what they want, but they must wait until the boot processor give

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-20 Thread Sebastian Huber
ates start with PER_CPU_STATE_INITIAL. The boot processor calls boot_card() and all other processors do what they want, but they must wait until the boot processor gives the go (explained later). The boot processor calls eventually: /** * @brief Performs CPU specific SMP initialization in

Re: [PATCH v2] score: SMP initialization and shutdown changes

2014-02-20 Thread Sebastian Huber
On 2014-02-20 18:36, Gedare Bloom wrote: What RTEMS configure and BSPs do you test this on? My configure options are --enable-posix --enable-smp --enable-tests --enable-cxx --enable-networking I test on SPARC LEON4 (NGMP is a four processor board), on PowerPC P1020RDB (two processor board) a

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-20 Thread Chris Johns
On 21/02/2014 3:31 am, Sebastian Huber wrote: Hello Chris, On 2014-02-20 03:50, Chris Johns wrote: On 20/02/2014 12:42 am, Sebastian Huber wrote: +/** + * @brief State of a processor. + * + * @dot + * digraph states { + * bi [label="PER_CPU_STATE_BEFORE_INITIALIZATION"]; + * rsm [label="PE

Re: [PATCH v2] score: SMP initialization and shutdown changes

2014-02-20 Thread Gedare Bloom
What RTEMS configure and BSPs do you test this on? On Thu, Feb 20, 2014 at 11:22 AM, Sebastian Huber wrote: > Rename _SMP_Request_other_cores_to_perform_first_context_switch() into > _SMP_Request_start_multitasking() since this requests now a multitasking > start on all configured and available p

[PATCH v2] score: SMP initialization and shutdown changes

2014-02-20 Thread Sebastian Huber
Rename _SMP_Request_other_cores_to_perform_first_context_switch() into _SMP_Request_start_multitasking() since this requests now a multitasking start on all configured and available processors. The name corresponds _Thread_Start_multitasking() and _SMP_Start_multitasking_on_secondary_processor() a

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-19 Thread Chris Johns
On 20/02/2014 12:42 am, Sebastian Huber wrote: +/** + * @brief State of a processor. + * + * @dot + * digraph states { + * bi [label="PER_CPU_STATE_BEFORE_INITIALIZATION"]; + * rsm [label="PER_CPU_STATE_READY_TO_START_MULTITASKING"]; + * sm [label="PER_CPU_STATE_START_MULTITASKING"]; + *

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-19 Thread Sebastian Huber
On 2014-02-19 16:11, Gedare Bloom wrote: There is dissimilarity between the SMP handler function names * _SMP_Request_processors_to_shutdown * _SMP_Request_start_multitasking_on_secondary_processors() Note the order switch between the verb and object. If you like the similar with _Thread_Start_m

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-19 Thread Gedare Bloom
Ok On Wed, Feb 19, 2014 at 10:50 AM, Sebastian Huber wrote: > On 2014-02-19 16:11, Gedare Bloom wrote: >> >> There is dissimilarity between the SMP handler function names >> * _SMP_Request_processors_to_shutdown >> * _SMP_Request_start_multitasking_on_secondary_processors() >> >> Note the order s

Re: [PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-19 Thread Gedare Bloom
Hi, There is dissimilarity between the SMP handler function names * _SMP_Request_processors_to_shutdown * _SMP_Request_start_multitasking_on_secondary_processors() Note the order switch between the verb and object. If you like the similar with _Thread_Start_multitasking, I recommend using _SMP_Req

[PATCH 2/4] score: SMP initialization and shutdown changes

2014-02-19 Thread Sebastian Huber
Rename _SMP_Request_other_cores_to_perform_first_context_switch() into _SMP_Request_start_multitasking_on_secondary_processors() to match the corresponding _SMP_Start_multitasking_on_secondary_processor() action of secondary processors. Highlights also similarity to _Thread_Start_multitasking().

[PATCH 09/11] smp: Simplify SMP initialization sequence

2013-05-27 Thread Sebastian Huber
Delete bsp_smp_wait_for(). Other parts of the system work without timeout, e.g. the spinlocks. Using a timeout here does not make the system more robust. Delete bsp_smp_cpu_state and replace it with Per_CPU_State. The Per_CPU_State follows the Score naming conventions. Add _Per_CPU_Change_stat