https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104655
--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Paul Menzel from comment #5)
> Created attachment 52498 [details]
> Preprocessed file `build/bootblock/cpu/x86/lapic/lapic.i` with `-save-temps`
>
> Sorry for not sharing the file in the first place. First for the coreboot
> case:
This case is a dup of bug 99578.
lapicid:
uint32_t lapicid = lapic_read(0x020);
static inline __attribute__((always_inline)) uint32_t lapic_read(unsigned int
reg)
{
if (is_x2apic_mode())
return x2apic_read(reg);
else
return xapic_read(reg);
}
static inline __attribute__((always_inline)) uint32_t xapic_read(unsigned int
reg)
{
return read32((volatile void *)(uintptr_t)(0xfee00000 + reg));
}
static inline __attribute__((always_inline)) uint32_t read32(const volatile
void *addr)
{
return *((volatile uint32_t *)(addr));
}