Skip to content

Commit

Permalink
x86, x2apic: fix clear_local_APIC() in the presence of x2apic
Browse files Browse the repository at this point in the history
Impact: cleanup, paranoia

We were not clearing the local APIC in clear_local_APIC() in the
presence of x2apic. Fix it.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
  • Loading branch information
Suresh Siddha authored and H. Peter Anvin committed Mar 17, 2009
1 parent 7c6d9f9 commit cf6567f
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 9 deletions.
3 changes: 3 additions & 0 deletions arch/x86/include/asm/apic.h
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,9 @@ static inline int x2apic_enabled(void)
{
return 0;
}

#define x2apic 0

#endif

extern int get_physical_broadcast(void);
Expand Down
2 changes: 0 additions & 2 deletions arch/x86/include/asm/irq_remapping.h
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#ifndef _ASM_X86_IRQ_REMAPPING_H
#define _ASM_X86_IRQ_REMAPPING_H

extern int x2apic;

#define IRTE_DEST(dest) ((x2apic) ? dest : dest << 8)

#endif /* _ASM_X86_IRQ_REMAPPING_H */
9 changes: 2 additions & 7 deletions arch/x86/kernel/apic/apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -809,7 +809,7 @@ void clear_local_APIC(void)
u32 v;

/* APIC hasn't been mapped yet */
if (!apic_phys)
if (!x2apic && !apic_phys)
return;

maxlvt = lapic_get_maxlvt();
Expand Down Expand Up @@ -1523,12 +1523,10 @@ void __init early_init_lapic_mapping(void)
*/
void __init init_apic_mappings(void)
{
#ifdef CONFIG_X86_X2APIC
if (x2apic) {
boot_cpu_physical_apicid = read_apic_id();
return;
}
#endif

/*
* If no local APIC can be found then set up a fake all
Expand Down Expand Up @@ -1972,12 +1970,9 @@ static int lapic_resume(struct sys_device *dev)

local_irq_save(flags);

#ifdef CONFIG_X86_X2APIC
if (x2apic)
enable_x2apic();
else
#endif
{
else {
/*
* Make sure the APICBASE points to the right address
*
Expand Down

0 comments on commit cf6567f

Please sign in to comment.