Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 99730
b: refs/heads/master
c: ab530e1
h: refs/heads/master
v: v3
  • Loading branch information
Yinghai Lu authored and Ingo Molnar committed Jun 4, 2008
1 parent 8e6a572 commit 42e8263
Show file tree
Hide file tree
Showing 5 changed files with 34 additions and 11 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: f19dc2f22a180dde3f9e611b76c73f5390c11ecd
refs/heads/master: ab530e1f781da4d704892daab2bdd568f473687d
14 changes: 11 additions & 3 deletions trunk/arch/x86/kernel/mpparse.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,10 @@ static void __cpuinit MP_processor_info(struct mpc_config_processor *m)
return;
}
#ifdef CONFIG_X86_NUMAQ
apicid = mpc_apic_id(m, translation_table[mpc_record]);
if (found_numaq)
apicid = mpc_apic_id(m, translation_table[mpc_record]);
else
apicid = m->mpc_apicid;
#else
apicid = m->mpc_apicid;
#endif
Expand All @@ -91,7 +94,8 @@ static void __init MP_bus_info(struct mpc_config_bus *m)
str[6] = 0;

#ifdef CONFIG_X86_NUMAQ
mpc_oem_bus_info(m, str, translation_table[mpc_record]);
if (found_numaq)
mpc_oem_bus_info(m, str, translation_table[mpc_record]);
#else
printk(KERN_INFO "Bus #%d is %s\n", m->mpc_busid, str);
#endif
Expand All @@ -112,7 +116,8 @@ static void __init MP_bus_info(struct mpc_config_bus *m)
#endif
} else if (strncmp(str, BUSTYPE_PCI, sizeof(BUSTYPE_PCI) - 1) == 0) {
#ifdef CONFIG_X86_NUMAQ
mpc_oem_pci_bus(m, translation_table[mpc_record]);
if (found_numaq)
mpc_oem_pci_bus(m, translation_table[mpc_record]);
#endif
clear_bit(m->mpc_busid, mp_bus_not_pci);
#if defined(CONFIG_EISA) || defined (CONFIG_MCA)
Expand Down Expand Up @@ -321,6 +326,9 @@ static inline void mps_oem_check(struct mp_config_table *mpc, char *oem,
{
if (strncmp(oem, "IBM NUMA", 8))
printk("Warning! May not be a NUMA-Q system!\n");
else
found_numaq = 1;

if (mpc->mpc_oemptr)
smp_read_mpc_oem((struct mp_config_oemtable *)mpc->mpc_oemptr,
mpc->mpc_oemsize);
Expand Down
24 changes: 19 additions & 5 deletions trunk/arch/x86/kernel/numaq_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,12 @@
#include <asm/numaq.h>
#include <asm/topology.h>
#include <asm/processor.h>
#include <asm/mpspec.h>

#define MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT))

int found_numaq;

/*
* Function: smp_dump_qct()
*
Expand Down Expand Up @@ -67,13 +70,24 @@ static void __init smp_dump_qct(void)
}
}

/*
* Unlike Summit, we don't really care to let the NUMA-Q
* fall back to flat mode. Don't compile for NUMA-Q
* unless you really need it!
*/
static __init void early_check_numaq(void)
{
/*
* Find possible boot-time SMP configuration:
*/
early_find_smp_config();
/*
* get boot-time SMP configuration:
*/
if (smp_found_config)
early_get_smp_config();
}

int __init get_memcfg_numaq(void)
{
early_check_numaq();
if (!found_numaq)
return 0;
smp_dump_qct();
return 1;
}
Expand Down
4 changes: 2 additions & 2 deletions trunk/include/asm-x86/mpspec.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@ extern int pic_mode;
/* Each PCI slot may be a combo card with its own bus. 4 IRQ pins per slot. */
#define MAX_IRQ_SOURCES (MAX_MP_BUSSES * 4)

#endif

extern void early_find_smp_config(void);
extern void early_get_smp_config(void);

#endif

#if defined(CONFIG_MCA) || defined(CONFIG_EISA)
extern int mp_bus_id_to_type[MAX_MP_BUSSES];
#endif
Expand Down
1 change: 1 addition & 0 deletions trunk/include/asm-x86/numaq.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@

#ifdef CONFIG_X86_NUMAQ

extern int found_numaq;
extern int get_memcfg_numaq(void);

/*
Expand Down

0 comments on commit 42e8263

Please sign in to comment.