x86, numaq: cleanups
Also move xquad_portio over to where it's allocated. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -31,6 +31,8 @@
|
|||||||
extern int found_numaq;
|
extern int found_numaq;
|
||||||
extern int get_memcfg_numaq(void);
|
extern int get_memcfg_numaq(void);
|
||||||
|
|
||||||
|
extern void *xquad_portio;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* SYS_CFG_DATA_PRIV_ADDR, struct eachquadmem, and struct sys_cfg_data are the
|
* SYS_CFG_DATA_PRIV_ADDR, struct eachquadmem, and struct sys_cfg_data are the
|
||||||
*/
|
*/
|
||||||
|
@@ -23,17 +23,18 @@
|
|||||||
* Send feedback to <gone@us.ibm.com>
|
* Send feedback to <gone@us.ibm.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/mm.h>
|
#include <linux/nodemask.h>
|
||||||
#include <linux/bootmem.h>
|
#include <linux/bootmem.h>
|
||||||
#include <linux/mmzone.h>
|
#include <linux/mmzone.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/nodemask.h>
|
#include <linux/mm.h>
|
||||||
#include <asm/numaq.h>
|
|
||||||
#include <asm/topology.h>
|
|
||||||
#include <asm/processor.h>
|
#include <asm/processor.h>
|
||||||
|
#include <asm/topology.h>
|
||||||
#include <asm/genapic.h>
|
#include <asm/genapic.h>
|
||||||
#include <asm/e820.h>
|
#include <asm/numaq.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
|
#include <asm/e820.h>
|
||||||
|
|
||||||
#define MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT))
|
#define MB_TO_PAGES(addr) ((addr) << (20 - PAGE_SHIFT))
|
||||||
|
|
||||||
@@ -91,19 +92,20 @@ static int __init numaq_pre_time_init(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int found_numaq;
|
int found_numaq;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Have to match translation table entries to main table entries by counter
|
* Have to match translation table entries to main table entries by counter
|
||||||
* hence the mpc_record variable .... can't see a less disgusting way of
|
* hence the mpc_record variable .... can't see a less disgusting way of
|
||||||
* doing this ....
|
* doing this ....
|
||||||
*/
|
*/
|
||||||
struct mpc_config_translation {
|
struct mpc_config_translation {
|
||||||
unsigned char mpc_type;
|
unsigned char mpc_type;
|
||||||
unsigned char trans_len;
|
unsigned char trans_len;
|
||||||
unsigned char trans_type;
|
unsigned char trans_type;
|
||||||
unsigned char trans_quad;
|
unsigned char trans_quad;
|
||||||
unsigned char trans_global;
|
unsigned char trans_global;
|
||||||
unsigned char trans_local;
|
unsigned char trans_local;
|
||||||
unsigned short trans_reserved;
|
unsigned short trans_reserved;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* x86_quirks member */
|
/* x86_quirks member */
|
||||||
@@ -444,7 +446,8 @@ static inline physid_mask_t numaq_apicid_to_cpu_present(int logical_apicid)
|
|||||||
return physid_mask_of_physid(cpu + 4*node);
|
return physid_mask_of_physid(cpu + 4*node);
|
||||||
}
|
}
|
||||||
|
|
||||||
extern void *xquad_portio;
|
/* Where the IO area was mapped on multiquad, always 0 otherwise */
|
||||||
|
void *xquad_portio;
|
||||||
|
|
||||||
static inline int numaq_check_phys_apicid_present(int boot_cpu_physical_apicid)
|
static inline int numaq_check_phys_apicid_present(int boot_cpu_physical_apicid)
|
||||||
{
|
{
|
||||||
@@ -502,7 +505,7 @@ static void numaq_setup_portio_remap(void)
|
|||||||
int num_quads = num_online_nodes();
|
int num_quads = num_online_nodes();
|
||||||
|
|
||||||
if (num_quads <= 1)
|
if (num_quads <= 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
printk("Remapping cross-quad port I/O for %d quads\n", num_quads);
|
printk("Remapping cross-quad port I/O for %d quads\n", num_quads);
|
||||||
xquad_portio = ioremap(XQUAD_PORTIO_BASE, num_quads*XQUAD_PORTIO_QUAD);
|
xquad_portio = ioremap(XQUAD_PORTIO_BASE, num_quads*XQUAD_PORTIO_QUAD);
|
||||||
|
@@ -18,10 +18,6 @@
|
|||||||
|
|
||||||
#define QUADLOCAL2BUS(quad,local) (quad_local_to_mp_bus_id[quad][local])
|
#define QUADLOCAL2BUS(quad,local) (quad_local_to_mp_bus_id[quad][local])
|
||||||
|
|
||||||
/* Where the IO area was mapped on multiquad, always 0 otherwise */
|
|
||||||
void *xquad_portio;
|
|
||||||
EXPORT_SYMBOL(xquad_portio);
|
|
||||||
|
|
||||||
#define XQUAD_PORT_ADDR(port, quad) (xquad_portio + (XQUAD_PORTIO_QUAD*quad) + port)
|
#define XQUAD_PORT_ADDR(port, quad) (xquad_portio + (XQUAD_PORTIO_QUAD*quad) + port)
|
||||||
|
|
||||||
#define PCI_CONF1_MQ_ADDRESS(bus, devfn, reg) \
|
#define PCI_CONF1_MQ_ADDRESS(bus, devfn, reg) \
|
||||||
|
Reference in New Issue
Block a user