* [PATCH] missed bio_endio() in axonram
From: Al Viro @ 2007-10-12 6:00 UTC (permalink / raw)
To: Linus Torvalds; +Cc: axboe, linuxppc-dev, linux-kernel
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
---
diff --git a/arch/powerpc/sysdev/axonram.c b/arch/powerpc/sysdev/axonram.c
index ab037a3..46fd9c6 100644
--- a/arch/powerpc/sysdev/axonram.c
+++ b/arch/powerpc/sysdev/axonram.c
@@ -117,7 +117,7 @@ axon_ram_make_request(struct request_queue *queue, struct bio *bio)
transfered = 0;
bio_for_each_segment(vec, bio, idx) {
if (unlikely(phys_mem + vec->bv_len > phys_end)) {
- bio_io_error(bio, bio->bi_size);
+ bio_io_error(bio);
rc = -ERANGE;
break;
}
@@ -131,7 +131,7 @@ axon_ram_make_request(struct request_queue *queue, struct bio *bio)
phys_mem += vec->bv_len;
transfered += vec->bv_len;
}
- bio_endio(bio, transfered, 0);
+ bio_endio(bio, 0);
return rc;
}
^ permalink raw reply related
* Re: Please pull powerpc.git master branch
From: Linus Torvalds @ 2007-10-12 5:38 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev
In-Reply-To: <18190.63495.790381.701352@cargo.ozlabs.ibm.com>
On Fri, 12 Oct 2007, Paul Mackerras wrote:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git master
I got a merge conflict on Documentation/powerpc/booting-without-of.txt,
which I tried to fix up. I may or may not have succeeded.
The issue was the interaction of David Gibson's device-tree-aware EMAC
driver which got merged with the net driver update through the networking
tree, and all the other new cases added in the PPC tree.
I think I merged it ok, but you guys should check and send me any fixes.
Linus
^ permalink raw reply
* [PATCH] [POWERPC] Fix copyright symbol
From: Stephen Rothwell @ 2007-10-12 5:37 UTC (permalink / raw)
To: paulus; +Cc: ppc-dev, jk
It seems to have been munged by patchwork.
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
arch/powerpc/platforms/iseries/vio.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
diff --git a/arch/powerpc/platforms/iseries/vio.c b/arch/powerpc/platforms/iseries/vio.c
index 910b00b..d6435b0 100644
--- a/arch/powerpc/platforms/iseries/vio.c
+++ b/arch/powerpc/platforms/iseries/vio.c
@@ -2,7 +2,7 @@
* Legacy iSeries specific vio initialisation
* that needs to be built in (not a module).
*
- * © Copyright 2007 IBM Corporation
+ * © Copyright 2007 IBM Corporation
* Author: Stephen Rothwell
* Some parts collected from various other files
*
--
1.5.3.4
^ permalink raw reply related
* Please pull powerpc.git master branch
From: Paul Mackerras @ 2007-10-12 4:28 UTC (permalink / raw)
To: torvalds; +Cc: linuxppc-dev
Linus,
Please do
git pull \
git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc.git master
to get a powerpc update for 2.6.24, as listed below.
Thanks,
Paul.
Documentation/powerpc/booting-without-of.txt | 335 ++++
MAINTAINERS | 29
arch/powerpc/Kconfig | 50 +
arch/powerpc/Kconfig.debug | 31
arch/powerpc/Makefile | 56 -
arch/powerpc/boot/.gitignore | 9
arch/powerpc/boot/44x.c | 85 -
arch/powerpc/boot/44x.h | 5
arch/powerpc/boot/4xx.c | 300 ++++
arch/powerpc/boot/4xx.h | 22
arch/powerpc/boot/Makefile | 25
arch/powerpc/boot/bamboo.c | 47 +
arch/powerpc/boot/cpm-serial.c | 269 ++++
arch/powerpc/boot/cuboot-52xx.c | 59 +
arch/powerpc/boot/cuboot-83xx.c | 1
arch/powerpc/boot/cuboot-85xx.c | 1
arch/powerpc/boot/cuboot-8xx.c | 47 +
arch/powerpc/boot/cuboot-bamboo.c | 30
arch/powerpc/boot/cuboot-hpc2.c | 48 +
arch/powerpc/boot/cuboot-pq2.c | 261 +++
arch/powerpc/boot/cuboot-sequoia.c | 56 +
arch/powerpc/boot/cuboot.c | 3
arch/powerpc/boot/dcr.h | 18
arch/powerpc/boot/devtree.c | 99 +
arch/powerpc/boot/dts/bamboo.dts | 244 +++
arch/powerpc/boot/dts/ebony.dts | 35
arch/powerpc/boot/dts/ep88xc.dts | 214 +++
arch/powerpc/boot/dts/holly.dts | 5
arch/powerpc/boot/dts/kilauea.dts | 252 +++
arch/powerpc/boot/dts/kuroboxHD.dts | 9
arch/powerpc/boot/dts/kuroboxHG.dts | 9
arch/powerpc/boot/dts/lite5200.dts | 59 -
arch/powerpc/boot/dts/lite5200b.dts | 119 +-
arch/powerpc/boot/dts/mpc7448hpc2.dts | 9
arch/powerpc/boot/dts/mpc8272ads.dts | 431 +++---
arch/powerpc/boot/dts/mpc8313erdb.dts | 67 -
arch/powerpc/boot/dts/mpc832x_mds.dts | 122 +-
arch/powerpc/boot/dts/mpc832x_rdb.dts | 72 -
arch/powerpc/boot/dts/mpc8349emitx.dts | 104 +
arch/powerpc/boot/dts/mpc8349emitxgp.dts | 52 -
arch/powerpc/boot/dts/mpc834x_mds.dts | 249 ++-
arch/powerpc/boot/dts/mpc836x_mds.dts | 123 +-
arch/powerpc/boot/dts/mpc8540ads.dts | 175 +-
arch/powerpc/boot/dts/mpc8541cds.dts | 228 ++-
arch/powerpc/boot/dts/mpc8544ds.dts | 377 +++--
arch/powerpc/boot/dts/mpc8548cds.dts | 404 +++--
arch/powerpc/boot/dts/mpc8555cds.dts | 228 ++-
arch/powerpc/boot/dts/mpc8560ads.dts | 267 ++--
arch/powerpc/boot/dts/mpc8568mds.dts | 160 +-
arch/powerpc/boot/dts/mpc8572ds.dts | 404 +++++
arch/powerpc/boot/dts/mpc8610_hpcd.dts | 191 +++
arch/powerpc/boot/dts/mpc8641_hpcn.dts | 289 ++--
arch/powerpc/boot/dts/mpc866ads.dts | 5
arch/powerpc/boot/dts/mpc885ads.dts | 211 ++-
arch/powerpc/boot/dts/pq2fads.dts | 240 +++
arch/powerpc/boot/dts/prpmc2800.dts | 5
arch/powerpc/boot/dts/sequoia.dts | 302 ++++
arch/powerpc/boot/dts/walnut.dts | 190 +++
arch/powerpc/boot/ebony.c | 45 +
arch/powerpc/boot/ep88xc.c | 54 +
arch/powerpc/boot/fixed-head.S | 4
arch/powerpc/boot/flatdevtree.c | 100 +
arch/powerpc/boot/flatdevtree.h | 8
arch/powerpc/boot/flatdevtree_env.h | 20
arch/powerpc/boot/flatdevtree_misc.c | 8
arch/powerpc/boot/fsl-soc.c | 57 +
arch/powerpc/boot/fsl-soc.h | 8
arch/powerpc/boot/gunzip_util.c | 8
arch/powerpc/boot/holly.c | 5
arch/powerpc/boot/io.h | 49 +
arch/powerpc/boot/main.c | 10
arch/powerpc/boot/mpc52xx-psc.c | 69 +
arch/powerpc/boot/mpc8xx.c | 82 +
arch/powerpc/boot/mpc8xx.h | 11
arch/powerpc/boot/mpsc.c | 1
arch/powerpc/boot/mv64x60_i2c.c | 2
arch/powerpc/boot/of.c | 2
arch/powerpc/boot/ops.h | 36
arch/powerpc/boot/planetcore.c | 166 ++
arch/powerpc/boot/planetcore.h | 49 +
arch/powerpc/boot/ppcboot.h | 7
arch/powerpc/boot/pq2.c | 102 +
arch/powerpc/boot/pq2.h | 11
arch/powerpc/boot/prpmc2800.c | 6
arch/powerpc/boot/ps3.c | 4
arch/powerpc/boot/serial.c | 23
arch/powerpc/boot/stdlib.c | 45 +
arch/powerpc/boot/stdlib.h | 6
arch/powerpc/boot/string.S | 37
arch/powerpc/boot/string.h | 3
arch/powerpc/boot/treeboot-bamboo.c | 43 +
arch/powerpc/boot/treeboot-ebony.c | 2
arch/powerpc/boot/treeboot-walnut.c | 131 ++
arch/powerpc/boot/uartlite.c | 79 +
arch/powerpc/boot/wrapper | 20
arch/powerpc/configs/bamboo_defconfig | 775 ++++++++++
arch/powerpc/configs/ebony_defconfig | 85 +
arch/powerpc/configs/ep88xc_defconfig | 751 ++++++++++
arch/powerpc/configs/kilauea_defconfig | 768 ++++++++++
arch/powerpc/configs/mpc8272_ads_defconfig | 248 ++-
arch/powerpc/configs/mpc8544_ds_defconfig | 2
arch/powerpc/configs/mpc8560_ads_defconfig | 23
arch/powerpc/configs/mpc8572_ds_defconfig | 1496 ++++++++++++++++++++
arch/powerpc/configs/mpc8610_hpcd_defconfig | 1023 ++++++++++++++
arch/powerpc/configs/mpc885_ads_defconfig | 297 ++--
arch/powerpc/configs/pq2fads_defconfig | 1003 +++++++++++++
arch/powerpc/configs/sequoia_defconfig | 861 ++++++++++++
arch/powerpc/configs/walnut_defconfig | 773 ++++++++++
arch/powerpc/kernel/Makefile | 43 -
arch/powerpc/kernel/align.c | 307 ++++
arch/powerpc/kernel/asm-offsets.c | 12
arch/powerpc/kernel/btext.c | 1
arch/powerpc/kernel/clock.c | 82 +
arch/powerpc/kernel/cpu_setup_44x.S | 56 +
arch/powerpc/kernel/cputable.c | 119 +-
arch/powerpc/kernel/crash.c | 1
arch/powerpc/kernel/crash_dump.c | 4
arch/powerpc/kernel/entry_32.S | 4
arch/powerpc/kernel/entry_64.S | 24
arch/powerpc/kernel/head_32.S | 71 +
arch/powerpc/kernel/head_40x.S | 28
arch/powerpc/kernel/head_44x.S | 30
arch/powerpc/kernel/head_64.S | 604 --------
arch/powerpc/kernel/head_8xx.S | 27
arch/powerpc/kernel/head_fsl_booke.S | 99 +
arch/powerpc/kernel/ibmebus.c | 7
arch/powerpc/kernel/idle.c | 3
arch/powerpc/kernel/iomap.c | 4
arch/powerpc/kernel/iommu.c | 1
arch/powerpc/kernel/irq.c | 97 +
arch/powerpc/kernel/legacy_serial.c | 5
arch/powerpc/kernel/lparcfg.c | 2
arch/powerpc/kernel/lparmap.c | 32
arch/powerpc/kernel/nvram_64.c | 23
arch/powerpc/kernel/of_platform.c | 17
arch/powerpc/kernel/pci-common.c | 7
arch/powerpc/kernel/pci_32.c | 4
arch/powerpc/kernel/pci_64.c | 2
arch/powerpc/kernel/pci_dn.c | 7
arch/powerpc/kernel/ppc_ksyms.c | 8
arch/powerpc/kernel/process.c | 32
arch/powerpc/kernel/prom.c | 24
arch/powerpc/kernel/prom_init.c | 23
arch/powerpc/kernel/ptrace.c | 10
arch/powerpc/kernel/ptrace32.c | 8
arch/powerpc/kernel/rtas_pci.c | 4
arch/powerpc/kernel/setup-common.c | 2
arch/powerpc/kernel/setup_32.c | 10
arch/powerpc/kernel/setup_64.c | 9
arch/powerpc/kernel/signal.c | 6
arch/powerpc/kernel/signal_32.c | 38 +
arch/powerpc/kernel/signal_64.c | 15
arch/powerpc/kernel/smp.c | 29
arch/powerpc/kernel/softemu8xx.c | 202 +++
arch/powerpc/kernel/sysfs.c | 64 +
arch/powerpc/kernel/systbl.S | 2
arch/powerpc/kernel/time.c | 503 +++----
arch/powerpc/kernel/traps.c | 97 +
arch/powerpc/kernel/udbg.c | 2
arch/powerpc/kernel/udbg_16550.c | 11
arch/powerpc/kernel/vdso.c | 2
arch/powerpc/kernel/vdso32/.gitignore | 1
arch/powerpc/kernel/vdso32/Makefile | 20
arch/powerpc/kernel/vdso64/.gitignore | 1
arch/powerpc/kernel/vdso64/Makefile | 19
arch/powerpc/kernel/vio.c | 104 -
arch/powerpc/kernel/vmlinux.lds.S | 2
arch/powerpc/lib/Makefile | 7
arch/powerpc/lib/alloc.c | 29
arch/powerpc/mm/40x_mmu.c | 4
arch/powerpc/mm/Makefile | 15
arch/powerpc/mm/fsl_booke_mmu.c | 2
arch/powerpc/mm/hash_low_64.S | 73 +
arch/powerpc/mm/hash_native_64.c | 92 +
arch/powerpc/mm/hash_utils_64.c | 121 +-
arch/powerpc/mm/hugetlbpage.c | 16
arch/powerpc/mm/init_32.c | 41 +
arch/powerpc/mm/init_64.c | 2
arch/powerpc/mm/mem.c | 1
arch/powerpc/mm/mmu_context_64.c | 11
arch/powerpc/mm/pgtable_64.c | 6
arch/powerpc/mm/slb.c | 73 +
arch/powerpc/mm/slb_low.S | 37
arch/powerpc/mm/slice.c | 1
arch/powerpc/mm/stab.c | 6
arch/powerpc/mm/tlb_64.c | 20
arch/powerpc/oprofile/cell/pr_util.h | 3
arch/powerpc/oprofile/op_model_cell.c | 2
arch/powerpc/platforms/40x/Kconfig | 134 +-
arch/powerpc/platforms/40x/Makefile | 3
arch/powerpc/platforms/40x/kilauea.c | 58 +
arch/powerpc/platforms/40x/virtex.c | 45 +
arch/powerpc/platforms/40x/walnut.c | 63 +
arch/powerpc/platforms/44x/Kconfig | 32
arch/powerpc/platforms/44x/Makefile | 2
arch/powerpc/platforms/44x/bamboo.c | 61 +
arch/powerpc/platforms/44x/ebony.c | 5
arch/powerpc/platforms/44x/sequoia.c | 61 +
arch/powerpc/platforms/4xx/Makefile | 1
arch/powerpc/platforms/52xx/Kconfig | 2
arch/powerpc/platforms/52xx/Makefile | 3
arch/powerpc/platforms/52xx/efika.c | 32
arch/powerpc/platforms/52xx/lite5200.c | 121 +-
arch/powerpc/platforms/52xx/lite5200_pm.c | 213 +++
arch/powerpc/platforms/52xx/lite5200_sleep.S | 412 ++++++
arch/powerpc/platforms/52xx/mpc52xx_common.c | 38 -
arch/powerpc/platforms/52xx/mpc52xx_pic.c | 22
arch/powerpc/platforms/82xx/Kconfig | 24
arch/powerpc/platforms/82xx/Makefile | 6
arch/powerpc/platforms/82xx/m82xx_pci.h | 2
arch/powerpc/platforms/82xx/mpc8272_ads.c | 196 +++
arch/powerpc/platforms/82xx/mpc82xx.c | 110 -
arch/powerpc/platforms/82xx/mpc82xx_ads.c | 641 ---------
arch/powerpc/platforms/82xx/pq2.c | 82 +
arch/powerpc/platforms/82xx/pq2.h | 20
arch/powerpc/platforms/82xx/pq2ads-pci-pic.c | 195 +++
arch/powerpc/platforms/82xx/pq2ads.h | 9
arch/powerpc/platforms/82xx/pq2fads.c | 198 +++
arch/powerpc/platforms/83xx/mpc8313_rdb.c | 4
arch/powerpc/platforms/83xx/mpc832x_mds.c | 6
arch/powerpc/platforms/83xx/mpc832x_rdb.c | 52 +
arch/powerpc/platforms/83xx/mpc834x_itx.c | 5
arch/powerpc/platforms/83xx/mpc834x_mds.c | 5
arch/powerpc/platforms/83xx/mpc836x_mds.c | 6
arch/powerpc/platforms/83xx/mpc83xx.h | 2
arch/powerpc/platforms/83xx/pci.c | 7
arch/powerpc/platforms/85xx/Kconfig | 11
arch/powerpc/platforms/85xx/Makefile | 3
arch/powerpc/platforms/85xx/misc.c | 55 -
arch/powerpc/platforms/85xx/mpc8540_ads.h | 35
arch/powerpc/platforms/85xx/mpc85xx.h | 17
arch/powerpc/platforms/85xx/mpc85xx_ads.c | 187 +--
arch/powerpc/platforms/85xx/mpc85xx_ads.h | 60 -
arch/powerpc/platforms/85xx/mpc85xx_cds.c | 47 -
arch/powerpc/platforms/85xx/mpc85xx_cds.h | 43 -
arch/powerpc/platforms/85xx/mpc85xx_ds.c | 87 +
arch/powerpc/platforms/85xx/mpc85xx_mds.c | 55 -
arch/powerpc/platforms/86xx/Kconfig | 13
arch/powerpc/platforms/86xx/Makefile | 1
arch/powerpc/platforms/86xx/mpc8610_hpcd.c | 216 +++
arch/powerpc/platforms/86xx/mpc8641_hpcn.h | 21
arch/powerpc/platforms/86xx/mpc86xx_hpcn.c | 37
arch/powerpc/platforms/8xx/Kconfig | 28
arch/powerpc/platforms/8xx/Makefile | 1
arch/powerpc/platforms/8xx/ep88xc.c | 176 ++
arch/powerpc/platforms/8xx/m8xx_setup.c | 154 +-
arch/powerpc/platforms/8xx/mpc86xads.h | 4
arch/powerpc/platforms/8xx/mpc86xads_setup.c | 25
arch/powerpc/platforms/8xx/mpc885ads.h | 42 -
arch/powerpc/platforms/8xx/mpc885ads_setup.c | 472 ++----
arch/powerpc/platforms/Kconfig | 32
arch/powerpc/platforms/Kconfig.cputype | 14
arch/powerpc/platforms/Makefile | 2
arch/powerpc/platforms/cell/Makefile | 4
arch/powerpc/platforms/cell/axon_msi.c | 35
arch/powerpc/platforms/cell/cbe_cpufreq.c | 2
.../powerpc/platforms/cell/cbe_cpufreq_pervasive.c | 2
arch/powerpc/platforms/cell/cbe_cpufreq_pmi.c | 2
arch/powerpc/platforms/cell/cbe_regs.c | 3
arch/powerpc/platforms/cell/cbe_thermal.c | 2
arch/powerpc/platforms/cell/interrupt.c | 4
arch/powerpc/platforms/cell/iommu.c | 2
arch/powerpc/platforms/cell/pervasive.c | 2
arch/powerpc/platforms/cell/pmu.c | 2
arch/powerpc/platforms/cell/ras.c | 2
arch/powerpc/platforms/cell/setup.c | 17
arch/powerpc/platforms/cell/spider-pic.c | 22
arch/powerpc/platforms/cell/spu_base.c | 8
arch/powerpc/platforms/cell/spu_callbacks.c | 4
arch/powerpc/platforms/cell/spu_coredump.c | 79 -
arch/powerpc/platforms/cell/spu_manage.c | 4
arch/powerpc/platforms/cell/spu_syscalls.c | 142 +-
arch/powerpc/platforms/cell/spufs/coredump.c | 236 ++-
arch/powerpc/platforms/cell/spufs/file.c | 251 +--
arch/powerpc/platforms/cell/spufs/inode.c | 15
arch/powerpc/platforms/cell/spufs/run.c | 4
arch/powerpc/platforms/cell/spufs/sched.c | 49 -
arch/powerpc/platforms/cell/spufs/spufs.h | 7
arch/powerpc/platforms/cell/spufs/switch.c | 31
arch/powerpc/platforms/cell/spufs/syscalls.c | 48 -
arch/powerpc/platforms/celleb/Kconfig | 1
arch/powerpc/platforms/celleb/Makefile | 5
arch/powerpc/platforms/celleb/beat.c | 106 +
arch/powerpc/platforms/celleb/beat.h | 2
arch/powerpc/platforms/celleb/beat_syscall.h | 4
arch/powerpc/platforms/celleb/beat_wrapper.h | 68 +
arch/powerpc/platforms/celleb/htab.c | 152 ++
arch/powerpc/platforms/celleb/interrupt.c | 9
arch/powerpc/platforms/celleb/io-workarounds.c | 279 ++++
arch/powerpc/platforms/celleb/pci.c | 98 +
arch/powerpc/platforms/celleb/pci.h | 9
arch/powerpc/platforms/celleb/scc.h | 2
arch/powerpc/platforms/celleb/scc_epci.c | 88 +
arch/powerpc/platforms/celleb/scc_sio.c | 56 -
arch/powerpc/platforms/celleb/setup.c | 27
arch/powerpc/platforms/chrp/gg2.h | 61 +
arch/powerpc/platforms/chrp/pci.c | 39 -
arch/powerpc/platforms/chrp/setup.c | 13
arch/powerpc/platforms/chrp/smp.c | 2
arch/powerpc/platforms/embedded6xx/Kconfig | 12
arch/powerpc/platforms/embedded6xx/holly.c | 14
arch/powerpc/platforms/embedded6xx/linkstation.c | 8
arch/powerpc/platforms/embedded6xx/ls_uart.c | 18
arch/powerpc/platforms/embedded6xx/mpc10x.h | 180 ++
arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c | 5
arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.h | 21
arch/powerpc/platforms/embedded6xx/prpmc2800.c | 8
arch/powerpc/platforms/iseries/Makefile | 3
arch/powerpc/platforms/iseries/dt.c | 17
arch/powerpc/platforms/iseries/exception.S | 251 +++
arch/powerpc/platforms/iseries/exception.h | 58 +
arch/powerpc/platforms/iseries/htab.c | 13
arch/powerpc/platforms/iseries/iommu.c | 52 +
arch/powerpc/platforms/iseries/irq.c | 10
arch/powerpc/platforms/iseries/it_lp_naca.h | 2
arch/powerpc/platforms/iseries/mf.c | 23
arch/powerpc/platforms/iseries/setup.c | 7
arch/powerpc/platforms/iseries/vio.c | 553 +++++++
arch/powerpc/platforms/iseries/viopath.c | 8
arch/powerpc/platforms/maple/pci.c | 21
arch/powerpc/platforms/pasemi/Kconfig | 1
arch/powerpc/platforms/pasemi/gpio_mdio.c | 4
arch/powerpc/platforms/pasemi/idle.c | 8
arch/powerpc/platforms/pasemi/iommu.c | 4
arch/powerpc/platforms/pasemi/pasemi.h | 4
arch/powerpc/platforms/pasemi/pci.c | 74 +
arch/powerpc/platforms/pasemi/setup.c | 134 ++
arch/powerpc/platforms/powermac/bootx_init.c | 1
arch/powerpc/platforms/powermac/low_i2c.c | 1
arch/powerpc/platforms/powermac/pci.c | 25
arch/powerpc/platforms/powermac/pic.c | 2
arch/powerpc/platforms/powermac/pmac.h | 4
arch/powerpc/platforms/powermac/setup.c | 77 -
arch/powerpc/platforms/powermac/udbg_adb.c | 5
arch/powerpc/platforms/ps3/device-init.c | 24
arch/powerpc/platforms/ps3/htab.c | 14
arch/powerpc/platforms/ps3/interrupt.c | 9
arch/powerpc/platforms/ps3/os-area.c | 646 ++++++++-
arch/powerpc/platforms/ps3/platform.h | 10
arch/powerpc/platforms/ps3/setup.c | 3
arch/powerpc/platforms/ps3/time.c | 14
arch/powerpc/platforms/pseries/eeh.c | 54 -
arch/powerpc/platforms/pseries/eeh_cache.c | 9
arch/powerpc/platforms/pseries/hotplug-cpu.c | 14
arch/powerpc/platforms/pseries/lpar.c | 90 +
arch/powerpc/platforms/pseries/msi.c | 35
arch/powerpc/platforms/pseries/rtasd.c | 99 +
arch/powerpc/platforms/pseries/setup.c | 5
arch/powerpc/platforms/pseries/xics.c | 2
arch/powerpc/sysdev/Makefile | 12
arch/powerpc/sysdev/axonram.c | 8
arch/powerpc/sysdev/commproc.c | 299 +++-
arch/powerpc/sysdev/commproc.h | 12
arch/powerpc/sysdev/cpm2_common.c | 178 ++
arch/powerpc/sysdev/cpm2_pic.c | 13
arch/powerpc/sysdev/cpm_common.c | 205 +++
arch/powerpc/sysdev/dart_iommu.c | 4
arch/powerpc/sysdev/dcr.c | 6
arch/powerpc/sysdev/fsl_pci.c | 7
arch/powerpc/sysdev/fsl_soc.c | 187 ++-
arch/powerpc/sysdev/fsl_soc.h | 8
arch/powerpc/sysdev/i8259.c | 8
arch/powerpc/sysdev/indirect_pci.c | 10
arch/powerpc/sysdev/ipic.c | 7
arch/powerpc/sysdev/ipic.h | 3
arch/powerpc/sysdev/mpc8xx_pic.c | 30
arch/powerpc/sysdev/mpic.c | 53 -
arch/powerpc/sysdev/mpic.h | 1
arch/powerpc/sysdev/mpic_msi.c | 13
arch/powerpc/sysdev/mpic_u3msi.c | 36
arch/powerpc/sysdev/mv64x60.h | 1
arch/powerpc/sysdev/mv64x60_pic.c | 12
arch/powerpc/sysdev/mv64x60_udbg.c | 152 ++
arch/powerpc/sysdev/pmi.c | 6
arch/powerpc/sysdev/qe_lib/qe.c | 36
arch/powerpc/sysdev/qe_lib/qe_ic.c | 38 -
arch/powerpc/sysdev/qe_lib/qe_ic.h | 3
arch/powerpc/sysdev/qe_lib/qe_io.c | 38 -
arch/powerpc/sysdev/qe_lib/ucc.c | 270 ++--
arch/powerpc/sysdev/qe_lib/ucc_fast.c | 127 +-
arch/powerpc/sysdev/qe_lib/ucc_slow.c | 48 -
arch/powerpc/sysdev/timer.c | 81 -
arch/powerpc/sysdev/tsi108_pci.c | 16
arch/powerpc/sysdev/uic.c | 75 +
arch/powerpc/sysdev/xilinx_intc.c | 151 ++
arch/ppc/.gitignore | 2
arch/ppc/8xx_io/enet.c | 1
arch/ppc/Kconfig | 154 --
arch/ppc/Makefile | 1
arch/ppc/amiga/Makefile | 8
arch/ppc/amiga/amiga_ksyms.c | 1
arch/ppc/amiga/amiints.c | 322 ----
arch/ppc/amiga/amisound.c | 1
arch/ppc/amiga/bootinfo.c | 78 -
arch/ppc/amiga/chipram.c | 1
arch/ppc/amiga/cia.c | 176 --
arch/ppc/amiga/config.c | 953 -------------
arch/ppc/amiga/ints.c | 158 --
arch/ppc/amiga/pcmcia.c | 1
arch/ppc/amiga/time.c | 57 -
arch/ppc/boot/simple/embed_config.c | 8
arch/ppc/boot/simple/misc-embedded.c | 4
arch/ppc/boot/simple/uartlite_tty.c | 8
arch/ppc/configs/apus_defconfig | 920 ------------
arch/ppc/kernel/head.S | 117 --
arch/ppc/kernel/head_44x.S | 10
arch/ppc/kernel/ppc_ksyms.c | 3
arch/ppc/kernel/setup.c | 1
arch/ppc/kernel/vmlinux.lds.S | 2
arch/ppc/mm/pgtable.c | 38 -
arch/ppc/platforms/Makefile | 4
arch/ppc/platforms/apus_pci.c | 207 ---
arch/ppc/platforms/apus_pci.h | 34
arch/ppc/platforms/apus_setup.c | 798 -----------
arch/ppc/platforms/ev64360.c | 3
arch/ppc/platforms/katana.c | 3
arch/ppc/syslib/ocp.c | 2
arch/ppc/syslib/virtex_devices.h | 8
drivers/block/viodasd.c | 77 -
drivers/cdrom/viocd.c | 128 --
drivers/char/hvc_beat.c | 4
drivers/char/ipmi/ipmi_si_intf.c | 6
drivers/char/viotape.c | 125 --
drivers/macintosh/adb-iop.c | 1
drivers/macintosh/adbhid.c | 21
drivers/macintosh/ans-lcd.c | 3
drivers/macintosh/ans-lcd.h | 0
drivers/macintosh/therm_adt746x.c | 5
drivers/macintosh/via-pmu.c | 2
drivers/macintosh/windfarm_smu_sat.c | 2
drivers/misc/hdpuftrs/hdpu_cpustate.c | 107 +
drivers/misc/hdpuftrs/hdpu_nexus.c | 88 +
drivers/mtd/maps/Kconfig | 2
drivers/mtd/maps/physmap_of.c | 349 +++--
drivers/net/ucc_geth.c | 2
drivers/net/ucc_geth.h | 1
drivers/net/ucc_geth_mii.c | 1
drivers/serial/Kconfig | 25
drivers/serial/cpm_uart/cpm_uart.h | 48 -
drivers/serial/cpm_uart/cpm_uart_core.c | 539 +++++--
drivers/serial/cpm_uart/cpm_uart_cpm1.c | 18
drivers/serial/cpm_uart/cpm_uart_cpm1.h | 16
drivers/serial/cpm_uart/cpm_uart_cpm2.c | 24
drivers/serial/cpm_uart/cpm_uart_cpm2.h | 16
drivers/serial/mpc52xx_uart.c | 2
drivers/serial/pmac_zilog.c | 22
drivers/serial/uartlite.c | 286 +++-
drivers/video/platinumfb.c | 48 -
drivers/video/xilinxfb.c | 353 +++--
fs/binfmt_elf.c | 14
include/asm-powerpc/8xx_immap.h | 564 ++++++++
include/asm-powerpc/atomic.h | 34
include/asm-powerpc/cell-regs.h | 48 +
include/asm-powerpc/clk_interface.h | 20
include/asm-powerpc/commproc.h | 755 ++++++++++
include/asm-powerpc/cpm.h | 14
include/asm-powerpc/cpm2.h | 1274 +++++++++++++++++
include/asm-powerpc/cputable.h | 40 -
include/asm-powerpc/dcr-mmio.h | 6
include/asm-powerpc/dcr-native.h | 6
include/asm-powerpc/dma-mapping.h | 24
include/asm-powerpc/elf.h | 9
include/asm-powerpc/exception.h | 311 ++++
include/asm-powerpc/fs_pd.h | 40 -
include/asm-powerpc/highmem.h | 135 ++
include/asm-powerpc/hydra.h | 102 +
include/asm-powerpc/ide.h | 2
include/asm-powerpc/immap_86xx.h | 219 ++-
include/asm-powerpc/immap_cpm2.h | 650 +++++++++
include/asm-powerpc/immap_qe.h | 35
include/asm-powerpc/io.h | 28
include/asm-powerpc/irq.h | 8
include/asm-powerpc/iseries/hv_call_event.h | 10
include/asm-powerpc/iseries/iommu.h | 4
include/asm-powerpc/iseries/lpar_map.h | 3
include/asm-powerpc/iseries/vio.h | 116 +-
include/asm-powerpc/kgdb.h | 57 +
include/asm-powerpc/lmb.h | 6
include/asm-powerpc/machdep.h | 10
include/asm-powerpc/mmu-40x.h | 65 +
include/asm-powerpc/mmu-hash64.h | 141 +-
include/asm-powerpc/mmu.h | 3
include/asm-powerpc/mpc52xx.h | 12
include/asm-powerpc/mpc52xx_psc.h | 191 +++
include/asm-powerpc/mpc85xx.h | 45 -
include/asm-powerpc/mpic.h | 13
include/asm-powerpc/nvram.h | 6
include/asm-powerpc/paca.h | 11
include/asm-powerpc/page_64.h | 17
include/asm-powerpc/pci-bridge.h | 3
include/asm-powerpc/percpu.h | 2
include/asm-powerpc/pgtable-4k.h | 2
include/asm-powerpc/pgtable-64k.h | 2
include/asm-powerpc/ppc_asm.h | 18
include/asm-powerpc/processor.h | 4
include/asm-powerpc/prom.h | 3
include/asm-powerpc/ps3.h | 9
include/asm-powerpc/qe.h | 246 ++-
include/asm-powerpc/qe_ic.h | 68 +
include/asm-powerpc/reg.h | 52 -
include/asm-powerpc/rwsem.h | 4
include/asm-powerpc/smp.h | 2
include/asm-powerpc/spu.h | 28
include/asm-powerpc/system.h | 3
include/asm-powerpc/time.h | 3
include/asm-powerpc/tlb.h | 2
include/asm-powerpc/tlbflush.h | 3
include/asm-powerpc/types.h | 2
include/asm-powerpc/ucc.h | 40 -
include/asm-powerpc/ucc_slow.h | 9
include/asm-powerpc/udbg.h | 1
include/asm-powerpc/vio.h | 6
include/asm-powerpc/xilinx_intc.h | 20
include/asm-ppc/amigahw.h | 16
include/asm-ppc/amigaints.h | 133 --
include/asm-ppc/amigappc.h | 85 -
include/asm-ppc/bootinfo.h | 5
include/asm-ppc/io.h | 51 -
include/asm-ppc/machdep.h | 4
include/asm-ppc/ocp.h | 2
include/asm-ppc/page.h | 44 -
include/asm-ppc/pgtable.h | 8
include/asm-ppc/prom.h | 1
include/linux/elf.h | 14
include/linux/of.h | 1
include/linux/pci_ids.h | 3
include/linux/xilinxfb.h | 30
kernel/sysctl.c | 2
lib/Kconfig.debug | 2
529 files changed, 31125 insertions(+), 13475 deletions(-)
delete mode 100644 arch/powerpc/boot/44x.c
create mode 100644 arch/powerpc/boot/4xx.c
create mode 100644 arch/powerpc/boot/4xx.h
create mode 100644 arch/powerpc/boot/bamboo.c
create mode 100644 arch/powerpc/boot/cpm-serial.c
create mode 100644 arch/powerpc/boot/cuboot-52xx.c
create mode 100644 arch/powerpc/boot/cuboot-8xx.c
create mode 100644 arch/powerpc/boot/cuboot-bamboo.c
create mode 100644 arch/powerpc/boot/cuboot-hpc2.c
create mode 100644 arch/powerpc/boot/cuboot-pq2.c
create mode 100644 arch/powerpc/boot/cuboot-sequoia.c
create mode 100644 arch/powerpc/boot/dts/bamboo.dts
create mode 100644 arch/powerpc/boot/dts/ep88xc.dts
create mode 100644 arch/powerpc/boot/dts/kilauea.dts
create mode 100644 arch/powerpc/boot/dts/mpc8572ds.dts
create mode 100644 arch/powerpc/boot/dts/mpc8610_hpcd.dts
create mode 100644 arch/powerpc/boot/dts/pq2fads.dts
create mode 100644 arch/powerpc/boot/dts/sequoia.dts
create mode 100644 arch/powerpc/boot/dts/walnut.dts
create mode 100644 arch/powerpc/boot/ep88xc.c
create mode 100644 arch/powerpc/boot/fixed-head.S
create mode 100644 arch/powerpc/boot/fsl-soc.c
create mode 100644 arch/powerpc/boot/fsl-soc.h
create mode 100644 arch/powerpc/boot/mpc52xx-psc.c
create mode 100644 arch/powerpc/boot/mpc8xx.c
create mode 100644 arch/powerpc/boot/mpc8xx.h
create mode 100644 arch/powerpc/boot/planetcore.c
create mode 100644 arch/powerpc/boot/planetcore.h
create mode 100644 arch/powerpc/boot/pq2.c
create mode 100644 arch/powerpc/boot/pq2.h
create mode 100644 arch/powerpc/boot/stdlib.c
create mode 100644 arch/powerpc/boot/stdlib.h
create mode 100644 arch/powerpc/boot/treeboot-bamboo.c
create mode 100644 arch/powerpc/boot/treeboot-walnut.c
create mode 100644 arch/powerpc/boot/uartlite.c
create mode 100644 arch/powerpc/configs/bamboo_defconfig
create mode 100644 arch/powerpc/configs/ep88xc_defconfig
create mode 100644 arch/powerpc/configs/kilauea_defconfig
create mode 100644 arch/powerpc/configs/mpc8572_ds_defconfig
create mode 100644 arch/powerpc/configs/mpc8610_hpcd_defconfig
create mode 100644 arch/powerpc/configs/pq2fads_defconfig
create mode 100644 arch/powerpc/configs/sequoia_defconfig
create mode 100644 arch/powerpc/configs/walnut_defconfig
create mode 100644 arch/powerpc/kernel/clock.c
create mode 100644 arch/powerpc/kernel/cpu_setup_44x.S
rename arch/powerpc/kernel/{head_4xx.S => head_40x.S} (98%)
delete mode 100644 arch/powerpc/kernel/lparmap.c
create mode 100644 arch/powerpc/kernel/softemu8xx.c
create mode 100644 arch/powerpc/lib/alloc.c
rename arch/powerpc/mm/{4xx_mmu.c => 40x_mmu.c} (96%)
rename arch/powerpc/platforms/{4xx/Kconfig => 40x/Kconfig} (58%)
create mode 100644 arch/powerpc/platforms/40x/Makefile
create mode 100644 arch/powerpc/platforms/40x/kilauea.c
create mode 100644 arch/powerpc/platforms/40x/virtex.c
create mode 100644 arch/powerpc/platforms/40x/walnut.c
create mode 100644 arch/powerpc/platforms/44x/bamboo.c
create mode 100644 arch/powerpc/platforms/44x/sequoia.c
delete mode 100644 arch/powerpc/platforms/4xx/Makefile
create mode 100644 arch/powerpc/platforms/52xx/lite5200_pm.c
create mode 100644 arch/powerpc/platforms/52xx/lite5200_sleep.S
create mode 100644 arch/powerpc/platforms/82xx/mpc8272_ads.c
delete mode 100644 arch/powerpc/platforms/82xx/mpc82xx.c
delete mode 100644 arch/powerpc/platforms/82xx/mpc82xx_ads.c
create mode 100644 arch/powerpc/platforms/82xx/pq2.c
create mode 100644 arch/powerpc/platforms/82xx/pq2.h
create mode 100644 arch/powerpc/platforms/82xx/pq2ads-pci-pic.c
create mode 100644 arch/powerpc/platforms/82xx/pq2fads.c
delete mode 100644 arch/powerpc/platforms/85xx/misc.c
delete mode 100644 arch/powerpc/platforms/85xx/mpc8540_ads.h
delete mode 100644 arch/powerpc/platforms/85xx/mpc85xx.h
delete mode 100644 arch/powerpc/platforms/85xx/mpc85xx_ads.h
delete mode 100644 arch/powerpc/platforms/85xx/mpc85xx_cds.h
rename arch/powerpc/platforms/85xx/{mpc8544_ds.c => mpc85xx_ds.c} (66%)
create mode 100644 arch/powerpc/platforms/86xx/mpc8610_hpcd.c
delete mode 100644 arch/powerpc/platforms/86xx/mpc8641_hpcn.h
create mode 100644 arch/powerpc/platforms/8xx/ep88xc.c
delete mode 100644 arch/powerpc/platforms/cell/spu_coredump.c
create mode 100644 arch/powerpc/platforms/celleb/io-workarounds.c
create mode 100644 arch/powerpc/platforms/chrp/gg2.h
create mode 100644 arch/powerpc/platforms/embedded6xx/mpc10x.h
delete mode 100644 arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.h
create mode 100644 arch/powerpc/platforms/iseries/exception.S
create mode 100644 arch/powerpc/platforms/iseries/exception.h
create mode 100644 arch/powerpc/platforms/iseries/vio.c
create mode 100644 arch/powerpc/sysdev/commproc.h
create mode 100644 arch/powerpc/sysdev/cpm_common.c
create mode 100644 arch/powerpc/sysdev/mv64x60_udbg.c
delete mode 100644 arch/powerpc/sysdev/timer.c
create mode 100644 arch/powerpc/sysdev/xilinx_intc.c
delete mode 100644 arch/ppc/amiga/Makefile
delete mode 100644 arch/ppc/amiga/amiga_ksyms.c
delete mode 100644 arch/ppc/amiga/amiints.c
delete mode 100644 arch/ppc/amiga/amisound.c
delete mode 100644 arch/ppc/amiga/bootinfo.c
delete mode 100644 arch/ppc/amiga/chipram.c
delete mode 100644 arch/ppc/amiga/cia.c
delete mode 100644 arch/ppc/amiga/config.c
delete mode 100644 arch/ppc/amiga/ints.c
delete mode 100644 arch/ppc/amiga/pcmcia.c
delete mode 100644 arch/ppc/amiga/time.c
delete mode 100644 arch/ppc/configs/apus_defconfig
delete mode 100644 arch/ppc/platforms/apus_pci.c
delete mode 100644 arch/ppc/platforms/apus_pci.h
delete mode 100644 arch/ppc/platforms/apus_setup.c
rename include/asm-ppc/ans-lcd.h => drivers/macintosh/ans-lcd.h (100%)
create mode 100644 include/asm-powerpc/8xx_immap.h
rename arch/powerpc/platforms/cell/cbe_regs.h => include/asm-powerpc/cell-regs.h (76%)
create mode 100644 include/asm-powerpc/clk_interface.h
create mode 100644 include/asm-powerpc/commproc.h
create mode 100644 include/asm-powerpc/cpm.h
create mode 100644 include/asm-powerpc/cpm2.h
create mode 100644 include/asm-powerpc/exception.h
create mode 100644 include/asm-powerpc/highmem.h
create mode 100644 include/asm-powerpc/hydra.h
create mode 100644 include/asm-powerpc/immap_cpm2.h
create mode 100644 include/asm-powerpc/kgdb.h
create mode 100644 include/asm-powerpc/mmu-40x.h
create mode 100644 include/asm-powerpc/mpc52xx_psc.h
delete mode 100644 include/asm-powerpc/mpc85xx.h
create mode 100644 include/asm-powerpc/xilinx_intc.h
delete mode 100644 include/asm-ppc/amigahw.h
delete mode 100644 include/asm-ppc/amigaints.h
delete mode 100644 include/asm-ppc/amigappc.h
create mode 100644 include/linux/xilinxfb.h
Adrian Bunk (2):
[POWERPC] Remove APUS support from arch/ppc
[POWERPC] Select proper defconfig for crosscompiles
Andre Detsch (1):
[POWERPC] spufs: Fix race condition on gang->aff_ref_spu
Anton Vorontsov (11):
[POWERPC] QE: extern par_io_config_pin and par_io_data_set funcs
[POWERPC] fsl_soc: add support for fsl_spi
[POWERPC] MPC832x_RDB: Update dts to use SPI1 in QE, register mmc_spi stub
[POWERPC] fsl_soc: fix uninitialized i2c_board_info structure
[POWERPC] MPC8568E-MDS: add support for ds1374 rtc
[POWERPC] mpc8568mds.dts: fix PCIe I/O address space location and size
[POWERPC] mpc85xx_mds: select QUICC_ENGINE
[POWERPC] QEIC: Implement pluggable handlers, fix MPIC cascading
[POWERPC] QE: pario - support for MPC85xx layout
[POWERPC] 85xx: mpc8568mds - update dts to be able to use UCCs
[POWERPC] 85xx: mpc85xx_mds - reset UCC ethernet properly
Aristeu Rozanski (1):
[POWERPC] adbhid: Enable KEY_FN key reporting
Arnd Bergmann (3):
[POWERPC] add Kconfig option for optimizing for cell
[POWERPC] Move embedded6xx into multiplatform
[POWERPC] Fix pci domain detection
Becky Bruce (1):
[POWERPC] Update lmb.h include protection to ASM_POWERPC
Benjamin Herrenschmidt (3):
[POWERPC] Fix platinumfb framebuffer
[POWERPC] cell: Move cbe_regs.h to include/asm-powerpc/cell-regs.h
[POWERPC] cell: Add Cell memory controller register defs and expose it
Cyrill Gorcunov (6):
[POWERPC] Sky Cpu and Nexus: code style improvement
[POWERPC] Sky Cpu and Nexus: include io.h
[POWERPC] Sky Cpu and Nexus: check for platform_get_resource retcode
[POWERPC] Sky Cpu and Nexus: check for create_proc_entry ret code
[POWERPC] Sky Cpu: use C99 style for struct init
[POWERPC] Sky Cpu and Nexus: use seq_file/single_open on proc interface
Dale Farnsworth (2):
[POWERPC] Add Marvell mv64x60 udbg putc/getc functions
[POWERPC] 85xx: Failure with odd memory sizes and CONFIG_HIGHMEM
David Gibson (8):
[POWERPC] Fixes to allow use of Ebony's flash chips through physmap_of
[POWERPC] Fix setting of irq trigger type in UIC driver
[POWERPC] Fix irq flow handler for 4xx UIC
[POWERPC] Improve robustness of the UIC cascade handler
[POWERPC] Move bootwrapper's strchr() and strncmp() from .h to string.S
[POWERPC] Document and implement an improved flash device binding for powerpc
[POWERPC] Cleanups for physmap_of.c (v2)
[POWERPC] Add memchr() to the bootwrapper
David Woodhouse (1):
[POWERPC] Optionally use new device number for pmac_zilog
Domen Puncer (2):
[POWERPC] MPC5200 low power mode
[POWERPC] clk.h interface for platforms
Ed Swarthout (1):
[POWERPC] Add memory regions to the kcore list for 32-bit machines
Emil Medve (2):
[POWERPC] Fix build errors when BLOCK=n
[POWERPC] QE: Added missing CEURNR register
Gabriel C (1):
[POWERPC] Typo fixes interrrupt -> interrupt
Geert Uytterhoeven (1):
[POWERPC] PS3: Add new LV1 error codes
Geoff Levand (7):
[POWERPC] PS3: Enhance storage probe debug output
[POWERPC] PS3: Cleanup of os-area.c
[POWERPC] PS3: Remove unused os-area params
[POWERPC] PS3: os-area workqueue processing
[POWERPC] PS3: Add os-area rtc_diff set/get routines
[POWERPC] PS3: Save os-area params to device tree
[POWERPC] PS3: Add os-area database routines
Grant Likely (43):
[POWERPC] Only ignore arch/ppc/include, not arch/ppc/boot/include
[POWERPC] mpc8349: Add linux,network-index to ethernet nodes in device tree
[POWERPC] mpc5200: Add cuimage support for mpc5200 boards
[POWERPC] Virtex: Add uartlite bootwrapper driver
[POWERPC] Virtex: Add Kconfig macros for Xilinx Virtex board support
[POWERPC] Virtex: add xilinx interrupt controller driver
[POWERPC] Virtex: Add generic Xilinx Virtex board support
[POWERPC] Add PowerPC Xilinx Virtex entry to maintainers
[POWERPC] Uartlite: Fix reg io to access documented register size
[POWERPC] Uartlite: change name of ports to ulite_ports
[POWERPC] Uartlite: Add macro for uartlite device name
[POWERPC] Uartlite: Separate the bus binding from the driver proper
[POWERPC] Uartlite: Comment block tidy
[POWERPC] Uartlite: Add of-platform-bus binding
[POWERPC] Uartlite: Let the console be initialized earlier
[POWERPC] Uartlite: Flush RX fifo in bootwrapper
[POWERPC] XilinxFB: Move xilinxfb_platform_data definition to a shared header file
[POWERPC] Setup default eth addr in embed_config for Xilinx Virtex platforms
[POWERPC] Uartlite: Add macros for register names
[POWERPC] Uartlite: Revert register io access changes
[POWERPC] Lite5200: Use comma delimiter format for lists in device tree
[POWERPC] Enable debug info on boot wrapper
[POWERPC] XilinxFB: add banner output to probe routine when DEBUG is defined
[POWERPC] XilinxFB: Replace calls to printk with dev_dbg, dev_err, etc.
[POWERPC] XilinxFB: rename failout labels to reflect failure
[POWERPC] XilinxFB: Split device setup from bus binding
[POWERPC] XilinxFB: cleanup platform_bus binding to use platform bus API.
[POWERPC] XilinxFB: add of_platform bus binding
[POWERPC] XilinxFB: Make missing pdata structure non-fatal
[POWERPC] XilinxFB: sparse fixes
[POWERPC] Virtex: Fix URL for Xilinx Virtex support in MAINTAINERS
[POWERPC] Don't build arch/powerpc/sysdev/dcr.c for ARCH=ppc kernels
[POWERPC] Uartlite: bootwrapper bug fix, getc loops forever
[POWERPC] MPC52xx: Drop show_cpuinfo platform hooks from Lite5200
[POWERPC] MPC52xx: Trim includes on mpc5200 platform support code
[POWERPC] MPC5200: Don't make firmware fixups into common code
[POWERPC] Add co-maintainer for PowerPC MPC52xx platform
[POWERPC] Only call ppc_md.setup_arch() if it is provided
[POWERPC] Remove empty ppc_md.setup_arch hooks
[POWERPC] Platforms shouldn't mess with ROOT_DEV
[POWERPC] XilinxFB: Use pdata to pass around framebuffer parameters
[POWERPC] XilinxFB: Add support for custom screen resolution
[POWERPC] XilinxFB: Allow fixed framebuffer base address
Guennadi Liakhovetski (2):
[POWERPC] Fix i2c device string format
[POWERPC] linkstation updates
Hollis Blanchard (1):
[POWERPC] 4xx: Implement udbg_getc() for 440
Hugh Dickins (1):
[POWERPC] ppc64: support CONFIG_DEBUG_PREEMPT
Ishizaki Kou (9):
[POWERPC] Fix celleb pci section warnings
[POWERPC] Fix celleb sio section warning
[POWERPC] Init markings for celleb
[POWERPC] Init markings for hvc_beat
[POWERPC] Celleb: Move pause, kexec_cpu_down to beat.c
[POWERPC] Celleb: Support for Power/Reset buttons
[POWERPC] Celleb: New HTAB Guest OS Interface on Beat
[POWERPC] Celleb: Serial I/O update
[POWERPC] Celleb: update for PCI
Jason Jin (1):
[POWERPC] Treat 8610 PCIe host bridge as transparent
Jeremy Kerr (8):
[POWERPC] PS3: Fix CONFIG_SMP=n, CONFIG_KEXEC=y build
[POWERPC] spufs: Remove asmlinkage from do_spu_create
[POWERPC] spufs: Remove spu_harvest
[POWERPC] cell: Unify spufs syscall path
[POWERPC] spufs: Remove asmlinkage from spufs_calls
[POWERPC] spufs: Fix restore_decr_wrapped() to match CBE Handbook
[POWERPC] cell: Remove DEBUG for SPU callbacks
[POWERPC] cell: Don't cast the result of of_get_property()
Jesper Juhl (2):
[POWERPC] Clean out a bunch of duplicate includes
[POWERPC] Don't cast kmalloc return value in ibmebus.c
Joachim Fenkes (1):
[POWERPC] ibmebus: More descriptive error return code in ibmebus_store_probe()
Jochen Friedrich (4):
[POWERPC] Fix copy'n'paste typo in commproc.c
[PPC] Fix cpm_dpram_addr returning phys mem instead of virt mem
[PPC] Compile fix for 8xx CPM Ehernet driver
[POWERPC] Fix cpm_uart driver
John Rigby (1):
[POWERPC] 52xx: Fix mpc52xx_uart_of_assign to use correct index
John Traill (1):
[POWERPC] 8xx: Set initial memory limit.
Jon Loeliger (5):
[POWERPC] 52xx: Remove unnecessary loops_per_jiffy initialization code
[POWERPC] 8xx: Remove unnecessary loops_per_jiffy initialization code
[POWERPC] embedded6xx: Remove unnecessary loops_per_jiffy initialization code
[POWERPC] 86xx: Remove unnecessary loops_per_jiffy initialization code.
[POWERPC] 85xx: Remove unnecessary loops_per_jiffy initialization code.
Josh Boyer (23):
[POWERPC] Rename 4xx paths to 40x
[POWERPC] 4xx Kconfig cleanup
[POWERPC] Rename 44x bootwrapper
[POWERPC] 4xx bootwrapper reworks
[POWERPC] 40x MMU
[POWERPC] 40x decrementer fixes
[POWERPC] Fix 40x build
[POWERPC] Bamboo DTS
[POWERPC] Bamboo board support
[POWERPC] Bamboo zImage wrapper
[POWERPC] Remove dtc build cruft from DTS files
[POWERPC] Fix bus probe on Bamboo board
[POWERPC] Walnut DTS
[POWERPC] Walnut defconfig
[POWERPC] Walnut board support
[POWERPC] Walnut zImage wrapper
[POWERPC] cuimage for Bamboo board
[POWERPC] Make partitions optional in physmap_of
[POWERPC] 4xx: Convert Walnut flash mappings to new binding
[POWERPC] 4xx: Convert Seqouia flash mappings to new binding
[POWERPC] Update PowerPC 4xx entry in MAINTAINERS
[POWERPC] 4xx: Fix Walnut wrapper compile errors
[POWERPC] Add treeImage to .gitignore
Kumar Gala (23):
[POWERPC] Remove old includes from arch/ppc
[POWERPC] Copy over headers from arch/ppc to arch/powerpc that we need
[POWERPC] Stop include asm-ppc when building ARCH=powerpc for ppc32
ucc_geth: kill unused include
[POWERPC] 85xx: Renamed mpc8544_ds.c to mpc85xx_ds.c
[POWERPC] 85xx: Clean up from 85xx_ds rename
[POWERPC] Handle alignment faults on SPE load/store instructions
[POWERPC] 85xx: Add basic Uniprocessor MPC8572 DS port
[POWERPC] DTS cleanup
[POWERPC] Move PCI nodes to be sibilings with SOC nodes
[POWERPC] 83xx: Removed PCI exclude of PHB
[POWERPC] Add cpu feature for SPE handling
[POWERPC] Fix modpost warnings from head*.S on ppc32
[POWERPC] Cleaned up whitespace in head_fsl_booke.S
[POWERPC] Fixup MPC8568 dts
[POWERPC] Update .gitignore for new vdso generated files
[POWERPC] FSL: Access PCIe LTSSM register with correct size
[POWERPC] Use for_each_ matching routinues for pci PHBs
[POWERPC] 85xx/86xx: refactor RSTCR reset code
[POWERPC] 85xx: Killed <asm/mpc85xx.h>
[POWERPC] 85xx: Enable FP emulation in MPC8560 ADS defconfig
[POWERPC] Use PAGE_OFFSET to tell if an address is user/kernel in SW TLB handlers
[POWERPC] Adjust TASK_SIZE on ppc32 systems to 3GB that are capable
Linas Vepstas (16):
[POWERPC] EEH: Tweak printk message
[POWERPC] EEH: Fix PCI bridge handling bug
[POWERPC] EEH: Dump PCI bridge status on event
[POWERPC] pseries: Avoid excess rtas_token calls
[POWERPC] pseries: Use rtas_token instead of hand-rolled code
[POWERPC] pseries: Simplify rtasd initialization
[POWERPC] Remove nvram forward declarations
[POWERPC] pseries: Fix jumbled no_logging flag
[POWERPC] pseries: Eliminate global error_log_cnt variable
[POWERPC] pseries: Remove dead EEH video code
[POWERPC] IOMMU virtual merge is no longer experimental
[POWERPC] prom_init whitespace cleanup, typo fix
[POWERPC] prom.c whitespace cleanup
[POWERPC] setup_64.c and prom.c comment cleanup
[POWERPC] pseries: device node status can be "ok" or "okay"
[POWERPC] Use alloc_maybe_bootmem() in pcibios_alloc_controller
Mariusz Kozlowski (1):
[POWERPC] drivers/macintosh/therm_adt746x.c: kmalloc + memset conversion to kzalloc
Mark A. Greer (1):
[POWERPC] MAINTAINERS shouldn't reference linuxppc-embedded
Mathieu Desnoyers (1):
[POWERPC] Include pagemap.h in asm/powerpc/tlb.h
Meelis Roos (1):
[POWERPC] Fix ppc kernels after build-id addition
Michael Buesch (1):
[POWERPC] via-pmu: Fix typo in printk
Michael Ellerman (28):
[POWERPC] Add an optional device_node pointer to the irq_host
[POWERPC] Invert null match behaviour for irq_hosts
[POWERPC] Provide a default irq_host match, which matches on an exact of_node
[POWERPC] Initialise hwirq for legacy irqs
[POWERPC] Export virq mapping via debugfs
[POWERPC] spufs: Extract the file descriptor search logic in SPU coredump code
[POWERPC] spufs: Remove ctx_info and ctx_info_list
[POWERPC] spufs: Call spu_acquire_saved() before calculating the SPU note sizes
[POWERPC] spufs: Use computed sizes/#defines rather than literals in SPU coredump code
[POWERPC] spufs: Write some SPU coredump values as ASCII
[POWERPC] spufs: Correctly calculate the size of the local-store to dump
[POWERPC] spufs: Don't return -ENOSYS as extra notes size if spufs is not loaded
[POWERPC] spufs: Get rid of spufs_coredump_num_notes, it's not needed if we NULL terminate
[POWERPC] spufs: Internal __spufs_get_foo() routines should take a spu_context *
[POWERPC] spufs: Add contents of npc file to SPU coredumps
[POWERPC] spufs: Combine spufs_coredump_calls with spufs_calls
[POWERPC] spufs: Cleanup ELF coredump extra notes logic
[POWERPC] spufs: Handle errors in SPU coredump code, and support coredump to a pipe
[POWERPC] spufs: Respect RLIMIT_CORE in spu coredump code
[POWERPC] spufs: Add DEFINE_SPUFS_ATTRIBUTE()
[POWERPC] Make sure to of_node_get() the result of pci_device_to_OF_node()
[POWERPC] Simplify error logic in u3msi_setup_msi_irqs()
[POWERPC] Simplify error logic in rtas_setup_msi_irqs()
[POWERPC] Simplify rtas_change_msi() error semantics
[POWERPC] Inline u3msi_compose_msi_msg()
[POWERPC] Store the base address in dcr_host_t
[POWERPC] Update mpic to use dcr_host_t.base
[POWERPC] Update axon_msi to use dcr_host_t.base
Michael Neuling (1):
[POWERPC] Remove barriers from the SLB shadow buffer update
Mike Frysinger (1):
[POWERPC] Use __attribute__ in asm-powerpc
Milton Miller (2):
[POWERPC] boot: Record header bytes in gunzip_start
[POWERPC] boot: Simplify gunzip_finish
Murali Iyer (1):
[POWERPC] Export DCR symbols for modules
Nathan Lynch (14):
[POWERPC] Remove gratuitous reads from maple PCI config space methods
[POWERPC] rtas_pci_ops: Use named structure member initializers
[POWERPC] celleb_fake_pci_ops: Use named structure member initializers
[POWERPC] celleb_epci_ops: Use named structure member initializers
[POWERPC] maple pci_ops: Use named structure member initializers
[POWERPC] pa_pxp_ops: Use named structure member initializers
[POWERPC] powermac pci_ops: Use named structure member initializers
[POWERPC] null_pci_ops: Use named structure member initializers
[POWERPC] efika rtas_pci_ops: Use named structure member initializers
[POWERPC] chrp pci_ops: Use named structure member initializers
[POWERPC] indirect_pci_ops: Use named structure member initializers
[POWERPC] tsi108_direct_pci_ops: Use named structure member initializers
[POWERPC] Remove gratuitous reads from pasemi pci config space methods
[POWERPC] Remove gratuitous reads from powermac pci config space methods
Olaf Hering (2):
[POWERPC] Advertise correct IDE mode on Pegasos2
[POWERPC] Fix pmac_zilog debug arg
Olof Johansson (15):
[POWERPC] Rework SMP timebase handoff for pasemi
[POWERPC] Export new __io{re,un}map_at() symbols
[POWERPC] pasemi: Add pasemi_pci_getcfgaddr()
[POWERPC] pasemi: Add workaround for erratum 5945
[POWERPC] pasemi: Export more SPRs to sysfs when CONFIG_DEBUG_KERNEL=y
[POWERPC] pasemi: Print more information at machine check
[POWERPC] pasemi: Move pasemi_idle_init() to late_initcall()
[POWERPC] Remove unused platform_machine_check()
[POWERPC] Move lowlevel runlatch calls under cpu feature control
[POWERPC] Remove warning in arch/powerpc/kernel/sysfs.c
[POWERPC] Add workaround for MPICs with broken register reads
[POWERPC] Support setting affinity for U3/U4 MSI sources
[POWERPC] Separate out legacy machine check exception parsers
[POWERPC] Don't enable cpu hotplug on pSeries machines with MPIC
[POWERPC] Implement logging of unhandled signals
Paul Mackerras (9):
[POWERPC] Handle alignment faults on new FP load/store instructions
[POWERPC] Disable power management for arch/ppc
[PPC] Use cpu setup routines from cpu_setup_44x.S for ARCH=ppc
[POWERPC] Use cache-inhibited large page bit from firmware
[POWERPC] Remove unused old code from powermac setup code
[POWERPC] Fix performance monitor on machines with logical PVR
[POWERPC] Prevent decrementer clockevents from firing early
[POWERPC] Make clockevents work on PPC601 processors
[POWERPC] Use 1TB segments
Peter Korsgaard (5):
[POWERPC] fsl_soc: Fix trivial printk typo.
[POWERPC] fsl_soc: rtc-ds1307 support
[POWERPC] spi: Use fsl_spi instead of mpc83xx_spi
[POWERPC] spi: mode should be "cpu-qe" instead of "qe"
[POWERPC] spi: Support non-QE processors
Robert P. J. Day (2):
[POWERPC] Prevent direct inclusion of <asm/rwsem.h>.
[POWERPC] Remove redundant reference to non-existent CONFIG_BOOTIMG
Roland McGrath (2):
[POWERPC] Add CHECK_FULL_REGS in several places in ptrace code
[POWERPC] powerpc vDSO: install unstripped copies on disk
Roy Zang (1):
[POWERPC] bootwrapper: adds cuboot for MPC7448HPC2 platform
Satyam Sharma (1):
[POWERPC] Avoid pointless WARN_ON(irqs_disabled()) from panic codepath
Scott Wood (55):
[POWERPC] Whitespace cleanup in arch/powerpc
[POWERPC] Add clrbits8 and setbits8
[POWERPC] Use strcasecmp() rather than strncasecmp() when determining device node compatibility
[POWERPC] bootwrapper: Update .gitignore
[POWERPC] bootwrapper: Set timebase_period_ns from dt_fixup_cpu_clocks
[POWERPC] bootwrapper: dt_xlate_range() bugfixes
[POWERPC] bootwrapper: Add dt_is_compatible()
[POWERPC] bootwrapper: Add 16-bit I/O, sync(), eieio(), and barrier()
[POWERPC] bootwrapper: Add TARGET_HAS_ETHn tests to ppcboot.h
[POWERPC] bootwrapper: serial_console_init() fixes
[POWERPC] bootwrapper: Declare udelay() in ops.h
[POWERPC] bootwrapper: Add CPM serial driver
[POWERPC] bootwrapper: Move linker symbols into ops.h
[POWERPC] bootwrapper: Add 8xx cuboot support
[POWERPC] bootwrapper: Add PowerQUICC II (82xx with CPM) cuboot support
[POWERPC] bootwrapper: flatdevtree fixes
[POWERPC] bootwrapper: Add strtoull()
[POWERPC] bootwrapper: Add get_path()
[POWERPC] bootwrapper: Only print MAC addresses when the node is actually present
[POWERPC] Check _PAGE_RW and _PAGE_PRESENT on kernel addresses
[POWERPC] fsl_soc.c cleanup
[PPC] Add clrbits8 and setbits8.
[POWERPC] bootwrapper: Factor out dt_set_mac_address()
[POWERPC] bootwrapper: Add PlanetCore firmware support
[POWERPC] Make instruction dumping work in real mode
[POWERPC] CPM: Change from fsl,brg-frequency to brg/clock-frequency
[POWERPC] Introduce new CPM device bindings.
[POWERPC] Add early debug console for CPM serial ports.
[POWERPC] bootwrapper: Support all-in-one PCI nodes in cuboot-pq2.
[POWERPC] bootwrapper: Add fsl_get_immr() and 8xx/pq2 clock functions.
[POWERPC] bootwrapper: Use fsl_get_immr() in cuboot-pq2.c.
[POWERPC] cpm_uart: Be an of_platform device when CONFIG_PPC_CPM_NEW_BINDING is set.
[POWERPC] cpm_uart: sparse fixes
[POWERPC] cpm_uart: Issue STOP_TX command before initializing console.
[POWERPC] 8xx: Fix CONFIG_PIN_TLB.
[POWERPC] 8xx: Infrastructure code cleanup.
[POWERPC] 8xx: Add pin and clock setting functions.
[POWERPC] 8xx: Work around CPU15 erratum.
[POWERPC] cpm2: Infrastructure code cleanup.
[POWERPC] cpm2: Add SCCs to cpm2_clk_setup(), and cpm2_smc_clk_setup().
[POWERPC] cpm2: Add cpm2_set_pin().
[POWERPC] mpc82xx: Define CPU_FTR_NEED_COHERENT
[POWERPC] mpc82xx: Remove a bunch of cruft that duplicates generic functionality.
[POWERPC] mpc82xx: Rename mpc82xx_ads to mpc8272_ads.
[POWERPC] mpc8272ads: Change references from 82xx_ADS to 8272_ADS.
[POWERPC] Document local bus nodes in the device tree, and update cuboot-pq2.
[POWERPC] 8xx: mpc885ads cleanup
[POWERPC] 8xx/wrapper: Embedded Planet EP88xC support
[POWERPC] mpc82xx: Update mpc8272ads, and factor out PCI and reset.
[POWERPC] mpc82xx: Add pq2fads board support.
[POWERPC] 8xx: Move softemu8xx.c from arch/ppc
[POWERPC] cpm: Describe multi-user ram in its own device node.
[POWERPC] mpc8272ads: Remove muram from the CPM reg property.
[POWERPC] 85xx: Convert mpc8560ads to the new CPM binding.
[POWERPC] 85xx: Add cpm nodes for 8541/8555 CDS
Sebastian Siewior (2):
[POWERPC] spufs: Make file-internal functions & variables static
[POWERPC] spufs: Make isolated loader properly aligned
Segher Boessenkool (2):
[POWERPC] Replace a few #defines with empty inline functions
[POWERPC] Implement atomic{, 64}_{read, write}() without volatile
Stefan Roese (4):
[POWERPC] 4xx: Add AMCC 405EX support to cputable.c
[POWERPC] 4xx: Add AMCC Kilauea eval board support to platforms/40x
[POWERPC] 4xx: Kilauea DTS
[POWERPC] 4xx: Kilauea defconfig file
Stephen Rothwell (37):
[POWERPC] Fix non HUGETLB_PAGE build warning
[POWERPC] Use of_get_property in ipmi code
[POWERPC] Remove get_property and device_is_compatible
[POWERPC] Tidy up CONFIG_PPC_MM_SLICES code
[POWERPC] Comment out a currently unused function
[POWERPC] Fix section mismatch in crash_dump.c
[POWERPC] Fix section mismatch in dart_iommu.c
[POWERPC] Fix section mismatches in udbg_adb.c
[POWERPC] Fix section mismatch in pasemi/iommu.c
[POWERPC] Remove some duplicate declarations from pmac.h
[POWERPC] iSeries: Clean up lparmap mess
[POWERPC] Move iSeries startup code out of head_64.S
[POWERPC] Move the exception macros into a header file
[POWERPC] Move the iSeries exception vectors
[POWERPC] Split out iSeries specific exception macros
[POWERPC] Exception numbers are not relevant to iSeries
[POWERPC] Fix section mismatch in PCI code
[POWERPC] Remove cmd_line from head*.S
[POWERPC] Size swapper_pg_dir correctly
[POWERPC] FWNMI is only used on pSeries
[POWERPC] Create and use CONFIG_WORD_SIZE
[POWERPC] Remove debug printk from vio_bus_init
[POWERPC] Simplify vio_bus_init a little for legacy iSeries
[POWERPC] Make vio_bus_type static
[POWERPC] Limit range of __init_ref_ok somewhat
[POWERPC] iSeries: Correct missing newline in printk
[POWERPC] Prepare to remove of_platform_driver name
[POWERPC] Remove some more section mismatch warnings
[POWERPC] Align the sys_call_table
[POWERPC] Clean up vio.h
[POWERPC] iSeries: Simplify viocd initialisation
[POWERPC] Remove iSeries_vio_dev
[POWERPC] Remove more iSeries-specific stuff from vio.c
[POWERPC] iSeries: Move detection of virtual cdroms
[POWERPC] iSeries: Move detection of virtual tapes
[POWERPC] iSeries: Move viodasd probing
[POWERPC] Move of_platform_driver initialisations: arch/powerpc
Timur Tabi (4):
[POWERPC] add clrsetbits macros
[POWERPC] 86xx: Fix definition of global-utilites structure
[POWERPC] qe: miscellaneous code improvements and fixes to the QE library
[POWERPC] 86xx: update immap_86xx.h for the 8610
Tony Breeds (6):
[POWERPC] Convert define_machine(mpc885_ads) to C99 initializer syntax
[POWERPC] Implement {read,update}_persistent_clock
[POWERPC] Implement generic time of day clocksource for powerpc
[POWERPC] Fix panic in RTAS code
[POWERPC] Implement clockevents driver for powerpc
[POWERPC] Enable tickless idle and high res timers for powerpc
Valentine Barshak (12):
[POWERPC] PowerPC 440EPx: Sequoia device tree
[POWERPC] PowerPC 440EPx: Sequoia defconfig
[POWERPC] PowerPC 440EPx: Sequoia board support
[POWERPC] PowerPC 440EPx: Sequoia bootwrapper
[POWERPC] Add 64-bit resources support to pci_iomap
[POWERPC] 4xx: Fix Bamboo MAL0 dts entry.
[POWERPC] 4xx: Fix Sequoia MAL0 and EMAC dts entries.
[POWERPC] 4xx: Introduce cpu_setup functionality to 44x platform
[POWERPC] 4xx: Move 440EP(x) FPU setup from head_44x to cpu_setup_4xx
[POWERPC] 4xx: 440EPx/GRx incorrect write to DDR SDRAM errata workaround
[POWERPC] PCI: Add 64-bit physical address support to setup_indirect_pci
[POWERPC] Add legacy serial support for OPB with flattened device tree
Wolfgang Denk (1):
[POWERPC] Disable vDSO support for ARCH=ppc where it's not implemented
Xianghua Xiao (2):
[POWERPC] Add initial MPC8610 HPCD Device Tree Source file.
[POWERPC] Add initial MPC8610 HPCD Platform files.
^ permalink raw reply
* Re: [PATCH] Device tree bindings for Xilinx devices
From: David Gibson @ 2007-10-12 3:14 UTC (permalink / raw)
To: Grant Likely; +Cc: linuxppc-dev
In-Reply-To: <fa686aa40710102227j474a4025p6f3aa7118adf03db@mail.gmail.com>
On Wed, Oct 10, 2007 at 11:27:14PM -0600, Grant Likely wrote:
> On 10/10/07, David Gibson <dwg@au1.ibm.com> wrote:
> > > My main concern is that I don't like the implicit numbering that
> > > occurs simply based on the order of devices in the device tree. If
> > > the probe algorithm ever changes to parse in reverse order or
> > > something reorders the tree, then the device numbers also change. :-(
> >
> > Way of the future, apparently, everything's supposed to use udev to
> > give things logical names. No, I'm not thrilled at the prospect
> > either.
>
> ...
>
> So in the OF aliases approach, would udev need to read the aliases
> node when assigning names to devices?
Well... maybe. Exactly how to sensibly propogate the information up
to userspace depends on the type of device and other factors. In most
cases I'd expect some kind of kernel intermediary between the device
tree and udev, but there might be instances where it would make sense
for udev to directly access /proc/device-tree/aliases via a helper
program.
In any case, if the kernel does provide some sort of name/number for
the device, you can use the aliases for that.
> > > I'd rather be explicit. In fact I've already been bitten by this
> > > where the mpc5200 has 6 PSC, each of which can be configured as a
> > > serial port. However, I've got access to 3 different boards; each of
> > > which has the logical port numbers 100% unrelated to the 'cell'
> > > number.
> >
> > In any case, this can't really belong in a *device* binding. Because
> > the numbering has to cross devices of the same basic type, but
> > different implementations. Where "basic type" is based on how device
> > names are allocated, and is thus inherently Linux specific.
>
> Okay, that makes sense.
>
> > > > Segher's suggestion of using OF-style aliases for this is a fairly
> > > > good one, actually. I just need to get to implementing it...
> > >
> > > /me needs to look up what that look like and how I would use it. My
> > > knowledge of OF is sadly lacking.
> >
> > Short version by example:
> > / {
> > /* ... */
> > aliases {
> > hd = "/pci@f0000000/sata@f4000000/....";
> > enet0 = "/soc/ethernet@c000";
> > enet1 = "/soc/ethernet@d000";
> > enet2 = "/pci@f0000000/isa/ethernet@i480"
> > ttya = "/soc/serial@e000";
> > ttyb = "/pci/isa/serail@3f8";
> > }
> > }
>
> Ah, my plan worked... I got you to teach me about OF aliases and I
> have to do any work myself. :-)
Well, be careful, and take that example with a grain of salt. I made
it up on the spot without checking a lot, so although it gives you the
general idea, I probably haven't followed conventions for the names of
the aliases and so forth.
> Hmm, yes that would provide the information nicely. As long as the
> data is in the tree, I'm pretty happy.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH 3/3] [POWERPC] Kilauea DTS
From: David Gibson @ 2007-10-12 3:15 UTC (permalink / raw)
To: Josh Boyer; +Cc: linuxppc-dev, Stefan Roese
In-Reply-To: <1192104819.5534.109.camel@localhost.localdomain>
On Thu, Oct 11, 2007 at 07:13:39AM -0500, Josh Boyer wrote:
> On Thu, 2007-10-11 at 14:02 +0200, Stefan Roese wrote:
> > On Thursday 11 October 2007, Josh Boyer wrote:
> > > On Thu, 2007-10-11 at 10:49 +0200, Stefan Roese wrote:
> > > > > > + PowerPC,405EX@0 {
> > > > > > + device_type = "cpu";
> > > > > > + reg = <0>;
> > > > > > + clock-frequency = <0>; /* Filled in by U-Boot */
> > > > >
> > > > > Filled in by U-Boot itself? Or by a cuboot wrapper? (which I can't
> > > > > find in the patches.)
> > > >
> > > > By U-Boot itself. I have a U-Boot patch in the queue to add device tree
> > > > support for 4xx. Therefor I don't plan adding a cuboot wrapper for
> > > > Kilauea.
> > >
> > > Very cool!
> >
> > You can take a look at the kilauea-405ex branch of my 4xx custodian repository
> > for a latest development snapshort:
> >
> > http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot/u-boot-ppc4xx.git;a=shortlog;h=kilauea-405ex
>
> Ok, so how does the DTS file from the kernel get to U-Boot? Since there
> is no defconfig provided and no wrapper bits, I'm assuming this port
> takes a raw uImage. Is that correct? If so, do you expect a separate
> DTB file to be built for this that is passed to U-Boot?
I believe current standard practice is to bulid dtb aware u-boot
images by pointing at dts files from the kernel tree. u-boot doesn't
have it's own repository of dts files.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH 4/4 v2] [POWERPC] Kilauea defconfig file
From: David Gibson @ 2007-10-12 3:23 UTC (permalink / raw)
To: Josh Boyer; +Cc: linuxppc-dev, Stefan Roese
In-Reply-To: <1192137219.3061.2.camel@localhost.localdomain>
On Thu, Oct 11, 2007 at 04:13:39PM -0500, Josh Boyer wrote:
> On Thu, 2007-10-11 at 15:12 -0500, Scott Wood wrote:
> > On Thu, Oct 11, 2007 at 03:31:12PM +0200, Stefan Roese wrote:
> > > Yes, good catch. Since I'm not using the bootwrapper, I should be able to get
> > > rid of WANT_DEVICE_TREE too. But it seems to be autoselected in
> > > arch/powerpc/platforms/Kconfig.cputype for 40x and most other "embedded"
> > > CPU's. Any idea why this is the case?
> >
> > Probably copying from 83xx, 85xx, etc, which set it on the entire CPU family
> > because there's a wrapper platform that covers the entire family. AFAICT,
> > there are only board wrappers for 4xx, so individual boards should be
> > selecting WANT_DEVICE_TREE.
>
> Probably. Seems somewhat redundant at this point to move it into the
> individual board options though.
>
> > In any case, you can just set DEVICE_TREE to an empty string if you only
> > want the regular uImage.
>
> Well, he wants the raw uImage, and a separate DTB to be spit out as far
> as I can tell. So we don't want an empty string here, but what's there
> currently doesn't do the latter part either.
I think it should be DEVICE_TREE="kilauea.dts". DEVICE_TREE will
actually be ignored for building the uImage in any case, but this way
it will be correct if we ever do add a cuboot or other dtb-requiring
bootwrapper for Kilauea.
This is, of course, why CONFIG_DEVICE_TREE makes no real sense and
never has: it's a per-image, not a per-configuration variable.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH] [POWERPC] Use PAGE_OFFSET to tell if an address is user/kernel in SW TLB handlers
From: David Gibson @ 2007-10-12 3:30 UTC (permalink / raw)
To: Kumar Gala; +Cc: linuxppc-dev
In-Reply-To: <Pine.LNX.4.64.0710111341140.27045@blarg.am.freescale.net>
On Thu, Oct 11, 2007 at 01:42:30PM -0500, Kumar Gala wrote:
> Move to using PAGE_OFFSET instead of TASK_SIZE or KERNELBASE value on
> 6xx/40x/44x/fsl-booke to determine if the faulting address is a kernel or
> user space address. This mimics how the macro is_kernel_addr()
> works.
Actually it's ambiguous whether TASK_SIZE or PAGE_OFFSET is correct in
most of these cases (KERNELBASE is certainly wrong, though).
TASK_SIZE is the top of the userspace mapped area, PAGE_OFFSET is the
bottom of the linear mapping. So, strictly speaking there are 3 paths
for the miss handlers: < TASK_SIZE => user mapping, >= PAGE_OFFSET =>
kernel mapping, between the two => immediate fault.
We get away with a two way comparison on 32-bit because, a) they have
the same value and b) none of the pagetables, user or kernel, should
have any entries in the in between region so we'll end up in
do_page_fault in the end, anyway.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* 转发: 回复: Re: mpc860T linux2.6.23 boot problem
From: keng_629 @ 2007-10-12 3:15 UTC (permalink / raw)
To: linuxppc-embedded
In-Reply-To: <200710120927294211910@126.com>
[-- Attachment #1: Type: text/plain, Size: 16212 bytes --]
keng_629
2007-10-12
发件人: keng_629
发送时间: 2007-10-12 09:27:29
收件人: Grant Likely
抄送:
主题: 回复: Re: mpc860T linux2.6.23 boot problem
thanks for Grant Likely and everyone who give me advice.
i think it is my CPM0 console can't setup ,do you have met this situation.
keng_629
2007-10-12
发件人: Grant Likely
发送时间: 2007-10-12 00:18:56
收件人: keng_629
抄送: linuxppc-embedded@ozlabs.org
主题: Re: mpc860T linux2.6.23 boot problem
On 10/11/07, keng_629 <keng_629@126.com > wrote:
>
>
> i have ported linux2.6.23 to mpc860t board use cpm smc1 as serial port.
> when i boot my kernel with ramdisk i find it stop after print"Loading
> Ramdisk to 07e20000, end 07fa4100 ... OK"
> i paste the logbuf as follow(include some test info),bootargs=/dev/ram rw.
> if i set the bootargs=console=ttyCPM0,9600 root=/dev/ram rw my kernel stop
> at the console setup period.
You do need to have the 'console=ttyCPM0..." line. The system is
booting, so you are most of the way there. The next step is to find
out *where* it is failing and try to get a backtrace. If you've got a
debugger you can try halting the processor to see where the PC is
stuck. That will tell you if you are stuck on a infinite loop
somewhere, or if the CPM driver is causing an oops. (Look in
System.map for executable code addresses)
Cheers,
g.
> NDSC860: md 17e13c
> 0017e13c: 3c353e4c 696e7578 20766572 73696f6e <5 >Linux version
> 0017e14c: 20322e36 2e32332d 72633220 28726f6f 2.6.23-rc2 (roo
> 0017e15c: 74406368 656e7375 6b656e67 29202867 t@chensukeng) (g
> 0017e16c: 63632076 65727369 6f6e2034 2e302e30 cc version 4.0.0
> 0017e17c: 20284445 4e582045 4c444b20 342e3120 (DENX ELDK 4.1
> 0017e18c: 342e302e 30292920 23332054 6875204f 4.0.0)) #3 Thu O
> 0017e19c: 63742031 31203137 3a32333a 32312043 ct 11 17:23:21 C
> 0017e1ac: 53542032 3030370a 3c373e45 6e746572 ST 2007. <7 >Enter
> 0017e1bc: 696e6720 6164645f 61637469 76655f72 ing add_active_r
> 0017e1cc: 616e6765 28302c20 302c2033 32373638 ange(0, 0, 32768
> 0017e1dc: 29203020 656e7472 69657320 6f662032 ) 0 entries of 2
> 0017e1ec: 35362075 7365640a 3c343e5a 6f6e6520 56 used. <4 >Zone
> 0017e1fc: 50464e20 72616e67 65733a0a 3c343e20 PFN ranges:. <4 >
> 0017e20c: 20444d41 20202020 20202020 20202020 DMA
> 0017e21c: 2030202d 3e202020 20333237 36380a3c 0 - > 32768. <
> 0017e22c: 343e2020 4e6f726d 616c2020 20202020 4 > Normal
> NDSC860:
> 0017e23c: 33323736 38202d3e 20202020 33323736 32768 - > 3276
> 0017e24c: 380a3c34 3e4d6f76 61626c65 207a6f6e 8. <4 >Movable zon
> 0017e25c: 65207374 61727420 50464e20 666f7220 e start PFN for
> 0017e26c: 65616368 206e6f64 650a3c34 3e656172 each node. <4 >ear
> 0017e27c: 6c795f6e 6f64655f 6d61705b 315d2061 ly_node_map[1] a
> 0017e28c: 63746976 65205046 4e207261 6e676573 ctive PFN ranges
> 0017e29c: 0a3c343e 20202020 303a2020 20202020 . <4 > 0:
> 0017e2ac: 20203020 2d3e2020 20203332 3736380a 0 - > 32768.
> 0017e2bc: 3c373e4f 6e206e6f 64652030 20746f74 <7 >On node 0 tot
> 0017e2cc: 616c7061 6765733a 20333237 36380a3c alpages: 32768. <
> 0017e2dc: 373e2020 444d4120 7a6f6e65 3a203235 7 > DMA zone: 25
> 0017e2ec: 36207061 67657320 75736564 20666f72 6 pages used for
> 0017e2fc: 206d656d 6d61700a 3c373e20 20444d41 memmap. <7 > DMA
> 0017e30c: 207a6f6e 653a2030 20706167 65732072 zone: 0 pages r
> 0017e31c: 65736572 7665640a 3c373e20 20444d41 eserved. <7 > DMA
> 0017e32c: 207a6f6e 653a2033 32353132 20706167 zone: 32512 pag
> NDSC860:
> 0017e33c: 65732c20 4c49464f 20626174 63683a37 es, LIFO batch:7
> 0017e34c: 0a3c373e 20204e6f 726d616c 207a6f6e . <7 > Normal zon
> 0017e35c: 653a2030 20706167 65732075 73656420 e: 0 pages used
> 0017e36c: 666f7220 6d656d6d 61700a3c 373e2020 for memmap. <7 >
> 0017e37c: 4d6f7661 626c6520 7a6f6e65 3a203020 Movable zone: 0
> 0017e38c: 70616765 73207573 65642066 6f72206d pages used for m
> 0017e39c: 656d6d61 700a3c34 3e427569 6c742031 emmap. <4 >Built 1
> 0017e3ac: 207a6f6e 656c6973 74732069 6e205a6f zonelists in Zo
> 0017e3bc: 6e65206f 72646572 2e202054 6f74616c ne order. Total
> 0017e3cc: 20706167 65733a20 33323531 320a3c35 pages: 32512. <5
> 0017e3dc: 3e4b6572 6e656c20 636f6d6d 616e6420 >Kernel command
> 0017e3ec: 6c696e65 3a20726f 6f743d2f 6465762f line: root=/dev/
> 0017e3fc: 72616d20 72770a3c 343e5049 44206861 ram rw. <4 >PID ha
> 0017e40c: 73682074 61626c65 20656e74 72696573 sh table entries
> 0017e41c: 3a203531 3220286f 72646572 3a20392c : 512 (order: 9,
> 0017e42c: 20323034 38206279 74657329 0a3c343e 2048 bytes). <4 >
> NDSC860:
> 0017e43c: 44656372 656d656e 74657220 46726571 Decrementer Freq
> 0017e44c: 75656e63 79203d20 31383735 30303030 uency = 18750000
> 0017e45c: 302f3630 20667020 69732033 31323530 0/60 fp is 31250
> 0017e46c: 30302062 696e666f 2d3e6269 5f696e74 00 binfo- >bi_int
> 0017e47c: 66726571 20697320 35300a3c 343e7462 freq is 50. <4 >tb
> 0017e48c: 5f746963 6b735f70 65725f6a 69666679 _ticks_per_jiffy
> 0017e49c: 203d2031 32353030 0a3c343e 436f6e73 = 12500. <4 >Cons
> 0017e4ac: 6f6c653a 20636f6c 6f757220 64756d6d ole: colour dumm
> 0017e4bc: 79206465 76696365 20383078 32350a3c y device 80x25. <
> 0017e4cc: 363e636f 6e736f6c 65205b74 7479305d 6 >console [tty0]
> 0017e4dc: 20656e61 626c6564 0a3c363e 44656e74 enabled. <6 >Dent
> 0017e4ec: 72792063 61636865 20686173 68207461 ry cache hash ta
> 0017e4fc: 626c6520 656e7472 6965733a 20313633 ble entries: 163
> 0017e50c: 38342028 6f726465 723a2034 2c203635 84 (order: 4, 65
> 0017e51c: 35333620 62797465 73290a3c 363e496e 536 bytes). <6 >In
> 0017e52c: 6f64652d 63616368 65206861 73682074 ode-cache hash t
> NDSC860:
> 0017e53c: 61626c65 20656e74 72696573 3a203831 able entries: 81
> 0017e54c: 39322028 6f726465 723a2033 2c203332 92 (order: 3, 32
> 0017e55c: 37363820 62797465 73290a3c 343e4d65 768 bytes). <4 >Me
> 0017e56c: 6d6f7279 3a203132 36353230 6b206176 mory: 126520k av
> 0017e57c: 61696c61 626c6520 28313130 386b206b ailable (1108k k
> 0017e58c: 65726e65 6c20636f 64652c20 3338346b ernel code, 384k
> 0017e59c: 20646174 612c2038 306b2069 6e69742c data, 80k init,
> 0017e5ac: 20306b20 68696768 6d656d29 0a3c363e 0k highmem). <6 >
> 0017e5bc: 534c5542 3a204765 6e736c61 62733d32 SLUB: Genslabs=2
> 0017e5cc: 322c2048 57616c69 676e3d31 362c204f 2, HWalign=16, O
> 0017e5dc: 72646572 3d302d31 2c204d69 6e4f626a rder=0-1, MinObj
> 0017e5ec: 65637473 3d342c20 43505573 3d312c20 ects=4, CPUs=1,
> 0017e5fc: 4e6f6465 733d310a 3c373e43 616c6962 Nodes=1. <7 >Calib
> 0017e60c: 72617469 6e672064 656c6179 206c6f6f rating delay loo
> 0017e61c: 702e2e2e 2034392e 31352042 6f676f4d p... 49.15 BogoM
> 0017e62c: 49505320 286c706a 3d393833 3034290a IPS (lpj=98304).
> NDSC860:
> 0017e63c: 3c343e4d 6f756e74 2d636163 68652068 <4 >Mount-cache h
> 0017e64c: 61736820 7461626c 6520656e 74726965 ash table entrie
> 0017e65c: 733a2035 31320a3c 343e6166 74657220 s: 512. <4 >after
> 0017e66c: 63686563 6b5f6275 67732829 3b0a3c34 check_bugs();. <4
> 0017e67c: 3e616674 65722061 6370695f 6561726c >after acpi_earl
> 0017e68c: 795f696e 69742829 3b0a3c34 3e696e74 y_init();. <4 >int
> 0017e69c: 6f207374 61746963 20696e74 205f5f69 o static int __i
> 0017e6ac: 6e697420 6b65726e 656c5f69 6e697428 nit kernel_init(
> 0017e6bc: 766f6964 202a2075 6e757365 64290a3c void * unused). <
> 0017e6cc: 343e6265 666f7265 20646f5f 62617369 4 >before do_basi
> 0017e6dc: 635f7365 74757028 293b0a3c 363e6368 c_setup();. <6 >ch
> 0017e6ec: 65636b69 6e672069 6620696d 61676520 ecking if image
> 0017e6fc: 69732069 6e697472 616d6673 2e2e2e69 is initramfs...i
> 0017e70c: 74206973 6e277420 286e6f20 6370696f t isn't (no cpio
> 0017e71c: 206d6167 6963293b 206c6f6f 6b73206c magic); looks l
> 0017e72c: 696b6520 616e2069 6e697472 640a3c34 ike an initrd. <4
> NDSC860:
> 0017e73c: 3e467265 65696e67 20696e69 74726420 >Freeing initrd
> 0017e74c: 6d656d6f 72793a20 31353532 6b206672 memory: 1552k fr
> 0017e75c: 6565640a 3c353e56 46533a20 4469736b eed. <5 >VFS: Disk
> 0017e76c: 2071756f 74617320 6471756f 745f362e quotas dquot_6.
> 0017e77c: 352e310a 3c343e44 71756f74 2d636163 5.1. <4 >Dquot-cac
> 0017e78c: 68652068 61736820 7461626c 6520656e he hash table en
> 0017e79c: 74726965 733a2031 30323420 286f7264 tries: 1024 (ord
> 0017e7ac: 65722030 2c203430 39362062 79746573 er 0, 4096 bytes
> 0017e7bc: 290a3c36 3e696f20 73636865 64756c65 ). <6 >io schedule
> 0017e7cc: 72206e6f 6f702072 65676973 74657265 r noop registere
> 0017e7dc: 640a3c36 3e696f20 73636865 64756c65 d. <6 >io schedule
> 0017e7ec: 7220616e 74696369 7061746f 72792072 r anticipatory r
> 0017e7fc: 65676973 74657265 640a3c36 3e696f20 egistered. <6 >io
> 0017e80c: 73636865 64756c65 72206465 61646c69 scheduler deadli
> 0017e81c: 6e652072 65676973 74657265 640a3c36 ne registered. <6
> 0017e82c: 3e696f20 73636865 64756c65 72206366 >io scheduler cf
> NDSC860:
> 0017e83c: 71207265 67697374 65726564 20286465 q registered (de
> 0017e84c: 6661756c 74290a3c 363e5365 7269616c fault). <6 >Serial
> 0017e85c: 3a204350 4d206472 69766572 20245265 : CPM driver $Re
> 0017e86c: 76697369 6f6e3a20 302e3032 20240a3c vision: 0.02 $. <
> 0017e87c: 363e6370 6d5f7561 72743a20 5741524e 6 >cpm_uart: WARN
> 0017e88c: 494e473a 206e6f20 55415254 20646576 ING: no UART dev
> 0017e89c: 69636573 20666f75 6e64206f 6e20706c ices found on pl
> 0017e8ac: 6174666f 726d2062 7573210a 3c363e63 atform bus!. <6 >c
> 0017e8bc: 706d5f75 6172743a 20746865 20647269 pm_uart: the dri
> 0017e8cc: 76657220 77696c6c 20677565 73732063 ver will guess c
> 0017e8dc: 6f6e6669 67757261 74696f6e 2c206275 onfiguration, bu
> 0017e8ec: 74207468 6973206d 6f646520 6973206e t this mode is n
> 0017e8fc: 6f206c6f 6e676572 20737570 706f7274 o longer support
> 0017e90c: 65642e0a 3c343e69 6e746f20 63706d5f ed.. <4 >into cpm_
> 0017e91c: 75617274 5f696e69 745f706f 72746465 uart_init_portde
> 0017e92c: 73632876 6f696429 3b0a3c34 3e616674 sc(void);. <4 >aft
> NDSC860:
> 0017e93c: 65722063 706d5f75 6172745f 706f7274 er cpm_uart_port
> 0017e94c: 735b5541 52545f53 4d43315d 2e736d63 s[UART_SMC1].smc
> 0017e95c: 70203d20 2663706d 702d3e63 705f736d p = &cpmp- >cp_sm
> 0017e96c: 635b305d 3b0a3c34 3e616674 65722063 c[0];. <4 >after c
> 0017e97c: 706d5f75 6172745f 706f7274 735b5541 pm_uart_ports[UA
> 0017e98c: 52545f53 4d43315d 2e736d63 75700a3c RT_SMC1].smcup. <
> 0017e99c: 343e6166 74657220 63706d5f 75617274 4 >after cpm_uart
> 0017e9ac: 5f706f72 745f6d61 705b6370 6d5f7561 _port_map[cpm_ua
> 0017e9bc: 72745f6e 722b2b5d 203d2055 4152545f rt_nr++] = UART_
> 0017e9cc: 534d4331 3b0a3c36 3e43504d 20756172 SMC1;. <6 >CPM uar
> 0017e9dc: 745b305d 3a616c6c 6f636275 660a3c36 t[0]:allocbuf. <6
> 0017e9ec: 3e616674 65722063 706d5f64 70616c6c >after cpm_dpall
> 0017e9fc: 6f632864 706d656d 737a2c20 38293b0a oc(dpmemsz, 8);.
> 0017ea0c: 3c363e61 66746572 2063706d 5f647072 <6 >after cpm_dpr
> 0017ea1c: 616d5f61 64647228 64705f6f 66667365 am_addr(dp_offse
> 0017ea2c: 74293b0a 3c363e61 66746572 204c315f t);. <6 >after L1_
> NDSC860:
> 0017ea3c: 43414348 455f414c 49474e0a 3c363e61 CACHE_ALIGN. <6 >a
> 0017ea4c: 66746572 20666972 73742069 66200a3c fter first if . <
> 0017ea5c: 363e7365 636f6e64 20666972 73742069 6 >second first i
> 0017ea6c: 66200a3c 363e4350 4d207561 72745b30 f . <6 >CPM uart[0
> 0017ea7c: 5d3a696e 69746264 0a3c363e 656e6420 ]:initbd. <6 >end
> 0017ea8c: 6f662074 68652063 706d5f75 6172745f of the cpm_uart_
> 0017ea9c: 696e6974 62640a3c 363e4350 4d207561 initbd. <6 >CPM ua
> 0017eaac: 72745b30 5d3a696e 69745f73 6d630a3c rt[0]:init_smc. <
> 0017eabc: 363e636f 6d706c65 74652076 6f696420 6 >complete void
> 0017eacc: 63706d5f 75617274 5f696e69 745f736d cpm_uart_init_sm
> 0017eadc: 630a3c36 3e747479 43504d30 20617420 c. <6 >ttyCPM0 at
> 0017eaec: 4d4d494f 20307866 66303030 61383020 MMIO 0xff000a80
> 0017eafc: 28697271 203d2032 30292069 73206120 (irq = 20) is a
> 0017eb0c: 43504d20 55415254 0a3c343e 52414d44 CPM UART. <4 >RAMD
> 0017eb1c: 49534b20 64726976 65722069 6e697469 ISK driver initi
> 0017eb2c: 616c697a 65643a20 31362052 414d2064 alized: 16 RAM d
> NDSC860:
> 0017eb3c: 69736b73 206f6620 31303234 304b2073 isks of 10240K s
> 0017eb4c: 697a6520 31303234 20626c6f 636b7369 ize 1024 blocksi
> 0017eb5c: 7a650a3c 363e6d69 63653a20 50532f32 ze. <6 >mice: PS/2
> 0017eb6c: 206d6f75 73652064 65766963 6520636f mouse device co
> 0017eb7c: 6d6d6f6e 20666f72 20616c6c 206d6963 mmon for all mic
> 0017eb8c: 650a3c34 3e616674 65722064 6f5f6261 e. <4 >after do_ba
> 0017eb9c: 7369635f 73657475 7028293b 0a3c353e sic_setup();. <5 >
> 0017ebac: 52414d44 49534b3a 20436f6d 70726573 RAMDISK: Compres
> 0017ebbc: 73656420 696d6167 6520666f 756e6420 sed image found
> 0017ebcc: 61742062 6c6f636b 20300a3c 343e5646 at block 0. <4 >VF
> 0017ebdc: 533a204d 6f756e74 65642072 6f6f7420 S: Mounted root
> 0017ebec: 28657874 32206669 6c657379 7374656d (ext2 filesystem
> 0017ebfc: 292e0a3c 343e4672 6565696e 6720756e ).. <4 >Freeing un
> 0017ec0c: 75736564 206b6572 6e656c20 6d656d6f used kernel memo
> 0017ec1c: 72793a20 38306b20 696e6974 0a000000 ry: 80k init....
> 0017ec2c: 00000000 00000000 00000000 00000000 ................
> NDSC860:
>
> ________________________________
>
> keng_629
> 2007-10-11
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
[-- Attachment #2: Type: text/html, Size: 33602 bytes --]
^ permalink raw reply
* [PATCH 1/2] [V3] Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE #define
From: Mark Nelson @ 2007-10-12 2:40 UTC (permalink / raw)
To: Kumar Gala; +Cc: PowerPC dev list, Paul Mackerras, Linux Kernel Mailing List
In-Reply-To: <470ECFF7.9040008@au1.ibm.com>
Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE in the coredump code which
allows for more flexibility in the note type for the state of 'extended
floating point' implementations in coredumps. New note types can now be
added with an appropriate #define.
This does #define ELF_CORE_XFPREG_TYPE to be NT_PRXFPREG in all
current users so there's are no change in behaviour.
This will let us use different note types on powerpc for the
Altivec/VMX state that some PowerPC cpus have (G4, PPC970, POWER6) and
for the SPE (signal processing extension) state that some embedded
PowerPC cpus from Freescale have.
Signed-off-by: Mark Nelson <markn@au1.ibm.com>
---
arch/ia64/ia32/elfcore32.h | 1 +
arch/x86_64/ia32/ia32_binfmt.c | 1 +
fs/binfmt_elf.c | 8 ++++----
fs/binfmt_elf_fdpic.c | 8 ++++----
include/asm-i386/elf.h | 1 +
5 files changed, 11 insertions(+), 8 deletions(-)
Index: linux/arch/ia64/ia32/elfcore32.h
===================================================================
--- linux.orig/arch/ia64/ia32/elfcore32.h
+++ linux/arch/ia64/ia32/elfcore32.h
@@ -117,6 +117,7 @@ elf_core_copy_task_fpregs(struct task_st
}
#define ELF_CORE_COPY_XFPREGS 1
+#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
static inline int
elf_core_copy_task_xfpregs(struct task_struct *tsk, elf_fpxregset_t *xfpu)
{
Index: linux/arch/x86_64/ia32/ia32_binfmt.c
===================================================================
--- linux.orig/arch/x86_64/ia32/ia32_binfmt.c
+++ linux/arch/x86_64/ia32/ia32_binfmt.c
@@ -188,6 +188,7 @@ elf_core_copy_task_fpregs(struct task_st
}
#define ELF_CORE_COPY_XFPREGS 1
+#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
static inline int
elf_core_copy_task_xfpregs(struct task_struct *t, elf_fpxregset_t *xfpu)
{
Index: linux/fs/binfmt_elf.c
===================================================================
--- linux.orig/fs/binfmt_elf.c
+++ linux/fs/binfmt_elf.c
@@ -1411,7 +1411,7 @@ struct elf_thread_status
elf_fpregset_t fpu; /* NT_PRFPREG */
struct task_struct *thread;
#ifdef ELF_CORE_COPY_XFPREGS
- elf_fpxregset_t xfpu; /* NT_PRXFPREG */
+ elf_fpxregset_t xfpu; /* ELF_CORE_XFPREG_TYPE */
#endif
struct memelfnote notes[3];
int num_notes;
@@ -1446,8 +1446,8 @@ static int elf_dump_thread_status(long s
#ifdef ELF_CORE_COPY_XFPREGS
if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
- fill_note(&t->notes[2], "LINUX", NT_PRXFPREG, sizeof(t->xfpu),
- &t->xfpu);
+ fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE,
+ sizeof(t->xfpu), &t->xfpu);
t->num_notes++;
sz += notesize(&t->notes[2]);
}
@@ -1624,7 +1624,7 @@ static int elf_core_dump(long signr, str
#ifdef ELF_CORE_COPY_XFPREGS
if (elf_core_copy_task_xfpregs(current, xfpu))
fill_note(notes + numnote++,
- "LINUX", NT_PRXFPREG, sizeof(*xfpu), xfpu);
+ "LINUX", ELF_CORE_XFPREG_TYPE, sizeof(*xfpu), xfpu);
#endif
fs = get_fs();
Index: linux/fs/binfmt_elf_fdpic.c
===================================================================
--- linux.orig/fs/binfmt_elf_fdpic.c
+++ linux/fs/binfmt_elf_fdpic.c
@@ -1417,7 +1417,7 @@ struct elf_thread_status
elf_fpregset_t fpu; /* NT_PRFPREG */
struct task_struct *thread;
#ifdef ELF_CORE_COPY_XFPREGS
- elf_fpxregset_t xfpu; /* NT_PRXFPREG */
+ elf_fpxregset_t xfpu; /* ELF_CORE_XFPREG_TYPE */
#endif
struct memelfnote notes[3];
int num_notes;
@@ -1453,8 +1453,8 @@ static int elf_dump_thread_status(long s
#ifdef ELF_CORE_COPY_XFPREGS
if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
- fill_note(&t->notes[2], "LINUX", NT_PRXFPREG, sizeof(t->xfpu),
- &t->xfpu);
+ fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE,
+ sizeof(t->xfpu), &t->xfpu);
t->num_notes++;
sz += notesize(&t->notes[2]);
}
@@ -1690,7 +1690,7 @@ static int elf_fdpic_core_dump(long sign
#ifdef ELF_CORE_COPY_XFPREGS
if (elf_core_copy_task_xfpregs(current, xfpu))
fill_note(notes + numnote++,
- "LINUX", NT_PRXFPREG, sizeof(*xfpu), xfpu);
+ "LINUX", ELF_CORE_XFPREG_TYPE, sizeof(*xfpu), xfpu);
#endif
fs = get_fs();
Index: linux/include/asm-i386/elf.h
===================================================================
--- linux.orig/include/asm-i386/elf.h
+++ linux/include/asm-i386/elf.h
@@ -129,6 +129,7 @@ extern int dump_task_extended_fpu (struc
#define ELF_CORE_COPY_TASK_REGS(tsk, elf_regs) dump_task_regs(tsk, elf_regs)
#define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs)
#define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs) dump_task_extended_fpu(tsk, elf_xfpregs)
+#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
#define VDSO_HIGH_BASE (__fix_to_virt(FIX_VDSO))
#define VDSO_CURRENT_BASE ((unsigned long)current->mm->context.vdso)
^ permalink raw reply
* Re: [PATCH 1/2] [V2] Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE #define
From: Mark Nelson @ 2007-10-12 2:35 UTC (permalink / raw)
To: Kumar Gala; +Cc: PowerPC dev list, Paul Mackerras, Linux Kernel Mailing List
In-Reply-To: <470ED8BA.4010503@au1.ibm.com>
Sorry for the patch noise but please disregard this patch - a line is longer than 80 characters and I'd hate to be brought up on that...
V3 will be the perfect version then :)
Thanks and apologies again!
Mark.
Mark Nelson wrote:
> Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE in the coredump code which
> allows for more flexibility in the note type for the state of 'extended
> floating point' implementations in coredumps. New note types can now be
> added with an appropriate #define.
>
> This does #define ELF_CORE_XFPREG_TYPE to be NT_PRXFPREG in all
> current users so there's are no change in behaviour.
>
> This will let us use different note types on powerpc for the
> Altivec/VMX state that some PowerPC cpus have (G4, PPC970, POWER6) and
> for the SPE (signal processing extension) state that some embedded
> PowerPC cpus from Freescale have.
>
> Signed-off-by: Mark Nelson <markn@au1.ibm.com>
> ---
> arch/ia64/ia32/elfcore32.h | 1 +
> arch/x86_64/ia32/ia32_binfmt.c | 1 +
> fs/binfmt_elf.c | 8 ++++----
> fs/binfmt_elf_fdpic.c | 6 +++---
> include/asm-i386/elf.h | 1 +
> 5 files changed, 10 insertions(+), 7 deletions(-)
>
> Index: linux/arch/ia64/ia32/elfcore32.h
> ===================================================================
> --- linux.orig/arch/ia64/ia32/elfcore32.h
> +++ linux/arch/ia64/ia32/elfcore32.h
> @@ -117,6 +117,7 @@ elf_core_copy_task_fpregs(struct task_st
> }
>
> #define ELF_CORE_COPY_XFPREGS 1
> +#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
> static inline int
> elf_core_copy_task_xfpregs(struct task_struct *tsk, elf_fpxregset_t *xfpu)
> {
> Index: linux/arch/x86_64/ia32/ia32_binfmt.c
> ===================================================================
> --- linux.orig/arch/x86_64/ia32/ia32_binfmt.c
> +++ linux/arch/x86_64/ia32/ia32_binfmt.c
> @@ -188,6 +188,7 @@ elf_core_copy_task_fpregs(struct task_st
> }
>
> #define ELF_CORE_COPY_XFPREGS 1
> +#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
> static inline int
> elf_core_copy_task_xfpregs(struct task_struct *t, elf_fpxregset_t *xfpu)
> {
> Index: linux/fs/binfmt_elf.c
> ===================================================================
> --- linux.orig/fs/binfmt_elf.c
> +++ linux/fs/binfmt_elf.c
> @@ -1411,7 +1411,7 @@ struct elf_thread_status
> elf_fpregset_t fpu; /* NT_PRFPREG */
> struct task_struct *thread;
> #ifdef ELF_CORE_COPY_XFPREGS
> - elf_fpxregset_t xfpu; /* NT_PRXFPREG */
> + elf_fpxregset_t xfpu; /* ELF_CORE_XFPREG_TYPE */
> #endif
> struct memelfnote notes[3];
> int num_notes;
> @@ -1446,8 +1446,8 @@ static int elf_dump_thread_status(long s
>
> #ifdef ELF_CORE_COPY_XFPREGS
> if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
> - fill_note(&t->notes[2], "LINUX", NT_PRXFPREG, sizeof(t->xfpu),
> - &t->xfpu);
> + fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE,
> + sizeof(t->xfpu), &t->xfpu);
> t->num_notes++;
> sz += notesize(&t->notes[2]);
> }
> @@ -1624,7 +1624,7 @@ static int elf_core_dump(long signr, str
> #ifdef ELF_CORE_COPY_XFPREGS
> if (elf_core_copy_task_xfpregs(current, xfpu))
> fill_note(notes + numnote++,
> - "LINUX", NT_PRXFPREG, sizeof(*xfpu), xfpu);
> + "LINUX", ELF_CORE_XFPREG_TYPE, sizeof(*xfpu), xfpu);
> #endif
>
> fs = get_fs();
> Index: linux/fs/binfmt_elf_fdpic.c
> ===================================================================
> --- linux.orig/fs/binfmt_elf_fdpic.c
> +++ linux/fs/binfmt_elf_fdpic.c
> @@ -1417,7 +1417,7 @@ struct elf_thread_status
> elf_fpregset_t fpu; /* NT_PRFPREG */
> struct task_struct *thread;
> #ifdef ELF_CORE_COPY_XFPREGS
> - elf_fpxregset_t xfpu; /* NT_PRXFPREG */
> + elf_fpxregset_t xfpu; /* ELF_CORE_XFPREG_TYPE */
> #endif
> struct memelfnote notes[3];
> int num_notes;
> @@ -1453,7 +1453,7 @@ static int elf_dump_thread_status(long s
>
> #ifdef ELF_CORE_COPY_XFPREGS
> if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
> - fill_note(&t->notes[2], "LINUX", NT_PRXFPREG, sizeof(t->xfpu),
> + fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE, sizeof(t->xfpu),
the line above is the offender...
> &t->xfpu);
> t->num_notes++;
> sz += notesize(&t->notes[2]);
> @@ -1690,7 +1690,7 @@ static int elf_fdpic_core_dump(long sign
> #ifdef ELF_CORE_COPY_XFPREGS
> if (elf_core_copy_task_xfpregs(current, xfpu))
> fill_note(notes + numnote++,
> - "LINUX", NT_PRXFPREG, sizeof(*xfpu), xfpu);
> + "LINUX", ELF_CORE_XFPREG_TYPE, sizeof(*xfpu), xfpu);
> #endif
>
> fs = get_fs();
> Index: linux/include/asm-i386/elf.h
> ===================================================================
> --- linux.orig/include/asm-i386/elf.h
> +++ linux/include/asm-i386/elf.h
> @@ -129,6 +129,7 @@ extern int dump_task_extended_fpu (struc
> #define ELF_CORE_COPY_TASK_REGS(tsk, elf_regs) dump_task_regs(tsk, elf_regs)
> #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs)
> #define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs) dump_task_extended_fpu(tsk, elf_xfpregs)
> +#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
>
> #define VDSO_HIGH_BASE (__fix_to_virt(FIX_VDSO))
> #define VDSO_CURRENT_BASE ((unsigned long)current->mm->context.vdso)
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
^ permalink raw reply
* Re: [PATCH] PowerPC: Fix find_legacy_serial_ports on OPB.
From: David Gibson @ 2007-10-12 2:31 UTC (permalink / raw)
To: Josh Boyer; +Cc: linuxppc-dev, Arnd Bergmann
In-Reply-To: <1192127513.5534.127.camel@localhost.localdomain>
On Thu, Oct 11, 2007 at 01:31:53PM -0500, Josh Boyer wrote:
> On Thu, 2007-10-11 at 21:26 +0400, Valentine Barshak wrote:
> > Josh Boyer wrote:
> > > On Thu, 2007-10-11 at 17:50 +0200, Arnd Bergmann wrote:
> > >> On Thursday 11 October 2007, Valentine Barshak wrote:
> > >>> Currently find_legacy_serial_ports() can find no serial ports on the OPB.
> > >>> Thus no legacy boot console can be initialized. Just the early udbg console
> > >>> works, which is initialized with udbg_init_44x_as1() on the UART's physical
> > >>> address specified in kernel config. This happens because we look for ns16750
> > >>> and higher serial devices only and expect opb node to have a device type
> > >>> property. This patch makes it look for ns16550 compatible devices and use
> > >>> of_device_is_compatible() for opb instead of checking device type.
> > >>> Lack of legacy serial ports found causes problems for KGDB over serial.
> > >>>
> > >>> Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
> > >> The patch would make sense if we were only dealing with flattened device
> > >> tree systems at this point. Unfortunately, IBM is shipping hardware that
> > >> encodes the serial port in exactly the way that find_legacy_serial_ports
> > >> is looking for (parent->type == "opb", compatible = "ns16750" "ns16550"
> > >> "ns16450" i8250").
> > >>
> > >> Changing the search for ns16750 to ns16550 should be fine, but unnecessary
> > >> because AFAIK, all OPB serial imlpementations are actually ns16750 and
> > >> should have that in the device tree as well.
> > >>
> > >> For the device type of the bus, please check for both compatible and
> > >> type, so that it still works on machines that are missing the compatible
> > >> property.
> > >
> > > Wait, no. We already had this discussion months ago when David was
> > > working on the original Ebony port. It was declared that legacy_serial
> > > is not how serial should be done on 4xx and the serial_of driver was
> > > supposed to be used instead.
> > >
> > > Have we changed our stance on that? If not, then perhaps KGDB should be
> > > fixed to work with serial_of.
> >
> > Actually I don't see any reason not to use legacy_serial stuff for early
> > console. We could split the kernel configured very early debug output,
> > which uses PPC_EARLY_DEBUG_44x_PHYSLOW/PHYSHIGH (since it's really
> > dangerous) and early console things by using legacy serial. We could use
> > early boot console without PPC_EARLY_DEBUG_44x.
>
> That was exactly my thinking when this first came up. I'd like to hear
> David's opinion on it.
Yeah, I think I misinterpreted BenH way back when. This looks ok, and
means serial will be initialized earlier than of_serial, which would
be nice.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: powerpc commits for 2.6.24
From: David Gibson @ 2007-10-12 2:36 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev
In-Reply-To: <18190.5965.836544.396721@cargo.ozlabs.ibm.com>
One more for you. This is preparation for the libfdt merge.
Add memchr() to the bootwrapper
This patch adds a memchr() implementation to the bootwrapper. libfdt
will need this.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Index: working-2.6/arch/powerpc/boot/string.S
===================================================================
--- working-2.6.orig/arch/powerpc/boot/string.S 2007-09-27 18:36:21.000000000 +1000
+++ working-2.6/arch/powerpc/boot/string.S 2007-09-27 18:40:24.000000000 +1000
@@ -219,6 +219,19 @@ backwards_memcpy:
mtctr r7
b 1b
+ .globl memchr
+memchr:
+ cmpwi 0,r5,0
+ blelr
+ mtctr r5
+ addi r3,r3,-1
+1: lbzu r0,1(r3)
+ cmpw r0,r4
+ beqlr
+ bdnz 1b
+ li r3,0
+ blr
+
.globl memcmp
memcmp:
cmpwi 0,r5,0
Index: working-2.6/arch/powerpc/boot/string.h
===================================================================
--- working-2.6.orig/arch/powerpc/boot/string.h 2007-09-27 18:40:27.000000000 +1000
+++ working-2.6/arch/powerpc/boot/string.h 2007-09-27 18:40:58.000000000 +1000
@@ -14,6 +14,7 @@ extern size_t strnlen(const char *s, siz
extern void *memset(void *s, int c, size_t n);
extern void *memmove(void *dest, const void *src, unsigned long n);
extern void *memcpy(void *dest, const void *src, unsigned long n);
+extern void *memchr(const void *s, int c, size_t n);
extern int memcmp(const void *s1, const void *s2, size_t n);
#endif /* _PPC_BOOT_STRING_H_ */
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
^ permalink raw reply
* Re: [PATCH 2/2] powerpc: Switch to generic WARN_ON()/BUG_ON()
From: Olof Johansson @ 2007-10-12 2:41 UTC (permalink / raw)
To: Kyle McMartin
Cc: grundler, linux-kernel, kyle, linuxppc-dev, lethal,
Paul Mackerras, akpm
In-Reply-To: <20071012020419.GB19268@fattire.cabal.ca>
On Thu, Oct 11, 2007 at 10:04:19PM -0400, Kyle McMartin wrote:
> On Fri, Oct 12, 2007 at 11:23:39AM +1000, Paul Mackerras wrote:
> > Olof Johansson writes:
> >
> > > Not using the ppc-specific WARN_ON/BUG_ON constructs actually saves about
> > > 4K text on a ppc64_defconfig. The main reason seems to be that prepping
> > > the arguments to the conditional trap instructions is more work than
> > > just doing a compare and branch.
> >
> > It might be more instructions but it takes fewer cycles, I would
> > expect. Do you have the actual instruction sequences to compare?
> >
>
> I really hope WARN_ON/BUG_ON aren't hotpaths on powerpc. ;-)
Not the taken branch of them, no. :) But making it past them as fast
as possible when they're not tripping is always good.
-Olof
^ permalink raw reply
* Re: [PATCH 2/2] powerpc: Switch to generic WARN_ON()/BUG_ON()
From: Olof Johansson @ 2007-10-12 2:40 UTC (permalink / raw)
To: Paul Mackerras; +Cc: grundler, linux-kernel, kyle, linuxppc-dev, lethal, akpm
In-Reply-To: <18190.52379.97647.468384@cargo.ozlabs.ibm.com>
On Fri, Oct 12, 2007 at 11:23:39AM +1000, Paul Mackerras wrote:
> Olof Johansson writes:
>
> > Not using the ppc-specific WARN_ON/BUG_ON constructs actually saves about
> > 4K text on a ppc64_defconfig. The main reason seems to be that prepping
> > the arguments to the conditional trap instructions is more work than
> > just doing a compare and branch.
>
> It might be more instructions but it takes fewer cycles, I would
> expect. Do you have the actual instruction sequences to compare?
Sure. Just looking at a couple of cases:
On range comparisons such as (a < CONST):
* without this patch, you end up with a comparison, then a cr-to-cr op +
mfcr + mask operation + tdnei.
* with the patch, you get a comparison and a conditional branch with
twi out of line.
On multiple comparisons like WARN_ON( a || b), it seems that there's an
added li to make the tdnei always hit for the first case. There it uses
a regular conditional branch, so no real difference in generated code
besides that.
Code examples. This was with a ppc64_defconfig, so CONFIG_POWER4_ONLY
wasn't enabled. It uses mfocrf when it is, which is alot cheaper. Still,
the rest of the code sequence is the same:
void irq_free_virt(unsigned int virq, unsigned int count)
{
unsigned long flags;
unsigned int i;
WARN_ON (virq < NUM_ISA_INTERRUPTS);
WARN_ON (count == 0 || (virq + count) > irq_virq_count);
spin_lock_irqsave(&irq_big_lock, flags);
Without the patch:
c00000000000b33c <.irq_free_virt>:
c00000000000b33c: 7c 08 02 a6 mflr r0
c00000000000b340: 2b 83 00 0f cmplwi cr7,r3,15
c00000000000b344: fb c1 ff f0 std r30,-16(r1)
c00000000000b348: fb e1 ff f8 std r31,-8(r1)
c00000000000b34c: 7c 9e 23 78 mr r30,r4
c00000000000b350: 7c 7f 1b 78 mr r31,r3
c00000000000b354: 4f dd e8 42 crnot 4*cr7+eq,4*cr7+gt
c00000000000b358: f8 01 00 10 std r0,16(r1)
c00000000000b35c: f8 21 ff 81 stdu r1,-128(r1)
c00000000000b360: 7c 00 00 26 mfcr r0
c00000000000b364: 54 00 ff fe rlwinm r0,r0,31,31,31
c00000000000b368: 0b 00 00 00 tdnei r0,0
c00000000000b36c: 2f a4 00 00 cmpdi cr7,r4,0
c00000000000b370: 38 00 00 01 li r0,1
c00000000000b374: 41 9e 00 1c beq cr7,c00000000000b390 <.irq_free_virt+0x54>
c00000000000b378: e9 22 80 d8 ld r9,-32552(r2)
c00000000000b37c: 7d 63 22 14 add r11,r3,r4
c00000000000b380: 80 09 00 00 lwz r0,0(r9)
c00000000000b384: 7f 8b 00 40 cmplw cr7,r11,r0
c00000000000b388: 7c 00 00 26 mfcr r0
c00000000000b38c: 54 00 f7 fe rlwinm r0,r0,30,31,31
c00000000000b390: 0b 00 00 00 tdnei r0,0
c00000000000b394: e8 62 80 f8 ld r3,-32520(r2)
c00000000000b398: 48 54 4c b1 bl c000000000550048 <._spin_lock_irqsave>
c00000000000b39c: 60 00 00 00 nop
With the patch:
c00000000000b0b0 <.irq_free_virt>:
c00000000000b0b0: 7c 08 02 a6 mflr r0
c00000000000b0b4: 2b 83 00 0f cmplwi cr7,r3,15
c00000000000b0b8: fb c1 ff f0 std r30,-16(r1)
c00000000000b0bc: fb e1 ff f8 std r31,-8(r1)
c00000000000b0c0: 7c 9e 23 78 mr r30,r4
c00000000000b0c4: 7c 7f 1b 78 mr r31,r3
c00000000000b0c8: f8 01 00 10 std r0,16(r1)
c00000000000b0cc: f8 21 ff 81 stdu r1,-128(r1)
c00000000000b0d0: 41 bd 00 08 bgt cr7,c00000000000b0d8 <.irq_free_virt+0x28>
c00000000000b0d4: 0f e0 00 00 twi 31,r0,0
c00000000000b0d8: 2f be 00 00 cmpdi cr7,r30,0
c00000000000b0dc: 41 9e 00 18 beq cr7,c00000000000b0f4 <.irq_free_virt+0x44>
c00000000000b0e0: e9 22 80 d8 ld r9,-32552(r2)
c00000000000b0e4: 7d 7f f2 14 add r11,r31,r30
c00000000000b0e8: 80 09 00 00 lwz r0,0(r9)
c00000000000b0ec: 7f 8b 00 40 cmplw cr7,r11,r0
c00000000000b0f0: 40 bd 00 08 ble cr7,c00000000000b0f8 <.irq_free_virt+0x48>
c00000000000b0f4: 0f e0 00 00 twi 31,r0,0
c00000000000b0f8: e8 62 80 f8 ld r3,-32520(r2)
c00000000000b0fc: 48 54 3f 75 bl c00000000054f070 <._spin_lock_irqsave>
c00000000000b100: 60 00 00 00 nop
^ permalink raw reply
* Re: [PATCH 2/2] powerpc: Switch to generic WARN_ON()/BUG_ON()
From: Kyle McMartin @ 2007-10-12 2:04 UTC (permalink / raw)
To: Paul Mackerras
Cc: grundler, linux-kernel, kyle, linuxppc-dev, lethal,
Olof Johansson, akpm
In-Reply-To: <18190.52379.97647.468384@cargo.ozlabs.ibm.com>
On Fri, Oct 12, 2007 at 11:23:39AM +1000, Paul Mackerras wrote:
> Olof Johansson writes:
>
> > Not using the ppc-specific WARN_ON/BUG_ON constructs actually saves about
> > 4K text on a ppc64_defconfig. The main reason seems to be that prepping
> > the arguments to the conditional trap instructions is more work than
> > just doing a compare and branch.
>
> It might be more instructions but it takes fewer cycles, I would
> expect. Do you have the actual instruction sequences to compare?
>
I really hope WARN_ON/BUG_ON aren't hotpaths on powerpc. ;-)
Cheers,
Kyle
^ permalink raw reply
* [PATCH 1/2] [V2] Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE #define
From: Mark Nelson @ 2007-10-12 2:15 UTC (permalink / raw)
To: Kumar Gala; +Cc: PowerPC dev list, Paul Mackerras, Linux Kernel Mailing List
In-Reply-To: <470ECFF7.9040008@au1.ibm.com>
Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE in the coredump code which
allows for more flexibility in the note type for the state of 'extended
floating point' implementations in coredumps. New note types can now be
added with an appropriate #define.
This does #define ELF_CORE_XFPREG_TYPE to be NT_PRXFPREG in all
current users so there's are no change in behaviour.
This will let us use different note types on powerpc for the
Altivec/VMX state that some PowerPC cpus have (G4, PPC970, POWER6) and
for the SPE (signal processing extension) state that some embedded
PowerPC cpus from Freescale have.
Signed-off-by: Mark Nelson <markn@au1.ibm.com>
---
arch/ia64/ia32/elfcore32.h | 1 +
arch/x86_64/ia32/ia32_binfmt.c | 1 +
fs/binfmt_elf.c | 8 ++++----
fs/binfmt_elf_fdpic.c | 6 +++---
include/asm-i386/elf.h | 1 +
5 files changed, 10 insertions(+), 7 deletions(-)
Index: linux/arch/ia64/ia32/elfcore32.h
===================================================================
--- linux.orig/arch/ia64/ia32/elfcore32.h
+++ linux/arch/ia64/ia32/elfcore32.h
@@ -117,6 +117,7 @@ elf_core_copy_task_fpregs(struct task_st
}
#define ELF_CORE_COPY_XFPREGS 1
+#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
static inline int
elf_core_copy_task_xfpregs(struct task_struct *tsk, elf_fpxregset_t *xfpu)
{
Index: linux/arch/x86_64/ia32/ia32_binfmt.c
===================================================================
--- linux.orig/arch/x86_64/ia32/ia32_binfmt.c
+++ linux/arch/x86_64/ia32/ia32_binfmt.c
@@ -188,6 +188,7 @@ elf_core_copy_task_fpregs(struct task_st
}
#define ELF_CORE_COPY_XFPREGS 1
+#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
static inline int
elf_core_copy_task_xfpregs(struct task_struct *t, elf_fpxregset_t *xfpu)
{
Index: linux/fs/binfmt_elf.c
===================================================================
--- linux.orig/fs/binfmt_elf.c
+++ linux/fs/binfmt_elf.c
@@ -1411,7 +1411,7 @@ struct elf_thread_status
elf_fpregset_t fpu; /* NT_PRFPREG */
struct task_struct *thread;
#ifdef ELF_CORE_COPY_XFPREGS
- elf_fpxregset_t xfpu; /* NT_PRXFPREG */
+ elf_fpxregset_t xfpu; /* ELF_CORE_XFPREG_TYPE */
#endif
struct memelfnote notes[3];
int num_notes;
@@ -1446,8 +1446,8 @@ static int elf_dump_thread_status(long s
#ifdef ELF_CORE_COPY_XFPREGS
if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
- fill_note(&t->notes[2], "LINUX", NT_PRXFPREG, sizeof(t->xfpu),
- &t->xfpu);
+ fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE,
+ sizeof(t->xfpu), &t->xfpu);
t->num_notes++;
sz += notesize(&t->notes[2]);
}
@@ -1624,7 +1624,7 @@ static int elf_core_dump(long signr, str
#ifdef ELF_CORE_COPY_XFPREGS
if (elf_core_copy_task_xfpregs(current, xfpu))
fill_note(notes + numnote++,
- "LINUX", NT_PRXFPREG, sizeof(*xfpu), xfpu);
+ "LINUX", ELF_CORE_XFPREG_TYPE, sizeof(*xfpu), xfpu);
#endif
fs = get_fs();
Index: linux/fs/binfmt_elf_fdpic.c
===================================================================
--- linux.orig/fs/binfmt_elf_fdpic.c
+++ linux/fs/binfmt_elf_fdpic.c
@@ -1417,7 +1417,7 @@ struct elf_thread_status
elf_fpregset_t fpu; /* NT_PRFPREG */
struct task_struct *thread;
#ifdef ELF_CORE_COPY_XFPREGS
- elf_fpxregset_t xfpu; /* NT_PRXFPREG */
+ elf_fpxregset_t xfpu; /* ELF_CORE_XFPREG_TYPE */
#endif
struct memelfnote notes[3];
int num_notes;
@@ -1453,7 +1453,7 @@ static int elf_dump_thread_status(long s
#ifdef ELF_CORE_COPY_XFPREGS
if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
- fill_note(&t->notes[2], "LINUX", NT_PRXFPREG, sizeof(t->xfpu),
+ fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE, sizeof(t->xfpu),
&t->xfpu);
t->num_notes++;
sz += notesize(&t->notes[2]);
@@ -1690,7 +1690,7 @@ static int elf_fdpic_core_dump(long sign
#ifdef ELF_CORE_COPY_XFPREGS
if (elf_core_copy_task_xfpregs(current, xfpu))
fill_note(notes + numnote++,
- "LINUX", NT_PRXFPREG, sizeof(*xfpu), xfpu);
+ "LINUX", ELF_CORE_XFPREG_TYPE, sizeof(*xfpu), xfpu);
#endif
fs = get_fs();
Index: linux/include/asm-i386/elf.h
===================================================================
--- linux.orig/include/asm-i386/elf.h
+++ linux/include/asm-i386/elf.h
@@ -129,6 +129,7 @@ extern int dump_task_extended_fpu (struc
#define ELF_CORE_COPY_TASK_REGS(tsk, elf_regs) dump_task_regs(tsk, elf_regs)
#define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk, elf_fpregs)
#define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs) dump_task_extended_fpu(tsk, elf_xfpregs)
+#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
#define VDSO_HIGH_BASE (__fix_to_virt(FIX_VDSO))
#define VDSO_CURRENT_BASE ((unsigned long)current->mm->context.vdso)
^ permalink raw reply
* Re: [patch 1/2] Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE #define
From: Mark Nelson @ 2007-10-12 1:37 UTC (permalink / raw)
To: Kumar Gala; +Cc: PowerPC dev list, Linux Kernel Mailing List
In-Reply-To: <DFC6881D-E917-4EC5-B19C-8CE04E040B06@kernel.crashing.org>
Kumar Gala wrote:
>
> On Oct 11, 2007, at 2:15 AM, markn@au1.ibm.com wrote:
>
>> Replace NT_PRXFPREG with ELF_CORE_XFPREG_TYPE in the coredump code which
>> allows for more flexibility in the note type for the state of 'extended
>> floating point' implementations in coredumps. New note types can now be
>> added with an appropriate #define.
>>
>> #define ELF_CORE_XFPREG_TYPE to be NT_PRXFPREG in all current users so
>> there's are no change in behaviour.
>
> Can we make this ELF_CORE_VECREG_TYPE or something that is so coupled to
> the x86 specific name?
>
>>
>> Signed-off-by: Mark Nelson <markn@au1.ibm.com>
>> ---
>> arch/ia64/ia32/elfcore32.h | 1 +
>> arch/x86_64/ia32/ia32_binfmt.c | 1 +
>> fs/binfmt_elf.c | 4 ++--
>> include/asm-i386/elf.h | 1 +
>> 4 files changed, 5 insertions(+), 2 deletions(-)
>>
>> Index: linux/arch/ia64/ia32/elfcore32.h
>> ===================================================================
>> --- linux.orig/arch/ia64/ia32/elfcore32.h
>> +++ linux/arch/ia64/ia32/elfcore32.h
>> @@ -117,6 +117,7 @@ elf_core_copy_task_fpregs(struct task_st
>> }
>>
>> #define ELF_CORE_COPY_XFPREGS 1
>> +#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
>> static inline int
>> elf_core_copy_task_xfpregs(struct task_struct *tsk, elf_fpxregset_t
>> *xfpu)
>> {
>> Index: linux/arch/x86_64/ia32/ia32_binfmt.c
>> ===================================================================
>> --- linux.orig/arch/x86_64/ia32/ia32_binfmt.c
>> +++ linux/arch/x86_64/ia32/ia32_binfmt.c
>> @@ -188,6 +188,7 @@ elf_core_copy_task_fpregs(struct task_st
>> }
>>
>> #define ELF_CORE_COPY_XFPREGS 1
>> +#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
>> static inline int
>> elf_core_copy_task_xfpregs(struct task_struct *t, elf_fpxregset_t *xfpu)
>> {
>> Index: linux/fs/binfmt_elf.c
>> ===================================================================
>> --- linux.orig/fs/binfmt_elf.c
>> +++ linux/fs/binfmt_elf.c
>> @@ -1446,8 +1446,8 @@ static int elf_dump_thread_status(long s
>>
>> #ifdef ELF_CORE_COPY_XFPREGS
>> if (elf_core_copy_task_xfpregs(p, &t->xfpu)) {
>> - fill_note(&t->notes[2], "LINUX", NT_PRXFPREG, sizeof(t->xfpu),
>> - &t->xfpu);
>> + fill_note(&t->notes[2], "LINUX", ELF_CORE_XFPREG_TYPE,
>> + sizeof(t->xfpu), &t->xfpu);
>> t->num_notes++;
>> sz += notesize(&t->notes[2]);
>> }
>
> You've only fixed up one of 4 NT_PRXFPREG uses in the kernel.
Ooops... Right you are - very good pickup :) Fixed in a new version (will send promptly).
Thanks!
Mark.
>
> Also, I'm not a fan of your proposed mechanism to "overload" the
> elf_fpxregset_t. I'd rather see us introduce a new elf_vecregset_t and
> have it typedef'd to be elf_fpxregset_t on i386, x86_64, ia64
>
>> Index: linux/include/asm-i386/elf.h
>> ===================================================================
>> --- linux.orig/include/asm-i386/elf.h
>> +++ linux/include/asm-i386/elf.h
>> @@ -129,6 +129,7 @@ extern int dump_task_extended_fpu (struc
>> #define ELF_CORE_COPY_TASK_REGS(tsk, elf_regs) dump_task_regs(tsk,
>> elf_regs)
>> #define ELF_CORE_COPY_FPREGS(tsk, elf_fpregs) dump_task_fpu(tsk,
>> elf_fpregs)
>> #define ELF_CORE_COPY_XFPREGS(tsk, elf_xfpregs)
>> dump_task_extended_fpu(tsk, elf_xfpregs)
>> +#define ELF_CORE_XFPREG_TYPE NT_PRXFPREG
>>
>> #define VDSO_HIGH_BASE (__fix_to_virt(FIX_VDSO))
>> #define VDSO_CURRENT_BASE ((unsigned long)current->mm->context.vdso)
>>
>> --
>> _______________________________________________
>> Linuxppc-dev mailing list
>> Linuxppc-dev@ozlabs.org
>> https://ozlabs.org/mailman/listinfo/linuxppc-dev
>
^ permalink raw reply
* Re: [PATCH 2/2] powerpc: Switch to generic WARN_ON()/BUG_ON()
From: Paul Mackerras @ 2007-10-12 1:23 UTC (permalink / raw)
To: Olof Johansson; +Cc: grundler, linux-kernel, kyle, linuxppc-dev, lethal, akpm
In-Reply-To: <20071011171413.GC10877@lixom.net>
Olof Johansson writes:
> Not using the ppc-specific WARN_ON/BUG_ON constructs actually saves about
> 4K text on a ppc64_defconfig. The main reason seems to be that prepping
> the arguments to the conditional trap instructions is more work than
> just doing a compare and branch.
It might be more instructions but it takes fewer cycles, I would
expect. Do you have the actual instruction sequences to compare?
Paul.
^ permalink raw reply
* Re: powerpc commits for 2.6.24
From: Michael Ellerman @ 2007-10-12 0:37 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev
In-Reply-To: <18190.49302.918402.952580@cargo.ozlabs.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 706 bytes --]
On Fri, 2007-10-12 at 10:32 +1000, Paul Mackerras wrote:
> Michael Ellerman writes:
>
> > Anything wrong with my patch "Fail early in lmb_remove_region()", it
> > generated no comment ..
>
> Just seems a little unnecessary given that the function in question is
> static, that's all...
Yeah true. I figured it was nice to have it spelled out in the code that
the routine is only valid for certain values of r - but I'm not fussed.
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [PATCH v3] powerpc: Implement logging of unhandled signals
From: Olof Johansson @ 2007-10-12 0:38 UTC (permalink / raw)
To: Benjamin Herrenschmidt; +Cc: linuxppc-dev, paulus
In-Reply-To: <1192148469.8476.64.camel@pasglop>
On Fri, Oct 12, 2007 at 10:21:09AM +1000, Benjamin Herrenschmidt wrote:
>
> On Thu, 2007-10-11 at 19:20 -0500, Olof Johansson wrote:
> > Implement show_unhandled_signals sysctl + support to print when a process
> > is killed due to unhandled signals just as i386 and x86_64 does.
> >
> > Default to having it off, unlike x86 that defaults on.
>
> Why ? I'd like it on by default :-)
Paulus mentioned on IRC that he preferred it that way. I'll leave it up
to the two of you to argue it out. I'd prefer on by default but I don't
really care all that much as long as I can enable it with bootargs.
-Olof
^ permalink raw reply
* Re: powerpc commits for 2.6.24
From: Paul Mackerras @ 2007-10-12 0:32 UTC (permalink / raw)
To: michael; +Cc: linuxppc-dev
In-Reply-To: <1192148887.6274.10.camel@concordia>
Michael Ellerman writes:
> Anything wrong with my patch "Fail early in lmb_remove_region()", it
> generated no comment ..
Just seems a little unnecessary given that the function in question is
static, that's all...
Paul.
^ permalink raw reply
* Tx Command of MPC8280 hangs the kernel
From: suresh suresh @ 2007-10-12 0:28 UTC (permalink / raw)
To: linuxppc-embedded
[-- Attachment #1: Type: text/plain, Size: 148 bytes --]
Hi,
I am facing kernel hang when ATM Tx command is issued. I am using SUSE
linux. Does anyone have any idea why it is happening?
Regards,
Suresh
[-- Attachment #2: Type: text/html, Size: 243 bytes --]
^ permalink raw reply
* Re: powerpc commits for 2.6.24
From: Michael Ellerman @ 2007-10-12 0:28 UTC (permalink / raw)
To: Paul Mackerras; +Cc: linuxppc-dev
In-Reply-To: <18190.5965.836544.396721@cargo.ozlabs.ibm.com>
[-- Attachment #1: Type: text/plain, Size: 732 bytes --]
On Thu, 2007-10-11 at 22:30 +1000, Paul Mackerras wrote:
> Below is the list of commits that I plan to ask Linus to pull
> tomorrow. This is the last call for anything else or for objections
> to any of these commits going in. These commits are in powerpc.git on
> the master and for-2.6.24 branches.
Anything wrong with my patch "Fail early in lmb_remove_region()", it
generated no comment ..
http://patchwork.ozlabs.org/linuxppc/patch?q=ellerman&id=13883
cheers
--
Michael Ellerman
OzLabs, IBM Australia Development Lab
wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)
We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply
* Re: [PATCH v3] powerpc: Implement logging of unhandled signals
From: Benjamin Herrenschmidt @ 2007-10-12 0:21 UTC (permalink / raw)
To: Olof Johansson; +Cc: linuxppc-dev, paulus
In-Reply-To: <20071012002007.GA18188@lixom.net>
On Thu, 2007-10-11 at 19:20 -0500, Olof Johansson wrote:
> Implement show_unhandled_signals sysctl + support to print when a process
> is killed due to unhandled signals just as i386 and x86_64 does.
>
> Default to having it off, unlike x86 that defaults on.
Why ? I'd like it on by default :-)
Ben.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox