diff options
Diffstat (limited to 'arch/powerpc/kernel')
| -rw-r--r-- | arch/powerpc/kernel/misc_64.S | 70 | ||||
| -rw-r--r-- | arch/powerpc/kernel/process.c | 4 | ||||
| -rw-r--r-- | arch/powerpc/kernel/prom.c | 21 | ||||
| -rw-r--r-- | arch/powerpc/kernel/prom_init.c | 11 | ||||
| -rw-r--r-- | arch/powerpc/kernel/rtas.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/kernel/setup-common.c | 40 | ||||
| -rw-r--r-- | arch/powerpc/kernel/setup_32.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/kernel/setup_64.c | 46 | ||||
| -rw-r--r-- | arch/powerpc/kernel/signal_32.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/kernel/signal_64.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/kernel/smp.c | 1 | ||||
| -rw-r--r-- | arch/powerpc/kernel/time.c | 5 | ||||
| -rw-r--r-- | arch/powerpc/kernel/traps.c | 11 |
13 files changed, 140 insertions, 77 deletions
diff --git a/arch/powerpc/kernel/misc_64.S b/arch/powerpc/kernel/misc_64.S index b3e95ff0dba0..ae1433da09b2 100644 --- a/arch/powerpc/kernel/misc_64.S +++ b/arch/powerpc/kernel/misc_64.S | |||
| @@ -604,6 +604,76 @@ _GLOBAL(real_writeb) | |||
| 604 | #endif /* defined(CONFIG_PPC_PMAC) || defined(CONFIG_PPC_MAPLE) */ | 604 | #endif /* defined(CONFIG_PPC_PMAC) || defined(CONFIG_PPC_MAPLE) */ |
| 605 | 605 | ||
| 606 | /* | 606 | /* |
| 607 | * SCOM access functions for 970 (FX only for now) | ||
| 608 | * | ||
| 609 | * unsigned long scom970_read(unsigned int address); | ||
| 610 | * void scom970_write(unsigned int address, unsigned long value); | ||
| 611 | * | ||
| 612 | * The address passed in is the 24 bits register address. This code | ||
| 613 | * is 970 specific and will not check the status bits, so you should | ||
| 614 | * know what you are doing. | ||
| 615 | */ | ||
| 616 | _GLOBAL(scom970_read) | ||
| 617 | /* interrupts off */ | ||
| 618 | mfmsr r4 | ||
| 619 | ori r0,r4,MSR_EE | ||
| 620 | xori r0,r0,MSR_EE | ||
| 621 | mtmsrd r0,1 | ||
| 622 | |||
| 623 | /* rotate 24 bits SCOM address 8 bits left and mask out it's low 8 bits | ||
| 624 | * (including parity). On current CPUs they must be 0'd, | ||
| 625 | * and finally or in RW bit | ||
| 626 | */ | ||
| 627 | rlwinm r3,r3,8,0,15 | ||
| 628 | ori r3,r3,0x8000 | ||
| 629 | |||
| 630 | /* do the actual scom read */ | ||
| 631 | sync | ||
| 632 | mtspr SPRN_SCOMC,r3 | ||
| 633 | isync | ||
| 634 | mfspr r3,SPRN_SCOMD | ||
| 635 | isync | ||
| 636 | mfspr r0,SPRN_SCOMC | ||
| 637 | isync | ||
| 638 | |||
| 639 | /* XXX: fixup result on some buggy 970's (ouch ! we lost a bit, bah | ||
| 640 | * that's the best we can do). Not implemented yet as we don't use | ||
| 641 | * the scom on any of the bogus CPUs yet, but may have to be done | ||
| 642 | * ultimately | ||
| 643 | */ | ||
| 644 | |||
| 645 | /* restore interrupts */ | ||
| 646 | mtmsrd r4,1 | ||
| 647 | blr | ||
| 648 | |||
| 649 | |||
| 650 | _GLOBAL(scom970_write) | ||
| 651 | /* interrupts off */ | ||
| 652 | mfmsr r5 | ||
| 653 | ori r0,r5,MSR_EE | ||
| 654 | xori r0,r0,MSR_EE | ||
| 655 | mtmsrd r0,1 | ||
| 656 | |||
| 657 | /* rotate 24 bits SCOM address 8 bits left and mask out it's low 8 bits | ||
| 658 | * (including parity). On current CPUs they must be 0'd. | ||
| 659 | */ | ||
| 660 | |||
| 661 | rlwinm r3,r3,8,0,15 | ||
| 662 | |||
| 663 | sync | ||
| 664 | mtspr SPRN_SCOMD,r4 /* write data */ | ||
| 665 | isync | ||
| 666 | mtspr SPRN_SCOMC,r3 /* write command */ | ||
| 667 | isync | ||
| 668 | mfspr 3,SPRN_SCOMC | ||
| 669 | isync | ||
| 670 | |||
| 671 | /* restore interrupts */ | ||
| 672 | mtmsrd r5,1 | ||
| 673 | blr | ||
| 674 | |||
| 675 | |||
| 676 | /* | ||
| 607 | * Create a kernel thread | 677 | * Create a kernel thread |
| 608 | * kernel_thread(fn, arg, flags) | 678 | * kernel_thread(fn, arg, flags) |
| 609 | */ | 679 | */ |
diff --git a/arch/powerpc/kernel/process.c b/arch/powerpc/kernel/process.c index 7f64f0464d44..de69fb37c731 100644 --- a/arch/powerpc/kernel/process.c +++ b/arch/powerpc/kernel/process.c | |||
| @@ -46,10 +46,10 @@ | |||
| 46 | #include <asm/processor.h> | 46 | #include <asm/processor.h> |
| 47 | #include <asm/mmu.h> | 47 | #include <asm/mmu.h> |
| 48 | #include <asm/prom.h> | 48 | #include <asm/prom.h> |
| 49 | #include <asm/machdep.h> | ||
| 49 | #ifdef CONFIG_PPC64 | 50 | #ifdef CONFIG_PPC64 |
| 50 | #include <asm/firmware.h> | 51 | #include <asm/firmware.h> |
| 51 | #include <asm/time.h> | 52 | #include <asm/time.h> |
| 52 | #include <asm/machdep.h> | ||
| 53 | #endif | 53 | #endif |
| 54 | 54 | ||
| 55 | extern unsigned long _get_SP(void); | 55 | extern unsigned long _get_SP(void); |
| @@ -203,10 +203,8 @@ int dump_spe(struct pt_regs *regs, elf_vrregset_t *evrregs) | |||
| 203 | 203 | ||
| 204 | int set_dabr(unsigned long dabr) | 204 | int set_dabr(unsigned long dabr) |
| 205 | { | 205 | { |
| 206 | #ifdef CONFIG_PPC64 | ||
| 207 | if (ppc_md.set_dabr) | 206 | if (ppc_md.set_dabr) |
| 208 | return ppc_md.set_dabr(dabr); | 207 | return ppc_md.set_dabr(dabr); |
| 209 | #endif | ||
| 210 | 208 | ||
| 211 | mtspr(SPRN_DABR, dabr); | 209 | mtspr(SPRN_DABR, dabr); |
| 212 | return 0; | 210 | return 0; |
diff --git a/arch/powerpc/kernel/prom.c b/arch/powerpc/kernel/prom.c index 3675ef4bac90..f645adb57534 100644 --- a/arch/powerpc/kernel/prom.c +++ b/arch/powerpc/kernel/prom.c | |||
| @@ -1974,14 +1974,29 @@ EXPORT_SYMBOL(get_property); | |||
| 1974 | /* | 1974 | /* |
| 1975 | * Add a property to a node | 1975 | * Add a property to a node |
| 1976 | */ | 1976 | */ |
| 1977 | void prom_add_property(struct device_node* np, struct property* prop) | 1977 | int prom_add_property(struct device_node* np, struct property* prop) |
| 1978 | { | 1978 | { |
| 1979 | struct property **next = &np->properties; | 1979 | struct property **next; |
| 1980 | 1980 | ||
| 1981 | prop->next = NULL; | 1981 | prop->next = NULL; |
| 1982 | while (*next) | 1982 | write_lock(&devtree_lock); |
| 1983 | next = &np->properties; | ||
| 1984 | while (*next) { | ||
| 1985 | if (strcmp(prop->name, (*next)->name) == 0) { | ||
| 1986 | /* duplicate ! don't insert it */ | ||
| 1987 | write_unlock(&devtree_lock); | ||
| 1988 | return -1; | ||
| 1989 | } | ||
| 1983 | next = &(*next)->next; | 1990 | next = &(*next)->next; |
| 1991 | } | ||
| 1984 | *next = prop; | 1992 | *next = prop; |
| 1993 | write_unlock(&devtree_lock); | ||
| 1994 | |||
| 1995 | /* try to add to proc as well if it was initialized */ | ||
| 1996 | if (np->pde) | ||
| 1997 | proc_device_tree_add_prop(np->pde, prop); | ||
| 1998 | |||
| 1999 | return 0; | ||
| 1985 | } | 2000 | } |
| 1986 | 2001 | ||
| 1987 | /* I quickly hacked that one, check against spec ! */ | 2002 | /* I quickly hacked that one, check against spec ! */ |
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index c758b6624d7b..6dc33d19fc2a 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c | |||
| @@ -403,19 +403,19 @@ static int __init prom_next_node(phandle *nodep) | |||
| 403 | } | 403 | } |
| 404 | } | 404 | } |
| 405 | 405 | ||
| 406 | static int __init prom_getprop(phandle node, const char *pname, | 406 | static int inline prom_getprop(phandle node, const char *pname, |
| 407 | void *value, size_t valuelen) | 407 | void *value, size_t valuelen) |
| 408 | { | 408 | { |
| 409 | return call_prom("getprop", 4, 1, node, ADDR(pname), | 409 | return call_prom("getprop", 4, 1, node, ADDR(pname), |
| 410 | (u32)(unsigned long) value, (u32) valuelen); | 410 | (u32)(unsigned long) value, (u32) valuelen); |
| 411 | } | 411 | } |
| 412 | 412 | ||
| 413 | static int __init prom_getproplen(phandle node, const char *pname) | 413 | static int inline prom_getproplen(phandle node, const char *pname) |
| 414 | { | 414 | { |
| 415 | return call_prom("getproplen", 2, 1, node, ADDR(pname)); | 415 | return call_prom("getproplen", 2, 1, node, ADDR(pname)); |
| 416 | } | 416 | } |
| 417 | 417 | ||
| 418 | static int __init prom_setprop(phandle node, const char *pname, | 418 | static int inline prom_setprop(phandle node, const char *pname, |
| 419 | void *value, size_t valuelen) | 419 | void *value, size_t valuelen) |
| 420 | { | 420 | { |
| 421 | return call_prom("setprop", 4, 1, node, ADDR(pname), | 421 | return call_prom("setprop", 4, 1, node, ADDR(pname), |
| @@ -1408,8 +1408,9 @@ static int __init prom_find_machine_type(void) | |||
| 1408 | struct prom_t *_prom = &RELOC(prom); | 1408 | struct prom_t *_prom = &RELOC(prom); |
| 1409 | char compat[256]; | 1409 | char compat[256]; |
| 1410 | int len, i = 0; | 1410 | int len, i = 0; |
| 1411 | #ifdef CONFIG_PPC64 | ||
| 1411 | phandle rtas; | 1412 | phandle rtas; |
| 1412 | 1413 | #endif | |
| 1413 | len = prom_getprop(_prom->root, "compatible", | 1414 | len = prom_getprop(_prom->root, "compatible", |
| 1414 | compat, sizeof(compat)-1); | 1415 | compat, sizeof(compat)-1); |
| 1415 | if (len > 0) { | 1416 | if (len > 0) { |
| @@ -1872,7 +1873,7 @@ static void __init fixup_device_tree(void) | |||
| 1872 | if (prom_getprop(u3, "device-rev", &u3_rev, sizeof(u3_rev)) | 1873 | if (prom_getprop(u3, "device-rev", &u3_rev, sizeof(u3_rev)) |
| 1873 | == PROM_ERROR) | 1874 | == PROM_ERROR) |
| 1874 | return; | 1875 | return; |
| 1875 | if (u3_rev != 0x35 && u3_rev != 0x37) | 1876 | if (u3_rev < 0x35 || u3_rev > 0x39) |
| 1876 | return; | 1877 | return; |
| 1877 | /* does it need fixup ? */ | 1878 | /* does it need fixup ? */ |
| 1878 | if (prom_getproplen(i2c, "interrupts") > 0) | 1879 | if (prom_getproplen(i2c, "interrupts") > 0) |
diff --git a/arch/powerpc/kernel/rtas.c b/arch/powerpc/kernel/rtas.c index b7fc2d884950..9d4e07f6f1ec 100644 --- a/arch/powerpc/kernel/rtas.c +++ b/arch/powerpc/kernel/rtas.c | |||
| @@ -17,6 +17,7 @@ | |||
| 17 | #include <linux/spinlock.h> | 17 | #include <linux/spinlock.h> |
| 18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
| 19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
| 20 | #include <linux/delay.h> | ||
| 20 | 21 | ||
| 21 | #include <asm/prom.h> | 22 | #include <asm/prom.h> |
| 22 | #include <asm/rtas.h> | 23 | #include <asm/rtas.h> |
| @@ -83,7 +84,7 @@ void call_rtas_display_status_delay(unsigned char c) | |||
| 83 | while (width-- > 0) | 84 | while (width-- > 0) |
| 84 | call_rtas_display_status(' '); | 85 | call_rtas_display_status(' '); |
| 85 | width = 16; | 86 | width = 16; |
| 86 | udelay(500000); | 87 | mdelay(500); |
| 87 | pending_newline = 1; | 88 | pending_newline = 1; |
| 88 | } else { | 89 | } else { |
| 89 | if (pending_newline) { | 90 | if (pending_newline) { |
| @@ -608,7 +609,6 @@ asmlinkage int ppc_rtas(struct rtas_args __user *uargs) | |||
| 608 | return 0; | 609 | return 0; |
| 609 | } | 610 | } |
| 610 | 611 | ||
| 611 | #ifdef CONFIG_SMP | ||
| 612 | /* This version can't take the spinlock, because it never returns */ | 612 | /* This version can't take the spinlock, because it never returns */ |
| 613 | 613 | ||
| 614 | struct rtas_args rtas_stop_self_args = { | 614 | struct rtas_args rtas_stop_self_args = { |
| @@ -633,7 +633,6 @@ void rtas_stop_self(void) | |||
| 633 | 633 | ||
| 634 | panic("Alas, I survived.\n"); | 634 | panic("Alas, I survived.\n"); |
| 635 | } | 635 | } |
| 636 | #endif | ||
| 637 | 636 | ||
| 638 | /* | 637 | /* |
| 639 | * Call early during boot, before mem init or bootmem, to retreive the RTAS | 638 | * Call early during boot, before mem init or bootmem, to retreive the RTAS |
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index d43fa8c0e5ac..e22856ecb5a0 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
| @@ -405,6 +405,46 @@ static int __init set_preferred_console(void) | |||
| 405 | console_initcall(set_preferred_console); | 405 | console_initcall(set_preferred_console); |
| 406 | #endif /* CONFIG_PPC_MULTIPLATFORM */ | 406 | #endif /* CONFIG_PPC_MULTIPLATFORM */ |
| 407 | 407 | ||
| 408 | void __init check_for_initrd(void) | ||
| 409 | { | ||
| 410 | #ifdef CONFIG_BLK_DEV_INITRD | ||
| 411 | unsigned long *prop; | ||
| 412 | |||
| 413 | DBG(" -> check_for_initrd()\n"); | ||
| 414 | |||
| 415 | if (of_chosen) { | ||
| 416 | prop = (unsigned long *)get_property(of_chosen, | ||
| 417 | "linux,initrd-start", NULL); | ||
| 418 | if (prop != NULL) { | ||
| 419 | initrd_start = (unsigned long)__va(*prop); | ||
| 420 | prop = (unsigned long *)get_property(of_chosen, | ||
| 421 | "linux,initrd-end", NULL); | ||
| 422 | if (prop != NULL) { | ||
| 423 | initrd_end = (unsigned long)__va(*prop); | ||
| 424 | initrd_below_start_ok = 1; | ||
| 425 | } else | ||
| 426 | initrd_start = 0; | ||
| 427 | } | ||
| 428 | } | ||
| 429 | |||
| 430 | /* If we were passed an initrd, set the ROOT_DEV properly if the values | ||
| 431 | * look sensible. If not, clear initrd reference. | ||
| 432 | */ | ||
| 433 | if (initrd_start >= KERNELBASE && initrd_end >= KERNELBASE && | ||
| 434 | initrd_end > initrd_start) | ||
| 435 | ROOT_DEV = Root_RAM0; | ||
| 436 | else { | ||
| 437 | printk("Bogus initrd %08lx %08lx\n", initrd_start, initrd_end); | ||
| 438 | initrd_start = initrd_end = 0; | ||
| 439 | } | ||
| 440 | |||
| 441 | if (initrd_start) | ||
| 442 | printk("Found initrd at 0x%lx:0x%lx\n", initrd_start, initrd_end); | ||
| 443 | |||
| 444 | DBG(" <- check_for_initrd()\n"); | ||
| 445 | #endif /* CONFIG_BLK_DEV_INITRD */ | ||
| 446 | } | ||
| 447 | |||
| 408 | #ifdef CONFIG_SMP | 448 | #ifdef CONFIG_SMP |
| 409 | 449 | ||
| 410 | /** | 450 | /** |
diff --git a/arch/powerpc/kernel/setup_32.c b/arch/powerpc/kernel/setup_32.c index b45eedbb4b3a..3af2631e3fab 100644 --- a/arch/powerpc/kernel/setup_32.c +++ b/arch/powerpc/kernel/setup_32.c | |||
| @@ -286,6 +286,7 @@ void __init setup_arch(char **cmdline_p) | |||
| 286 | loops_per_jiffy = 500000000 / HZ; | 286 | loops_per_jiffy = 500000000 / HZ; |
| 287 | 287 | ||
| 288 | unflatten_device_tree(); | 288 | unflatten_device_tree(); |
| 289 | check_for_initrd(); | ||
| 289 | finish_device_tree(); | 290 | finish_device_tree(); |
| 290 | 291 | ||
| 291 | smp_setup_cpu_maps(); | 292 | smp_setup_cpu_maps(); |
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index b0994050024f..0471e843b6c5 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c | |||
| @@ -41,7 +41,6 @@ | |||
| 41 | #include <asm/elf.h> | 41 | #include <asm/elf.h> |
| 42 | #include <asm/machdep.h> | 42 | #include <asm/machdep.h> |
| 43 | #include <asm/paca.h> | 43 | #include <asm/paca.h> |
| 44 | #include <asm/ppcdebug.h> | ||
| 45 | #include <asm/time.h> | 44 | #include <asm/time.h> |
| 46 | #include <asm/cputable.h> | 45 | #include <asm/cputable.h> |
| 47 | #include <asm/sections.h> | 46 | #include <asm/sections.h> |
| @@ -60,6 +59,7 @@ | |||
| 60 | #include <asm/firmware.h> | 59 | #include <asm/firmware.h> |
| 61 | #include <asm/systemcfg.h> | 60 | #include <asm/systemcfg.h> |
| 62 | #include <asm/xmon.h> | 61 | #include <asm/xmon.h> |
| 62 | #include <asm/udbg.h> | ||
| 63 | 63 | ||
| 64 | #ifdef DEBUG | 64 | #ifdef DEBUG |
| 65 | #define DBG(fmt...) udbg_printf(fmt) | 65 | #define DBG(fmt...) udbg_printf(fmt) |
| @@ -244,12 +244,6 @@ void __init early_setup(unsigned long dt_ptr) | |||
| 244 | DBG(" -> early_setup()\n"); | 244 | DBG(" -> early_setup()\n"); |
| 245 | 245 | ||
| 246 | /* | 246 | /* |
| 247 | * Fill the default DBG level (do we want to keep | ||
| 248 | * that old mecanism around forever ?) | ||
| 249 | */ | ||
| 250 | ppcdbg_initialize(); | ||
| 251 | |||
| 252 | /* | ||
| 253 | * Do early initializations using the flattened device | 247 | * Do early initializations using the flattened device |
| 254 | * tree, like retreiving the physical memory map or | 248 | * tree, like retreiving the physical memory map or |
| 255 | * calculating/retreiving the hash table size | 249 | * calculating/retreiving the hash table size |
| @@ -401,43 +395,6 @@ static void __init initialize_cache_info(void) | |||
| 401 | DBG(" <- initialize_cache_info()\n"); | 395 | DBG(" <- initialize_cache_info()\n"); |
| 402 | } | 396 | } |
| 403 | 397 | ||
| 404 | static void __init check_for_initrd(void) | ||
| 405 | { | ||
| 406 | #ifdef CONFIG_BLK_DEV_INITRD | ||
| 407 | u64 *prop; | ||
| 408 | |||
| 409 | DBG(" -> check_for_initrd()\n"); | ||
| 410 | |||
| 411 | if (of_chosen) { | ||
| 412 | prop = (u64 *)get_property(of_chosen, | ||
| 413 | "linux,initrd-start", NULL); | ||
| 414 | if (prop != NULL) { | ||
| 415 | initrd_start = (unsigned long)__va(*prop); | ||
| 416 | prop = (u64 *)get_property(of_chosen, | ||
| 417 | "linux,initrd-end", NULL); | ||
| 418 | if (prop != NULL) { | ||
| 419 | initrd_end = (unsigned long)__va(*prop); | ||
| 420 | initrd_below_start_ok = 1; | ||
| 421 | } else | ||
| 422 | initrd_start = 0; | ||
| 423 | } | ||
| 424 | } | ||
| 425 | |||
| 426 | /* If we were passed an initrd, set the ROOT_DEV properly if the values | ||
| 427 | * look sensible. If not, clear initrd reference. | ||
| 428 | */ | ||
| 429 | if (initrd_start >= KERNELBASE && initrd_end >= KERNELBASE && | ||
| 430 | initrd_end > initrd_start) | ||
| 431 | ROOT_DEV = Root_RAM0; | ||
| 432 | else | ||
| 433 | initrd_start = initrd_end = 0; | ||
| 434 | |||
| 435 | if (initrd_start) | ||
| 436 | printk("Found initrd at 0x%lx:0x%lx\n", initrd_start, initrd_end); | ||
| 437 | |||
| 438 | DBG(" <- check_for_initrd()\n"); | ||
| 439 | #endif /* CONFIG_BLK_DEV_INITRD */ | ||
| 440 | } | ||
| 441 | 398 | ||
| 442 | /* | 399 | /* |
| 443 | * Do some initial setup of the system. The parameters are those which | 400 | * Do some initial setup of the system. The parameters are those which |
| @@ -521,7 +478,6 @@ void __init setup_system(void) | |||
| 521 | 478 | ||
| 522 | printk("-----------------------------------------------------\n"); | 479 | printk("-----------------------------------------------------\n"); |
| 523 | printk("ppc64_pft_size = 0x%lx\n", ppc64_pft_size); | 480 | printk("ppc64_pft_size = 0x%lx\n", ppc64_pft_size); |
| 524 | printk("ppc64_debug_switch = 0x%lx\n", ppc64_debug_switch); | ||
| 525 | printk("ppc64_interrupt_controller = 0x%ld\n", ppc64_interrupt_controller); | 481 | printk("ppc64_interrupt_controller = 0x%ld\n", ppc64_interrupt_controller); |
| 526 | printk("systemcfg = 0x%p\n", systemcfg); | 482 | printk("systemcfg = 0x%p\n", systemcfg); |
| 527 | printk("systemcfg->platform = 0x%x\n", systemcfg->platform); | 483 | printk("systemcfg->platform = 0x%x\n", systemcfg->platform); |
diff --git a/arch/powerpc/kernel/signal_32.c b/arch/powerpc/kernel/signal_32.c index 876c57c11365..081d931eae48 100644 --- a/arch/powerpc/kernel/signal_32.c +++ b/arch/powerpc/kernel/signal_32.c | |||
| @@ -44,7 +44,6 @@ | |||
| 44 | #include <asm/cacheflush.h> | 44 | #include <asm/cacheflush.h> |
| 45 | #ifdef CONFIG_PPC64 | 45 | #ifdef CONFIG_PPC64 |
| 46 | #include "ppc32.h" | 46 | #include "ppc32.h" |
| 47 | #include <asm/ppcdebug.h> | ||
| 48 | #include <asm/unistd.h> | 47 | #include <asm/unistd.h> |
| 49 | #include <asm/vdso.h> | 48 | #include <asm/vdso.h> |
| 50 | #else | 49 | #else |
diff --git a/arch/powerpc/kernel/signal_64.c b/arch/powerpc/kernel/signal_64.c index ec9d0984b6a0..58194e150711 100644 --- a/arch/powerpc/kernel/signal_64.c +++ b/arch/powerpc/kernel/signal_64.c | |||
| @@ -33,7 +33,6 @@ | |||
| 33 | #include <asm/ucontext.h> | 33 | #include <asm/ucontext.h> |
| 34 | #include <asm/uaccess.h> | 34 | #include <asm/uaccess.h> |
| 35 | #include <asm/pgtable.h> | 35 | #include <asm/pgtable.h> |
| 36 | #include <asm/ppcdebug.h> | ||
| 37 | #include <asm/unistd.h> | 36 | #include <asm/unistd.h> |
| 38 | #include <asm/cacheflush.h> | 37 | #include <asm/cacheflush.h> |
| 39 | #include <asm/vdso.h> | 38 | #include <asm/vdso.h> |
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 1794a694a928..5c330c3366e4 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c | |||
| @@ -40,7 +40,6 @@ | |||
| 40 | #include <asm/prom.h> | 40 | #include <asm/prom.h> |
| 41 | #include <asm/smp.h> | 41 | #include <asm/smp.h> |
| 42 | #include <asm/time.h> | 42 | #include <asm/time.h> |
| 43 | #include <asm/xmon.h> | ||
| 44 | #include <asm/machdep.h> | 43 | #include <asm/machdep.h> |
| 45 | #include <asm/cputable.h> | 44 | #include <asm/cputable.h> |
| 46 | #include <asm/system.h> | 45 | #include <asm/system.h> |
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c index b1c89bc4bf90..a6282b625b44 100644 --- a/arch/powerpc/kernel/time.c +++ b/arch/powerpc/kernel/time.c | |||
| @@ -61,6 +61,7 @@ | |||
| 61 | #include <asm/prom.h> | 61 | #include <asm/prom.h> |
| 62 | #include <asm/irq.h> | 62 | #include <asm/irq.h> |
| 63 | #include <asm/div64.h> | 63 | #include <asm/div64.h> |
| 64 | #include <asm/smp.h> | ||
| 64 | #ifdef CONFIG_PPC64 | 65 | #ifdef CONFIG_PPC64 |
| 65 | #include <asm/systemcfg.h> | 66 | #include <asm/systemcfg.h> |
| 66 | #include <asm/firmware.h> | 67 | #include <asm/firmware.h> |
| @@ -119,10 +120,6 @@ static unsigned adjusting_time = 0; | |||
| 119 | unsigned long ppc_proc_freq; | 120 | unsigned long ppc_proc_freq; |
| 120 | unsigned long ppc_tb_freq; | 121 | unsigned long ppc_tb_freq; |
| 121 | 122 | ||
| 122 | #ifdef CONFIG_PPC32 /* XXX for now */ | ||
| 123 | #define boot_cpuid 0 | ||
| 124 | #endif | ||
| 125 | |||
| 126 | u64 tb_last_jiffy __cacheline_aligned_in_smp; | 123 | u64 tb_last_jiffy __cacheline_aligned_in_smp; |
| 127 | unsigned long tb_last_stamp; | 124 | unsigned long tb_last_stamp; |
| 128 | 125 | ||
diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c index 07e5ee40b870..32f215825e8d 100644 --- a/arch/powerpc/kernel/traps.c +++ b/arch/powerpc/kernel/traps.c | |||
| @@ -39,7 +39,6 @@ | |||
| 39 | #include <asm/io.h> | 39 | #include <asm/io.h> |
| 40 | #include <asm/machdep.h> | 40 | #include <asm/machdep.h> |
| 41 | #include <asm/rtas.h> | 41 | #include <asm/rtas.h> |
| 42 | #include <asm/xmon.h> | ||
| 43 | #include <asm/pmc.h> | 42 | #include <asm/pmc.h> |
| 44 | #ifdef CONFIG_PPC32 | 43 | #ifdef CONFIG_PPC32 |
| 45 | #include <asm/reg.h> | 44 | #include <asm/reg.h> |
| @@ -748,22 +747,12 @@ static int check_bug_trap(struct pt_regs *regs) | |||
| 748 | return 0; | 747 | return 0; |
| 749 | if (bug->line & BUG_WARNING_TRAP) { | 748 | if (bug->line & BUG_WARNING_TRAP) { |
| 750 | /* this is a WARN_ON rather than BUG/BUG_ON */ | 749 | /* this is a WARN_ON rather than BUG/BUG_ON */ |
| 751 | #ifdef CONFIG_XMON | ||
| 752 | xmon_printf(KERN_ERR "Badness in %s at %s:%ld\n", | ||
| 753 | bug->function, bug->file, | ||
| 754 | bug->line & ~BUG_WARNING_TRAP); | ||
| 755 | #endif /* CONFIG_XMON */ | ||
| 756 | printk(KERN_ERR "Badness in %s at %s:%ld\n", | 750 | printk(KERN_ERR "Badness in %s at %s:%ld\n", |
| 757 | bug->function, bug->file, | 751 | bug->function, bug->file, |
| 758 | bug->line & ~BUG_WARNING_TRAP); | 752 | bug->line & ~BUG_WARNING_TRAP); |
| 759 | dump_stack(); | 753 | dump_stack(); |
| 760 | return 1; | 754 | return 1; |
| 761 | } | 755 | } |
| 762 | #ifdef CONFIG_XMON | ||
| 763 | xmon_printf(KERN_CRIT "kernel BUG in %s at %s:%ld!\n", | ||
| 764 | bug->function, bug->file, bug->line); | ||
| 765 | xmon(regs); | ||
| 766 | #endif /* CONFIG_XMON */ | ||
| 767 | printk(KERN_CRIT "kernel BUG in %s at %s:%ld!\n", | 756 | printk(KERN_CRIT "kernel BUG in %s at %s:%ld!\n", |
| 768 | bug->function, bug->file, bug->line); | 757 | bug->function, bug->file, bug->line); |
| 769 | 758 | ||
