forked from Imagelibrary/rtems
Create a GS segment in the GDT for each processor for storing TLS. This makes the GDT in startAP.S obsolete as all processors now share the same GDT, which is passed to each AP at startup. The correct segment for each processor is calculated in cpu_asm.S. Update #3335
23 lines
538 B
C
23 lines
538 B
C
/*
|
|
* COPYRIGHT (c) 2011.
|
|
* On-Line Applications Research Corporation (OAR).
|
|
*
|
|
* The license and distribution terms for this file may be
|
|
* found in the file LICENSE in this distribution or at
|
|
* http://www.rtems.org/license/LICENSE.
|
|
*/
|
|
|
|
#include <rtems/score/cpu.h>
|
|
|
|
#include <bsp/apic.h>
|
|
#include <bsp/smp-imps.h>
|
|
|
|
static int lapic_dummy = 0;
|
|
unsigned imps_lapic_addr = ((unsigned)(&lapic_dummy)) - LAPIC_ID;
|
|
|
|
uint32_t _CPU_SMP_Get_current_processor( void )
|
|
{
|
|
return imps_apic_cpu_map[APIC_ID(IMPS_LAPIC_READ(LAPIC_ID))];
|
|
}
|
|
|