Hi: I'm working together with Damien in this. The SMP support is 32-bit yet, based in xAPIC instead x2APIC.
xAPIC is also compatible with 64-bit (although maybe can be necessary enable manually in this mode) , but it's designed for 32-bit El mar., 24 ene. 2023 8:54, Samuel Thibault <samuel.thiba...@gnu.org> escribió: > Flávio Cruz, le mar. 24 janv. 2023 01:15:15 -0500, a ecrit: > > + int kernel_id; > > + unsigned long flags; > > + > > + cpu_intr_save(&flags); > > + > > + kernel_id = apic_get_cpu_kernel_id(apic_get_current_cpu()); > > + > > + cpu_intr_restore(flags); > > + > > + return kernel_id; > > > > > > Might be unrelated to this change, but will this be portable for x86_64? > It > > seems we either should use uint32_t to store EFLAGS or use pushfq/popfq > to get > > RFLAGS instead. > > cpu_get_eflags will already use pushfq/popfq, won't it? (since it takes > the unsigned long output parameter. > > Samuel > >