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

>
> Samuel
>

Reply via email to