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));
}

Reply via email to