diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-05 18:31:25 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-05 18:31:25 -0500 |
| commit | a77d2e081bbbccb38f42da45500dd089756efdfb (patch) | |
| tree | 8bb8d91e1c9e59143afcac8ff7d74341f7a0af80 /arch/x86/include/asm/apic.h | |
| parent | 897e81bea1fcfcd2c5cdb720c9efdb25da9ff374 (diff) | |
| parent | 7d1849aff6687a135a8da3a75e32a00e3137a5e2 (diff) | |
Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (30 commits)
x86, apic: Enable lapic nmi watchdog on AMD Family 11h
x86: Remove unnecessary mdelay() from cpu_disable_common()
x86, ioapic: Document another case when level irq is seen as an edge
x86, ioapic: Fix the EOI register detection mechanism
x86, io-apic: Move the effort of clearing remoteIRR explicitly before migrating the irq
x86: SGI UV: Map low MMR ranges
x86: apic: Print out SRAT table APIC id in hex
x86: Re-get cfg_new in case reuse/move irq_desc
x86: apic: Remove not needed #ifdef
x86: io-apic: IO-APIC MMIO should not fail on resource insertion
x86: Remove asm/apicnum.h
x86: apic: Do not use stacked physid_mask_t
x86, apic: Get rid of apicid_to_cpu_present assign on 64-bit
x86, ioapic: Use snrpintf while set names for IO-APIC resourses
x86, apic: Use PAGE_SIZE instead of numbers
x86: Remove local_irq_enable()/local_irq_disable() in fixup_irqs()
x86: Use EOI register in io-apic on intel platforms
x86: Force irq complete move during cpu offline
x86: Remove move_cleanup_count from irq_cfg
x86, intr-remap: Avoid irq_chip mask/unmask in fixup_irqs() for intr-remapping
...
Diffstat (limited to 'arch/x86/include/asm/apic.h')
| -rw-r--r-- | arch/x86/include/asm/apic.h | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h index 474d80d3e6cc..b4ac2cdcb64f 100644 --- a/arch/x86/include/asm/apic.h +++ b/arch/x86/include/asm/apic.h | |||
| @@ -297,20 +297,20 @@ struct apic { | |||
| 297 | int disable_esr; | 297 | int disable_esr; |
| 298 | 298 | ||
| 299 | int dest_logical; | 299 | int dest_logical; |
| 300 | unsigned long (*check_apicid_used)(physid_mask_t bitmap, int apicid); | 300 | unsigned long (*check_apicid_used)(physid_mask_t *map, int apicid); |
| 301 | unsigned long (*check_apicid_present)(int apicid); | 301 | unsigned long (*check_apicid_present)(int apicid); |
| 302 | 302 | ||
| 303 | void (*vector_allocation_domain)(int cpu, struct cpumask *retmask); | 303 | void (*vector_allocation_domain)(int cpu, struct cpumask *retmask); |
| 304 | void (*init_apic_ldr)(void); | 304 | void (*init_apic_ldr)(void); |
| 305 | 305 | ||
| 306 | physid_mask_t (*ioapic_phys_id_map)(physid_mask_t map); | 306 | void (*ioapic_phys_id_map)(physid_mask_t *phys_map, physid_mask_t *retmap); |
| 307 | 307 | ||
| 308 | void (*setup_apic_routing)(void); | 308 | void (*setup_apic_routing)(void); |
| 309 | int (*multi_timer_check)(int apic, int irq); | 309 | int (*multi_timer_check)(int apic, int irq); |
| 310 | int (*apicid_to_node)(int logical_apicid); | 310 | int (*apicid_to_node)(int logical_apicid); |
| 311 | int (*cpu_to_logical_apicid)(int cpu); | 311 | int (*cpu_to_logical_apicid)(int cpu); |
| 312 | int (*cpu_present_to_apicid)(int mps_cpu); | 312 | int (*cpu_present_to_apicid)(int mps_cpu); |
| 313 | physid_mask_t (*apicid_to_cpu_present)(int phys_apicid); | 313 | void (*apicid_to_cpu_present)(int phys_apicid, physid_mask_t *retmap); |
| 314 | void (*setup_portio_remap)(void); | 314 | void (*setup_portio_remap)(void); |
| 315 | int (*check_phys_apicid_present)(int phys_apicid); | 315 | int (*check_phys_apicid_present)(int phys_apicid); |
| 316 | void (*enable_apic_mode)(void); | 316 | void (*enable_apic_mode)(void); |
| @@ -488,6 +488,8 @@ static inline unsigned int read_apic_id(void) | |||
| 488 | 488 | ||
| 489 | extern void default_setup_apic_routing(void); | 489 | extern void default_setup_apic_routing(void); |
| 490 | 490 | ||
| 491 | extern struct apic apic_noop; | ||
| 492 | |||
| 491 | #ifdef CONFIG_X86_32 | 493 | #ifdef CONFIG_X86_32 |
| 492 | 494 | ||
| 493 | extern struct apic apic_default; | 495 | extern struct apic apic_default; |
| @@ -532,9 +534,9 @@ default_cpu_mask_to_apicid_and(const struct cpumask *cpumask, | |||
| 532 | return (unsigned int)(mask1 & mask2 & mask3); | 534 | return (unsigned int)(mask1 & mask2 & mask3); |
| 533 | } | 535 | } |
| 534 | 536 | ||
| 535 | static inline unsigned long default_check_apicid_used(physid_mask_t bitmap, int apicid) | 537 | static inline unsigned long default_check_apicid_used(physid_mask_t *map, int apicid) |
| 536 | { | 538 | { |
| 537 | return physid_isset(apicid, bitmap); | 539 | return physid_isset(apicid, *map); |
| 538 | } | 540 | } |
| 539 | 541 | ||
| 540 | static inline unsigned long default_check_apicid_present(int bit) | 542 | static inline unsigned long default_check_apicid_present(int bit) |
| @@ -542,9 +544,9 @@ static inline unsigned long default_check_apicid_present(int bit) | |||
| 542 | return physid_isset(bit, phys_cpu_present_map); | 544 | return physid_isset(bit, phys_cpu_present_map); |
| 543 | } | 545 | } |
| 544 | 546 | ||
| 545 | static inline physid_mask_t default_ioapic_phys_id_map(physid_mask_t phys_map) | 547 | static inline void default_ioapic_phys_id_map(physid_mask_t *phys_map, physid_mask_t *retmap) |
| 546 | { | 548 | { |
| 547 | return phys_map; | 549 | *retmap = *phys_map; |
| 548 | } | 550 | } |
| 549 | 551 | ||
| 550 | /* Mapping from cpu number to logical apicid */ | 552 | /* Mapping from cpu number to logical apicid */ |
| @@ -583,11 +585,6 @@ extern int default_cpu_present_to_apicid(int mps_cpu); | |||
| 583 | extern int default_check_phys_apicid_present(int phys_apicid); | 585 | extern int default_check_phys_apicid_present(int phys_apicid); |
| 584 | #endif | 586 | #endif |
| 585 | 587 | ||
| 586 | static inline physid_mask_t default_apicid_to_cpu_present(int phys_apicid) | ||
| 587 | { | ||
| 588 | return physid_mask_of_physid(phys_apicid); | ||
| 589 | } | ||
| 590 | |||
| 591 | #endif /* CONFIG_X86_LOCAL_APIC */ | 588 | #endif /* CONFIG_X86_LOCAL_APIC */ |
| 592 | 589 | ||
| 593 | #ifdef CONFIG_X86_32 | 590 | #ifdef CONFIG_X86_32 |
