* [git pull] Please pull from powerpc.git next branch @ 2008-10-15 1:16 Benjamin Herrenschmidt 2008-10-15 8:35 ` Robert Richter 0 siblings, 1 reply; 8+ messages in thread From: Benjamin Herrenschmidt @ 2008-10-15 1:16 UTC (permalink / raw) To: Linus Torvalds; +Cc: linuxppc-dev list, Paul Mackerras, Linux Kernel list Hi Linus ! Here's the powerpc main batch for 2.6.28. It's a bit late mostly due to both Paul and I being distracted by other things at the wrong time, and me trying to run some more tests (& fixing regressions) before sending it all to you. There's a bunch of stuff in there, most of it in arch/powerpc, but you'll notice a few things touching files out of it. Here's a short summary of these: - These are just a trivial change of CONFIG_PPC_MERGE -> CONFIG_PPC since the former is no longer useful now that arch/ppc is gone drivers/block/floppy.c drivers/char/ipmi/ipmi_si_intf.c drivers/i2c/busses/i2c-pca-isa.c drivers/input/serio/i8042-io.h drivers/pnp/isapnp/core.c drivers/pnp/pnpbios/core.c - Some other trivial #include fixes for the move of of_device.h from asm/ to linux/ drivers/hwmon/ams/ams.h sound/aoa/soundbus/soundbus.h - The math-emu changes are two fold. Some trivial compile warning fixes and some changes to improve exception reporting acked by davem. Now powerpc uses the generic math-emu code too - Some powerpc specific drivers. They should all have appropriate acks with the possible exception of the pata_of_platform.c one which I merged in while jeff was away and hvc_console for which I believe we are still maintainers of. - Some drivers/of additions that should (hopefully) be of no impact to other users of the OF stuff - a procfs change removing our obsolete ppc_htab stuff And that should be it, hopefully I didn't miss anything :-) I did a merge with your tree to fixup a couple of conflicts so it should be a smooth merge on your side. Cheers, Ben. The following changes since commit 8acd3a60bcca17c6d89c73cee3ad6057eb83ba1e: Linus Torvalds (1): Merge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next Adrian Bunk (1): powerpc: Use bcd2bin/bin2bcd Anton Vorontsov (12): powerpc/83xx: mpc836x_mds: add support for the nor flash powerpc/fsl_soc: remove mpc83xx_wdt code OF: add fsl,mcu-mpc8349emitx to the exception list powerpc: Fix no interrupt handling in pata_of_platform of: Add new helper of_parse_phandles_with_args() powerpc/QE: move QE_GPIO Kconfig symbol into the platforms/Kconfig powerpc/83xx: don't probe broken PCI on mpc837x_mds boards powerpc/83xx: add DS1374 RTC support for the MPC837xE-MDS boards OF: add fsl,mcu-mpc8349emitx to the exception list i2c: MPC8349E-mITX Power Management and GPIO expander driver powerpc/83xx: add NAND support for the MPC8360E-RDK boards powerpc: fix fsl_upm nand driver modular build Becky Bruce (10): powerpc: Rename PTE_SIZE to HPTE_SIZE powerpc/85xx: fix build warning, remove silly cast cpm_uart: Pass actual dev ptr to dma_* in ucc and cpm_uart serial powerpc: Rename dma_64.c to dma.c powerpc: Move iommu dma ops from dma.c to dma-iommu.c powerpc: Drop archdata numa_node powerpc: Merge 32 and 64-bit dma code powerpc: Make dma_addr_t a u64 if CONFIG_PHYS_64BIT is set POWERPC: Allow 32-bit hashed pgtable code to support 36-bit physical powerpc: Drop redundant machine type print in show_cpuinfo Benjamin Herrenschmidt (16): powerpc: Turn get/set_hard_smp_proccessor_id into inlines powerpc: Expose PMCs & cache topology in sysfs on 32-bit Merge commit 'kumar/kumar-dma' Merge commit 'kumar/kumar-mmu' Merge commit 'jwb/jwb-next' powerpc: Fix sysfs pci mmap on 32-bit machines with 64-bit PCI Merge commit 'jk/jk-merge' Merge commit 'gcl/gcl-next' Merge commit 'kumar/kumar-next' powerpc: Fix DMA offset for non-coherent DMA powerpc/pci: Improve detection of unassigned bridge resources powerpc: Fix link errors on 32-bit machines using legacy DMA powerpc: Fix 32-bit SMP boot on CHRP powerpc/chrp: Fix detection of Python PCI host bridge on IBM CHRPs powerpc: Fix CHRP PCI config access for indirect_pci Merge commit 'origin' Chandru (1): powerpc: Add support for dynamic reconfiguration memory in kexec/kdump kernels Christian Borntraeger (1): hvc_console: Fix free_irq in spinlocked section Christoph Hellwig (1): powerpc: Use sys_pause for 32-bit pause entry point David Gibson (3): powerpc: Update in-kernel dtc and libfdt to version 1.2.0 powerpc: Clean up hugepage pagetable allocation for powerpc with 16G pages powerpc: Get USE_STRICT_MM_TYPECHECKS working again Geert Uytterhoeven (2): powerpc: Remove remains of /proc/ppc_htab powerpc: Remove outdated Documentation/powerpc/smp.txt Grant Likely (2): powerpc/mpc5200: fix build warnings on mpc52xx_psc_spi driver powerpc/of-bindings: Don't support linux,<modalias> "compatible" values Harvey Harrison (2): powerpc: Use the common ascii hex helpers powerpc: Replace __FUNCTION__ with __func__ Heiko Schocher (2): powerpc: Add support for the MPC852 based mgsuvd board from keymile. powerpc: Add support for mpc8247 based board MGCOGE from keymile. Ilya Yanok (1): powerpc/4xx: Necessary fixes to PCI for 4GB RAM size Jeremy Kerr (2): powerpc/spufs: set nlink count for spufs root correctly powerpc/spufs: use inc_nlink Jochen Friedrich (1): powerpc/cpm1: Fix race condition in CPM1 GPIO library. Johann Felix Soden (1): powerpc/iseries: Remove unused variable in viodasd.c Johannes Berg (2): powerpc: Fix 64-bit hibernation with 64k pages powerpc: Enforce sane MAX_ORDER John Rigby (3): powerpc/fsl: Hide MPC5121 pci bridge. powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge. powerpc/5121: Add PCI support. Jon Tollefson (1): powerpc: Reserve in bootmem lmb reserved regions that cross NUMA nodes Josh Boyer (13): powerpc/44x: Add PowerPC 44x simple platform support powerpc/44x: Migrate Bamboo support to ppc44x_simple powerpc/44x: Migrate Canyonlands support to ppc44x_simple powerpc/44x: Migrate Katmai support to ppc44x_simple powerpc/44x: Migrate Rainier support to ppc44x_simple powerpc/44x: Migrate Sequoia support to ppc44x_simple powerpc/44x: Migrate Taishan support to ppc44x_simple powerpc/44x: Add explicit support for AMCC Glacier powerpc/44x: Add explicit Yosemite support ibm_newemac: Allow the "no flow control" EMAC feature to work ibm_newemac: Introduce mal_has_feature ibm_newemac: MAL support for PowerPC 405EZ powerpc: Remove old Makefile workaround for arch/ppc Josh Poimboeuf (1): powerpc: Fix error path in kernel_thread function Kou Ishizaki (1): powerpc/spufs: add a missing mutex_unlock Kumar Gala (16): serial/cpm_uart: Remove dead Kconfig options math-emu: Fix compiler warnings math-emu: Add support for reporting exact invalid exception powerpc: Fix build warnings introduced by PMC support on 32-bit powerpc/fsl-booke: Fixup 64-bit PTE reading for SMP support powerpc: convert CONFIG_PPC_MERGE to CONFIG_PPC for legacy io checks powerpc/83xx: Add missing cell-index to dma-channel device nodes powerpc/86xx: Introduce a generic mpc86xx_defconfig powerpc: Move 8xxx GPIO Kconfig under the platform menu powerpc: Introduce local (non-broadcast) forms of tlb invalidates powerpc: Fixes for CONFIG_PTE_64BIT for SMP support powerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 32-bit serial/mpc52xx_uart: remove code associated with !CONFIG_PPC_MERGE powerpc/math-emu: Use kernel generic math-emu code powerpc: Make ppc32 respect the boot cpu id for !CONFIG_SMP powerpc/85xx: Wire up RTC interrupt on MPC8536DS Mark Nelson (2): powerpc: Add new CPU feature: CPU_FTR_CP_USE_DCBTZ powerpc: New copy_4K_page() Martin Langer (1): powerpc: Fix major revision number for Freescale cores Martyn Welch (5): powerpc: Board support for GE Fanuc SBC610 powerpc: Default configuration for GE Fanuc SBC610 powerpc: Correct USB support for GE Fanuc SBC610 powerpc: GE Fanuc's FPGA based PIC controller on the SBC610 powerpc: FPGA support for GE Fanuc SBC610 Matthias Fuchs (2): powerpc/44x: Add hwmon support to Sequoia device tree powerpc/4xx: Allow 4xx PCI bridge to be disabled via device tree Michael Ellerman (5): powerpc: Streamline ret_from_except_lite for non-iSeries platforms powerpc: fsl_msi doesn't need it's own of_node powerpc: Split-out common MSI bitmap logic into msi_bitmap.c powerpc: Convert the FSL MSI code to use msi_bitmap powerpc: Convert the MPIC MSI code to use msi_bitmap Milton Miller (14): powerpc/xics: EOI unmapped irqs after disabling them powerpc/xics: Update default_server during migrate_irqs_away powerpc/xics: Consolidate ipi message encode and decode powerpc/xics: Rearrange file to group code by function powerpc/xics: Change *_xirr_info_set() prototype to avoid casts powerpc/xics: Trim #include list powerpc/xics: Initialization code cleanups powerpc/xics: Factor out cpu joining/unjoining the GIQ powerpc/xics: EOI xics ipi by hand in kexec powerpc/xics: Mark xics IPI interrupt as per-cpu powerpc/xics: Make printk format strings fit on one line powerpc/xics: Reduce and comment xics IPI use of memory barriers powerpc/smp: No need to set_need_resched when getting a resched IPI powerpc: remove non-dependent load fsl_booke PTE_64BIT Nathan Fontenot (2): powerpc: Check rc of notifier chain for memory remove powerpc: Oops in pseries_lmb_remove() Nathan Lynch (1): powerpc: Remove redundant sysfs_remove_file calls for cache info Paul Gortmaker (1): powerpc/sbc8560: fix compile warning on CPM pin array Paul Mackerras (8): Merge branch 'linux-2.6' powerpc: Rearrange head_64.S to move interrupt handler code to the beginning powerpc: Make it possible to move the interrupt handlers away from the kernel powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit powerpc: Make the 64-bit kernel as a position-independent executable Merge branch 'next' of ssh://master.kernel.org/.../jwboyer/powerpc-4xx Merge branch 'powerpc-next' of master.kernel.org:/.../galak/powerpc powerpc: Sync RPA note in zImage with kernel's RPA note Peter Korsgaard (1): powerpc: gpio driver for mpc8349/8572/8610 and compatible Roel Kluin (1): powerpc/cell/oprofile: Fix test on overlay_tbl_offset in vma_map Roland Dreier (1): powerpc: Avoid integer overflow in page_is_ram() Sebastian Andrzej Siewior (1): powerpc: Reflect the used arguments in machine_init() prototype Sebastien Dugue (3): powerpc: Separate the irq radix tree insertion and lookup powerpc: Make the irq reverse mapping radix tree lockless powerpc: Ignore generated vmlinux.lds in git Stephen Rothwell (4): powerpc: Remove include of linux/of_platform.h from asm/of_platform.h hotplug/rpaphp: Remove unused error path code powerpc/drivers: Use linux/of_device.h instead of asm/of_device.h powerpc: Remove include of linux/of_device.h from asm/of_device.h Thiemo Seufer (1): powerpc: Enforce a non-spe kernel build even on broken compilers Timur Tabi (7): powerpc: add SSI-to-DMA properties to Freescale MPC8610 HPCD device tree powerpc: Remove CHRP and PMAC support from FSL defconfigs powerpc: make Freescale QE support a selectable Kconfig option powerpc: remove support for bootmem-allocated memory for the DIU driver powerpc: disable CHRP and PMAC support in various defconfigs powerpc: document the "fsl,ssi-dma-channel" compatible property powerpc: reserve two DMA channels for audio in MPC8610 HPCD device tree Tirumala R Marri (1): powerpc/44x: AMCC PPC460GT/EX PCI-E de-emphasis adjustment fix Tony Breeds (4): powerpc: Guard htab_dt_scan_hugepage_blocks appropriately powerpc: Guard from_rtc_time() in platforms/powermac/time.c powerpc: Guard print_device_node_tree() with #if 0 powerpc/mpc5200: Silence warnings in arch/powerpc/platforms/52xx/mpc52xx_pci.c Victor Gallardo (4): ibm_newemac: Add support for GPCS, SGMII and M88E1112 PHY powerpc/44x: Add AMCC Arches eval board support powerpc/44x: Add AMCC Arches DTS powerpc/44x: Add AMCC Arches defconfig file Vitaly Mayatskikh (1): powerpc: Honor O_NONBLOCK flag when reading RTAS log Wolfgang Grandegger (1): i2c-mpc: suppress I2C device probing Wolfram Sang (1): powerpc/mpc5200: trivial printk-fixes in mpc52xx_common roel kluin (1): powerpc: Fix duplicate test of MACIO_FLAG_SCCB_ON Documentation/powerpc/00-INDEX | 4 - .../powerpc/dts-bindings/fsl/83xx-512x-pci.txt | 40 + .../powerpc/dts-bindings/fsl/8xxx_gpio.txt | 40 + Documentation/powerpc/dts-bindings/fsl/dma.txt | 13 +- Documentation/powerpc/dts-bindings/fsl/ssi.txt | 23 + Documentation/powerpc/ppc_htab.txt | 118 --- Documentation/powerpc/smp.txt | 34 - arch/powerpc/Kconfig | 16 + arch/powerpc/Kconfig.debug | 5 + arch/powerpc/Makefile | 7 +- arch/powerpc/boot/Makefile | 3 + arch/powerpc/boot/addnote.c | 144 +++- arch/powerpc/boot/dtc-src/Makefile.dtc | 18 +- arch/powerpc/boot/dtc-src/checks.c | 305 ++----- arch/powerpc/boot/dtc-src/data.c | 62 +- arch/powerpc/boot/dtc-src/dtc-lexer.l | 120 ++-- arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped | 445 +++++----- arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped | 387 +++++---- arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped | 12 +- arch/powerpc/boot/dtc-src/dtc-parser.y | 67 ++- arch/powerpc/boot/dtc-src/dtc.c | 41 +- arch/powerpc/boot/dtc-src/dtc.h | 43 +- arch/powerpc/boot/dtc-src/flattree.c | 232 ++---- arch/powerpc/boot/dtc-src/fstree.c | 8 +- arch/powerpc/boot/dtc-src/libfdt_env.h | 23 + arch/powerpc/boot/dtc-src/livetree.c | 9 +- arch/powerpc/boot/dtc-src/srcpos.c | 121 ++-- arch/powerpc/boot/dtc-src/srcpos.h | 30 +- arch/powerpc/boot/dtc-src/treesource.c | 15 +- arch/powerpc/boot/dtc-src/version_gen.h | 2 +- arch/powerpc/boot/dts/arches.dts | 293 +++++++ arch/powerpc/boot/dts/asp834x-redboot.dts | 4 + arch/powerpc/boot/dts/gef_sbc610.dts | 293 +++++++ arch/powerpc/boot/dts/glacier.dts | 2 +- arch/powerpc/boot/dts/mgcoge.dts | 174 ++++ arch/powerpc/boot/dts/mgsuvd.dts | 163 ++++ arch/powerpc/boot/dts/mpc5121ads.dts | 3 +- arch/powerpc/boot/dts/mpc8313erdb.dts | 7 +- arch/powerpc/boot/dts/mpc8315erdb.dts | 7 +- arch/powerpc/boot/dts/mpc832x_mds.dts | 7 +- arch/powerpc/boot/dts/mpc832x_rdb.dts | 7 +- arch/powerpc/boot/dts/mpc8349emitx.dts | 10 +- arch/powerpc/boot/dts/mpc8349emitxgp.dts | 7 +- arch/powerpc/boot/dts/mpc834x_mds.dts | 10 +- arch/powerpc/boot/dts/mpc836x_mds.dts | 30 +- arch/powerpc/boot/dts/mpc836x_rdk.dts | 19 +- arch/powerpc/boot/dts/mpc8377_mds.dts | 14 +- arch/powerpc/boot/dts/mpc8377_rdb.dts | 7 +- arch/powerpc/boot/dts/mpc8378_mds.dts | 14 +- arch/powerpc/boot/dts/mpc8378_rdb.dts | 7 +- arch/powerpc/boot/dts/mpc8379_mds.dts | 14 +- arch/powerpc/boot/dts/mpc8379_rdb.dts | 7 +- arch/powerpc/boot/dts/mpc8536ds.dts | 2 + arch/powerpc/boot/dts/mpc8610_hpcd.dts | 12 +- arch/powerpc/boot/dts/sbc8349.dts | 7 +- arch/powerpc/boot/dts/sequoia.dts | 9 + arch/powerpc/boot/dts/yosemite.dts | 2 +- arch/powerpc/boot/elf_util.c | 6 +- arch/powerpc/boot/libfdt/Makefile.libfdt | 8 +- arch/powerpc/boot/libfdt/fdt.c | 61 ++- arch/powerpc/boot/libfdt/fdt_ro.c | 329 +++----- arch/powerpc/boot/libfdt/fdt_rw.c | 200 +++-- arch/powerpc/boot/libfdt/fdt_strerror.c | 34 +- arch/powerpc/boot/libfdt/fdt_sw.c | 55 +- arch/powerpc/boot/libfdt/fdt_wip.c | 9 +- arch/powerpc/boot/libfdt/libfdt.h | 383 ++++++++- arch/powerpc/boot/libfdt/libfdt_internal.h | 24 +- arch/powerpc/boot/libfdt_env.h | 1 + arch/powerpc/boot/wrapper | 4 +- arch/powerpc/configs/44x/arches_defconfig | 767 +++++++++++++++++ arch/powerpc/configs/83xx/asp8347_defconfig | 4 +- arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | 4 +- arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | 4 +- arch/powerpc/configs/83xx/mpc832x_mds_defconfig | 4 +- arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | 4 +- arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 4 +- arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | 4 +- arch/powerpc/configs/83xx/mpc834x_mds_defconfig | 4 +- arch/powerpc/configs/83xx/mpc836x_mds_defconfig | 83 ++- arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | 4 +- arch/powerpc/configs/83xx/mpc837x_mds_defconfig | 4 +- arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | 4 +- arch/powerpc/configs/83xx/sbc834x_defconfig | 4 +- .../gef_sbc610_defconfig} | 568 ++++++++----- .../configs/{ => 86xx}/mpc8610_hpcd_defconfig | 4 +- .../configs/{ => 86xx}/mpc8641_hpcn_defconfig | 4 +- arch/powerpc/configs/{ => 86xx}/sbc8641d_defconfig | 4 +- arch/powerpc/configs/ep8248e_defconfig | 4 +- arch/powerpc/configs/mgcoge_defconfig | 900 ++++++++++++++++++++ arch/powerpc/configs/mgsuvd_defconfig | 872 +++++++++++++++++++ arch/powerpc/configs/mpc8272_ads_defconfig | 4 +- arch/powerpc/configs/mpc83xx_defconfig | 4 +- .../{mpc8641_hpcn_defconfig => mpc86xx_defconfig} | 44 +- arch/powerpc/configs/pq2fads_defconfig | 4 +- arch/powerpc/include/asm/cputable.h | 10 +- arch/powerpc/include/asm/dcr-regs.h | 7 + arch/powerpc/include/asm/device.h | 3 - arch/powerpc/include/asm/dma-mapping.h | 187 ++--- arch/powerpc/include/asm/exception.h | 42 +- arch/powerpc/include/asm/fsl_lbc.h | 48 +- arch/powerpc/include/asm/highmem.h | 2 +- arch/powerpc/include/asm/io.h | 2 +- arch/powerpc/include/asm/irq.h | 18 +- arch/powerpc/include/asm/machdep.h | 5 +- arch/powerpc/include/asm/mman.h | 2 +- arch/powerpc/include/asm/mmu-hash64.h | 2 +- arch/powerpc/include/asm/mpic.h | 4 +- arch/powerpc/include/asm/msi_bitmap.h | 35 + arch/powerpc/include/asm/of_device.h | 3 - arch/powerpc/include/asm/of_platform.h | 3 - arch/powerpc/include/asm/paca.h | 2 + arch/powerpc/include/asm/page.h | 14 +- arch/powerpc/include/asm/page_32.h | 8 +- arch/powerpc/include/asm/pci.h | 14 +- arch/powerpc/include/asm/pgtable-ppc32.h | 72 ++- arch/powerpc/include/asm/pgtable-ppc64.h | 12 +- arch/powerpc/include/asm/ppc_asm.h | 2 +- arch/powerpc/include/asm/reg_booke.h | 7 + arch/powerpc/include/asm/sections.h | 6 + .../{math-emu => include/asm}/sfp-machine.h | 114 +-- arch/powerpc/include/asm/smp.h | 42 +- arch/powerpc/include/asm/systbl.h | 2 +- arch/powerpc/include/asm/tlbflush.h | 13 +- arch/powerpc/include/asm/types.h | 2 +- arch/powerpc/kernel/.gitignore | 1 + arch/powerpc/kernel/Makefile | 9 +- arch/powerpc/kernel/asm-offsets.c | 3 + arch/powerpc/kernel/btext.c | 34 +- arch/powerpc/kernel/cpu_setup_ppc970.S | 4 +- arch/powerpc/kernel/cputable.c | 24 + arch/powerpc/kernel/dma-iommu.c | 103 +++ arch/powerpc/kernel/dma.c | 131 +++ arch/powerpc/kernel/dma_64.c | 200 ----- arch/powerpc/kernel/entry_64.S | 69 +- arch/powerpc/kernel/head_32.S | 10 +- arch/powerpc/kernel/head_64.S | 473 ++++++----- arch/powerpc/kernel/head_fsl_booke.S | 26 +- arch/powerpc/kernel/irq.c | 169 ++-- arch/powerpc/kernel/lparcfg.c | 8 +- arch/powerpc/kernel/misc.S | 10 +- arch/powerpc/kernel/misc_32.S | 62 ++- arch/powerpc/kernel/misc_64.S | 8 +- arch/powerpc/kernel/of_device.c | 2 +- arch/powerpc/kernel/paca.c | 3 + arch/powerpc/kernel/pci-common.c | 216 ++++-- arch/powerpc/kernel/pci_32.c | 18 +- arch/powerpc/kernel/pci_64.c | 49 -- arch/powerpc/kernel/ppc_ksyms.c | 3 + arch/powerpc/kernel/prom.c | 43 +- arch/powerpc/kernel/prom_init.c | 29 +- arch/powerpc/kernel/reloc_64.S | 87 ++ arch/powerpc/kernel/setup-common.c | 17 +- arch/powerpc/kernel/setup_32.c | 13 +- arch/powerpc/kernel/setup_64.c | 9 +- arch/powerpc/kernel/smp.c | 3 +- arch/powerpc/kernel/swsusp_asm64.S | 2 +- arch/powerpc/kernel/sys_ppc32.c | 8 - arch/powerpc/kernel/sysfs.c | 119 ++- arch/powerpc/kernel/vio.c | 2 +- arch/powerpc/kernel/vmlinux.lds.S | 18 + arch/powerpc/lib/copypage_64.S | 198 ++--- arch/powerpc/lib/dma-noncoherent.c | 2 +- arch/powerpc/math-emu/Makefile | 7 +- arch/powerpc/math-emu/double.h | 129 --- arch/powerpc/math-emu/fadd.c | 17 +- arch/powerpc/math-emu/fadds.c | 20 +- arch/powerpc/math-emu/fcmpo.c | 10 +- arch/powerpc/math-emu/fcmpu.c | 10 +- arch/powerpc/math-emu/fctiw.c | 8 +- arch/powerpc/math-emu/fctiwz.c | 8 +- arch/powerpc/math-emu/fdiv.c | 14 +- arch/powerpc/math-emu/fdivs.c | 16 +- arch/powerpc/math-emu/fmadd.c | 16 +- arch/powerpc/math-emu/fmadds.c | 18 +- arch/powerpc/math-emu/fmsub.c | 16 +- arch/powerpc/math-emu/fmsubs.c | 18 +- arch/powerpc/math-emu/fmul.c | 14 +- arch/powerpc/math-emu/fmuls.c | 16 +- arch/powerpc/math-emu/fnmadd.c | 16 +- arch/powerpc/math-emu/fnmadds.c | 18 +- arch/powerpc/math-emu/fnmsub.c | 16 +- arch/powerpc/math-emu/fnmsubs.c | 18 +- arch/powerpc/math-emu/frsp.c | 14 +- arch/powerpc/math-emu/fsel.c | 8 +- arch/powerpc/math-emu/fsqrt.c | 12 +- arch/powerpc/math-emu/fsqrts.c | 14 +- arch/powerpc/math-emu/fsub.c | 14 +- arch/powerpc/math-emu/fsubs.c | 16 +- arch/powerpc/math-emu/lfd.c | 4 +- arch/powerpc/math-emu/lfs.c | 19 +- arch/powerpc/math-emu/math.c | 8 +- arch/powerpc/math-emu/mcrfs.c | 3 +- arch/powerpc/math-emu/mffs.c | 3 +- arch/powerpc/math-emu/mtfsb0.c | 3 +- arch/powerpc/math-emu/mtfsb1.c | 3 +- arch/powerpc/math-emu/mtfsf.c | 20 +- arch/powerpc/math-emu/mtfsfi.c | 3 +- arch/powerpc/math-emu/op-1.h | 245 ------ arch/powerpc/math-emu/op-2.h | 434 ---------- arch/powerpc/math-emu/op-4.h | 317 ------- arch/powerpc/math-emu/op-common.h | 688 --------------- arch/powerpc/math-emu/single.h | 66 -- arch/powerpc/math-emu/soft-fp.h | 104 --- arch/powerpc/math-emu/stfs.c | 19 +- arch/powerpc/math-emu/types.c | 51 -- arch/powerpc/math-emu/udivmodti4.c | 2 +- arch/powerpc/mm/fsl_booke_mmu.c | 5 +- arch/powerpc/mm/gup.c | 7 +- arch/powerpc/mm/hash_low_32.S | 122 ++- arch/powerpc/mm/hash_utils_64.c | 8 +- arch/powerpc/mm/hugetlbpage.c | 59 +- arch/powerpc/mm/init_64.c | 4 +- arch/powerpc/mm/mem.c | 5 +- arch/powerpc/mm/numa.c | 185 +++- arch/powerpc/mm/pgtable_32.c | 4 +- arch/powerpc/mm/tlb_32.c | 1 + arch/powerpc/oprofile/cell/vma_map.c | 2 +- arch/powerpc/oprofile/op_model_power4.c | 4 +- arch/powerpc/platforms/44x/Kconfig | 42 +- arch/powerpc/platforms/44x/Makefile | 8 +- arch/powerpc/platforms/44x/bamboo.c | 62 -- arch/powerpc/platforms/44x/canyonlands.c | 63 -- arch/powerpc/platforms/44x/katmai.c | 62 -- arch/powerpc/platforms/44x/ppc44x_simple.c | 88 ++ arch/powerpc/platforms/44x/rainier.c | 62 -- arch/powerpc/platforms/44x/sequoia.c | 63 -- arch/powerpc/platforms/44x/taishan.c | 72 -- arch/powerpc/platforms/512x/Kconfig | 2 + arch/powerpc/platforms/512x/mpc5121_ads.c | 10 + arch/powerpc/platforms/52xx/mpc52xx_common.c | 5 +- arch/powerpc/platforms/52xx/mpc52xx_pci.c | 13 +- arch/powerpc/platforms/82xx/Kconfig | 8 + arch/powerpc/platforms/82xx/Makefile | 1 + arch/powerpc/platforms/82xx/mgcoge.c | 129 +++ arch/powerpc/platforms/83xx/Kconfig | 5 - arch/powerpc/platforms/83xx/mpc837x_mds.c | 8 +- arch/powerpc/platforms/85xx/Kconfig | 1 - arch/powerpc/platforms/85xx/mpc85xx_ads.c | 1 - arch/powerpc/platforms/85xx/sbc8560.c | 3 +- arch/powerpc/platforms/86xx/Kconfig | 9 +- arch/powerpc/platforms/86xx/Makefile | 1 + arch/powerpc/platforms/86xx/gef_pic.c | 258 ++++++ arch/powerpc/platforms/86xx/gef_pic.h | 11 + arch/powerpc/platforms/86xx/gef_sbc610.c | 221 +++++ arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 1 - arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 8 - arch/powerpc/platforms/86xx/sbc8641d.c | 8 - arch/powerpc/platforms/8xx/Kconfig | 6 + arch/powerpc/platforms/8xx/Makefile | 1 + arch/powerpc/platforms/8xx/mgsuvd.c | 92 ++ arch/powerpc/platforms/Kconfig | 21 +- arch/powerpc/platforms/Kconfig.cputype | 17 +- arch/powerpc/platforms/cell/iommu.c | 6 +- arch/powerpc/platforms/cell/spufs/inode.c | 11 +- arch/powerpc/platforms/chrp/pci.c | 4 +- arch/powerpc/platforms/chrp/time.c | 24 +- arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c | 1 - arch/powerpc/platforms/iseries/exception.S | 23 +- arch/powerpc/platforms/iseries/mf.c | 26 +- arch/powerpc/platforms/maple/time.c | 24 +- arch/powerpc/platforms/powermac/feature.c | 2 +- arch/powerpc/platforms/powermac/smp.c | 4 +- arch/powerpc/platforms/powermac/time.c | 3 + arch/powerpc/platforms/ps3/system-bus.c | 2 +- arch/powerpc/platforms/pseries/cmm.c | 4 +- arch/powerpc/platforms/pseries/eeh_driver.c | 2 +- arch/powerpc/platforms/pseries/hotplug-memory.c | 2 +- arch/powerpc/platforms/pseries/reconfig.c | 6 +- arch/powerpc/platforms/pseries/rtasd.c | 26 +- arch/powerpc/platforms/pseries/smp.c | 32 +- arch/powerpc/platforms/pseries/xics.c | 550 +++++++------ arch/powerpc/platforms/pseries/xics.h | 12 +- arch/powerpc/sysdev/Kconfig | 6 + arch/powerpc/sysdev/Makefile | 5 +- arch/powerpc/sysdev/cpm1.c | 74 ++- arch/powerpc/sysdev/fsl_lbc.c | 53 ++- arch/powerpc/sysdev/fsl_msi.c | 109 +-- arch/powerpc/sysdev/fsl_msi.h | 8 +- arch/powerpc/sysdev/fsl_pci.c | 58 +- arch/powerpc/sysdev/fsl_soc.c | 85 +-- arch/powerpc/sysdev/fsl_soc.h | 8 - arch/powerpc/sysdev/mpc8xxx_gpio.c | 171 ++++ arch/powerpc/sysdev/mpic.h | 2 - arch/powerpc/sysdev/mpic_msi.c | 123 +--- arch/powerpc/sysdev/mpic_pasemi_msi.c | 24 +- arch/powerpc/sysdev/mpic_u3msi.c | 22 +- arch/powerpc/sysdev/msi_bitmap.c | 247 ++++++ arch/powerpc/sysdev/ppc4xx_pci.c | 32 +- arch/powerpc/sysdev/qe_lib/Kconfig | 9 - drivers/ata/pata_of_platform.c | 2 +- drivers/block/floppy.c | 2 +- drivers/block/viodasd.c | 3 - drivers/char/hvc_console.c | 10 +- drivers/char/ipmi/ipmi_si_intf.c | 2 +- drivers/hwmon/ams/ams.h | 2 +- drivers/i2c/busses/i2c-mpc.c | 1 - drivers/i2c/busses/i2c-pca-isa.c | 2 +- drivers/i2c/chips/Kconfig | 11 + drivers/i2c/chips/Makefile | 1 + drivers/i2c/chips/mcu_mpc8349emitx.c | 209 +++++ drivers/input/serio/i8042-io.h | 2 +- drivers/net/ibm_newemac/Kconfig | 12 + drivers/net/ibm_newemac/core.c | 42 +- drivers/net/ibm_newemac/core.h | 6 + drivers/net/ibm_newemac/mal.c | 60 ++- drivers/net/ibm_newemac/mal.h | 34 + drivers/net/ibm_newemac/phy.c | 84 ++ drivers/net/ibm_newemac/phy.h | 2 + drivers/of/base.c | 136 +++- drivers/of/gpio.c | 81 +-- drivers/pci/hotplug/rpaphp_slot.c | 4 - drivers/pnp/isapnp/core.c | 2 +- drivers/pnp/pnpbios/core.c | 4 +- drivers/serial/Kconfig | 36 - drivers/serial/cpm_uart/cpm_uart_core.c | 3 + drivers/serial/cpm_uart/cpm_uart_cpm1.c | 6 +- drivers/serial/cpm_uart/cpm_uart_cpm2.c | 6 +- drivers/serial/mpc52xx_uart.c | 181 +---- drivers/serial/ucc_uart.c | 4 +- drivers/spi/mpc52xx_psc_spi.c | 6 +- include/linux/of.h | 3 + include/linux/proc_fs.h | 1 - include/math-emu/op-2.h | 2 +- include/math-emu/op-common.h | 12 +- include/math-emu/soft-fp.h | 19 + sound/aoa/soundbus/soundbus.h | 2 +- 326 files changed, 10837 insertions(+), 7011 deletions(-) create mode 100644 Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt create mode 100644 Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt delete mode 100644 Documentation/powerpc/ppc_htab.txt delete mode 100644 Documentation/powerpc/smp.txt create mode 100644 arch/powerpc/boot/dtc-src/libfdt_env.h create mode 100644 arch/powerpc/boot/dts/arches.dts create mode 100644 arch/powerpc/boot/dts/gef_sbc610.dts create mode 100644 arch/powerpc/boot/dts/mgcoge.dts create mode 100644 arch/powerpc/boot/dts/mgsuvd.dts create mode 100644 arch/powerpc/configs/44x/arches_defconfig copy arch/powerpc/configs/{sbc8641d_defconfig => 86xx/gef_sbc610_defconfig} (76%) rename arch/powerpc/configs/{ => 86xx}/mpc8610_hpcd_defconfig (100%) copy arch/powerpc/configs/{ => 86xx}/mpc8641_hpcn_defconfig (100%) rename arch/powerpc/configs/{ => 86xx}/sbc8641d_defconfig (100%) create mode 100644 arch/powerpc/configs/mgcoge_defconfig create mode 100644 arch/powerpc/configs/mgsuvd_defconfig rename arch/powerpc/configs/{mpc8641_hpcn_defconfig => mpc86xx_defconfig} (98%) create mode 100644 arch/powerpc/include/asm/msi_bitmap.h rename arch/powerpc/{math-emu => include/asm}/sfp-machine.h (84%) create mode 100644 arch/powerpc/kernel/.gitignore create mode 100644 arch/powerpc/kernel/dma-iommu.c create mode 100644 arch/powerpc/kernel/dma.c delete mode 100644 arch/powerpc/kernel/dma_64.c create mode 100644 arch/powerpc/kernel/reloc_64.S delete mode 100644 arch/powerpc/math-emu/double.h delete mode 100644 arch/powerpc/math-emu/op-1.h delete mode 100644 arch/powerpc/math-emu/op-2.h delete mode 100644 arch/powerpc/math-emu/op-4.h delete mode 100644 arch/powerpc/math-emu/op-common.h delete mode 100644 arch/powerpc/math-emu/single.h delete mode 100644 arch/powerpc/math-emu/soft-fp.h delete mode 100644 arch/powerpc/math-emu/types.c delete mode 100644 arch/powerpc/platforms/44x/bamboo.c delete mode 100644 arch/powerpc/platforms/44x/canyonlands.c delete mode 100644 arch/powerpc/platforms/44x/katmai.c create mode 100644 arch/powerpc/platforms/44x/ppc44x_simple.c delete mode 100644 arch/powerpc/platforms/44x/rainier.c delete mode 100644 arch/powerpc/platforms/44x/sequoia.c delete mode 100644 arch/powerpc/platforms/44x/taishan.c create mode 100644 arch/powerpc/platforms/82xx/mgcoge.c create mode 100644 arch/powerpc/platforms/86xx/gef_pic.c create mode 100644 arch/powerpc/platforms/86xx/gef_pic.h create mode 100644 arch/powerpc/platforms/86xx/gef_sbc610.c create mode 100644 arch/powerpc/platforms/8xx/mgsuvd.c create mode 100644 arch/powerpc/sysdev/mpc8xxx_gpio.c create mode 100644 arch/powerpc/sysdev/msi_bitmap.c create mode 100644 drivers/i2c/chips/mcu_mpc8349emitx.c ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [git pull] Please pull from powerpc.git next branch 2008-10-15 1:16 [git pull] Please pull from powerpc.git next branch Benjamin Herrenschmidt @ 2008-10-15 8:35 ` Robert Richter 2008-10-15 8:41 ` Arnd Bergmann 0 siblings, 1 reply; 8+ messages in thread From: Robert Richter @ 2008-10-15 8:35 UTC (permalink / raw) To: Benjamin Herrenschmidt Cc: linuxppc-dev list, Linus Torvalds, Linux Kernel list, Paul Mackerras Ben, there are still these OProfile patches for powerpc pending: Carl Love (1): powerpc/cell/oprofile: fix mutex locking for spu-oprofile Roel Kluin (1): powerpc/cell/oprofile: vma_map: fix test on overlay_tbl_offset Can you or Paul send them upstream? You can pull from here: git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git powerpc-for-paul Thanks, -Robert On 15.10.08 12:16:36, Benjamin Herrenschmidt wrote: > Hi Linus ! > > Here's the powerpc main batch for 2.6.28. It's a bit late mostly due to both > Paul and I being distracted by other things at the wrong time, and me trying > to run some more tests (& fixing regressions) before sending it all to you. > > There's a bunch of stuff in there, most of it in arch/powerpc, but you'll > notice a few things touching files out of it. Here's a short summary of > these: > > - These are just a trivial change of CONFIG_PPC_MERGE -> CONFIG_PPC > since the former is no longer useful now that arch/ppc is gone > > drivers/block/floppy.c > drivers/char/ipmi/ipmi_si_intf.c > drivers/i2c/busses/i2c-pca-isa.c > drivers/input/serio/i8042-io.h > drivers/pnp/isapnp/core.c > drivers/pnp/pnpbios/core.c > > - Some other trivial #include fixes for the move of of_device.h from > asm/ to linux/ > > drivers/hwmon/ams/ams.h > sound/aoa/soundbus/soundbus.h > > - The math-emu changes are two fold. Some trivial compile warning > fixes and some changes to improve exception reporting acked by > davem. Now powerpc uses the generic math-emu code too > > - Some powerpc specific drivers. They should all have appropriate acks > with the possible exception of the pata_of_platform.c one which I > merged in while jeff was away and hvc_console for which I believe > we are still maintainers of. > > - Some drivers/of additions that should (hopefully) be of no impact to > other users of the OF stuff > > - a procfs change removing our obsolete ppc_htab stuff > > And that should be it, hopefully I didn't miss anything :-) > > I did a merge with your tree to fixup a couple of conflicts so it should > be a smooth merge on your side. > > Cheers, > Ben. > > The following changes since commit 8acd3a60bcca17c6d89c73cee3ad6057eb83ba1e: > Linus Torvalds (1): > Merge branch 'for-2.6.28' of git://linux-nfs.org/~bfields/linux > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next > > Adrian Bunk (1): > powerpc: Use bcd2bin/bin2bcd > > Anton Vorontsov (12): > powerpc/83xx: mpc836x_mds: add support for the nor flash > powerpc/fsl_soc: remove mpc83xx_wdt code > OF: add fsl,mcu-mpc8349emitx to the exception list > powerpc: Fix no interrupt handling in pata_of_platform > of: Add new helper of_parse_phandles_with_args() > powerpc/QE: move QE_GPIO Kconfig symbol into the platforms/Kconfig > powerpc/83xx: don't probe broken PCI on mpc837x_mds boards > powerpc/83xx: add DS1374 RTC support for the MPC837xE-MDS boards > OF: add fsl,mcu-mpc8349emitx to the exception list > i2c: MPC8349E-mITX Power Management and GPIO expander driver > powerpc/83xx: add NAND support for the MPC8360E-RDK boards > powerpc: fix fsl_upm nand driver modular build > > Becky Bruce (10): > powerpc: Rename PTE_SIZE to HPTE_SIZE > powerpc/85xx: fix build warning, remove silly cast > cpm_uart: Pass actual dev ptr to dma_* in ucc and cpm_uart serial > powerpc: Rename dma_64.c to dma.c > powerpc: Move iommu dma ops from dma.c to dma-iommu.c > powerpc: Drop archdata numa_node > powerpc: Merge 32 and 64-bit dma code > powerpc: Make dma_addr_t a u64 if CONFIG_PHYS_64BIT is set > POWERPC: Allow 32-bit hashed pgtable code to support 36-bit physical > powerpc: Drop redundant machine type print in show_cpuinfo > > Benjamin Herrenschmidt (16): > powerpc: Turn get/set_hard_smp_proccessor_id into inlines > powerpc: Expose PMCs & cache topology in sysfs on 32-bit > Merge commit 'kumar/kumar-dma' > Merge commit 'kumar/kumar-mmu' > Merge commit 'jwb/jwb-next' > powerpc: Fix sysfs pci mmap on 32-bit machines with 64-bit PCI > Merge commit 'jk/jk-merge' > Merge commit 'gcl/gcl-next' > Merge commit 'kumar/kumar-next' > powerpc: Fix DMA offset for non-coherent DMA > powerpc/pci: Improve detection of unassigned bridge resources > powerpc: Fix link errors on 32-bit machines using legacy DMA > powerpc: Fix 32-bit SMP boot on CHRP > powerpc/chrp: Fix detection of Python PCI host bridge on IBM CHRPs > powerpc: Fix CHRP PCI config access for indirect_pci > Merge commit 'origin' > > Chandru (1): > powerpc: Add support for dynamic reconfiguration memory in kexec/kdump kernels > > Christian Borntraeger (1): > hvc_console: Fix free_irq in spinlocked section > > Christoph Hellwig (1): > powerpc: Use sys_pause for 32-bit pause entry point > > David Gibson (3): > powerpc: Update in-kernel dtc and libfdt to version 1.2.0 > powerpc: Clean up hugepage pagetable allocation for powerpc with 16G pages > powerpc: Get USE_STRICT_MM_TYPECHECKS working again > > Geert Uytterhoeven (2): > powerpc: Remove remains of /proc/ppc_htab > powerpc: Remove outdated Documentation/powerpc/smp.txt > > Grant Likely (2): > powerpc/mpc5200: fix build warnings on mpc52xx_psc_spi driver > powerpc/of-bindings: Don't support linux,<modalias> "compatible" values > > Harvey Harrison (2): > powerpc: Use the common ascii hex helpers > powerpc: Replace __FUNCTION__ with __func__ > > Heiko Schocher (2): > powerpc: Add support for the MPC852 based mgsuvd board from keymile. > powerpc: Add support for mpc8247 based board MGCOGE from keymile. > > Ilya Yanok (1): > powerpc/4xx: Necessary fixes to PCI for 4GB RAM size > > Jeremy Kerr (2): > powerpc/spufs: set nlink count for spufs root correctly > powerpc/spufs: use inc_nlink > > Jochen Friedrich (1): > powerpc/cpm1: Fix race condition in CPM1 GPIO library. > > Johann Felix Soden (1): > powerpc/iseries: Remove unused variable in viodasd.c > > Johannes Berg (2): > powerpc: Fix 64-bit hibernation with 64k pages > powerpc: Enforce sane MAX_ORDER > > John Rigby (3): > powerpc/fsl: Hide MPC5121 pci bridge. > powerpc: 83xx: pci: Remove need for get_immrbase from mpc83xx_add_bridge. > powerpc/5121: Add PCI support. > > Jon Tollefson (1): > powerpc: Reserve in bootmem lmb reserved regions that cross NUMA nodes > > Josh Boyer (13): > powerpc/44x: Add PowerPC 44x simple platform support > powerpc/44x: Migrate Bamboo support to ppc44x_simple > powerpc/44x: Migrate Canyonlands support to ppc44x_simple > powerpc/44x: Migrate Katmai support to ppc44x_simple > powerpc/44x: Migrate Rainier support to ppc44x_simple > powerpc/44x: Migrate Sequoia support to ppc44x_simple > powerpc/44x: Migrate Taishan support to ppc44x_simple > powerpc/44x: Add explicit support for AMCC Glacier > powerpc/44x: Add explicit Yosemite support > ibm_newemac: Allow the "no flow control" EMAC feature to work > ibm_newemac: Introduce mal_has_feature > ibm_newemac: MAL support for PowerPC 405EZ > powerpc: Remove old Makefile workaround for arch/ppc > > Josh Poimboeuf (1): > powerpc: Fix error path in kernel_thread function > > Kou Ishizaki (1): > powerpc/spufs: add a missing mutex_unlock > > Kumar Gala (16): > serial/cpm_uart: Remove dead Kconfig options > math-emu: Fix compiler warnings > math-emu: Add support for reporting exact invalid exception > powerpc: Fix build warnings introduced by PMC support on 32-bit > powerpc/fsl-booke: Fixup 64-bit PTE reading for SMP support > powerpc: convert CONFIG_PPC_MERGE to CONFIG_PPC for legacy io checks > powerpc/83xx: Add missing cell-index to dma-channel device nodes > powerpc/86xx: Introduce a generic mpc86xx_defconfig > powerpc: Move 8xxx GPIO Kconfig under the platform menu > powerpc: Introduce local (non-broadcast) forms of tlb invalidates > powerpc: Fixes for CONFIG_PTE_64BIT for SMP support > powerpc/mm: Implement _PAGE_SPECIAL & pte_special() for 32-bit > serial/mpc52xx_uart: remove code associated with !CONFIG_PPC_MERGE > powerpc/math-emu: Use kernel generic math-emu code > powerpc: Make ppc32 respect the boot cpu id for !CONFIG_SMP > powerpc/85xx: Wire up RTC interrupt on MPC8536DS > > Mark Nelson (2): > powerpc: Add new CPU feature: CPU_FTR_CP_USE_DCBTZ > powerpc: New copy_4K_page() > > Martin Langer (1): > powerpc: Fix major revision number for Freescale cores > > Martyn Welch (5): > powerpc: Board support for GE Fanuc SBC610 > powerpc: Default configuration for GE Fanuc SBC610 > powerpc: Correct USB support for GE Fanuc SBC610 > powerpc: GE Fanuc's FPGA based PIC controller on the SBC610 > powerpc: FPGA support for GE Fanuc SBC610 > > Matthias Fuchs (2): > powerpc/44x: Add hwmon support to Sequoia device tree > powerpc/4xx: Allow 4xx PCI bridge to be disabled via device tree > > Michael Ellerman (5): > powerpc: Streamline ret_from_except_lite for non-iSeries platforms > powerpc: fsl_msi doesn't need it's own of_node > powerpc: Split-out common MSI bitmap logic into msi_bitmap.c > powerpc: Convert the FSL MSI code to use msi_bitmap > powerpc: Convert the MPIC MSI code to use msi_bitmap > > Milton Miller (14): > powerpc/xics: EOI unmapped irqs after disabling them > powerpc/xics: Update default_server during migrate_irqs_away > powerpc/xics: Consolidate ipi message encode and decode > powerpc/xics: Rearrange file to group code by function > powerpc/xics: Change *_xirr_info_set() prototype to avoid casts > powerpc/xics: Trim #include list > powerpc/xics: Initialization code cleanups > powerpc/xics: Factor out cpu joining/unjoining the GIQ > powerpc/xics: EOI xics ipi by hand in kexec > powerpc/xics: Mark xics IPI interrupt as per-cpu > powerpc/xics: Make printk format strings fit on one line > powerpc/xics: Reduce and comment xics IPI use of memory barriers > powerpc/smp: No need to set_need_resched when getting a resched IPI > powerpc: remove non-dependent load fsl_booke PTE_64BIT > > Nathan Fontenot (2): > powerpc: Check rc of notifier chain for memory remove > powerpc: Oops in pseries_lmb_remove() > > Nathan Lynch (1): > powerpc: Remove redundant sysfs_remove_file calls for cache info > > Paul Gortmaker (1): > powerpc/sbc8560: fix compile warning on CPM pin array > > Paul Mackerras (8): > Merge branch 'linux-2.6' > powerpc: Rearrange head_64.S to move interrupt handler code to the beginning > powerpc: Make it possible to move the interrupt handlers away from the kernel > powerpc: Use LOAD_REG_IMMEDIATE only for constants on 64-bit > powerpc: Make the 64-bit kernel as a position-independent executable > Merge branch 'next' of ssh://master.kernel.org/.../jwboyer/powerpc-4xx > Merge branch 'powerpc-next' of master.kernel.org:/.../galak/powerpc > powerpc: Sync RPA note in zImage with kernel's RPA note > > Peter Korsgaard (1): > powerpc: gpio driver for mpc8349/8572/8610 and compatible > > Roel Kluin (1): > powerpc/cell/oprofile: Fix test on overlay_tbl_offset in vma_map > > Roland Dreier (1): > powerpc: Avoid integer overflow in page_is_ram() > > Sebastian Andrzej Siewior (1): > powerpc: Reflect the used arguments in machine_init() prototype > > Sebastien Dugue (3): > powerpc: Separate the irq radix tree insertion and lookup > powerpc: Make the irq reverse mapping radix tree lockless > powerpc: Ignore generated vmlinux.lds in git > > Stephen Rothwell (4): > powerpc: Remove include of linux/of_platform.h from asm/of_platform.h > hotplug/rpaphp: Remove unused error path code > powerpc/drivers: Use linux/of_device.h instead of asm/of_device.h > powerpc: Remove include of linux/of_device.h from asm/of_device.h > > Thiemo Seufer (1): > powerpc: Enforce a non-spe kernel build even on broken compilers > > Timur Tabi (7): > powerpc: add SSI-to-DMA properties to Freescale MPC8610 HPCD device tree > powerpc: Remove CHRP and PMAC support from FSL defconfigs > powerpc: make Freescale QE support a selectable Kconfig option > powerpc: remove support for bootmem-allocated memory for the DIU driver > powerpc: disable CHRP and PMAC support in various defconfigs > powerpc: document the "fsl,ssi-dma-channel" compatible property > powerpc: reserve two DMA channels for audio in MPC8610 HPCD device tree > > Tirumala R Marri (1): > powerpc/44x: AMCC PPC460GT/EX PCI-E de-emphasis adjustment fix > > Tony Breeds (4): > powerpc: Guard htab_dt_scan_hugepage_blocks appropriately > powerpc: Guard from_rtc_time() in platforms/powermac/time.c > powerpc: Guard print_device_node_tree() with #if 0 > powerpc/mpc5200: Silence warnings in arch/powerpc/platforms/52xx/mpc52xx_pci.c > > Victor Gallardo (4): > ibm_newemac: Add support for GPCS, SGMII and M88E1112 PHY > powerpc/44x: Add AMCC Arches eval board support > powerpc/44x: Add AMCC Arches DTS > powerpc/44x: Add AMCC Arches defconfig file > > Vitaly Mayatskikh (1): > powerpc: Honor O_NONBLOCK flag when reading RTAS log > > Wolfgang Grandegger (1): > i2c-mpc: suppress I2C device probing > > Wolfram Sang (1): > powerpc/mpc5200: trivial printk-fixes in mpc52xx_common > > roel kluin (1): > powerpc: Fix duplicate test of MACIO_FLAG_SCCB_ON > > Documentation/powerpc/00-INDEX | 4 - > .../powerpc/dts-bindings/fsl/83xx-512x-pci.txt | 40 + > .../powerpc/dts-bindings/fsl/8xxx_gpio.txt | 40 + > Documentation/powerpc/dts-bindings/fsl/dma.txt | 13 +- > Documentation/powerpc/dts-bindings/fsl/ssi.txt | 23 + > Documentation/powerpc/ppc_htab.txt | 118 --- > Documentation/powerpc/smp.txt | 34 - > arch/powerpc/Kconfig | 16 + > arch/powerpc/Kconfig.debug | 5 + > arch/powerpc/Makefile | 7 +- > arch/powerpc/boot/Makefile | 3 + > arch/powerpc/boot/addnote.c | 144 +++- > arch/powerpc/boot/dtc-src/Makefile.dtc | 18 +- > arch/powerpc/boot/dtc-src/checks.c | 305 ++----- > arch/powerpc/boot/dtc-src/data.c | 62 +- > arch/powerpc/boot/dtc-src/dtc-lexer.l | 120 ++-- > arch/powerpc/boot/dtc-src/dtc-lexer.lex.c_shipped | 445 +++++----- > arch/powerpc/boot/dtc-src/dtc-parser.tab.c_shipped | 387 +++++---- > arch/powerpc/boot/dtc-src/dtc-parser.tab.h_shipped | 12 +- > arch/powerpc/boot/dtc-src/dtc-parser.y | 67 ++- > arch/powerpc/boot/dtc-src/dtc.c | 41 +- > arch/powerpc/boot/dtc-src/dtc.h | 43 +- > arch/powerpc/boot/dtc-src/flattree.c | 232 ++---- > arch/powerpc/boot/dtc-src/fstree.c | 8 +- > arch/powerpc/boot/dtc-src/libfdt_env.h | 23 + > arch/powerpc/boot/dtc-src/livetree.c | 9 +- > arch/powerpc/boot/dtc-src/srcpos.c | 121 ++-- > arch/powerpc/boot/dtc-src/srcpos.h | 30 +- > arch/powerpc/boot/dtc-src/treesource.c | 15 +- > arch/powerpc/boot/dtc-src/version_gen.h | 2 +- > arch/powerpc/boot/dts/arches.dts | 293 +++++++ > arch/powerpc/boot/dts/asp834x-redboot.dts | 4 + > arch/powerpc/boot/dts/gef_sbc610.dts | 293 +++++++ > arch/powerpc/boot/dts/glacier.dts | 2 +- > arch/powerpc/boot/dts/mgcoge.dts | 174 ++++ > arch/powerpc/boot/dts/mgsuvd.dts | 163 ++++ > arch/powerpc/boot/dts/mpc5121ads.dts | 3 +- > arch/powerpc/boot/dts/mpc8313erdb.dts | 7 +- > arch/powerpc/boot/dts/mpc8315erdb.dts | 7 +- > arch/powerpc/boot/dts/mpc832x_mds.dts | 7 +- > arch/powerpc/boot/dts/mpc832x_rdb.dts | 7 +- > arch/powerpc/boot/dts/mpc8349emitx.dts | 10 +- > arch/powerpc/boot/dts/mpc8349emitxgp.dts | 7 +- > arch/powerpc/boot/dts/mpc834x_mds.dts | 10 +- > arch/powerpc/boot/dts/mpc836x_mds.dts | 30 +- > arch/powerpc/boot/dts/mpc836x_rdk.dts | 19 +- > arch/powerpc/boot/dts/mpc8377_mds.dts | 14 +- > arch/powerpc/boot/dts/mpc8377_rdb.dts | 7 +- > arch/powerpc/boot/dts/mpc8378_mds.dts | 14 +- > arch/powerpc/boot/dts/mpc8378_rdb.dts | 7 +- > arch/powerpc/boot/dts/mpc8379_mds.dts | 14 +- > arch/powerpc/boot/dts/mpc8379_rdb.dts | 7 +- > arch/powerpc/boot/dts/mpc8536ds.dts | 2 + > arch/powerpc/boot/dts/mpc8610_hpcd.dts | 12 +- > arch/powerpc/boot/dts/sbc8349.dts | 7 +- > arch/powerpc/boot/dts/sequoia.dts | 9 + > arch/powerpc/boot/dts/yosemite.dts | 2 +- > arch/powerpc/boot/elf_util.c | 6 +- > arch/powerpc/boot/libfdt/Makefile.libfdt | 8 +- > arch/powerpc/boot/libfdt/fdt.c | 61 ++- > arch/powerpc/boot/libfdt/fdt_ro.c | 329 +++----- > arch/powerpc/boot/libfdt/fdt_rw.c | 200 +++-- > arch/powerpc/boot/libfdt/fdt_strerror.c | 34 +- > arch/powerpc/boot/libfdt/fdt_sw.c | 55 +- > arch/powerpc/boot/libfdt/fdt_wip.c | 9 +- > arch/powerpc/boot/libfdt/libfdt.h | 383 ++++++++- > arch/powerpc/boot/libfdt/libfdt_internal.h | 24 +- > arch/powerpc/boot/libfdt_env.h | 1 + > arch/powerpc/boot/wrapper | 4 +- > arch/powerpc/configs/44x/arches_defconfig | 767 +++++++++++++++++ > arch/powerpc/configs/83xx/asp8347_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc8313_rdb_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc8315_rdb_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc832x_mds_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc832x_rdb_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc834x_itx_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc834x_itxgp_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc834x_mds_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc836x_mds_defconfig | 83 ++- > arch/powerpc/configs/83xx/mpc836x_rdk_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc837x_mds_defconfig | 4 +- > arch/powerpc/configs/83xx/mpc837x_rdb_defconfig | 4 +- > arch/powerpc/configs/83xx/sbc834x_defconfig | 4 +- > .../gef_sbc610_defconfig} | 568 ++++++++----- > .../configs/{ => 86xx}/mpc8610_hpcd_defconfig | 4 +- > .../configs/{ => 86xx}/mpc8641_hpcn_defconfig | 4 +- > arch/powerpc/configs/{ => 86xx}/sbc8641d_defconfig | 4 +- > arch/powerpc/configs/ep8248e_defconfig | 4 +- > arch/powerpc/configs/mgcoge_defconfig | 900 ++++++++++++++++++++ > arch/powerpc/configs/mgsuvd_defconfig | 872 +++++++++++++++++++ > arch/powerpc/configs/mpc8272_ads_defconfig | 4 +- > arch/powerpc/configs/mpc83xx_defconfig | 4 +- > .../{mpc8641_hpcn_defconfig => mpc86xx_defconfig} | 44 +- > arch/powerpc/configs/pq2fads_defconfig | 4 +- > arch/powerpc/include/asm/cputable.h | 10 +- > arch/powerpc/include/asm/dcr-regs.h | 7 + > arch/powerpc/include/asm/device.h | 3 - > arch/powerpc/include/asm/dma-mapping.h | 187 ++--- > arch/powerpc/include/asm/exception.h | 42 +- > arch/powerpc/include/asm/fsl_lbc.h | 48 +- > arch/powerpc/include/asm/highmem.h | 2 +- > arch/powerpc/include/asm/io.h | 2 +- > arch/powerpc/include/asm/irq.h | 18 +- > arch/powerpc/include/asm/machdep.h | 5 +- > arch/powerpc/include/asm/mman.h | 2 +- > arch/powerpc/include/asm/mmu-hash64.h | 2 +- > arch/powerpc/include/asm/mpic.h | 4 +- > arch/powerpc/include/asm/msi_bitmap.h | 35 + > arch/powerpc/include/asm/of_device.h | 3 - > arch/powerpc/include/asm/of_platform.h | 3 - > arch/powerpc/include/asm/paca.h | 2 + > arch/powerpc/include/asm/page.h | 14 +- > arch/powerpc/include/asm/page_32.h | 8 +- > arch/powerpc/include/asm/pci.h | 14 +- > arch/powerpc/include/asm/pgtable-ppc32.h | 72 ++- > arch/powerpc/include/asm/pgtable-ppc64.h | 12 +- > arch/powerpc/include/asm/ppc_asm.h | 2 +- > arch/powerpc/include/asm/reg_booke.h | 7 + > arch/powerpc/include/asm/sections.h | 6 + > .../{math-emu => include/asm}/sfp-machine.h | 114 +-- > arch/powerpc/include/asm/smp.h | 42 +- > arch/powerpc/include/asm/systbl.h | 2 +- > arch/powerpc/include/asm/tlbflush.h | 13 +- > arch/powerpc/include/asm/types.h | 2 +- > arch/powerpc/kernel/.gitignore | 1 + > arch/powerpc/kernel/Makefile | 9 +- > arch/powerpc/kernel/asm-offsets.c | 3 + > arch/powerpc/kernel/btext.c | 34 +- > arch/powerpc/kernel/cpu_setup_ppc970.S | 4 +- > arch/powerpc/kernel/cputable.c | 24 + > arch/powerpc/kernel/dma-iommu.c | 103 +++ > arch/powerpc/kernel/dma.c | 131 +++ > arch/powerpc/kernel/dma_64.c | 200 ----- > arch/powerpc/kernel/entry_64.S | 69 +- > arch/powerpc/kernel/head_32.S | 10 +- > arch/powerpc/kernel/head_64.S | 473 ++++++----- > arch/powerpc/kernel/head_fsl_booke.S | 26 +- > arch/powerpc/kernel/irq.c | 169 ++-- > arch/powerpc/kernel/lparcfg.c | 8 +- > arch/powerpc/kernel/misc.S | 10 +- > arch/powerpc/kernel/misc_32.S | 62 ++- > arch/powerpc/kernel/misc_64.S | 8 +- > arch/powerpc/kernel/of_device.c | 2 +- > arch/powerpc/kernel/paca.c | 3 + > arch/powerpc/kernel/pci-common.c | 216 ++++-- > arch/powerpc/kernel/pci_32.c | 18 +- > arch/powerpc/kernel/pci_64.c | 49 -- > arch/powerpc/kernel/ppc_ksyms.c | 3 + > arch/powerpc/kernel/prom.c | 43 +- > arch/powerpc/kernel/prom_init.c | 29 +- > arch/powerpc/kernel/reloc_64.S | 87 ++ > arch/powerpc/kernel/setup-common.c | 17 +- > arch/powerpc/kernel/setup_32.c | 13 +- > arch/powerpc/kernel/setup_64.c | 9 +- > arch/powerpc/kernel/smp.c | 3 +- > arch/powerpc/kernel/swsusp_asm64.S | 2 +- > arch/powerpc/kernel/sys_ppc32.c | 8 - > arch/powerpc/kernel/sysfs.c | 119 ++- > arch/powerpc/kernel/vio.c | 2 +- > arch/powerpc/kernel/vmlinux.lds.S | 18 + > arch/powerpc/lib/copypage_64.S | 198 ++--- > arch/powerpc/lib/dma-noncoherent.c | 2 +- > arch/powerpc/math-emu/Makefile | 7 +- > arch/powerpc/math-emu/double.h | 129 --- > arch/powerpc/math-emu/fadd.c | 17 +- > arch/powerpc/math-emu/fadds.c | 20 +- > arch/powerpc/math-emu/fcmpo.c | 10 +- > arch/powerpc/math-emu/fcmpu.c | 10 +- > arch/powerpc/math-emu/fctiw.c | 8 +- > arch/powerpc/math-emu/fctiwz.c | 8 +- > arch/powerpc/math-emu/fdiv.c | 14 +- > arch/powerpc/math-emu/fdivs.c | 16 +- > arch/powerpc/math-emu/fmadd.c | 16 +- > arch/powerpc/math-emu/fmadds.c | 18 +- > arch/powerpc/math-emu/fmsub.c | 16 +- > arch/powerpc/math-emu/fmsubs.c | 18 +- > arch/powerpc/math-emu/fmul.c | 14 +- > arch/powerpc/math-emu/fmuls.c | 16 +- > arch/powerpc/math-emu/fnmadd.c | 16 +- > arch/powerpc/math-emu/fnmadds.c | 18 +- > arch/powerpc/math-emu/fnmsub.c | 16 +- > arch/powerpc/math-emu/fnmsubs.c | 18 +- > arch/powerpc/math-emu/frsp.c | 14 +- > arch/powerpc/math-emu/fsel.c | 8 +- > arch/powerpc/math-emu/fsqrt.c | 12 +- > arch/powerpc/math-emu/fsqrts.c | 14 +- > arch/powerpc/math-emu/fsub.c | 14 +- > arch/powerpc/math-emu/fsubs.c | 16 +- > arch/powerpc/math-emu/lfd.c | 4 +- > arch/powerpc/math-emu/lfs.c | 19 +- > arch/powerpc/math-emu/math.c | 8 +- > arch/powerpc/math-emu/mcrfs.c | 3 +- > arch/powerpc/math-emu/mffs.c | 3 +- > arch/powerpc/math-emu/mtfsb0.c | 3 +- > arch/powerpc/math-emu/mtfsb1.c | 3 +- > arch/powerpc/math-emu/mtfsf.c | 20 +- > arch/powerpc/math-emu/mtfsfi.c | 3 +- > arch/powerpc/math-emu/op-1.h | 245 ------ > arch/powerpc/math-emu/op-2.h | 434 ---------- > arch/powerpc/math-emu/op-4.h | 317 ------- > arch/powerpc/math-emu/op-common.h | 688 --------------- > arch/powerpc/math-emu/single.h | 66 -- > arch/powerpc/math-emu/soft-fp.h | 104 --- > arch/powerpc/math-emu/stfs.c | 19 +- > arch/powerpc/math-emu/types.c | 51 -- > arch/powerpc/math-emu/udivmodti4.c | 2 +- > arch/powerpc/mm/fsl_booke_mmu.c | 5 +- > arch/powerpc/mm/gup.c | 7 +- > arch/powerpc/mm/hash_low_32.S | 122 ++- > arch/powerpc/mm/hash_utils_64.c | 8 +- > arch/powerpc/mm/hugetlbpage.c | 59 +- > arch/powerpc/mm/init_64.c | 4 +- > arch/powerpc/mm/mem.c | 5 +- > arch/powerpc/mm/numa.c | 185 +++- > arch/powerpc/mm/pgtable_32.c | 4 +- > arch/powerpc/mm/tlb_32.c | 1 + > arch/powerpc/oprofile/cell/vma_map.c | 2 +- > arch/powerpc/oprofile/op_model_power4.c | 4 +- > arch/powerpc/platforms/44x/Kconfig | 42 +- > arch/powerpc/platforms/44x/Makefile | 8 +- > arch/powerpc/platforms/44x/bamboo.c | 62 -- > arch/powerpc/platforms/44x/canyonlands.c | 63 -- > arch/powerpc/platforms/44x/katmai.c | 62 -- > arch/powerpc/platforms/44x/ppc44x_simple.c | 88 ++ > arch/powerpc/platforms/44x/rainier.c | 62 -- > arch/powerpc/platforms/44x/sequoia.c | 63 -- > arch/powerpc/platforms/44x/taishan.c | 72 -- > arch/powerpc/platforms/512x/Kconfig | 2 + > arch/powerpc/platforms/512x/mpc5121_ads.c | 10 + > arch/powerpc/platforms/52xx/mpc52xx_common.c | 5 +- > arch/powerpc/platforms/52xx/mpc52xx_pci.c | 13 +- > arch/powerpc/platforms/82xx/Kconfig | 8 + > arch/powerpc/platforms/82xx/Makefile | 1 + > arch/powerpc/platforms/82xx/mgcoge.c | 129 +++ > arch/powerpc/platforms/83xx/Kconfig | 5 - > arch/powerpc/platforms/83xx/mpc837x_mds.c | 8 +- > arch/powerpc/platforms/85xx/Kconfig | 1 - > arch/powerpc/platforms/85xx/mpc85xx_ads.c | 1 - > arch/powerpc/platforms/85xx/sbc8560.c | 3 +- > arch/powerpc/platforms/86xx/Kconfig | 9 +- > arch/powerpc/platforms/86xx/Makefile | 1 + > arch/powerpc/platforms/86xx/gef_pic.c | 258 ++++++ > arch/powerpc/platforms/86xx/gef_pic.h | 11 + > arch/powerpc/platforms/86xx/gef_sbc610.c | 221 +++++ > arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 1 - > arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 8 - > arch/powerpc/platforms/86xx/sbc8641d.c | 8 - > arch/powerpc/platforms/8xx/Kconfig | 6 + > arch/powerpc/platforms/8xx/Makefile | 1 + > arch/powerpc/platforms/8xx/mgsuvd.c | 92 ++ > arch/powerpc/platforms/Kconfig | 21 +- > arch/powerpc/platforms/Kconfig.cputype | 17 +- > arch/powerpc/platforms/cell/iommu.c | 6 +- > arch/powerpc/platforms/cell/spufs/inode.c | 11 +- > arch/powerpc/platforms/chrp/pci.c | 4 +- > arch/powerpc/platforms/chrp/time.c | 24 +- > arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c | 1 - > arch/powerpc/platforms/iseries/exception.S | 23 +- > arch/powerpc/platforms/iseries/mf.c | 26 +- > arch/powerpc/platforms/maple/time.c | 24 +- > arch/powerpc/platforms/powermac/feature.c | 2 +- > arch/powerpc/platforms/powermac/smp.c | 4 +- > arch/powerpc/platforms/powermac/time.c | 3 + > arch/powerpc/platforms/ps3/system-bus.c | 2 +- > arch/powerpc/platforms/pseries/cmm.c | 4 +- > arch/powerpc/platforms/pseries/eeh_driver.c | 2 +- > arch/powerpc/platforms/pseries/hotplug-memory.c | 2 +- > arch/powerpc/platforms/pseries/reconfig.c | 6 +- > arch/powerpc/platforms/pseries/rtasd.c | 26 +- > arch/powerpc/platforms/pseries/smp.c | 32 +- > arch/powerpc/platforms/pseries/xics.c | 550 +++++++------ > arch/powerpc/platforms/pseries/xics.h | 12 +- > arch/powerpc/sysdev/Kconfig | 6 + > arch/powerpc/sysdev/Makefile | 5 +- > arch/powerpc/sysdev/cpm1.c | 74 ++- > arch/powerpc/sysdev/fsl_lbc.c | 53 ++- > arch/powerpc/sysdev/fsl_msi.c | 109 +-- > arch/powerpc/sysdev/fsl_msi.h | 8 +- > arch/powerpc/sysdev/fsl_pci.c | 58 +- > arch/powerpc/sysdev/fsl_soc.c | 85 +-- > arch/powerpc/sysdev/fsl_soc.h | 8 - > arch/powerpc/sysdev/mpc8xxx_gpio.c | 171 ++++ > arch/powerpc/sysdev/mpic.h | 2 - > arch/powerpc/sysdev/mpic_msi.c | 123 +--- > arch/powerpc/sysdev/mpic_pasemi_msi.c | 24 +- > arch/powerpc/sysdev/mpic_u3msi.c | 22 +- > arch/powerpc/sysdev/msi_bitmap.c | 247 ++++++ > arch/powerpc/sysdev/ppc4xx_pci.c | 32 +- > arch/powerpc/sysdev/qe_lib/Kconfig | 9 - > drivers/ata/pata_of_platform.c | 2 +- > drivers/block/floppy.c | 2 +- > drivers/block/viodasd.c | 3 - > drivers/char/hvc_console.c | 10 +- > drivers/char/ipmi/ipmi_si_intf.c | 2 +- > drivers/hwmon/ams/ams.h | 2 +- > drivers/i2c/busses/i2c-mpc.c | 1 - > drivers/i2c/busses/i2c-pca-isa.c | 2 +- > drivers/i2c/chips/Kconfig | 11 + > drivers/i2c/chips/Makefile | 1 + > drivers/i2c/chips/mcu_mpc8349emitx.c | 209 +++++ > drivers/input/serio/i8042-io.h | 2 +- > drivers/net/ibm_newemac/Kconfig | 12 + > drivers/net/ibm_newemac/core.c | 42 +- > drivers/net/ibm_newemac/core.h | 6 + > drivers/net/ibm_newemac/mal.c | 60 ++- > drivers/net/ibm_newemac/mal.h | 34 + > drivers/net/ibm_newemac/phy.c | 84 ++ > drivers/net/ibm_newemac/phy.h | 2 + > drivers/of/base.c | 136 +++- > drivers/of/gpio.c | 81 +-- > drivers/pci/hotplug/rpaphp_slot.c | 4 - > drivers/pnp/isapnp/core.c | 2 +- > drivers/pnp/pnpbios/core.c | 4 +- > drivers/serial/Kconfig | 36 - > drivers/serial/cpm_uart/cpm_uart_core.c | 3 + > drivers/serial/cpm_uart/cpm_uart_cpm1.c | 6 +- > drivers/serial/cpm_uart/cpm_uart_cpm2.c | 6 +- > drivers/serial/mpc52xx_uart.c | 181 +---- > drivers/serial/ucc_uart.c | 4 +- > drivers/spi/mpc52xx_psc_spi.c | 6 +- > include/linux/of.h | 3 + > include/linux/proc_fs.h | 1 - > include/math-emu/op-2.h | 2 +- > include/math-emu/op-common.h | 12 +- > include/math-emu/soft-fp.h | 19 + > sound/aoa/soundbus/soundbus.h | 2 +- > 326 files changed, 10837 insertions(+), 7011 deletions(-) > create mode 100644 Documentation/powerpc/dts-bindings/fsl/83xx-512x-pci.txt > create mode 100644 Documentation/powerpc/dts-bindings/fsl/8xxx_gpio.txt > delete mode 100644 Documentation/powerpc/ppc_htab.txt > delete mode 100644 Documentation/powerpc/smp.txt > create mode 100644 arch/powerpc/boot/dtc-src/libfdt_env.h > create mode 100644 arch/powerpc/boot/dts/arches.dts > create mode 100644 arch/powerpc/boot/dts/gef_sbc610.dts > create mode 100644 arch/powerpc/boot/dts/mgcoge.dts > create mode 100644 arch/powerpc/boot/dts/mgsuvd.dts > create mode 100644 arch/powerpc/configs/44x/arches_defconfig > copy arch/powerpc/configs/{sbc8641d_defconfig => 86xx/gef_sbc610_defconfig} (76%) > rename arch/powerpc/configs/{ => 86xx}/mpc8610_hpcd_defconfig (100%) > copy arch/powerpc/configs/{ => 86xx}/mpc8641_hpcn_defconfig (100%) > rename arch/powerpc/configs/{ => 86xx}/sbc8641d_defconfig (100%) > create mode 100644 arch/powerpc/configs/mgcoge_defconfig > create mode 100644 arch/powerpc/configs/mgsuvd_defconfig > rename arch/powerpc/configs/{mpc8641_hpcn_defconfig => mpc86xx_defconfig} (98%) > create mode 100644 arch/powerpc/include/asm/msi_bitmap.h > rename arch/powerpc/{math-emu => include/asm}/sfp-machine.h (84%) > create mode 100644 arch/powerpc/kernel/.gitignore > create mode 100644 arch/powerpc/kernel/dma-iommu.c > create mode 100644 arch/powerpc/kernel/dma.c > delete mode 100644 arch/powerpc/kernel/dma_64.c > create mode 100644 arch/powerpc/kernel/reloc_64.S > delete mode 100644 arch/powerpc/math-emu/double.h > delete mode 100644 arch/powerpc/math-emu/op-1.h > delete mode 100644 arch/powerpc/math-emu/op-2.h > delete mode 100644 arch/powerpc/math-emu/op-4.h > delete mode 100644 arch/powerpc/math-emu/op-common.h > delete mode 100644 arch/powerpc/math-emu/single.h > delete mode 100644 arch/powerpc/math-emu/soft-fp.h > delete mode 100644 arch/powerpc/math-emu/types.c > delete mode 100644 arch/powerpc/platforms/44x/bamboo.c > delete mode 100644 arch/powerpc/platforms/44x/canyonlands.c > delete mode 100644 arch/powerpc/platforms/44x/katmai.c > create mode 100644 arch/powerpc/platforms/44x/ppc44x_simple.c > delete mode 100644 arch/powerpc/platforms/44x/rainier.c > delete mode 100644 arch/powerpc/platforms/44x/sequoia.c > delete mode 100644 arch/powerpc/platforms/44x/taishan.c > create mode 100644 arch/powerpc/platforms/82xx/mgcoge.c > create mode 100644 arch/powerpc/platforms/86xx/gef_pic.c > create mode 100644 arch/powerpc/platforms/86xx/gef_pic.h > create mode 100644 arch/powerpc/platforms/86xx/gef_sbc610.c > create mode 100644 arch/powerpc/platforms/8xx/mgsuvd.c > create mode 100644 arch/powerpc/sysdev/mpc8xxx_gpio.c > create mode 100644 arch/powerpc/sysdev/msi_bitmap.c > create mode 100644 drivers/i2c/chips/mcu_mpc8349emitx.c > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- Advanced Micro Devices, Inc. Operating System Research Center email: robert.richter@amd.com ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [git pull] Please pull from powerpc.git next branch 2008-10-15 8:35 ` Robert Richter @ 2008-10-15 8:41 ` Arnd Bergmann 2008-10-15 9:37 ` [PATCH, RESEND] powerpc/cell/oprofile: fix mutex locking for spu-oprofile Arnd Bergmann 2008-10-15 9:41 ` [git pull] Please pull from powerpc.git next branch Benjamin Herrenschmidt 0 siblings, 2 replies; 8+ messages in thread From: Arnd Bergmann @ 2008-10-15 8:41 UTC (permalink / raw) To: Robert Richter Cc: Linus Torvalds, Linux Kernel list, Paul Mackerras, linuxppc-dev list On Wednesday 15 October 2008, Robert Richter wrote: > there are still these OProfile patches for powerpc pending: >=20 > Carl Love (1): > =A0 =A0 =A0 powerpc/cell/oprofile: fix mutex locking for spu-oprofile >=20 > Roel Kluin (1): > =A0 =A0 =A0 powerpc/cell/oprofile: vma_map: fix test on overlay_tbl_offset >=20 > Can you or Paul send them upstream? You can pull from here: >=20 > git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git powerpc-f= or-paul >=20 The patch from Roel is already in there, with a slightly different subject line. The one from Carl is still missing. Arnd <>< ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH, RESEND] powerpc/cell/oprofile: fix mutex locking for spu-oprofile 2008-10-15 8:41 ` Arnd Bergmann @ 2008-10-15 9:37 ` Arnd Bergmann 2008-10-15 9:41 ` [git pull] Please pull from powerpc.git next branch Benjamin Herrenschmidt 1 sibling, 0 replies; 8+ messages in thread From: Arnd Bergmann @ 2008-10-15 9:37 UTC (permalink / raw) To: linuxppc-dev; +Cc: Robert Richter, Carl Love =46rom aa5810fa545515c9f383e3e649bd120bef9c7f29 Mon Sep 17 00:00:00 2001 =46rom: Carl Love <cel@us.ibm.com> Date: Fri, 8 Aug 2008 15:38:36 -0700 Subject: [PATCH] powerpc/cell/oprofile: fix mutex locking for spu-oprofile The issue is the SPU code is not holding the kernel mutex lock while adding samples to the kernel buffer. This patch creates per SPU buffers to hold the data. Data is added to the buffers from in interrupt context. The data is periodically pushed to the kernel buffer via a new Oprofile function oprofile_put_buff(). The oprofile_put_buff() function is called via a work queue enabling the funtion to acquire the mutex lock. The existing user controls for adjusting the per CPU buffer size is used to control the size of the per SPU buffers. Similarly, overflows of the SPU buffers are reported by incrementing the per CPU buffer stats. This eliminates the need to have architecture specific controls for the per SPU buffers which is not acceptable to the OProfile user tool maintainer. The export of the oprofile add_event_entry() is removed as it is no longer needed given this patch. Note, this patch has not addressed the issue of indexing arrays by the spu number. This still needs to be fixed as the spu numbering is not guarenteed to be 0 to max_num_spus-1. Signed-off-by: Carl Love <carll@us.ibm.com> Signed-off-by: Maynard Johnson <maynardj@us.ibm.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Acked-by: Robert Richter <robert.richter@amd.com> =2D-- arch/powerpc/oprofile/cell/pr_util.h | 13 ++ arch/powerpc/oprofile/cell/spu_profiler.c | 4 +- arch/powerpc/oprofile/cell/spu_task_sync.c | 236 ++++++++++++++++++++++++= +--- drivers/oprofile/buffer_sync.c | 24 +++ drivers/oprofile/cpu_buffer.c | 15 ++- drivers/oprofile/event_buffer.h | 7 + include/linux/oprofile.h | 16 +- 7 files changed, 279 insertions(+), 36 deletions(-) diff --git a/arch/powerpc/oprofile/cell/pr_util.h b/arch/powerpc/oprofile/c= ell/pr_util.h index 22e4e8d..628009c 100644 =2D-- a/arch/powerpc/oprofile/cell/pr_util.h +++ b/arch/powerpc/oprofile/cell/pr_util.h @@ -24,6 +24,11 @@ #define SKIP_GENERIC_SYNC 0 #define SYNC_START_ERROR -1 #define DO_GENERIC_SYNC 1 +#define SPUS_PER_NODE 8 +#define DEFAULT_TIMER_EXPIRE (HZ / 10) + +extern struct delayed_work spu_work; +extern int spu_prof_running; =20 struct spu_overlay_info { /* map of sections within an SPU overlay */ unsigned int vma; /* SPU virtual memory address from elf */ @@ -62,6 +67,14 @@ struct vma_to_fileoffset_map { /* map of sections within= an SPU program */ =20 }; =20 +struct spu_buffer { + int last_guard_val; + int ctx_sw_seen; + unsigned long *buff; + unsigned int head, tail; +}; + + /* The three functions below are for maintaining and accessing * the vma-to-fileoffset map. */ diff --git a/arch/powerpc/oprofile/cell/spu_profiler.c b/arch/powerpc/oprof= ile/cell/spu_profiler.c index 380d7e2..6edaebd 100644 =2D-- a/arch/powerpc/oprofile/cell/spu_profiler.c +++ b/arch/powerpc/oprofile/cell/spu_profiler.c @@ -23,12 +23,11 @@ =20 static u32 *samples; =20 =2Dstatic int spu_prof_running; +int spu_prof_running; static unsigned int profiling_interval; =20 #define NUM_SPU_BITS_TRBUF 16 #define SPUS_PER_TB_ENTRY 4 =2D#define SPUS_PER_NODE 8 =20 #define SPU_PC_MASK 0xFFFF =20 @@ -208,6 +207,7 @@ int start_spu_profiling(unsigned int cycles_reset) =20 spu_prof_running =3D 1; hrtimer_start(&timer, kt, HRTIMER_MODE_REL); + schedule_delayed_work(&spu_work, DEFAULT_TIMER_EXPIRE); =20 return 0; } diff --git a/arch/powerpc/oprofile/cell/spu_task_sync.c b/arch/powerpc/opro= file/cell/spu_task_sync.c index 2a9b4a0..2949126 100644 =2D-- a/arch/powerpc/oprofile/cell/spu_task_sync.c +++ b/arch/powerpc/oprofile/cell/spu_task_sync.c @@ -35,7 +35,102 @@ static DEFINE_SPINLOCK(buffer_lock); static DEFINE_SPINLOCK(cache_lock); static int num_spu_nodes; int spu_prof_num_nodes; =2Dint last_guard_val[MAX_NUMNODES * 8]; + +struct spu_buffer spu_buff[MAX_NUMNODES * SPUS_PER_NODE]; +struct delayed_work spu_work; +static unsigned max_spu_buff; + +static void spu_buff_add(unsigned long int value, int spu) +{ + /* spu buff is a circular buffer. Add entries to the + * head. Head is the index to store the next value. + * The buffer is full when there is one available entry + * in the queue, i.e. head and tail can't be equal. + * That way we can tell the difference between the + * buffer being full versus empty. + * + * ASSUPTION: the buffer_lock is held when this function + * is called to lock the buffer, head and tail. + */ + int full =3D 1; + + if (spu_buff[spu].head >=3D spu_buff[spu].tail) { + if ((spu_buff[spu].head - spu_buff[spu].tail) + < (max_spu_buff - 1)) + full =3D 0; + + } else if (spu_buff[spu].tail > spu_buff[spu].head) { + if ((spu_buff[spu].tail - spu_buff[spu].head) + > 1) + full =3D 0; + } + + if (!full) { + spu_buff[spu].buff[spu_buff[spu].head] =3D value; + spu_buff[spu].head++; + + if (spu_buff[spu].head >=3D max_spu_buff) + spu_buff[spu].head =3D 0; + } else { + /* From the user's perspective make the SPU buffer + * size management/overflow look like we are using + * per cpu buffers. The user uses the same + * per cpu parameter to adjust the SPU buffer size. + * Increment the sample_lost_overflow to inform + * the user the buffer size needs to be increased. + */ + oprofile_cpu_buffer_inc_smpl_lost(); + } +} + +/* This function copies the per SPU buffers to the + * OProfile kernel buffer. + */ +void sync_spu_buff(void) +{ + int spu; + unsigned long flags; + int curr_head; + + for (spu =3D 0; spu < num_spu_nodes; spu++) { + /* In case there was an issue and the buffer didn't + * get created skip it. + */ + if (spu_buff[spu].buff =3D=3D NULL) + continue; + + /* Hold the lock to make sure the head/tail + * doesn't change while spu_buff_add() is + * deciding if the buffer is full or not. + * Being a little paranoid. + */ + spin_lock_irqsave(&buffer_lock, flags); + curr_head =3D spu_buff[spu].head; + spin_unlock_irqrestore(&buffer_lock, flags); + + /* Transfer the current contents to the kernel buffer. + * data can still be added to the head of the buffer. + */ + oprofile_put_buff(spu_buff[spu].buff, + spu_buff[spu].tail, + curr_head, max_spu_buff); + + spin_lock_irqsave(&buffer_lock, flags); + spu_buff[spu].tail =3D curr_head; + spin_unlock_irqrestore(&buffer_lock, flags); + } + +} + +static void wq_sync_spu_buff(struct work_struct *work) +{ + /* move data from spu buffers to kernel buffer */ + sync_spu_buff(); + + /* only reschedule if profiling is not done */ + if (spu_prof_running) + schedule_delayed_work(&spu_work, DEFAULT_TIMER_EXPIRE); +} =20 /* Container for caching information about an active SPU task. */ struct cached_info { @@ -305,14 +400,21 @@ static int process_context_switch(struct spu *spu, un= signed long objectId) =20 /* Record context info in event buffer */ spin_lock_irqsave(&buffer_lock, flags); =2D add_event_entry(ESCAPE_CODE); =2D add_event_entry(SPU_CTX_SWITCH_CODE); =2D add_event_entry(spu->number); =2D add_event_entry(spu->pid); =2D add_event_entry(spu->tgid); =2D add_event_entry(app_dcookie); =2D add_event_entry(spu_cookie); =2D add_event_entry(offset); + spu_buff_add(ESCAPE_CODE, spu->number); + spu_buff_add(SPU_CTX_SWITCH_CODE, spu->number); + spu_buff_add(spu->number, spu->number); + spu_buff_add(spu->pid, spu->number); + spu_buff_add(spu->tgid, spu->number); + spu_buff_add(app_dcookie, spu->number); + spu_buff_add(spu_cookie, spu->number); + spu_buff_add(offset, spu->number); + + /* Set flag to indicate SPU PC data can now be written out. If + * the SPU program counter data is seen before an SPU context + * record is seen, the postprocessing will fail. + */ + spu_buff[spu->number].ctx_sw_seen =3D 1; + spin_unlock_irqrestore(&buffer_lock, flags); smp_wmb(); /* insure spu event buffer updates are written */ /* don't want entries intermingled... */ @@ -360,6 +462,47 @@ static int number_of_online_nodes(void) return nodes; } =20 +static int oprofile_spu_buff_create(void) +{ + int spu; + + max_spu_buff =3D oprofile_get_cpu_buffer_size(); + + for (spu =3D 0; spu < num_spu_nodes; spu++) { + /* create circular buffers to store the data in. + * use locks to manage accessing the buffers + */ + spu_buff[spu].head =3D 0; + spu_buff[spu].tail =3D 0; + + /* + * Create a buffer for each SPU. Can't reliably + * create a single buffer for all spus due to not + * enough contiguous kernel memory. + */ + + spu_buff[spu].buff =3D kzalloc((max_spu_buff + * sizeof(unsigned long)), + GFP_KERNEL); + + if (!spu_buff[spu].buff) { + printk(KERN_ERR "SPU_PROF: " + "%s, line %d: oprofile_spu_buff_create " + "failed to allocate spu buffer %d.\n", + __func__, __LINE__, spu); + + /* release the spu buffers that have been allocated */ + while (spu >=3D 0) { + kfree(spu_buff[spu].buff); + spu_buff[spu].buff =3D 0; + spu--; + } + return -ENOMEM; + } + } + return 0; +} + /* The main purpose of this function is to synchronize * OProfile with SPUFS by registering to be notified of * SPU task switches. @@ -372,20 +515,35 @@ static int number_of_online_nodes(void) */ int spu_sync_start(void) { =2D int k; + int spu; int ret =3D SKIP_GENERIC_SYNC; int register_ret; unsigned long flags =3D 0; =20 spu_prof_num_nodes =3D number_of_online_nodes(); num_spu_nodes =3D spu_prof_num_nodes * 8; + INIT_DELAYED_WORK(&spu_work, wq_sync_spu_buff); + + /* create buffer for storing the SPU data to put in + * the kernel buffer. + */ + ret =3D oprofile_spu_buff_create(); + if (ret) + goto out; =20 spin_lock_irqsave(&buffer_lock, flags); =2D add_event_entry(ESCAPE_CODE); =2D add_event_entry(SPU_PROFILING_CODE); =2D add_event_entry(num_spu_nodes); + for (spu =3D 0; spu < num_spu_nodes; spu++) { + spu_buff_add(ESCAPE_CODE, spu); + spu_buff_add(SPU_PROFILING_CODE, spu); + spu_buff_add(num_spu_nodes, spu); + } spin_unlock_irqrestore(&buffer_lock, flags); =20 + for (spu =3D 0; spu < num_spu_nodes; spu++) { + spu_buff[spu].ctx_sw_seen =3D 0; + spu_buff[spu].last_guard_val =3D 0; + } + /* Register for SPU events */ register_ret =3D spu_switch_event_register(&spu_active); if (register_ret) { @@ -393,8 +551,6 @@ int spu_sync_start(void) goto out; } =20 =2D for (k =3D 0; k < (MAX_NUMNODES * 8); k++) =2D last_guard_val[k] =3D 0; pr_debug("spu_sync_start -- running.\n"); out: return ret; @@ -446,13 +602,20 @@ void spu_sync_buffer(int spu_num, unsigned int *sampl= es, * use. We need to discard samples taken during the time * period which an overlay occurs (i.e., guard value changes). */ =2D if (grd_val && grd_val !=3D last_guard_val[spu_num]) { =2D last_guard_val[spu_num] =3D grd_val; + if (grd_val && grd_val !=3D spu_buff[spu_num].last_guard_val) { + spu_buff[spu_num].last_guard_val =3D grd_val; /* Drop the rest of the samples. */ break; } =20 =2D add_event_entry(file_offset | spu_num_shifted); + /* We must ensure that the SPU context switch has been written + * out before samples for the SPU. Otherwise, the SPU context + * information is not available and the postprocessing of the + * SPU PC will fail with no available anonymous map information. + */ + if (spu_buff[spu_num].ctx_sw_seen) + spu_buff_add((file_offset | spu_num_shifted), + spu_num); } spin_unlock(&buffer_lock); out: @@ -463,20 +626,41 @@ out: int spu_sync_stop(void) { unsigned long flags =3D 0; =2D int ret =3D spu_switch_event_unregister(&spu_active); =2D if (ret) { + int ret; + int k; + + ret =3D spu_switch_event_unregister(&spu_active); + + if (ret) printk(KERN_ERR "SPU_PROF: " =2D "%s, line %d: spu_switch_event_unregister returned %d\n", =2D __func__, __LINE__, ret); =2D goto out; =2D } + "%s, line %d: spu_switch_event_unregister " \ + "returned %d\n", + __func__, __LINE__, ret); + + /* flush any remaining data in the per SPU buffers */ + sync_spu_buff(); =20 spin_lock_irqsave(&cache_lock, flags); ret =3D release_cached_info(RELEASE_ALL); spin_unlock_irqrestore(&cache_lock, flags); =2Dout: + + /* remove scheduled work queue item rather then waiting + * for every queued entry to execute. Then flush pending + * system wide buffer to event buffer. + */ + cancel_delayed_work(&spu_work); + + for (k =3D 0; k < num_spu_nodes; k++) { + spu_buff[k].ctx_sw_seen =3D 0; + + /* + * spu_sys_buff will be null if there was a problem + * allocating the buffer. Only delete if it exists. + */ + kfree(spu_buff[k].buff); + spu_buff[k].buff =3D 0; + } pr_debug("spu_sync_stop -- done.\n"); return ret; } =20 =2D diff --git a/drivers/oprofile/buffer_sync.c b/drivers/oprofile/buffer_sync.c index 9304c45..4a70180 100644 =2D-- a/drivers/oprofile/buffer_sync.c +++ b/drivers/oprofile/buffer_sync.c @@ -551,3 +551,27 @@ void sync_buffer(int cpu) =20 mutex_unlock(&buffer_mutex); } + +/* The function can be used to add a buffer worth of data directly to + * the kernel buffer. The buffer is assumed to be a circular buffer. + * Take the entries from index start and end at index end, wrapping + * at max_entries. + */ +void oprofile_put_buff(unsigned long *buf, unsigned int start, + unsigned int stop, unsigned int max) +{ + int i; + + i =3D start; + + mutex_lock(&buffer_mutex); + while (i !=3D stop) { + add_event_entry(buf[i++]); + + if (i >=3D max) + i =3D 0; + } + + mutex_unlock(&buffer_mutex); +} + diff --git a/drivers/oprofile/cpu_buffer.c b/drivers/oprofile/cpu_buffer.c index 7ba78e6..366b5d2 100644 =2D-- a/drivers/oprofile/cpu_buffer.c +++ b/drivers/oprofile/cpu_buffer.c @@ -37,13 +37,26 @@ static int work_enabled; void free_cpu_buffers(void) { int i; =2D=20 + for_each_online_cpu(i) { vfree(per_cpu(cpu_buffer, i).buffer); per_cpu(cpu_buffer, i).buffer =3D NULL; } } =20 +unsigned long oprofile_get_cpu_buffer_size(void) +{ + return fs_cpu_buffer_size; +} + +void oprofile_cpu_buffer_inc_smpl_lost(void) +{ + struct oprofile_cpu_buffer *cpu_buf + =3D &__get_cpu_var(cpu_buffer); + + cpu_buf->sample_lost_overflow++; +} + int alloc_cpu_buffers(void) { int i; diff --git a/drivers/oprofile/event_buffer.h b/drivers/oprofile/event_buffe= r.h index 5076ed1..84bf324 100644 =2D-- a/drivers/oprofile/event_buffer.h +++ b/drivers/oprofile/event_buffer.h @@ -17,6 +17,13 @@ int alloc_event_buffer(void); =20 void free_event_buffer(void); =20 +/** + * Add data to the event buffer. + * The data passed is free-form, but typically consists of + * file offsets, dcookies, context information, and ESCAPE codes. + */ +void add_event_entry(unsigned long data); + /* wake up the process sleeping on the event file */ void wake_up_buffer_waiter(void); =20 diff --git a/include/linux/oprofile.h b/include/linux/oprofile.h index 041bb31..1ef7fce 100644 =2D-- a/include/linux/oprofile.h +++ b/include/linux/oprofile.h @@ -84,13 +84,6 @@ int oprofile_arch_init(struct oprofile_operations * ops); void oprofile_arch_exit(void); =20 /** =2D * Add data to the event buffer. =2D * The data passed is free-form, but typically consists of =2D * file offsets, dcookies, context information, and ESCAPE codes. =2D */ =2Dvoid add_event_entry(unsigned long data); =2D =2D/** * Add a sample. This may be called from any context. Pass * smp_processor_id() as cpu. */ @@ -160,5 +153,14 @@ int oprofilefs_ulong_from_user(unsigned long * val, ch= ar const __user * buf, siz =20 /** lock for read/write safety */ extern spinlock_t oprofilefs_lock; + +/** + * Add the contents of a circular buffer to the event buffer. + */ +void oprofile_put_buff(unsigned long *buf, unsigned int start, + unsigned int stop, unsigned int max); + +unsigned long oprofile_get_cpu_buffer_size(void); +void oprofile_cpu_buffer_inc_smpl_lost(void); =20 #endif /* OPROFILE_H */ =2D-=20 1.5.4.3 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [git pull] Please pull from powerpc.git next branch 2008-10-15 8:41 ` Arnd Bergmann 2008-10-15 9:37 ` [PATCH, RESEND] powerpc/cell/oprofile: fix mutex locking for spu-oprofile Arnd Bergmann @ 2008-10-15 9:41 ` Benjamin Herrenschmidt 1 sibling, 0 replies; 8+ messages in thread From: Benjamin Herrenschmidt @ 2008-10-15 9:41 UTC (permalink / raw) To: Arnd Bergmann Cc: Robert Richter, linuxppc-dev list, Linus Torvalds, Linux Kernel list, Paul Mackerras On Wed, 2008-10-15 at 10:41 +0200, Arnd Bergmann wrote: > On Wednesday 15 October 2008, Robert Richter wrote: > > there are still these OProfile patches for powerpc pending: > > > > Carl Love (1): > > powerpc/cell/oprofile: fix mutex locking for spu-oprofile > > > > Roel Kluin (1): > > powerpc/cell/oprofile: vma_map: fix test on overlay_tbl_offset > > > > Can you or Paul send them upstream? You can pull from here: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile.git powerpc-for-paul > > > > The patch from Roel is already in there, with a slightly different > subject line. The one from Carl is still missing. I'll put it in my tree tomorrow, it will be in the second batch. For lurkers, make sure that if you have a patch missing, it's resent and shows up in patchwork. Some patches that missed the new patchwork transition might have fallen off if paulus didn't pick them up before I took over. Cheers, Ben. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [git pull] Please pull from powerpc.git next branch @ 2008-10-21 7:56 Benjamin Herrenschmidt 0 siblings, 0 replies; 8+ messages in thread From: Benjamin Herrenschmidt @ 2008-10-21 7:56 UTC (permalink / raw) To: Linus Torvalds; +Cc: linuxppc-dev list, Paul Mackerras, Linux Kernel list Hi Linus ! This is the remaining powerpc bits for this merge window (minus -maybe- some kdump related stuff that Paul we'll see tomorrow, in any case, it's not in this batch). Nothing terribly fancy, mostly bug fixes, a few new embedded boards, some serious fixes to Cell SPU oprofile. A few things outside of arch/powerpc / drivers/of that should either have appropriate ack's or be powerpc specific drivers unless I screwed up. Cheers, Ben. The following changes since commit 2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4: Paul Mundt (1): binfmt_elf_fdpic: Update for cputime changes. are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git master Andre Detsch (2): powerpc/spufs: Improve search of node for contexts with SPU affinity powerpc/spufs: Explain conditional decrement of aff_sched_count Anton Vorontsov (3): powerpc: Remove device_type = "board_control" properties in .dts files powerpc/83xx: Add support for MCU microcontroller in .dts files powerpc/83xx: Add DS1339 RTC support for MPC8349E-mITX boards .dts Benjamin Herrenschmidt (4): Merge commit 'jwb/jwb-next' Merge commit 'gcl/gcl-next' Merge commit 'kumar/kumar-for-2.6.28' Merge commit 'origin' into master Carl Love (1): powerpc/oprofile: Fix mutex locking for cell spu-oprofile Ed Swarthout (1): powerpc/85xx: Fix mpc8536ds dma interrupt numbers Grant Likely (2): powerpc/52xx: Make cuImage more robust in locating immr node. powerpc: Add missing cuImage.initrd.% target Jason Jin (1): powerpc/85xx: Enable enhanced functions for 8536 TSEC Jeremy Kerr (6): powerpc/spufs: sputrace: Only enable logging on open(), prevent multiple openers powerpc/spufs: sputrace: Don't block until the read buffer is full powerpc/spufs: Use state_mutex for switch_log locking, and prevent multiple openers powerpc/spufs: Don't require full buffer in switch_log read powerpc/spufs: Don't spu_acquire_saved unnecessarily in regs read powerpc/spufs: Use kmalloc rather than kzalloc for switch log buffer Jon Smirl (1): of: Format string bug in drivers/of/of_i2c.c Jon Tollefson (1): powerpc/numa: Make memory reserve code more robust Josh Boyer (6): powerpc/40x: AMCC PowerPC 405EZ Acadia DTS powerpc/40x: Add AMCC PowerPC 405EZ to cputable powerpc/40x: Add PowerPC 40x simple platform support powerpc/40x: Add cuboot wrapper for Acadia board powerpc/40x: Add PowerPC 405EZ Acadia defconfig ibm_newemac: Fix new MAL feature handling Kumar Gala (3): powerpc: Fix build issue with CONFIG_RELOCATABLE=y powerpc: Remove Kconfig support for PPC_MERGE powerpc/85xx: Move mpc8572ds.dts to address-cells/size-cells = <2> Mike Ditto (1): powerpc: Fix boot wrapper memcmp() called with zero length argument Milton Miller (4): powerpc: Find and destroy possible stale kernel added properties powerpc: Use cpu_thread_in_core in smp_init for of_spin_map powerpc: Always trim numa memory to lmb_end_of_DRAM() powerpc: Delete unused prom_strtoul and prom_memparse Nathan Fontenot (1): powerpc/pseries: Validate PFN in pseries_remove_lmb() Niklaus Giger (1): powerpc/40x: Add support for Netstal HCU4 board Paul Mackerras (1): powerpc: Revert CHRP boot wrapper to real-base = 12MB on 32-bit Sebastian Siewior (1): powerpc/boot: Compare _start against ei.loadsize instead ei.memsize Steven A. Falco (1): powerpc/4xx: Add PowerPC 4xx GPIO driver Wolfgang Ocker (1): of/spi: Support specifying chip select as active high via device tree Wolfram Sang (3): powerpc/mpc5200: Don't touch pipelining for MPC5200B powerpc/mpc5200: Refactor FEC mdio read/write routines i2c-cpm: Suppress autoprobing for devices roel kluin (1): powerpc: Unsigned speed cannot be negative in udbg_16559.c Documentation/powerpc/booting-without-of.txt | 2 + Documentation/powerpc/dts-bindings/fsl/board.txt | 4 +- arch/powerpc/Kconfig | 3 - arch/powerpc/boot/Makefile | 7 +- arch/powerpc/boot/addnote.c | 41 +- arch/powerpc/boot/cuboot-52xx.c | 4 + arch/powerpc/boot/cuboot-acadia.c | 174 ++++ arch/powerpc/boot/dts/acadia.dts | 224 ++++++ arch/powerpc/boot/dts/hcu4.dts | 168 ++++ arch/powerpc/boot/dts/mpc8315erdb.dts | 8 + arch/powerpc/boot/dts/mpc832x_mds.dts | 2 +- arch/powerpc/boot/dts/mpc8349emitx.dts | 16 + arch/powerpc/boot/dts/mpc8349emitxgp.dts | 8 + arch/powerpc/boot/dts/mpc834x_mds.dts | 2 +- arch/powerpc/boot/dts/mpc836x_mds.dts | 2 +- arch/powerpc/boot/dts/mpc8377_rdb.dts | 8 + arch/powerpc/boot/dts/mpc8378_rdb.dts | 8 + arch/powerpc/boot/dts/mpc8379_rdb.dts | 8 + arch/powerpc/boot/dts/mpc8536ds.dts | 12 +- arch/powerpc/boot/dts/mpc8568mds.dts | 2 +- arch/powerpc/boot/dts/mpc8572ds.dts | 27 +- arch/powerpc/boot/libfdt-wrapper.c | 16 +- arch/powerpc/boot/main.c | 14 +- arch/powerpc/boot/string.S | 4 +- arch/powerpc/boot/wrapper | 5 +- arch/powerpc/configs/40x/acadia_defconfig | 921 +++++++++++++++++++++ arch/powerpc/configs/40x/hcu4_defconfig | 929 ++++++++++++++++++++++ arch/powerpc/include/asm/page.h | 1 + arch/powerpc/kernel/cputable.c | 13 + arch/powerpc/kernel/machine_kexec_64.c | 13 + arch/powerpc/kernel/prom_init.c | 61 -- arch/powerpc/kernel/prom_init_check.sh | 2 +- arch/powerpc/kernel/udbg_16550.c | 2 +- arch/powerpc/mm/numa.c | 21 +- arch/powerpc/oprofile/cell/pr_util.h | 13 + arch/powerpc/oprofile/cell/spu_profiler.c | 4 +- arch/powerpc/oprofile/cell/spu_task_sync.c | 236 +++++- arch/powerpc/platforms/40x/Kconfig | 38 + arch/powerpc/platforms/40x/Makefile | 2 + arch/powerpc/platforms/40x/hcu4.c | 61 ++ arch/powerpc/platforms/40x/ppc40x_simple.c | 80 ++ arch/powerpc/platforms/44x/Kconfig | 8 + arch/powerpc/platforms/52xx/mpc52xx_common.c | 7 +- arch/powerpc/platforms/cell/smp.c | 10 +- arch/powerpc/platforms/cell/spufs/file.c | 155 +++-- arch/powerpc/platforms/cell/spufs/run.c | 3 +- arch/powerpc/platforms/cell/spufs/sched.c | 24 +- arch/powerpc/platforms/cell/spufs/spufs.h | 1 - arch/powerpc/platforms/cell/spufs/sputrace.c | 37 +- arch/powerpc/platforms/pseries/hotplug-memory.c | 6 + arch/powerpc/platforms/pseries/smp.c | 13 +- arch/powerpc/sysdev/Makefile | 1 + arch/powerpc/sysdev/ppc4xx_gpio.c | 217 +++++ drivers/i2c/busses/i2c-cpm.c | 1 - drivers/net/fec_mpc52xx_phy.c | 55 +- drivers/net/ibm_newemac/core.c | 10 +- drivers/net/ibm_newemac/mal.c | 15 +- drivers/of/of_i2c.c | 2 +- drivers/of/of_spi.c | 2 + drivers/oprofile/buffer_sync.c | 24 + drivers/oprofile/cpu_buffer.c | 15 +- drivers/oprofile/event_buffer.h | 7 + include/linux/oprofile.h | 16 +- 63 files changed, 3507 insertions(+), 288 deletions(-) create mode 100644 arch/powerpc/boot/cuboot-acadia.c create mode 100644 arch/powerpc/boot/dts/acadia.dts create mode 100644 arch/powerpc/boot/dts/hcu4.dts create mode 100644 arch/powerpc/configs/40x/acadia_defconfig create mode 100644 arch/powerpc/configs/40x/hcu4_defconfig create mode 100644 arch/powerpc/platforms/40x/hcu4.c create mode 100644 arch/powerpc/platforms/40x/ppc40x_simple.c create mode 100644 arch/powerpc/sysdev/ppc4xx_gpio.c ^ permalink raw reply [flat|nested] 8+ messages in thread
* [git pull] Please pull from powerpc.git next branch @ 2008-10-22 5:01 Benjamin Herrenschmidt 0 siblings, 0 replies; 8+ messages in thread From: Benjamin Herrenschmidt @ 2008-10-22 5:01 UTC (permalink / raw) To: Linus Torvalds; +Cc: linuxppc-dev list, Paul Mackerras, Linux Kernel list Hi Linus ! Here's some additions to yesterday's pull request. Mostly things that slipped through the cracks, for example, for the hvc_console work there was some confusion as to who was going to merge it, and the kdump bits I mentioned yesterday that were getting some rebasing/massaging. The rest is either trivial enough or bug fixes, That should now bit it for the "features" for this merge window The following changes since commit a02efb906d12c9d4eb2ab7c59049ba9545e5412d: Benjamin Herrenschmidt (1): Merge commit 'origin' into master are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git master Becky Bruce (1): powerpc: Move memory size print into common show_cpuinfo for 32-bit David Gibson (1): powerpc: Further compile fixup for STRICT_MM_TYPECHECKS Hendrik Brueckner (5): hvc_console: Add a hangup notifier for backends hvc_console: Add tty driver flag TTY_DRIVER_RESET_TERMIOS hvc_console: Fix loop if put_char() returns 0 hvc_console: Add support for tty window resizing hvc_console: Remove __devexit annotation of hvc_remove() Jon Tollefson (1): powerpc: Don't use a 16G page if beyond mem= limits Michael Neuling (1): powerpc: Remove empty #else from signal_64.c Mike Ditto (1): powerpc: Add del_node() for early boot code to prune inapplicable devices. Mohan Kumar M (1): powerpc: Support for relocatable kdump kernel Documentation/kdump/kdump.txt | 14 +++- arch/powerpc/Kconfig | 10 +-- arch/powerpc/boot/libfdt-wrapper.c | 6 ++ arch/powerpc/boot/ops.h | 6 ++ arch/powerpc/include/asm/kdump.h | 17 +++-- arch/powerpc/kernel/crash_dump.c | 2 + arch/powerpc/kernel/head_64.S | 39 +++++++++-- arch/powerpc/kernel/iommu.c | 69 ++++++++++--------- arch/powerpc/kernel/machine_kexec.c | 2 + arch/powerpc/kernel/machine_kexec_64.c | 13 +++- arch/powerpc/kernel/misc_64.S | 9 ++- arch/powerpc/kernel/pci-common.c | 3 +- arch/powerpc/kernel/setup-common.c | 7 ++ arch/powerpc/kernel/signal_64.c | 2 - arch/powerpc/mm/hash_utils_64.c | 6 +- arch/powerpc/platforms/85xx/ksi8560.c | 4 - arch/powerpc/platforms/85xx/mpc85xx_ads.c | 4 - arch/powerpc/platforms/85xx/mpc85xx_cds.c | 4 - arch/powerpc/platforms/85xx/sbc8548.c | 4 - arch/powerpc/platforms/85xx/sbc8560.c | 4 - arch/powerpc/platforms/85xx/stx_gp3.c | 4 - arch/powerpc/platforms/85xx/tqm85xx.c | 4 - arch/powerpc/platforms/86xx/gef_sbc610.c | 2 - arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 2 - arch/powerpc/platforms/86xx/sbc8641d.c | 2 - arch/powerpc/platforms/cell/ras.c | 6 +- arch/powerpc/platforms/embedded6xx/c2k.c | 3 - arch/powerpc/platforms/embedded6xx/prpmc2800.c | 3 - arch/powerpc/platforms/pseries/iommu.c | 6 +- drivers/char/hvc_console.c | 86 ++++++++++++++++++++---- drivers/char/hvc_console.h | 12 +++- drivers/char/hvc_irq.c | 5 ++ drivers/char/hvc_iseries.c | 1 + drivers/char/hvc_vio.c | 1 + drivers/char/hvc_xen.c | 1 + drivers/char/virtio_console.c | 1 + 36 files changed, 238 insertions(+), 126 deletions(-) ^ permalink raw reply [flat|nested] 8+ messages in thread
* [git pull] Please pull from powerpc.git next branch @ 2009-02-02 6:13 Benjamin Herrenschmidt 0 siblings, 0 replies; 8+ messages in thread From: Benjamin Herrenschmidt @ 2009-02-02 6:13 UTC (permalink / raw) To: Linus Torvalds; +Cc: linuxppc-dev list, Andrew Morton, Linux Kernel list [-- Attachment #1: Type: text/plain, Size: 2230 bytes --] Hi Linus ! Some updates for 2.6.29. Note the atyfb change. This is a fix shielded in #ifdef CONFIG_PPC, there is no fbdev maintainer, so Andrew and I decided to send it via my tree. It's a simple workaround for an ooooold regression. The rest is mostly small stuff from Grant who missed -rc2 probably due to being away (defconfig updates, a small bug fix), a regression fix in our PCI code and a lost patch in Stephen serie of u64 conversion. Cheers, Ben. The following changes since commit 45c82b5a770be66845687a7d027c8b52946d59af: Linus Torvalds (1): Merge branch 'header-fixes-for-linus' of git://git.kernel.org/.../tip/linux-2.6-tip are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git merge Benjamin Herrenschmidt (1): powerpc: Fix oops on some machines due to incorrect pr_debug() Grant Likely (3): powerpc/5200: update defconfigs powerpc/5200: Bugfix for PCI mapping of memory and IMMR powerpc/5200: update device tree binding documentation Risto Suominen (1): fbdev/atyfb: Fix DSP config on some PowerMacs & PowerBooks Stephen Rothwell (1): powerpc/ps3: Printing fixups for l64 to ll64 convserion drivers/net Documentation/powerpc/dts-bindings/fsl/mpc5200.txt | 180 +++++++++++++ .../powerpc/mpc52xx-device-tree-bindings.txt | 277 -------------------- arch/powerpc/configs/52xx/cm5200_defconfig | 83 +++++-- arch/powerpc/configs/52xx/lite5200b_defconfig | 86 +++++-- arch/powerpc/configs/52xx/motionpro_defconfig | 85 +++++-- arch/powerpc/configs/52xx/pcm030_defconfig | 82 ++++-- arch/powerpc/configs/52xx/tqm5200_defconfig | 89 +++++-- arch/powerpc/configs/mpc5200_defconfig | 104 ++++++-- arch/powerpc/kernel/pci-common.c | 5 +- arch/powerpc/platforms/52xx/mpc52xx_pci.c | 24 +- drivers/net/ps3_gelic_wireless.c | 2 +- drivers/video/aty/mach64_ct.c | 11 + 12 files changed, 590 insertions(+), 438 deletions(-) create mode 100644 Documentation/powerpc/dts-bindings/fsl/mpc5200.txt delete mode 100644 Documentation/powerpc/mpc52xx-device-tree-bindings.txt [-- Attachment #2: Type: text/html, Size: 3373 bytes --] ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2009-02-02 6:13 UTC | newest] Thread overview: 8+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-10-15 1:16 [git pull] Please pull from powerpc.git next branch Benjamin Herrenschmidt 2008-10-15 8:35 ` Robert Richter 2008-10-15 8:41 ` Arnd Bergmann 2008-10-15 9:37 ` [PATCH, RESEND] powerpc/cell/oprofile: fix mutex locking for spu-oprofile Arnd Bergmann 2008-10-15 9:41 ` [git pull] Please pull from powerpc.git next branch Benjamin Herrenschmidt -- strict thread matches above, loose matches on Subject: below -- 2008-10-21 7:56 Benjamin Herrenschmidt 2008-10-22 5:01 Benjamin Herrenschmidt 2009-02-02 6:13 Benjamin Herrenschmidt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).