diff options
author | Paul Mackerras <paulus@samba.org> | 2008-03-13 00:26:33 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-03-13 00:26:33 -0400 |
commit | bed04a4413376265746053be2a9cfbfc80c98ec9 (patch) | |
tree | 8f582294a655f70496cd08aedeb86de31dbad140 /arch/sparc64 | |
parent | e37c772e36a7943b2e0bd8f48312e78474c0df15 (diff) | |
parent | c463be3520065ef8c05e3cbdf946c69604e91ceb (diff) |
Merge branch 'linux-2.6'
Diffstat (limited to 'arch/sparc64')
-rw-r--r-- | arch/sparc64/Kconfig | 1 | ||||
-rw-r--r-- | arch/sparc64/kernel/cpu.c | 4 | ||||
-rw-r--r-- | arch/sparc64/kernel/ds.c | 14 | ||||
-rw-r--r-- | arch/sparc64/kernel/mdesc.c | 2 | ||||
-rw-r--r-- | arch/sparc64/kernel/process.c | 2 | ||||
-rw-r--r-- | arch/sparc64/mm/fault.c | 14 | ||||
-rw-r--r-- | arch/sparc64/mm/init.c | 3 | ||||
-rw-r--r-- | arch/sparc64/solaris/conv.h | 2 | ||||
-rw-r--r-- | arch/sparc64/solaris/timod.c | 2 |
9 files changed, 18 insertions, 26 deletions
diff --git a/arch/sparc64/Kconfig b/arch/sparc64/Kconfig index b18d24d249fa..2667a9dee11d 100644 --- a/arch/sparc64/Kconfig +++ b/arch/sparc64/Kconfig | |||
@@ -10,6 +10,7 @@ config SPARC | |||
10 | default y | 10 | default y |
11 | select HAVE_OPROFILE | 11 | select HAVE_OPROFILE |
12 | select HAVE_KPROBES | 12 | select HAVE_KPROBES |
13 | select HAVE_KRETPROBES | ||
13 | 14 | ||
14 | config SPARC64 | 15 | config SPARC64 |
15 | bool | 16 | bool |
diff --git a/arch/sparc64/kernel/cpu.c b/arch/sparc64/kernel/cpu.c index e43db73f2b91..dd5d28e3d798 100644 --- a/arch/sparc64/kernel/cpu.c +++ b/arch/sparc64/kernel/cpu.c | |||
@@ -30,7 +30,7 @@ struct cpu_fp_info { | |||
30 | char* fp_name; | 30 | char* fp_name; |
31 | }; | 31 | }; |
32 | 32 | ||
33 | struct cpu_fp_info linux_sparc_fpu[] = { | 33 | static struct cpu_fp_info linux_sparc_fpu[] = { |
34 | { 0x17, 0x10, 0, "UltraSparc I integrated FPU"}, | 34 | { 0x17, 0x10, 0, "UltraSparc I integrated FPU"}, |
35 | { 0x22, 0x10, 0, "UltraSparc I integrated FPU"}, | 35 | { 0x22, 0x10, 0, "UltraSparc I integrated FPU"}, |
36 | { 0x17, 0x11, 0, "UltraSparc II integrated FPU"}, | 36 | { 0x17, 0x11, 0, "UltraSparc II integrated FPU"}, |
@@ -46,7 +46,7 @@ struct cpu_fp_info linux_sparc_fpu[] = { | |||
46 | 46 | ||
47 | #define NSPARCFPU ARRAY_SIZE(linux_sparc_fpu) | 47 | #define NSPARCFPU ARRAY_SIZE(linux_sparc_fpu) |
48 | 48 | ||
49 | struct cpu_iu_info linux_sparc_chips[] = { | 49 | static struct cpu_iu_info linux_sparc_chips[] = { |
50 | { 0x17, 0x10, "TI UltraSparc I (SpitFire)"}, | 50 | { 0x17, 0x10, "TI UltraSparc I (SpitFire)"}, |
51 | { 0x22, 0x10, "TI UltraSparc I (SpitFire)"}, | 51 | { 0x22, 0x10, "TI UltraSparc I (SpitFire)"}, |
52 | { 0x17, 0x11, "TI UltraSparc II (BlackBird)"}, | 52 | { 0x17, 0x11, "TI UltraSparc II (BlackBird)"}, |
diff --git a/arch/sparc64/kernel/ds.c b/arch/sparc64/kernel/ds.c index eeb5a2fc788d..bd76482077be 100644 --- a/arch/sparc64/kernel/ds.c +++ b/arch/sparc64/kernel/ds.c | |||
@@ -525,10 +525,10 @@ static void dr_cpu_mark(struct ds_data *resp, int cpu, int ncpus, | |||
525 | } | 525 | } |
526 | } | 526 | } |
527 | 527 | ||
528 | static int dr_cpu_configure(struct ds_info *dp, | 528 | static int __cpuinit dr_cpu_configure(struct ds_info *dp, |
529 | struct ds_cap_state *cp, | 529 | struct ds_cap_state *cp, |
530 | u64 req_num, | 530 | u64 req_num, |
531 | cpumask_t *mask) | 531 | cpumask_t *mask) |
532 | { | 532 | { |
533 | struct ds_data *resp; | 533 | struct ds_data *resp; |
534 | int resp_len, ncpus, cpu; | 534 | int resp_len, ncpus, cpu; |
@@ -623,9 +623,9 @@ static int dr_cpu_unconfigure(struct ds_info *dp, | |||
623 | return 0; | 623 | return 0; |
624 | } | 624 | } |
625 | 625 | ||
626 | static void dr_cpu_data(struct ds_info *dp, | 626 | static void __cpuinit dr_cpu_data(struct ds_info *dp, |
627 | struct ds_cap_state *cp, | 627 | struct ds_cap_state *cp, |
628 | void *buf, int len) | 628 | void *buf, int len) |
629 | { | 629 | { |
630 | struct ds_data *data = buf; | 630 | struct ds_data *data = buf; |
631 | struct dr_cpu_tag *tag = (struct dr_cpu_tag *) (data + 1); | 631 | struct dr_cpu_tag *tag = (struct dr_cpu_tag *) (data + 1); |
diff --git a/arch/sparc64/kernel/mdesc.c b/arch/sparc64/kernel/mdesc.c index 856659bb1311..910083589569 100644 --- a/arch/sparc64/kernel/mdesc.c +++ b/arch/sparc64/kernel/mdesc.c | |||
@@ -758,7 +758,7 @@ static void __devinit get_mondo_data(struct mdesc_handle *hp, u64 mp, | |||
758 | get_one_mondo_bits(val, &tb->nonresum_qmask, 2); | 758 | get_one_mondo_bits(val, &tb->nonresum_qmask, 2); |
759 | } | 759 | } |
760 | 760 | ||
761 | void __devinit mdesc_fill_in_cpu_data(cpumask_t mask) | 761 | void __cpuinit mdesc_fill_in_cpu_data(cpumask_t mask) |
762 | { | 762 | { |
763 | struct mdesc_handle *hp = mdesc_grab(); | 763 | struct mdesc_handle *hp = mdesc_grab(); |
764 | u64 mp; | 764 | u64 mp; |
diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index 2aafce7dfc0e..e116e38b160e 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c | |||
@@ -114,8 +114,6 @@ void cpu_idle(void) | |||
114 | } | 114 | } |
115 | } | 115 | } |
116 | 116 | ||
117 | extern char reboot_command []; | ||
118 | |||
119 | void machine_halt(void) | 117 | void machine_halt(void) |
120 | { | 118 | { |
121 | sstate_halt(); | 119 | sstate_halt(); |
diff --git a/arch/sparc64/mm/fault.c b/arch/sparc64/mm/fault.c index e2027f27c0fe..2650d0d33ac2 100644 --- a/arch/sparc64/mm/fault.c +++ b/arch/sparc64/mm/fault.c | |||
@@ -244,16 +244,8 @@ static void do_kernel_fault(struct pt_regs *regs, int si_code, int fault_code, | |||
244 | if (regs->tstate & TSTATE_PRIV) { | 244 | if (regs->tstate & TSTATE_PRIV) { |
245 | const struct exception_table_entry *entry; | 245 | const struct exception_table_entry *entry; |
246 | 246 | ||
247 | if (asi == ASI_P && (insn & 0xc0800000) == 0xc0800000) { | 247 | entry = search_exception_tables(regs->tpc); |
248 | if (insn & 0x2000) | 248 | if (entry) { |
249 | asi = (regs->tstate >> 24); | ||
250 | else | ||
251 | asi = (insn >> 5); | ||
252 | } | ||
253 | |||
254 | /* Look in asi.h: All _S asis have LS bit set */ | ||
255 | if ((asi & 0x1) && | ||
256 | (entry = search_exception_tables(regs->tpc))) { | ||
257 | regs->tpc = entry->fixup; | 249 | regs->tpc = entry->fixup; |
258 | regs->tnpc = regs->tpc + 4; | 250 | regs->tnpc = regs->tpc + 4; |
259 | return; | 251 | return; |
@@ -294,7 +286,7 @@ asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs) | |||
294 | unsigned long tpc = regs->tpc; | 286 | unsigned long tpc = regs->tpc; |
295 | 287 | ||
296 | /* Sanity check the PC. */ | 288 | /* Sanity check the PC. */ |
297 | if ((tpc >= KERNBASE && tpc < (unsigned long) _etext) || | 289 | if ((tpc >= KERNBASE && tpc < (unsigned long) __init_end) || |
298 | (tpc >= MODULES_VADDR && tpc < MODULES_END)) { | 290 | (tpc >= MODULES_VADDR && tpc < MODULES_END)) { |
299 | /* Valid, no problems... */ | 291 | /* Valid, no problems... */ |
300 | } else { | 292 | } else { |
diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index 9e6bca266d88..b5c30416fdac 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c | |||
@@ -1010,7 +1010,8 @@ static struct linux_prom64_registers pall[MAX_BANKS] __initdata; | |||
1010 | static int pall_ents __initdata; | 1010 | static int pall_ents __initdata; |
1011 | 1011 | ||
1012 | #ifdef CONFIG_DEBUG_PAGEALLOC | 1012 | #ifdef CONFIG_DEBUG_PAGEALLOC |
1013 | static unsigned long kernel_map_range(unsigned long pstart, unsigned long pend, pgprot_t prot) | 1013 | static unsigned long __ref kernel_map_range(unsigned long pstart, |
1014 | unsigned long pend, pgprot_t prot) | ||
1014 | { | 1015 | { |
1015 | unsigned long vstart = PAGE_OFFSET + pstart; | 1016 | unsigned long vstart = PAGE_OFFSET + pstart; |
1016 | unsigned long vend = PAGE_OFFSET + pend; | 1017 | unsigned long vend = PAGE_OFFSET + pend; |
diff --git a/arch/sparc64/solaris/conv.h b/arch/sparc64/solaris/conv.h index 5faf59a9de39..50e58232cf2b 100644 --- a/arch/sparc64/solaris/conv.h +++ b/arch/sparc64/solaris/conv.h | |||
@@ -28,7 +28,7 @@ extern unsigned sunos_sys_table[]; | |||
28 | #define SUNOS(x) ((long)sunos_sys_table[x]) | 28 | #define SUNOS(x) ((long)sunos_sys_table[x]) |
29 | 29 | ||
30 | #ifdef DEBUG_SOLARIS | 30 | #ifdef DEBUG_SOLARIS |
31 | #define SOLD(s) printk("%s,%d,%s(): %s\n",__FILE__,__LINE__,__FUNCTION__,(s)) | 31 | #define SOLD(s) printk("%s,%d,%s(): %s\n",__FILE__,__LINE__,__func__,(s)) |
32 | #define SOLDD(s) printk("solaris: "); printk s | 32 | #define SOLDD(s) printk("solaris: "); printk s |
33 | #else | 33 | #else |
34 | #define SOLD(s) | 34 | #define SOLD(s) |
diff --git a/arch/sparc64/solaris/timod.c b/arch/sparc64/solaris/timod.c index f53123c02c2b..15234fcd191a 100644 --- a/arch/sparc64/solaris/timod.c +++ b/arch/sparc64/solaris/timod.c | |||
@@ -81,7 +81,7 @@ void mykfree(void *p) | |||
81 | #define MKCTL_MAGIC 0xDEADBABEBADC0DEDL | 81 | #define MKCTL_MAGIC 0xDEADBABEBADC0DEDL |
82 | #define PUT_MAGIC(a,m) do{(*(u64*)(a))=(m);}while(0) | 82 | #define PUT_MAGIC(a,m) do{(*(u64*)(a))=(m);}while(0) |
83 | #define SCHECK_MAGIC(a,m) do{if((*(u64*)(a))!=(m))printk("%s,%u,%s(): magic %08x at %p corrupted!\n",\ | 83 | #define SCHECK_MAGIC(a,m) do{if((*(u64*)(a))!=(m))printk("%s,%u,%s(): magic %08x at %p corrupted!\n",\ |
84 | __FILE__,__LINE__,__FUNCTION__,(m),(a));}while(0) | 84 | __FILE__,__LINE__,__func__,(m),(a));}while(0) |
85 | #define BUF_OFFSET sizeof(u64) | 85 | #define BUF_OFFSET sizeof(u64) |
86 | #define MKCTL_TRAILER sizeof(u64) | 86 | #define MKCTL_TRAILER sizeof(u64) |
87 | 87 | ||