On 25 Jan 2023, at 06:27, Flávio Cruz <flavioc...@gmail.com> wrote: >> On Tue, Jan 24, 2023 at 2:54 AM Samuel Thibault <samuel.thiba...@gnu.org> >> wrote: >> 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. > > I tried it in compiler explorer and it shows we have to use pushfq > explicitly: https://godbolt.org/z/MYjPaEh31
Not sure what you’re trying to show? pushf assembles to the same thing as pushfq. Jess >> Samuel