On Wed, Jan 25, 2023 at 1:34 AM Jessica Clarke <jrt...@jrtc27.com> wrote:

> 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.
>

I think you are right - just looked at the objdump output. Sorry for the
noise


> Jess
>
> >> Samuel
>
>

Reply via email to