> Ah, it's just the content that's written, not a pointer to it, OK.
*lapic->icr_high* and *lapic->icr_low* are the real registers, the rest
are the temporary object which only prepare the content to be written in
these
El mar, 15 nov 2022 a las 2:21, Samuel Thibault ()
escribió:
> Almudena
Almudena Garcia, le mar. 15 nov. 2022 01:48:52 +0100, a ecrit:
> > Again, we need a memory barrier, to prevent the compiler from emitting
> these writes in the wrong order.
>
> Really, these writes are using a temporary struct.
> There are a only write to the real register, which is done
> Again, we need a memory barrier, to prevent the compiler from emitting
these writes in the wrong order.
Really, these writes are using a temporary struct. There are a only write
to the real register, which is done assigning the temporary struct to the
real register through the HAL
El mar., 15
Damien Zammit, le ven. 11 nov. 2022 23:21:22 +, a ecrit:
> diff --git a/i386/i386/apic.c b/i386/i386/apic.c
> index d30084e2..6a5fa754 100644
> --- a/i386/i386/apic.c
> +++ b/i386/i386/apic.c
> @@ -19,6 +19,8 @@
> Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. */
>
---
i386/i386/apic.c | 85 +
i386/i386/apic.h | 110 +--
i386/i386/smp.c | 89 +-
i386/i386/smp.h | 7 +++
i386/i386at/ioapic.c | 103