Loading arch/powerpc/kernel/Makefile +3 −3 Original line number Diff line number Diff line Loading @@ -11,7 +11,8 @@ CFLAGS_btext.o += -fPIC endif obj-y := semaphore.o cputable.o ptrace.o syscalls.o \ irq.o align.o signal_32.o pmc.o vdso.o irq.o align.o signal_32.o pmc.o vdso.o \ init_task.o process.o obj-y += vdso32/ obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ signal_64.o ptrace32.o systbl.o \ Loading Loading @@ -44,8 +45,7 @@ extra-$(CONFIG_FSL_BOOKE) := head_fsl_booke.o extra-$(CONFIG_8xx) := head_8xx.o extra-y += vmlinux.lds obj-y += process.o init_task.o time.o \ prom.o traps.o setup-common.o udbg.o obj-y += time.o prom.o traps.o setup-common.o udbg.o obj-$(CONFIG_PPC32) += entry_32.o setup_32.o misc_32.o systbl.o obj-$(CONFIG_PPC64) += misc_64.o dma_64.o iommu.o obj-$(CONFIG_PPC_MULTIPLATFORM) += prom_init.o Loading arch/powerpc/kernel/pci_64.c +3 −2 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ EXPORT_SYMBOL(io_page_mask); #ifdef CONFIG_PPC_MULTIPLATFORM static void fixup_resource(struct resource *res, struct pci_dev *dev); static void do_bus_setup(struct pci_bus *bus); static void phbs_remap_io(void); #endif /* pci_io_base -- the base address from which io bars are offsets. Loading Loading @@ -251,6 +252,7 @@ void pcibios_free_controller(struct pci_controller *phb) kfree(phb); } #ifndef CONFIG_PPC_ISERIES void __devinit pcibios_claim_one_bus(struct pci_bus *b) { struct pci_dev *dev; Loading @@ -275,7 +277,6 @@ void __devinit pcibios_claim_one_bus(struct pci_bus *b) EXPORT_SYMBOL_GPL(pcibios_claim_one_bus); #endif #ifndef CONFIG_PPC_ISERIES static void __init pcibios_claim_of_setup(void) { struct pci_bus *b; Loading Loading @@ -1218,7 +1219,7 @@ int remap_bus_range(struct pci_bus *bus) } EXPORT_SYMBOL(remap_bus_range); void phbs_remap_io(void) static void phbs_remap_io(void) { struct pci_controller *hose, *tmp; Loading arch/powerpc/kernel/process.c +5 −3 Original line number Diff line number Diff line Loading @@ -201,13 +201,13 @@ int dump_spe(struct pt_regs *regs, elf_vrregset_t *evrregs) } #endif /* CONFIG_SPE */ #ifndef CONFIG_SMP /* * If we are doing lazy switching of CPU state (FP, altivec or SPE), * and the current task has some state, discard it. */ static inline void discard_lazy_cpu_state(void) void discard_lazy_cpu_state(void) { #ifndef CONFIG_SMP preempt_disable(); if (last_task_used_math == current) last_task_used_math = NULL; Loading @@ -220,9 +220,10 @@ static inline void discard_lazy_cpu_state(void) last_task_used_spe = NULL; #endif preempt_enable(); #endif /* CONFIG_SMP */ } #endif /* CONFIG_SMP */ #ifdef CONFIG_PPC_MERGE /* XXX for now */ int set_dabr(unsigned long dabr) { if (ppc_md.set_dabr) Loading @@ -231,6 +232,7 @@ int set_dabr(unsigned long dabr) mtspr(SPRN_DABR, dabr); return 0; } #endif #ifdef CONFIG_PPC64 DEFINE_PER_CPU(struct cpu_usage, cpu_usage_array); Loading arch/powerpc/kernel/prom.c +24 −4 Original line number Diff line number Diff line Loading @@ -1100,17 +1100,37 @@ static int __init early_init_dt_scan_memory(unsigned long node, static void __init early_reserve_mem(void) { unsigned long base, size; unsigned long *reserve_map; u64 base, size; u64 *reserve_map; reserve_map = (unsigned long *)(((unsigned long)initial_boot_params) + reserve_map = (u64 *)(((unsigned long)initial_boot_params) + initial_boot_params->off_mem_rsvmap); #ifdef CONFIG_PPC32 /* * Handle the case where we might be booting from an old kexec * image that setup the mem_rsvmap as pairs of 32-bit values */ if (*reserve_map > 0xffffffffull) { u32 base_32, size_32; u32 *reserve_map_32 = (u32 *)reserve_map; while (1) { base_32 = *(reserve_map_32++); size_32 = *(reserve_map_32++); if (size_32 == 0) break; DBG("reserving: %lx -> %lx\n", base_32, size_32); lmb_reserve(base_32, size_32); } return; } #endif while (1) { base = *(reserve_map++); size = *(reserve_map++); if (size == 0) break; DBG("reserving: %lx -> %lx\n", base, size); DBG("reserving: %llx -> %llx\n", base, size); lmb_reserve(base, size); } Loading arch/powerpc/kernel/prom_init.c +4 −4 Original line number Diff line number Diff line Loading @@ -137,8 +137,8 @@ struct prom_t { }; struct mem_map_entry { unsigned long base; unsigned long size; u64 base; u64 size; }; typedef u32 cell_t; Loading Loading @@ -897,9 +897,9 @@ static unsigned long __init prom_next_cell(int s, cell_t **cellp) * If problems seem to show up, it would be a good start to track * them down. */ static void reserve_mem(unsigned long base, unsigned long size) static void reserve_mem(u64 base, u64 size) { unsigned long top = base + size; u64 top = base + size; unsigned long cnt = RELOC(mem_reserve_cnt); if (size == 0) Loading Loading
arch/powerpc/kernel/Makefile +3 −3 Original line number Diff line number Diff line Loading @@ -11,7 +11,8 @@ CFLAGS_btext.o += -fPIC endif obj-y := semaphore.o cputable.o ptrace.o syscalls.o \ irq.o align.o signal_32.o pmc.o vdso.o irq.o align.o signal_32.o pmc.o vdso.o \ init_task.o process.o obj-y += vdso32/ obj-$(CONFIG_PPC64) += setup_64.o binfmt_elf32.o sys_ppc32.o \ signal_64.o ptrace32.o systbl.o \ Loading Loading @@ -44,8 +45,7 @@ extra-$(CONFIG_FSL_BOOKE) := head_fsl_booke.o extra-$(CONFIG_8xx) := head_8xx.o extra-y += vmlinux.lds obj-y += process.o init_task.o time.o \ prom.o traps.o setup-common.o udbg.o obj-y += time.o prom.o traps.o setup-common.o udbg.o obj-$(CONFIG_PPC32) += entry_32.o setup_32.o misc_32.o systbl.o obj-$(CONFIG_PPC64) += misc_64.o dma_64.o iommu.o obj-$(CONFIG_PPC_MULTIPLATFORM) += prom_init.o Loading
arch/powerpc/kernel/pci_64.c +3 −2 Original line number Diff line number Diff line Loading @@ -53,6 +53,7 @@ EXPORT_SYMBOL(io_page_mask); #ifdef CONFIG_PPC_MULTIPLATFORM static void fixup_resource(struct resource *res, struct pci_dev *dev); static void do_bus_setup(struct pci_bus *bus); static void phbs_remap_io(void); #endif /* pci_io_base -- the base address from which io bars are offsets. Loading Loading @@ -251,6 +252,7 @@ void pcibios_free_controller(struct pci_controller *phb) kfree(phb); } #ifndef CONFIG_PPC_ISERIES void __devinit pcibios_claim_one_bus(struct pci_bus *b) { struct pci_dev *dev; Loading @@ -275,7 +277,6 @@ void __devinit pcibios_claim_one_bus(struct pci_bus *b) EXPORT_SYMBOL_GPL(pcibios_claim_one_bus); #endif #ifndef CONFIG_PPC_ISERIES static void __init pcibios_claim_of_setup(void) { struct pci_bus *b; Loading Loading @@ -1218,7 +1219,7 @@ int remap_bus_range(struct pci_bus *bus) } EXPORT_SYMBOL(remap_bus_range); void phbs_remap_io(void) static void phbs_remap_io(void) { struct pci_controller *hose, *tmp; Loading
arch/powerpc/kernel/process.c +5 −3 Original line number Diff line number Diff line Loading @@ -201,13 +201,13 @@ int dump_spe(struct pt_regs *regs, elf_vrregset_t *evrregs) } #endif /* CONFIG_SPE */ #ifndef CONFIG_SMP /* * If we are doing lazy switching of CPU state (FP, altivec or SPE), * and the current task has some state, discard it. */ static inline void discard_lazy_cpu_state(void) void discard_lazy_cpu_state(void) { #ifndef CONFIG_SMP preempt_disable(); if (last_task_used_math == current) last_task_used_math = NULL; Loading @@ -220,9 +220,10 @@ static inline void discard_lazy_cpu_state(void) last_task_used_spe = NULL; #endif preempt_enable(); #endif /* CONFIG_SMP */ } #endif /* CONFIG_SMP */ #ifdef CONFIG_PPC_MERGE /* XXX for now */ int set_dabr(unsigned long dabr) { if (ppc_md.set_dabr) Loading @@ -231,6 +232,7 @@ int set_dabr(unsigned long dabr) mtspr(SPRN_DABR, dabr); return 0; } #endif #ifdef CONFIG_PPC64 DEFINE_PER_CPU(struct cpu_usage, cpu_usage_array); Loading
arch/powerpc/kernel/prom.c +24 −4 Original line number Diff line number Diff line Loading @@ -1100,17 +1100,37 @@ static int __init early_init_dt_scan_memory(unsigned long node, static void __init early_reserve_mem(void) { unsigned long base, size; unsigned long *reserve_map; u64 base, size; u64 *reserve_map; reserve_map = (unsigned long *)(((unsigned long)initial_boot_params) + reserve_map = (u64 *)(((unsigned long)initial_boot_params) + initial_boot_params->off_mem_rsvmap); #ifdef CONFIG_PPC32 /* * Handle the case where we might be booting from an old kexec * image that setup the mem_rsvmap as pairs of 32-bit values */ if (*reserve_map > 0xffffffffull) { u32 base_32, size_32; u32 *reserve_map_32 = (u32 *)reserve_map; while (1) { base_32 = *(reserve_map_32++); size_32 = *(reserve_map_32++); if (size_32 == 0) break; DBG("reserving: %lx -> %lx\n", base_32, size_32); lmb_reserve(base_32, size_32); } return; } #endif while (1) { base = *(reserve_map++); size = *(reserve_map++); if (size == 0) break; DBG("reserving: %lx -> %lx\n", base, size); DBG("reserving: %llx -> %llx\n", base, size); lmb_reserve(base, size); } Loading
arch/powerpc/kernel/prom_init.c +4 −4 Original line number Diff line number Diff line Loading @@ -137,8 +137,8 @@ struct prom_t { }; struct mem_map_entry { unsigned long base; unsigned long size; u64 base; u64 size; }; typedef u32 cell_t; Loading Loading @@ -897,9 +897,9 @@ static unsigned long __init prom_next_cell(int s, cell_t **cellp) * If problems seem to show up, it would be a good start to track * them down. */ static void reserve_mem(unsigned long base, unsigned long size) static void reserve_mem(u64 base, u64 size) { unsigned long top = base + size; u64 top = base + size; unsigned long cnt = RELOC(mem_reserve_cnt); if (size == 0) Loading