> You don't. Read about GDT and segments register, and segmentation in > general. In the GDT you'd only store a pointer to the per-cpu data, and > processors will load it.
> > Is there any way to avoid using an array for that? > Yes, you'd just store the ID in the per-cpu data. Thanks, I'll take notes about this El jue., 30 jul. 2020 a las 23:35, Samuel Thibault (<samuel.thiba...@gnu.org>) escribió: > Almudena Garcia, le jeu. 30 juil. 2020 23:30:55 +0200, a ecrit: > > > As Richard said, we just want to have different GDTs on the different > > > processors, so that we wan use the fs segment register to implement TLS > > > in the kernel and have per-cpu data cost essentially the same as global > > > data. > > > > Yes, but how can I store the relation APIC ID - Kernel ID in the GDT? > > You don't. Read about GDT and segments register, and segmentation in > general. In the GDT you'd only store a pointer to the per-cpu data, and > processors will load it. > > > Is there any way to avoid using an array for that? > > Yes, you'd just store the ID in the per-cpu data. > > Samuel >