Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc

* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
[POWERPC] Fix zImage.coff generation for 32-bit pmac
[POWERPC] Fix compile breakage for IBM/AMCC 4xx arch/ppc platforms
[POWERPC] Don't allow PMAC_APM_EMU for 64-bit
[POWERPC] Compare irq numbers with NO_IRQ not IRQ_NONE
[POWERPC] Fix return from pte_alloc_one() in out-of-memory case
[POWERPC] Fix compile warning in pseries xics code
[POWERPC] Don't use HOSTCFLAGS in BOOTCFLAGS
[POWERPC] Create a zImage for legacy iSeries
[POWERPC] pasemi idle uses hard_smp_processor_id
[POWERPC] ps3/interrupt.c uses get_hard_smp_processor_id
[POWERPC] Fix possible access to free pages
[POWERPC] Fix compiler/assembler flags for Ebony platform boot files
[POWERPC] Fix ppc32 single-stepping out of syscalls
[POWERPC] Update documentation for of_find_node_by_type()

+46 -27
-1
arch/powerpc/Makefile
··· 142 142 143 143 # Default to zImage, override when needed 144 144 defaultimage-y := zImage 145 - defaultimage-$(CONFIG_PPC_ISERIES) := vmlinux 146 145 defaultimage-$(CONFIG_DEFAULT_UIMAGE) := uImage 147 146 KBUILD_IMAGE := $(defaultimage-y) 148 147 all: $(KBUILD_IMAGE)
+12 -10
arch/powerpc/boot/Makefile
··· 11 11 # bootloader and increase compatibility with OpenFirmware. 12 12 # 13 13 # To this end we need to define BOOTCC, etc, as the tools 14 - # needed to build the 32 bit image. These are normally HOSTCC, 15 - # but may be a third compiler if, for example, you are cross 16 - # compiling from an intel box. Once the 64bit ppc gcc is 17 - # stable it will probably simply be a compiler switch to 18 - # compile for 32bit mode. 14 + # needed to build the 32 bit image. That's normally the same 15 + # compiler for the rest of the kernel, with the -m32 flag added. 19 16 # To make it easier to setup a cross compiler, 20 17 # CROSS32_COMPILE is setup as a prefix just like CROSS_COMPILE 21 18 # in the toplevel makefile. 22 19 23 20 all: $(obj)/zImage 24 21 25 - HOSTCC := gcc 26 - BOOTCFLAGS := $(HOSTCFLAGS) -fno-builtin -nostdinc -isystem \ 27 - $(shell $(CROSS32CC) -print-file-name=include) -fPIC 22 + BOOTCFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \ 23 + -fno-strict-aliasing -Os -msoft-float -pipe \ 24 + -fomit-frame-pointer -fno-builtin -fPIC -nostdinc \ 25 + -isystem $(shell $(CROSS32CC) -print-file-name=include) 28 26 BOOTAFLAGS := -D__ASSEMBLY__ $(BOOTCFLAGS) -traditional -nostdinc 29 27 30 28 ifeq ($(call cc-option-yn, -fstack-protector),y) ··· 31 33 32 34 BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) 33 35 34 - $(obj)/44x.o: BOOTCFLAGS += -Wa,-mbooke 35 - $(obj)/ebony.o: BOOTCFLAGS += -Wa,-mbooke 36 + $(obj)/44x.o: BOOTCFLAGS += -mcpu=440 37 + $(obj)/ebony.o: BOOTCFLAGS += -mcpu=440 36 38 37 39 zlib := inffast.c inflate.c inftrees.c 38 40 zlibheader := inffast.h inffixed.h inflate.h inftrees.h infutil.h ··· 134 136 image-$(CONFIG_PPC_PMAC) += zImage.pmac 135 137 image-$(CONFIG_PPC_HOLLY) += zImage.holly-elf 136 138 image-$(CONFIG_PPC_PRPMC2800) += zImage.prpmc2800 139 + image-$(CONFIG_PPC_ISERIES) += zImage.iseries 137 140 image-$(CONFIG_DEFAULT_UIMAGE) += uImage 138 141 139 142 ifneq ($(CONFIG_DEVICE_TREE),"") ··· 183 184 184 185 $(obj)/zImage.%: vmlinux $(wrapperbits) 185 186 $(call if_changed,wrap,$*) 187 + 188 + $(obj)/zImage.iseries: vmlinux 189 + $(STRIP) -s -R .comment $< -o $@ 186 190 187 191 $(obj)/zImage.ps3: vmlinux 188 192 $(STRIP) -s -R .comment $< -o $@
+2 -2
arch/powerpc/boot/wrapper
··· 129 129 pmac|pseries|chrp) 130 130 platformo=$object/of.o 131 131 ;; 132 - pmaccoff) 132 + coff) 133 133 platformo=$object/of.o 134 134 lds=$object/zImage.coff.lds 135 135 ;; ··· 220 220 pseries|chrp) 221 221 $object/addnote "$ofile" 222 222 ;; 223 - pmaccoff) 223 + coff) 224 224 ${CROSS}objcopy -O aixcoff-rs6000 --set-start "$entry" "$ofile" 225 225 $object/hack-coff "$ofile" 226 226 ;;
+3 -3
arch/powerpc/kernel/irq.c
··· 489 489 case IRQ_HOST_MAP_LINEAR: 490 490 rmap = (unsigned int *)(host + 1); 491 491 for (i = 0; i < revmap_arg; i++) 492 - rmap[i] = IRQ_NONE; 492 + rmap[i] = NO_IRQ; 493 493 host->revmap_data.linear.size = revmap_arg; 494 494 smp_wmb(); 495 495 host->revmap_data.linear.revmap = rmap; ··· 614 614 * host->ops->map() to update the flags 615 615 */ 616 616 virq = irq_find_mapping(host, hwirq); 617 - if (virq != IRQ_NONE) { 617 + if (virq != NO_IRQ) { 618 618 if (host->ops->remap) 619 619 host->ops->remap(host, virq, hwirq); 620 620 pr_debug("irq: -> existing mapping on virq %d\n", virq); ··· 741 741 switch(host->revmap_type) { 742 742 case IRQ_HOST_MAP_LINEAR: 743 743 if (hwirq < host->revmap_data.linear.size) 744 - host->revmap_data.linear.revmap[hwirq] = IRQ_NONE; 744 + host->revmap_data.linear.revmap[hwirq] = NO_IRQ; 745 745 break; 746 746 case IRQ_HOST_MAP_TREE: 747 747 /* Check if radix tree allocated yet */
+6 -5
arch/powerpc/kernel/prom.c
··· 1171 1171 1172 1172 /** 1173 1173 * of_find_node_by_type - Find a node by its "device_type" property 1174 - * @from: The node to start searching from or NULL, the node 1175 - * you pass will not be searched, only the next one 1176 - * will; typically, you pass what the previous call 1177 - * returned. of_node_put() will be called on it 1178 - * @name: The type string to match against 1174 + * @from: The node to start searching from, or NULL to start searching 1175 + * the entire device tree. The node you pass will not be 1176 + * searched, only the next one will; typically, you pass 1177 + * what the previous call returned. of_node_put() will be 1178 + * called on from for you. 1179 + * @type: The type string to match against 1179 1180 * 1180 1181 * Returns a node pointer with refcount incremented, use 1181 1182 * of_node_put() on it when done.
+2
arch/powerpc/kernel/ptrace.c
··· 218 218 regs->msr |= MSR_SE; 219 219 #endif 220 220 } 221 + set_tsk_thread_flag(task, TIF_SINGLESTEP); 221 222 } 222 223 223 224 static inline void ··· 234 233 regs->msr &= ~MSR_SE; 235 234 #endif 236 235 } 236 + clear_tsk_thread_flag(task, TIF_SINGLESTEP); 237 237 } 238 238 #endif /* CONFIG_PPC32 */ 239 239
+1
arch/powerpc/platforms/pasemi/idle.c
··· 26 26 27 27 #include <asm/machdep.h> 28 28 #include <asm/reg.h> 29 + #include <asm/smp.h> 29 30 30 31 #include "pasemi.h" 31 32
+1
arch/powerpc/platforms/ps3/interrupt.c
··· 25 25 #include <asm/machdep.h> 26 26 #include <asm/udbg.h> 27 27 #include <asm/lv1call.h> 28 + #include <asm/smp.h> 28 29 29 30 #include "platform.h" 30 31
+6 -4
arch/powerpc/platforms/pseries/xics.c
··· 752 752 void xics_request_IPIs(void) 753 753 { 754 754 unsigned int ipi; 755 + int rc; 755 756 756 757 ipi = irq_create_mapping(xics_host, XICS_IPI); 757 758 BUG_ON(ipi == NO_IRQ); ··· 763 762 */ 764 763 set_irq_handler(ipi, handle_percpu_irq); 765 764 if (firmware_has_feature(FW_FEATURE_LPAR)) 766 - request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED, 767 - "IPI", NULL); 765 + rc = request_irq(ipi, xics_ipi_action_lpar, IRQF_DISABLED, 766 + "IPI", NULL); 768 767 else 769 - request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED, 770 - "IPI", NULL); 768 + rc = request_irq(ipi, xics_ipi_action_direct, IRQF_DISABLED, 769 + "IPI", NULL); 770 + BUG_ON(rc); 771 771 } 772 772 #endif /* CONFIG_SMP */ 773 773
+1
arch/ppc/syslib/ibm_ocp.c
··· 1 1 #include <linux/module.h> 2 + #include <asm/ibm4xx.h> 2 3 #include <asm/ocp.h> 3 4 4 5 struct ocp_sys_info_data ocp_sys_info = {
+1 -1
drivers/macintosh/Kconfig
··· 114 114 config PMAC_APM_EMU 115 115 tristate "APM emulation" 116 116 select APM_EMULATION 117 - depends on ADB_PMU && PM 117 + depends on ADB_PMU && PM && PPC32 118 118 119 119 config PMAC_MEDIABAY 120 120 bool "Support PowerBook hotswap media bay"
+2 -1
include/asm-powerpc/pgalloc-64.h
··· 90 90 static inline struct page *pte_alloc_one(struct mm_struct *mm, 91 91 unsigned long address) 92 92 { 93 - return virt_to_page(pte_alloc_one_kernel(mm, address)); 93 + pte_t *pte = pte_alloc_one_kernel(mm, address); 94 + return pte ? virt_to_page(pte) : NULL; 94 95 } 95 96 96 97 static inline void pte_free_kernel(pte_t *pte)
+9
include/asm-powerpc/tlb.h
··· 38 38 39 39 static inline void tlb_flush(struct mmu_gather *tlb) 40 40 { 41 + struct ppc64_tlb_batch *tlbbatch = &__get_cpu_var(ppc64_tlb_batch); 42 + 43 + /* If there's a TLB batch pending, then we must flush it because the 44 + * pages are going to be freed and we really don't want to have a CPU 45 + * access a freed page because it has a stale TLB 46 + */ 47 + if (tlbbatch->index) 48 + __flush_tlb_pending(tlbbatch); 49 + 41 50 pte_free_finish(); 42 51 } 43 52