[PATCH 1/2] move ipi definitions to mach_ipi.h - Kernel

This is a discussion on [PATCH 1/2] move ipi definitions to mach_ipi.h - Kernel ; take them out of the x86_64-only asm/mach_apic.h Signed-off-by: Glauber Costa --- arch/x86/kernel/apic_64.c | 2 ++ arch/x86/kernel/crash.c | 4 ---- arch/x86/kernel/io_apic_64.c | 2 ++ arch/x86/kernel/smp.c | 6 +----- arch/x86/kernel/tlb_64.c | 3 ++- include/asm-x86/mach-default/mach_ipi.h | 17 +++++++++++++---- include/asm-x86/mach_apic.h | 3 --- 7 ...

+ Reply to Thread
Results 1 to 15 of 15

Thread: [PATCH 1/2] move ipi definitions to mach_ipi.h

  1. [PATCH 1/2] move ipi definitions to mach_ipi.h

    take them out of the x86_64-only asm/mach_apic.h

    Signed-off-by: Glauber Costa
    ---
    arch/x86/kernel/apic_64.c | 2 ++
    arch/x86/kernel/crash.c | 4 ----
    arch/x86/kernel/io_apic_64.c | 2 ++
    arch/x86/kernel/smp.c | 6 +-----
    arch/x86/kernel/tlb_64.c | 3 ++-
    include/asm-x86/mach-default/mach_ipi.h | 17 +++++++++++++----
    include/asm-x86/mach_apic.h | 3 ---
    7 files changed, 20 insertions(+), 17 deletions(-)

    diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
    index 5362cfd..206278f 100644
    --- a/arch/x86/kernel/apic_64.c
    +++ b/arch/x86/kernel/apic_64.c
    @@ -41,6 +41,8 @@ #include
    #include
    #include

    +#include
    +
    int disable_apic_timer __cpuinitdata;
    static int apic_calibrate_pmtmr __initdata;
    int disable_apic;
    diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
    index 9a5fa0a..2251d0a 100644
    --- a/arch/x86/kernel/crash.c
    +++ b/arch/x86/kernel/crash.c
    @@ -26,11 +26,7 @@ #include
    #include
    #include

    -#ifdef CONFIG_X86_32
    #include
    -#else
    -#include
    -#endif

    /* This keeps a track of which one is crashing cpu. */
    static int crashing_cpu;
    diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c
    index 1627c0d..7d5cdf3 100644
    --- a/arch/x86/kernel/io_apic_64.c
    +++ b/arch/x86/kernel/io_apic_64.c
    @@ -50,6 +50,8 @@ #include
    #include
    #include

    +#include
    +
    struct irq_cfg {
    cpumask_t domain;
    cpumask_t old_domain;
    diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
    index 16c52aa..8f75893 100644
    --- a/arch/x86/kernel/smp.c
    +++ b/arch/x86/kernel/smp.c
    @@ -26,12 +26,8 @@ #include
    #include
    #include
    #include
    -#ifdef CONFIG_X86_32
    -#include
    #include
    -#else
    -#include
    -#endif
    +#include
    /*
    * Some notes on x86 processor bugs affecting SMP operation:
    *
    diff --git a/arch/x86/kernel/tlb_64.c b/arch/x86/kernel/tlb_64.c
    index 615d848..1558e51 100644
    --- a/arch/x86/kernel/tlb_64.c
    +++ b/arch/x86/kernel/tlb_64.c
    @@ -11,11 +11,12 @@ #include
    #include
    #include
    #include
    -#include
    #include
    #include
    #include
    #include
    +
    +#include
    /*
    * Smarter SMP flushing macros.
    * c/o Linus Torvalds.
    diff --git a/include/asm-x86/mach-default/mach_ipi.h b/include/asm-x86/mach-default/mach_ipi.h
    index 0dba244..f00467b 100644
    --- a/include/asm-x86/mach-default/mach_ipi.h
    +++ b/include/asm-x86/mach-default/mach_ipi.h
    @@ -9,10 +9,7 @@ void __send_IPI_shortcut(unsigned int sh

    extern int no_broadcast;

    -static inline void send_IPI_mask(cpumask_t mask, int vector)
    -{
    - send_IPI_mask_bitmask(mask, vector);
    -}
    +void send_IPI_mask(cpumask_t mask, int vector);

    static inline void __local_send_IPI_allbutself(int vector)
    {
    @@ -33,6 +30,17 @@ static inline void __local_send_IPI_all(
    __send_IPI_shortcut(APIC_DEST_ALLINC, vector);
    }

    +#ifdef CONFIG_X86_64
    +#include
    +#define send_IPI_mask (genapic->send_IPI_mask)
    +#define send_IPI_allbutself (genapic->send_IPI_allbutself)
    +#define send_IPI_all (genapic->send_IPI_all)
    +#else
    +static inline void send_IPI_mask(cpumask_t mask, int vector);
    +{
    + send_IPI_mask_bitmask(mask, vector);
    +}
    +
    static inline void send_IPI_allbutself(int vector)
    {
    /*
    @@ -50,5 +58,6 @@ static inline void send_IPI_all(int vect
    {
    __local_send_IPI_all(vector);
    }
    +#endif

    #endif /* __ASM_MACH_IPI_H */
    diff --git a/include/asm-x86/mach_apic.h b/include/asm-x86/mach_apic.h
    index 7b7115a..1bc68c0 100644
    --- a/include/asm-x86/mach_apic.h
    +++ b/include/asm-x86/mach_apic.h
    @@ -20,9 +20,6 @@ #define TARGET_CPUS (genapic->target_c
    #define vector_allocation_domain (genapic->vector_allocation_domain)
    #define apic_id_registered (genapic->apic_id_registered)
    #define init_apic_ldr (genapic->init_apic_ldr)
    -#define send_IPI_mask (genapic->send_IPI_mask)
    -#define send_IPI_allbutself (genapic->send_IPI_allbutself)
    -#define send_IPI_all (genapic->send_IPI_all)
    #define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
    #define phys_pkg_id (genapic->phys_pkg_id)

    --
    1.4.2

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. [PATCH 2/2] move apic declarations to mach_apic.h

    take them out of the x86_64-specific asm/mach_apic.h

    Signed-off-by: Glauber Costa
    ---
    arch/x86/kernel/apic_64.c | 2 -
    arch/x86/kernel/io_apic_64.c | 2 -
    arch/x86/kernel/setup_64.c | 2 -
    include/asm-x86/mach-default/mach_apic.h | 80 ++++++++++++++++--------------
    include/asm-x86/mach_apic.h | 26 ----------
    5 files changed, 46 insertions(+), 66 deletions(-)

    diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
    index 206278f..7dd6250 100644
    --- a/arch/x86/kernel/apic_64.c
    +++ b/arch/x86/kernel/apic_64.c
    @@ -34,7 +34,6 @@ #include
    #include
    #include
    #include
    -#include
    #include
    #include
    #include
    @@ -42,6 +41,7 @@ #include
    #include

    #include
    +#include

    int disable_apic_timer __cpuinitdata;
    static int apic_calibrate_pmtmr __initdata;
    diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c
    index 7d5cdf3..6dd3362 100644
    --- a/arch/x86/kernel/io_apic_64.c
    +++ b/arch/x86/kernel/io_apic_64.c
    @@ -43,7 +43,6 @@ #include
    #include
    #include
    #include
    -#include
    #include
    #include
    #include
    @@ -51,6 +50,7 @@ #include
    #include

    #include
    +#include

    struct irq_cfg {
    cpumask_t domain;
    diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c
    index 3f1dc97..08f9591 100644
    --- a/arch/x86/kernel/setup_64.c
    +++ b/arch/x86/kernel/setup_64.c
    @@ -60,7 +60,6 @@ #include
    #include
    #include
    #include
    -#include
    #include
    #include
    #include
    @@ -69,6 +68,7 @@ #include
    #include
    #include

    +#include
    #ifdef CONFIG_PARAVIRT
    #include
    #else
    diff --git a/include/asm-x86/mach-default/mach_apic.h b/include/asm-x86/mach-default/mach_apic.h
    index 13900e8..3f49a3a 100644
    --- a/include/asm-x86/mach-default/mach_apic.h
    +++ b/include/asm-x86/mach-default/mach_apic.h
    @@ -14,24 +14,25 @@ #else
    return cpumask_of_cpu(0);
    #endif
    }
    -#define TARGET_CPUS (target_cpus())

    #define NO_BALANCE_IRQ (0)
    #define esr_disable (0)

    +#ifdef CONFIG_X86_64
    +#include
    +#define INT_DELIVERY_MODE (genapic->int_delivery_mode)
    +#define INT_DEST_MODE (genapic->int_dest_mode)
    +#define TARGET_CPUS (genapic->target_cpus())
    +#define apic_id_registered (genapic->apic_id_registered)
    +#define init_apic_ldr (genapic->init_apic_ldr)
    +#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
    +#define phys_pkg_id (genapic->phys_pkg_id)
    +#define vector_allocation_domain (genapic->vector_allocation_domain)
    +extern void setup_apic_routing(void);
    +#else
    #define INT_DELIVERY_MODE dest_LowestPrio
    #define INT_DEST_MODE 1 /* logical delivery broadcast to all procs */
    -
    -static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid)
    -{
    - return physid_isset(apicid, bitmap);
    -}
    -
    -static inline unsigned long check_apicid_present(int bit)
    -{
    - return physid_isset(bit, phys_cpu_present_map);
    -}
    -
    +#define TARGET_CPUS (target_cpus())
    /*
    * Set up the logical destination ID.
    *
    @@ -49,32 +50,52 @@ static inline void init_apic_ldr(void)
    apic_write_around(APIC_LDR, val);
    }

    -static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
    +static inline int apic_id_registered(void)
    {
    - return phys_map;
    + return physid_isset(GET_APIC_ID(apic_read(APIC_ID)), phys_cpu_present_map);
    +}
    +
    +static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask)
    +{
    + return cpus_addr(cpumask)[0];
    +}
    +
    +static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
    +{
    + return cpuid_apic >> index_msb;
    }

    -#ifdef CONFIG_X86_64
    -extern void setup_apic_routing(void);
    -#else
    static inline void setup_apic_routing(void)
    {
    printk("Enabling APIC mode: %s. Using %d I/O APICs\n",
    "Flat", nr_ioapics);
    }
    -#endif

    -static inline int multi_timer_check(int apic, int irq)
    +static inline int apicid_to_node(int logical_apicid)
    {
    return 0;
    }
    +#endif

    -#ifdef CONFIG_X86_32
    -static inline int apicid_to_node(int logical_apicid)
    +static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid)
    +{
    + return physid_isset(apicid, bitmap);
    +}
    +
    +static inline unsigned long check_apicid_present(int bit)
    +{
    + return physid_isset(bit, phys_cpu_present_map);
    +}
    +
    +static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
    +{
    + return phys_map;
    +}
    +
    +static inline int multi_timer_check(int apic, int irq)
    {
    return 0;
    }
    -#endif

    /* Mapping from cpu number to logical apicid */
    static inline int cpu_to_logical_apicid(int cpu)
    @@ -109,23 +130,8 @@ static inline int check_phys_apicid_pres
    return physid_isset(boot_cpu_physical_apicid, phys_cpu_present_map);
    }

    -static inline int apic_id_registered(void)
    -{
    - return physid_isset(GET_APIC_ID(apic_read(APIC_ID)), phys_cpu_present_map);
    -}
    -
    -static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask)
    -{
    - return cpus_addr(cpumask)[0];
    -}
    -
    static inline void enable_apic_mode(void)
    {
    }

    -static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
    -{
    - return cpuid_apic >> index_msb;
    -}
    -
    #endif /* __ASM_MACH_APIC_H */
    diff --git a/include/asm-x86/mach_apic.h b/include/asm-x86/mach_apic.h
    deleted file mode 100644
    index 1bc68c0..0000000
    --- a/include/asm-x86/mach_apic.h
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -#ifndef __ASM_MACH_APIC_H
    -#define __ASM_MACH_APIC_H
    -
    -/*
    - * Copyright 2004 James Cleverdon, IBM.
    - * Subject to the GNU Public License, v.2
    - *
    - * Generic APIC sub-arch defines.
    - *
    - * Hacked for x86-64 by James Cleverdon from i386 architecture code by
    - * Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
    - * James Cleverdon.
    - */
    -
    -#include
    -
    -#define INT_DELIVERY_MODE (genapic->int_delivery_mode)
    -#define INT_DEST_MODE (genapic->int_dest_mode)
    -#define TARGET_CPUS (genapic->target_cpus())
    -#define vector_allocation_domain (genapic->vector_allocation_domain)
    -#define apic_id_registered (genapic->apic_id_registered)
    -#define init_apic_ldr (genapic->init_apic_ldr)
    -#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
    -#define phys_pkg_id (genapic->phys_pkg_id)
    -
    -#endif /* __ASM_MACH_APIC_H */
    --
    1.4.2

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [PATCH 2/2] move apic declarations to mach_apic.h

    On Mon, Mar 24, 2008 at 12:52 PM, Glauber Costa wrote:
    > take them out of the x86_64-specific asm/mach_apic.h
    >
    > Signed-off-by: Glauber Costa
    > ---
    > arch/x86/kernel/apic_64.c | 2 -
    > arch/x86/kernel/io_apic_64.c | 2 -
    > arch/x86/kernel/setup_64.c | 2 -
    > include/asm-x86/mach-default/mach_apic.h | 80 ++++++++++++++++--------------
    > include/asm-x86/mach_apic.h | 26 ----------
    > 5 files changed, 46 insertions(+), 66 deletions(-)
    >
    > diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
    > index 206278f..7dd6250 100644
    > --- a/arch/x86/kernel/apic_64.c
    > +++ b/arch/x86/kernel/apic_64.c
    > @@ -34,7 +34,6 @@ #include
    > #include
    > #include
    > #include
    > -#include
    > #include
    > #include
    > #include
    > @@ -42,6 +41,7 @@ #include
    > #include
    >
    > #include
    > +#include


    good. include/asm-x86/mach_apic.h is gone.

    YH
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  4. Re: [PATCH 2/2] move apic declarations to mach_apic.h


    * Glauber Costa wrote:

    > take them out of the x86_64-specific asm/mach_apic.h


    thanks, applied.

    Ingo
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  5. Re: [PATCH 1/2] move ipi definitions to mach_ipi.h


    * Glauber Costa wrote:

    > take them out of the x86_64-only asm/mach_apic.h


    thanks, applied.

    Ingo
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  6. Re: [PATCH 1/2] move ipi definitions to mach_ipi.h


    * Glauber Costa wrote:

    > +++ b/include/asm-x86/mach-default/mach_ipi.h


    > -static inline void send_IPI_mask(cpumask_t mask, int vector)
    > -{
    > - send_IPI_mask_bitmask(mask, vector);
    > -}
    > +void send_IPI_mask(cpumask_t mask, int vector);


    > +#else
    > +static inline void send_IPI_mask(cpumask_t mask, int vector);
    > +{
    > + send_IPI_mask_bitmask(mask, vector);
    > +}


    this trivially doesnt build on 32-bit, for multiple reasons...

    Ingo
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  7. [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h

    take them out of the x86_64-specific asm/mach_apic.h

    Signed-off-by: Glauber Costa
    ---
    arch/x86/kernel/apic_64.c | 2 +-
    arch/x86/kernel/cpu/amd.c | 2 +-
    arch/x86/kernel/io_apic_64.c | 2 +-
    arch/x86/kernel/setup_64.c | 2 +-
    include/asm-x86/mach-default/mach_apic.h | 80 ++++++++++++++++--------------
    include/asm-x86/mach_apic.h | 26 ----------
    6 files changed, 47 insertions(+), 67 deletions(-)
    delete mode 100644 include/asm-x86/mach_apic.h

    diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
    index 206278f..7dd6250 100644
    --- a/arch/x86/kernel/apic_64.c
    +++ b/arch/x86/kernel/apic_64.c
    @@ -34,7 +34,6 @@
    #include
    #include
    #include
    -#include
    #include
    #include
    #include
    @@ -42,6 +41,7 @@
    #include

    #include
    +#include

    int disable_apic_timer __cpuinitdata;
    static int apic_calibrate_pmtmr __initdata;
    diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
    index 33d38f8..0173065 100644
    --- a/arch/x86/kernel/cpu/amd.c
    +++ b/arch/x86/kernel/cpu/amd.c
    @@ -4,8 +4,8 @@
    #include
    #include
    #include
    -#include

    +#include
    #include "cpu.h"

    /*
    diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c
    index 7d5cdf3..6dd3362 100644
    --- a/arch/x86/kernel/io_apic_64.c
    +++ b/arch/x86/kernel/io_apic_64.c
    @@ -43,7 +43,6 @@
    #include
    #include
    #include
    -#include
    #include
    #include
    #include
    @@ -51,6 +50,7 @@
    #include

    #include
    +#include

    struct irq_cfg {
    cpumask_t domain;
    diff --git a/arch/x86/kernel/setup_64.c b/arch/x86/kernel/setup_64.c
    index 3f1dc97..08f9591 100644
    --- a/arch/x86/kernel/setup_64.c
    +++ b/arch/x86/kernel/setup_64.c
    @@ -60,7 +60,6 @@
    #include
    #include
    #include
    -#include
    #include
    #include
    #include
    @@ -69,6 +68,7 @@
    #include
    #include

    +#include
    #ifdef CONFIG_PARAVIRT
    #include
    #else
    diff --git a/include/asm-x86/mach-default/mach_apic.h b/include/asm-x86/mach-default/mach_apic.h
    index 13900e8..3f49a3a 100644
    --- a/include/asm-x86/mach-default/mach_apic.h
    +++ b/include/asm-x86/mach-default/mach_apic.h
    @@ -14,24 +14,25 @@ static inline cpumask_t target_cpus(void)
    return cpumask_of_cpu(0);
    #endif
    }
    -#define TARGET_CPUS (target_cpus())

    #define NO_BALANCE_IRQ (0)
    #define esr_disable (0)

    +#ifdef CONFIG_X86_64
    +#include
    +#define INT_DELIVERY_MODE (genapic->int_delivery_mode)
    +#define INT_DEST_MODE (genapic->int_dest_mode)
    +#define TARGET_CPUS (genapic->target_cpus())
    +#define apic_id_registered (genapic->apic_id_registered)
    +#define init_apic_ldr (genapic->init_apic_ldr)
    +#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
    +#define phys_pkg_id (genapic->phys_pkg_id)
    +#define vector_allocation_domain (genapic->vector_allocation_domain)
    +extern void setup_apic_routing(void);
    +#else
    #define INT_DELIVERY_MODE dest_LowestPrio
    #define INT_DEST_MODE 1 /* logical delivery broadcast to all procs */
    -
    -static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid)
    -{
    - return physid_isset(apicid, bitmap);
    -}
    -
    -static inline unsigned long check_apicid_present(int bit)
    -{
    - return physid_isset(bit, phys_cpu_present_map);
    -}
    -
    +#define TARGET_CPUS (target_cpus())
    /*
    * Set up the logical destination ID.
    *
    @@ -49,32 +50,52 @@ static inline void init_apic_ldr(void)
    apic_write_around(APIC_LDR, val);
    }

    -static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
    +static inline int apic_id_registered(void)
    {
    - return phys_map;
    + return physid_isset(GET_APIC_ID(apic_read(APIC_ID)), phys_cpu_present_map);
    +}
    +
    +static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask)
    +{
    + return cpus_addr(cpumask)[0];
    +}
    +
    +static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
    +{
    + return cpuid_apic >> index_msb;
    }

    -#ifdef CONFIG_X86_64
    -extern void setup_apic_routing(void);
    -#else
    static inline void setup_apic_routing(void)
    {
    printk("Enabling APIC mode: %s. Using %d I/O APICs\n",
    "Flat", nr_ioapics);
    }
    -#endif

    -static inline int multi_timer_check(int apic, int irq)
    +static inline int apicid_to_node(int logical_apicid)
    {
    return 0;
    }
    +#endif

    -#ifdef CONFIG_X86_32
    -static inline int apicid_to_node(int logical_apicid)
    +static inline unsigned long check_apicid_used(physid_mask_t bitmap, int apicid)
    +{
    + return physid_isset(apicid, bitmap);
    +}
    +
    +static inline unsigned long check_apicid_present(int bit)
    +{
    + return physid_isset(bit, phys_cpu_present_map);
    +}
    +
    +static inline physid_mask_t ioapic_phys_id_map(physid_mask_t phys_map)
    +{
    + return phys_map;
    +}
    +
    +static inline int multi_timer_check(int apic, int irq)
    {
    return 0;
    }
    -#endif

    /* Mapping from cpu number to logical apicid */
    static inline int cpu_to_logical_apicid(int cpu)
    @@ -109,23 +130,8 @@ static inline int check_phys_apicid_present(int boot_cpu_physical_apicid)
    return physid_isset(boot_cpu_physical_apicid, phys_cpu_present_map);
    }

    -static inline int apic_id_registered(void)
    -{
    - return physid_isset(GET_APIC_ID(apic_read(APIC_ID)), phys_cpu_present_map);
    -}
    -
    -static inline unsigned int cpu_mask_to_apicid(cpumask_t cpumask)
    -{
    - return cpus_addr(cpumask)[0];
    -}
    -
    static inline void enable_apic_mode(void)
    {
    }

    -static inline u32 phys_pkg_id(u32 cpuid_apic, int index_msb)
    -{
    - return cpuid_apic >> index_msb;
    -}
    -
    #endif /* __ASM_MACH_APIC_H */
    diff --git a/include/asm-x86/mach_apic.h b/include/asm-x86/mach_apic.h
    deleted file mode 100644
    index 1bc68c0..0000000
    --- a/include/asm-x86/mach_apic.h
    +++ /dev/null
    @@ -1,26 +0,0 @@
    -#ifndef __ASM_MACH_APIC_H
    -#define __ASM_MACH_APIC_H
    -
    -/*
    - * Copyright 2004 James Cleverdon, IBM.
    - * Subject to the GNU Public License, v.2
    - *
    - * Generic APIC sub-arch defines.
    - *
    - * Hacked for x86-64 by James Cleverdon from i386 architecture code by
    - * Martin Bligh, Andi Kleen, James Bottomley, John Stultz, and
    - * James Cleverdon.
    - */
    -
    -#include
    -
    -#define INT_DELIVERY_MODE (genapic->int_delivery_mode)
    -#define INT_DEST_MODE (genapic->int_dest_mode)
    -#define TARGET_CPUS (genapic->target_cpus())
    -#define vector_allocation_domain (genapic->vector_allocation_domain)
    -#define apic_id_registered (genapic->apic_id_registered)
    -#define init_apic_ldr (genapic->init_apic_ldr)
    -#define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
    -#define phys_pkg_id (genapic->phys_pkg_id)
    -
    -#endif /* __ASM_MACH_APIC_H */
    --
    1.5.0.6

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  8. [PATCH 1/2] [PATCH] move ipi definitions to mach_ipi.h

    take them out of the x86_64-only asm/mach_apic.h

    Signed-off-by: Glauber Costa
    ---
    arch/x86/kernel/apic_64.c | 2 ++
    arch/x86/kernel/crash.c | 4 ----
    arch/x86/kernel/io_apic_64.c | 2 ++
    arch/x86/kernel/kgdb.c | 6 +-----
    arch/x86/kernel/smp.c | 6 +-----
    arch/x86/kernel/tlb_64.c | 3 ++-
    include/asm-x86/mach-default/mach_ipi.h | 10 ++++++++++
    include/asm-x86/mach_apic.h | 3 ---
    8 files changed, 18 insertions(+), 18 deletions(-)

    diff --git a/arch/x86/kernel/apic_64.c b/arch/x86/kernel/apic_64.c
    index 5362cfd..206278f 100644
    --- a/arch/x86/kernel/apic_64.c
    +++ b/arch/x86/kernel/apic_64.c
    @@ -41,6 +41,8 @@
    #include
    #include

    +#include
    +
    int disable_apic_timer __cpuinitdata;
    static int apic_calibrate_pmtmr __initdata;
    int disable_apic;
    diff --git a/arch/x86/kernel/crash.c b/arch/x86/kernel/crash.c
    index 9a5fa0a..2251d0a 100644
    --- a/arch/x86/kernel/crash.c
    +++ b/arch/x86/kernel/crash.c
    @@ -26,11 +26,7 @@
    #include
    #include

    -#ifdef CONFIG_X86_32
    #include
    -#else
    -#include
    -#endif

    /* This keeps a track of which one is crashing cpu. */
    static int crashing_cpu;
    diff --git a/arch/x86/kernel/io_apic_64.c b/arch/x86/kernel/io_apic_64.c
    index 1627c0d..7d5cdf3 100644
    --- a/arch/x86/kernel/io_apic_64.c
    +++ b/arch/x86/kernel/io_apic_64.c
    @@ -50,6 +50,8 @@
    #include
    #include

    +#include
    +
    struct irq_cfg {
    cpumask_t domain;
    cpumask_t old_domain;
    diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c
    index 8c7e555..0acc610 100644
    --- a/arch/x86/kernel/kgdb.c
    +++ b/arch/x86/kernel/kgdb.c
    @@ -46,11 +46,7 @@
    #include
    #include

    -#ifdef CONFIG_X86_32
    -# include
    -#else
    -# include
    -#endif
    +#include

    /*
    * Put the error code here just in case the user cares:
    diff --git a/arch/x86/kernel/smp.c b/arch/x86/kernel/smp.c
    index 16c52aa..8f75893 100644
    --- a/arch/x86/kernel/smp.c
    +++ b/arch/x86/kernel/smp.c
    @@ -26,12 +26,8 @@
    #include
    #include
    #include
    -#ifdef CONFIG_X86_32
    -#include
    #include
    -#else
    -#include
    -#endif
    +#include
    /*
    * Some notes on x86 processor bugs affecting SMP operation:
    *
    diff --git a/arch/x86/kernel/tlb_64.c b/arch/x86/kernel/tlb_64.c
    index 615d848..1558e51 100644
    --- a/arch/x86/kernel/tlb_64.c
    +++ b/arch/x86/kernel/tlb_64.c
    @@ -11,11 +11,12 @@
    #include
    #include
    #include
    -#include
    #include
    #include
    #include
    #include
    +
    +#include
    /*
    * Smarter SMP flushing macros.
    * c/o Linus Torvalds.
    diff --git a/include/asm-x86/mach-default/mach_ipi.h b/include/asm-x86/mach-default/mach_ipi.h
    index 0dba244..be32336 100644
    --- a/include/asm-x86/mach-default/mach_ipi.h
    +++ b/include/asm-x86/mach-default/mach_ipi.h
    @@ -9,10 +9,15 @@ void __send_IPI_shortcut(unsigned int shortcut, int vector);

    extern int no_broadcast;

    +#ifdef CONFIG_X86_64
    +#include
    +#define send_IPI_mask (genapic->send_IPI_mask)
    +#else
    static inline void send_IPI_mask(cpumask_t mask, int vector)
    {
    send_IPI_mask_bitmask(mask, vector);
    }
    +#endif

    static inline void __local_send_IPI_allbutself(int vector)
    {
    @@ -33,6 +38,10 @@ static inline void __local_send_IPI_all(int vector)
    __send_IPI_shortcut(APIC_DEST_ALLINC, vector);
    }

    +#ifdef CONFIG_X86_64
    +#define send_IPI_allbutself (genapic->send_IPI_allbutself)
    +#define send_IPI_all (genapic->send_IPI_all)
    +#else
    static inline void send_IPI_allbutself(int vector)
    {
    /*
    @@ -50,5 +59,6 @@ static inline void send_IPI_all(int vector)
    {
    __local_send_IPI_all(vector);
    }
    +#endif

    #endif /* __ASM_MACH_IPI_H */
    diff --git a/include/asm-x86/mach_apic.h b/include/asm-x86/mach_apic.h
    index 7b7115a..1bc68c0 100644
    --- a/include/asm-x86/mach_apic.h
    +++ b/include/asm-x86/mach_apic.h
    @@ -20,9 +20,6 @@
    #define vector_allocation_domain (genapic->vector_allocation_domain)
    #define apic_id_registered (genapic->apic_id_registered)
    #define init_apic_ldr (genapic->init_apic_ldr)
    -#define send_IPI_mask (genapic->send_IPI_mask)
    -#define send_IPI_allbutself (genapic->send_IPI_allbutself)
    -#define send_IPI_all (genapic->send_IPI_all)
    #define cpu_mask_to_apicid (genapic->cpu_mask_to_apicid)
    #define phys_pkg_id (genapic->phys_pkg_id)

    --
    1.5.0.6

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  9. [PATCH 0/2] get rid of mach_apic.h

    yeah, the last patch sent was totally brown paper bag. I sent a previous
    version from the wrong machine, sorry.

    ingo, the new testing also unveiled a new catch, so I'm resending _both_ patches.
    please ignore both of them from the last run, and apply these instead


    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  10. Re: [PATCH 0/2] get rid of mach_apic.h


    * Glauber Costa wrote:

    > yeah, the last patch sent was totally brown paper bag. I sent a
    > previous version from the wrong machine, sorry.
    >
    > ingo, the new testing also unveiled a new catch, so I'm resending
    > _both_ patches. please ignore both of them from the last run, and
    > apply these instead


    thanks, applied.

    Ingo
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  11. Re: [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h


    * Glauber Costa wrote:

    > take them out of the x86_64-specific asm/mach_apic.h


    this broke the 32-bit build:

    In file included from arch/x86/kernel/cpu/amd.c:8:
    include/asm-x86/mach-default/mach_apic.h: In function 'init_apic_ldr':
    include/asm-x86/mach-default/mach_apic.h:47: error: implicit declaration of function 'apic_write_around'
    [...]

    ..config attached.

    Ingo


  12. Re: [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h

    Ingo Molnar wrote:
    > * Glauber Costa wrote:
    >
    >> take them out of the x86_64-specific asm/mach_apic.h

    >
    > this broke the 32-bit build:
    >
    > In file included from arch/x86/kernel/cpu/amd.c:8:
    > include/asm-x86/mach-default/mach_apic.h: In function 'init_apic_ldr':
    > include/asm-x86/mach-default/mach_apic.h:47: error: implicit declaration of function 'apic_write_around'
    > [...]
    >
    > .config attached.
    >
    > Ingo
    >

    Problem is that local apic is not always present.
    I'm sending a replacement.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  13. Re: [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h


    * Ingo Molnar wrote:

    > there's another build error i found:
    >
    > arch/x86/kernel/setup.c: In function 'setup_per_cpu_areas':
    > arch/x86/kernel/setup.c:87: error: expected ',' or ';' before '__attribute__'
    >
    > config attached. This is with and without your second patch. (i.e.
    > independent problem, introduced by the 1/2 patch)


    sorry - this is not your build bug :-)

    Ingo
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  14. Re: [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h


    there's another build error i found:

    arch/x86/kernel/setup.c: In function 'setup_per_cpu_areas':
    arch/x86/kernel/setup.c:87: error: expected ',' or ';' before '__attribute__'

    config attached. This is with and without your second patch. (i.e.
    independent problem, introduced by the 1/2 patch)

    Ingo


  15. Re: [PATCH 2/2] [PATCH] move apic declarations to mach_apic.h

    On Wed, Mar 26, 2008 at 1:49 AM, Ingo Molnar wrote:
    >
    >
    > * Ingo Molnar wrote:
    >
    > > there's another build error i found:
    > >
    > > arch/x86/kernel/setup.c: In function 'setup_per_cpu_areas':
    > > arch/x86/kernel/setup.c:87: error: expected ',' or ';' before '__attribute__'
    > >
    > > config attached. This is with and without your second patch. (i.e.
    > > independent problem, introduced by the 1/2 patch)

    >
    > sorry - this is not your build bug :-)
    >


    Heh. My reaction when I saw it was "Oh no, I can't believe it!"

    --
    Glauber Costa.
    "Free as in Freedom"
    http://glommer.net

    "The less confident you are, the more serious you have to act."
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread