aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/pci/numa.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/pci/numa.c')
-rw-r--r--arch/x86/pci/numa.c32
1 files changed, 31 insertions, 1 deletions
diff --git a/arch/x86/pci/numa.c b/arch/x86/pci/numa.c
index 55270c26237c..d9afbae5092b 100644
--- a/arch/x86/pci/numa.c
+++ b/arch/x86/pci/numa.c
@@ -11,11 +11,41 @@
11#define XQUAD_PORTIO_BASE 0xfe400000 11#define XQUAD_PORTIO_BASE 0xfe400000
12#define XQUAD_PORTIO_QUAD 0x40000 /* 256k per quad. */ 12#define XQUAD_PORTIO_QUAD 0x40000 /* 256k per quad. */
13 13
14int mp_bus_id_to_node[MAX_MP_BUSSES];
14#define BUS2QUAD(global) (mp_bus_id_to_node[global]) 15#define BUS2QUAD(global) (mp_bus_id_to_node[global])
16
17int mp_bus_id_to_local[MAX_MP_BUSSES];
15#define BUS2LOCAL(global) (mp_bus_id_to_local[global]) 18#define BUS2LOCAL(global) (mp_bus_id_to_local[global])
19
20void mpc_oem_bus_info(struct mpc_config_bus *m, char *name,
21 struct mpc_config_translation *translation)
22{
23 int quad = translation->trans_quad;
24 int local = translation->trans_local;
25
26 mp_bus_id_to_node[m->mpc_busid] = quad;
27 mp_bus_id_to_local[m->mpc_busid] = local;
28 printk(KERN_INFO "Bus #%d is %s (node %d)\n",
29 m->mpc_busid, name, quad);
30}
31
32int quad_local_to_mp_bus_id [NR_CPUS/4][4];
16#define QUADLOCAL2BUS(quad,local) (quad_local_to_mp_bus_id[quad][local]) 33#define QUADLOCAL2BUS(quad,local) (quad_local_to_mp_bus_id[quad][local])
34void mpc_oem_pci_bus(struct mpc_config_bus *m,
35 struct mpc_config_translation *translation)
36{
37 int quad = translation->trans_quad;
38 int local = translation->trans_local;
39
40 quad_local_to_mp_bus_id[quad][local] = m->mpc_busid;
41}
42
43/* Where the IO area was mapped on multiquad, always 0 otherwise */
44void *xquad_portio;
45#ifdef CONFIG_X86_NUMAQ
46EXPORT_SYMBOL(xquad_portio);
47#endif
17 48
18extern void *xquad_portio; /* Where the IO area was mapped */
19#define XQUAD_PORT_ADDR(port, quad) (xquad_portio + (XQUAD_PORTIO_QUAD*quad) + port) 49#define XQUAD_PORT_ADDR(port, quad) (xquad_portio + (XQUAD_PORTIO_QUAD*quad) + port)
20 50
21#define PCI_CONF1_MQ_ADDRESS(bus, devfn, reg) \ 51#define PCI_CONF1_MQ_ADDRESS(bus, devfn, reg) \