Commit 821077b2 authored by Paul Mackerras's avatar Paul Mackerras
parents 3136254c d7867959
...@@ -71,6 +71,11 @@ ...@@ -71,6 +71,11 @@
#include <asm/paca.h> #include <asm/paca.h>
#endif #endif
int __irq_offset_value;
#ifdef CONFIG_PPC32
EXPORT_SYMBOL(__irq_offset_value);
#endif
static int ppc_spurious_interrupts; static int ppc_spurious_interrupts;
#if defined(CONFIG_PPC_ISERIES) && defined(CONFIG_SMP) #if defined(CONFIG_PPC_ISERIES) && defined(CONFIG_SMP)
...@@ -98,7 +103,6 @@ extern atomic_t ipi_sent; ...@@ -98,7 +103,6 @@ extern atomic_t ipi_sent;
EXPORT_SYMBOL(irq_desc); EXPORT_SYMBOL(irq_desc);
int distribute_irqs = 1; int distribute_irqs = 1;
int __irq_offset_value;
u64 ppc64_interrupt_controller; u64 ppc64_interrupt_controller;
#endif /* CONFIG_PPC64 */ #endif /* CONFIG_PPC64 */
...@@ -311,7 +315,6 @@ void __init init_IRQ(void) ...@@ -311,7 +315,6 @@ void __init init_IRQ(void)
} }
#ifdef CONFIG_PPC64 #ifdef CONFIG_PPC64
#ifndef CONFIG_PPC_ISERIES
/* /*
* Virtual IRQ mapping code, used on systems with XICS interrupt controllers. * Virtual IRQ mapping code, used on systems with XICS interrupt controllers.
*/ */
...@@ -420,8 +423,6 @@ unsigned int real_irq_to_virt_slowpath(unsigned int real_irq) ...@@ -420,8 +423,6 @@ unsigned int real_irq_to_virt_slowpath(unsigned int real_irq)
} }
#endif /* CONFIG_PPC_ISERIES */
#ifdef CONFIG_IRQSTACKS #ifdef CONFIG_IRQSTACKS
struct thread_info *softirq_ctx[NR_CPUS]; struct thread_info *softirq_ctx[NR_CPUS];
struct thread_info *hardirq_ctx[NR_CPUS]; struct thread_info *hardirq_ctx[NR_CPUS];
......
...@@ -42,32 +42,6 @@ ...@@ -42,32 +42,6 @@
/* #define LPARCFG_DEBUG */ /* #define LPARCFG_DEBUG */
/* find a better place for this function... */
static void log_plpar_hcall_return(unsigned long rc, char *tag)
{
if (rc == 0) /* success, return */
return;
/* check for null tag ? */
if (rc == H_Hardware)
printk(KERN_INFO
"plpar-hcall (%s) failed with hardware fault\n", tag);
else if (rc == H_Function)
printk(KERN_INFO
"plpar-hcall (%s) failed; function not allowed\n", tag);
else if (rc == H_Authority)
printk(KERN_INFO
"plpar-hcall (%s) failed; not authorized to this function\n",
tag);
else if (rc == H_Parameter)
printk(KERN_INFO "plpar-hcall (%s) failed; Bad parameter(s)\n",
tag);
else
printk(KERN_INFO
"plpar-hcall (%s) failed with unexpected rc(0x%lx)\n",
tag, rc);
}
static struct proc_dir_entry *proc_ppc64_lparcfg; static struct proc_dir_entry *proc_ppc64_lparcfg;
#define LPARCFG_BUFF_SIZE 4096 #define LPARCFG_BUFF_SIZE 4096
...@@ -172,6 +146,31 @@ static int lparcfg_data(struct seq_file *m, void *v) ...@@ -172,6 +146,31 @@ static int lparcfg_data(struct seq_file *m, void *v)
/* /*
* Methods used to fetch LPAR data when running on a pSeries platform. * Methods used to fetch LPAR data when running on a pSeries platform.
*/ */
/* find a better place for this function... */
static void log_plpar_hcall_return(unsigned long rc, char *tag)
{
if (rc == 0) /* success, return */
return;
/* check for null tag ? */
if (rc == H_Hardware)
printk(KERN_INFO
"plpar-hcall (%s) failed with hardware fault\n", tag);
else if (rc == H_Function)
printk(KERN_INFO
"plpar-hcall (%s) failed; function not allowed\n", tag);
else if (rc == H_Authority)
printk(KERN_INFO
"plpar-hcall (%s) failed; not authorized to this function\n",
tag);
else if (rc == H_Parameter)
printk(KERN_INFO "plpar-hcall (%s) failed; Bad parameter(s)\n",
tag);
else
printk(KERN_INFO
"plpar-hcall (%s) failed with unexpected rc(0x%lx)\n",
tag, rc);
}
/* /*
* H_GET_PPP hcall returns info in 4 parms. * H_GET_PPP hcall returns info in 4 parms.
......
...@@ -57,10 +57,6 @@ extern void power4_idle(void); ...@@ -57,10 +57,6 @@ extern void power4_idle(void);
boot_infos_t *boot_infos; boot_infos_t *boot_infos;
struct ide_machdep_calls ppc_ide_md; struct ide_machdep_calls ppc_ide_md;
/* XXX should go elsewhere */
int __irq_offset_value;
EXPORT_SYMBOL(__irq_offset_value);
int boot_cpuid; int boot_cpuid;
EXPORT_SYMBOL_GPL(boot_cpuid); EXPORT_SYMBOL_GPL(boot_cpuid);
int boot_cpuid_phys; int boot_cpuid_phys;
......
...@@ -42,13 +42,6 @@ ...@@ -42,13 +42,6 @@
#include "irq.h" #include "irq.h"
#include "call_pci.h" #include "call_pci.h"
/* This maps virtual irq numbers to real irqs */
unsigned int virt_irq_to_real_map[NR_IRQS];
/* The next available virtual irq number */
/* Note: the pcnet32 driver assumes irq numbers < 2 aren't valid. :( */
static int next_virtual_irq = 2;
static long Pci_Interrupt_Count; static long Pci_Interrupt_Count;
static long Pci_Event_Count; static long Pci_Event_Count;
...@@ -350,26 +343,14 @@ static hw_irq_controller iSeries_IRQ_handler = { ...@@ -350,26 +343,14 @@ static hw_irq_controller iSeries_IRQ_handler = {
int __init iSeries_allocate_IRQ(HvBusNumber busNumber, int __init iSeries_allocate_IRQ(HvBusNumber busNumber,
HvSubBusNumber subBusNumber, HvAgentId deviceId) HvSubBusNumber subBusNumber, HvAgentId deviceId)
{ {
unsigned int realirq, virtirq; int virtirq;
unsigned int realirq;
u8 idsel = (deviceId >> 4); u8 idsel = (deviceId >> 4);
u8 function = deviceId & 7; u8 function = deviceId & 7;
virtirq = next_virtual_irq++;
realirq = ((busNumber - 1) << 6) + ((idsel - 1) << 3) + function; realirq = ((busNumber - 1) << 6) + ((idsel - 1) << 3) + function;
virt_irq_to_real_map[virtirq] = realirq; virtirq = virt_irq_create_mapping(realirq);
irq_desc[virtirq].handler = &iSeries_IRQ_handler; irq_desc[virtirq].handler = &iSeries_IRQ_handler;
return virtirq; return virtirq;
} }
int virt_irq_create_mapping(unsigned int real_irq)
{
BUG(); /* Don't call this on iSeries, yet */
return 0;
}
void virt_irq_init(void)
{
return;
}
...@@ -39,7 +39,6 @@ ...@@ -39,7 +39,6 @@
#include <asm/sections.h> #include <asm/sections.h>
#include <asm/iommu.h> #include <asm/iommu.h>
#include <asm/firmware.h> #include <asm/firmware.h>
#include <asm/systemcfg.h>
#include <asm/system.h> #include <asm/system.h>
#include <asm/time.h> #include <asm/time.h>
#include <asm/paca.h> #include <asm/paca.h>
...@@ -548,8 +547,6 @@ static unsigned long __init build_iSeries_Memory_Map(void) ...@@ -548,8 +547,6 @@ static unsigned long __init build_iSeries_Memory_Map(void)
*/ */
static void __init iSeries_setup_arch(void) static void __init iSeries_setup_arch(void)
{ {
unsigned procIx = get_paca()->lppaca.dyn_hv_phys_proc_index;
if (get_paca()->lppaca.shared_proc) { if (get_paca()->lppaca.shared_proc) {
ppc_md.idle_loop = iseries_shared_idle; ppc_md.idle_loop = iseries_shared_idle;
printk(KERN_INFO "Using shared processor idle loop\n"); printk(KERN_INFO "Using shared processor idle loop\n");
...@@ -565,9 +562,6 @@ static void __init iSeries_setup_arch(void) ...@@ -565,9 +562,6 @@ static void __init iSeries_setup_arch(void)
itVpdAreas.xSlicMaxLogicalProcs); itVpdAreas.xSlicMaxLogicalProcs);
printk("Max physical processors = %d\n", printk("Max physical processors = %d\n",
itVpdAreas.xSlicMaxPhysicalProcs); itVpdAreas.xSlicMaxPhysicalProcs);
_systemcfg->processor = xIoHriProcessorVpd[procIx].xPVR;
printk("Processor version = %x\n", _systemcfg->processor);
} }
static void iSeries_show_cpuinfo(struct seq_file *m) static void iSeries_show_cpuinfo(struct seq_file *m)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment