From: Peter Tyser <ptyser@xes-inc.com> To: linuxppc-dev@ozlabs.org Cc: linux-kbuild@vger.kernel.org, Peter Tyser <ptyser@xes-inc.com> Subject: [PATCH v2 2/3] powerpc: Add support for creating FIT uImages Date: Mon, 21 Dec 2009 19:50:42 -0600 [thread overview] Message-ID: <1261446643-21714-3-git-send-email-ptyser@xes-inc.com> (raw) In-Reply-To: <1261446643-21714-1-git-send-email-ptyser@xes-inc.com> Recent U-Boot versions support booting a Flattened Image Tree (FIT) image format. The FIT uImage format uses a tree structure to describe a kernel image as well as supporting device tree blobs, ramdisks, etc. The 'mkimage' and 'dtc' utilities convert this tree description into a binary blob that bootloaders such as U-Boot can execute. This patch adds support for automatically creating a U-Boot FIT image using the "make uImage.fit.<boardname>" command where <boardname> is one of arch/powerpc/boot/dts/<boardname>.dts. The resulting arch/powerpc/boot/uImage.fit.<boardname> file will contain a kernel image as well as a device tree blob. U-Boot versions compiled with FIT support can directly boot this image using the "bootm" command. Additional information about the FIT format and its uses can be found in doc/uImage.FIT/howto.txt of U-Boot's source tree. Signed-off-by: Peter Tyser <ptyser@xes-inc.com> --- Changes since v1: - Add 'dts-v1' header to scripts/mkits.sh output - Don't strip leading 0x from dts addresses - Default to using kernel dtc if the user doesn't have it in their path arch/powerpc/Makefile | 4 +- arch/powerpc/boot/.gitignore | 1 + arch/powerpc/boot/Makefile | 5 ++- arch/powerpc/boot/wrapper | 20 +++++++- scripts/mkits.sh | 111 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 138 insertions(+), 3 deletions(-) create mode 100755 scripts/mkits.sh diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 1a54a3b..459aed5 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -158,7 +158,8 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/ # Default to zImage, override when needed all: zImage -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.% +BOOT_TARGETS = zImage zImage.initrd uImage uImage.fit.% zImage% dtbImage% \ + treeImage.% cuImage.% simpleImage.% PHONY += $(BOOT_TARGETS) @@ -185,6 +186,7 @@ define archhelp @echo '* zImage - Build default images selected by kernel config' @echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)' @echo ' uImage - U-Boot native image format' + @echo ' uImage.fit.<dt> - U-Boot Flattened Image Tree image format' @echo ' cuImage.<dt> - Backwards compatible U-Boot image for older' @echo ' versions which do not support device trees' @echo ' dtbImage.<dt> - zImage with an embedded device tree blob' diff --git a/arch/powerpc/boot/.gitignore b/arch/powerpc/boot/.gitignore index 3d80c3e..a443f1c 100644 --- a/arch/powerpc/boot/.gitignore +++ b/arch/powerpc/boot/.gitignore @@ -19,6 +19,7 @@ kernel-vmlinux.strip.c kernel-vmlinux.strip.gz mktree uImage +uImage.fit.* cuImage.* dtbImage.* treeImage.* diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index bb2465b..e56ec21 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -310,6 +310,9 @@ $(obj)/zImage.iseries: vmlinux $(obj)/uImage: vmlinux $(wrapperbits) $(call if_changed,wrap,uboot) +$(obj)/uImage.fit.%: vmlinux $(obj)/%.dtb $(wrapperbits) + $(call if_changed,wrap,uboot.fit,,$(obj)/$*.dtb) + $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits) $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz) @@ -349,7 +352,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) # anything not in $(targets) clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ - zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ + uImage.* zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ simpleImage.* otheros.bld *.dtb diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index f4594ed..1f35b66 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -46,6 +46,9 @@ CROSS= # mkimage wrapper script MKIMAGE=$srctree/scripts/mkuboot.sh +# script to generate an .its file for uImage.fit.* images +MKITS=$srctree/scripts/mkits.sh + # directory for object and other files used by this script object=arch/powerpc/boot objbin=$object @@ -157,7 +160,7 @@ coff) lds=$object/zImage.coff.lds link_address='0x500000' ;; -miboot|uboot) +miboot|uboot|uboot.fit) # miboot and U-boot want just the bare bits, not an ELF binary ext=bin objflags="-O binary" @@ -277,6 +280,21 @@ uboot) fi exit 0 ;; +uboot.fit) + rm -f "$ofile" + ${MKITS} -A ppc -C gzip -a $membase -e $membase -v $version \ + -d "$srctree/$dtb" -k "$srctree/$vmz" -o "$object/uImage.its" + + # mkimage calls dtc for FIT images so use kernel dtc if necessary + export PATH=$PATH:$srctree/scripts/dtc + + ${MKIMAGE} -f "$object/uImage.its" "$ofile" + rm "$object/uImage.its" + if [ -z "$cacheit" ]; then + rm -f "$vmz" + fi + exit 0 + ;; esac addsec() { diff --git a/scripts/mkits.sh b/scripts/mkits.sh new file mode 100755 index 0000000..fae43dd --- /dev/null +++ b/scripts/mkits.sh @@ -0,0 +1,111 @@ +#!/bin/bash +# +# Licensed under the terms of the GNU GPL License version 2 or later. +# +# Author: Peter Tyser <ptyser@xes-inc.com> +# +# U-Boot firmware supports the booting of images in the Flattened Image +# Tree (FIT) format. The FIT format uses a device tree structure to +# describe a kernel image, device tree blob, ramdisk, etc. This script +# creates an Image Tree Source (.its file) which can be passed to the +# 'mkimage' utility to generate an Image Tree Blob (.itb file). The .itb +# file can then be booted by U-Boot (or other bootloaders which support +# FIT images). See doc/uImage.FIT/howto.txt in U-Boot source code for +# additional information on FIT images. +# + +usage() { + echo "Usage: `basename $0` -A arch -C comp -a addr -e entry" \ + "-v version -k kernel [-d dtb] -o its_file" + echo -e "\t-A ==> set architecture to 'arch'" + echo -e "\t-C ==> set compression type 'comp'" + echo -e "\t-a ==> set load address to 'addr' (hex)" + echo -e "\t-e ==> set entry point to 'entry' (hex)" + echo -e "\t-v ==> set kernel version to 'version'" + echo -e "\t-k ==> include kernel image 'kernel'" + echo -e "\t-d ==> include Device Tree Blob 'dtb'" + echo -e "\t-o ==> create output file 'its_file'" + exit 1 +} + +while getopts ":A:C:a:d:e:k:o:v:" OPTION +do + case $OPTION in + A ) ARCH=$OPTARG;; + C ) COMPRESS=$OPTARG;; + a ) LOAD_ADDR=$OPTARG;; + d ) DTB=$OPTARG;; + e ) ENTRY_ADDR=$OPTARG;; + k ) KERNEL=$OPTARG;; + o ) OUTPUT=$OPTARG;; + v ) VERSION=$OPTARG;; + * ) echo "Invalid option passed to '$0' (options:$@)" + usage;; + esac +done + +# Make sure user entered all required parameters +if [ -z "${ARCH}" ] || [ -z "${COMPRESS}" ] || [ -z "${LOAD_ADDR}" ] || \ + [ -z "${ENTRY_ADDR}" ] || [ -z "${VERSION}" ] || [ -z "${KERNEL}" ] || \ + [ -z "${OUTPUT}" ]; then + usage +fi + +# Create a default, fully populated DTS file +DATA="/dts-v1/; + +/ { + description = \"Linux kernel ${VERSION}\"; + #address-cells = <1>; + + images { + kernel@1 { + description = \"Linux Kernel ${VERSION}\"; + data = /incbin/(\"${KERNEL}\"); + type = \"kernel\"; + arch = \"${ARCH}\"; + os = \"linux\"; + compression = \"${COMPRESS}\"; + load = <${LOAD_ADDR}>; + entry = <${ENTRY_ADDR}>; + hash@1 { + algo = \"crc32\"; + }; + hash@2 { + algo = \"sha1\"; + }; + }; + + fdt@1 { /* start fdt */ + description = \"Flattened Device Tree blob\"; + data = /incbin/(\"${DTB}\"); + type = \"flat_dt\"; + arch = \"${ARCH}\"; + compression = \"none\"; + hash@1 { + algo = \"crc32\"; + }; + hash@2 { + algo = \"sha1\"; + }; + }; /* end fdt */ + + configurations { + default = \"config@1\"; + config@1 { + description = \"Default Linux kernel\"; + kernel = \"kernel@1\"; + fdt = \"fdt@1\"; + ramdisk = \"ramdisk@1\"; + }; + }; +};" + +# Conditionally strip fdt information out of tree +if [ -z "${DTB}" ]; then + DATA=`echo "$DATA" | sed '/start fdt/,/end fdt/d'` + DATA=`echo "$DATA" | sed '/fdt/d'` +fi + +# Write .its file to disk +echo "$DATA" > ${OUTPUT} -- 1.6.2.1
WARNING: multiple messages have this Message-ID (diff)
From: Peter Tyser <ptyser@xes-inc.com> To: linuxppc-dev@ozlabs.org Cc: Peter Tyser <ptyser@xes-inc.com>, linux-kbuild@vger.kernel.org Subject: [PATCH v2 2/3] powerpc: Add support for creating FIT uImages Date: Mon, 21 Dec 2009 19:50:42 -0600 [thread overview] Message-ID: <1261446643-21714-3-git-send-email-ptyser@xes-inc.com> (raw) In-Reply-To: <1261446643-21714-1-git-send-email-ptyser@xes-inc.com> Recent U-Boot versions support booting a Flattened Image Tree (FIT) image format. The FIT uImage format uses a tree structure to describe a kernel image as well as supporting device tree blobs, ramdisks, etc. The 'mkimage' and 'dtc' utilities convert this tree description into a binary blob that bootloaders such as U-Boot can execute. This patch adds support for automatically creating a U-Boot FIT image using the "make uImage.fit.<boardname>" command where <boardname> is one of arch/powerpc/boot/dts/<boardname>.dts. The resulting arch/powerpc/boot/uImage.fit.<boardname> file will contain a kernel image as well as a device tree blob. U-Boot versions compiled with FIT support can directly boot this image using the "bootm" command. Additional information about the FIT format and its uses can be found in doc/uImage.FIT/howto.txt of U-Boot's source tree. Signed-off-by: Peter Tyser <ptyser@xes-inc.com> --- Changes since v1: - Add 'dts-v1' header to scripts/mkits.sh output - Don't strip leading 0x from dts addresses - Default to using kernel dtc if the user doesn't have it in their path arch/powerpc/Makefile | 4 +- arch/powerpc/boot/.gitignore | 1 + arch/powerpc/boot/Makefile | 5 ++- arch/powerpc/boot/wrapper | 20 +++++++- scripts/mkits.sh | 111 ++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 138 insertions(+), 3 deletions(-) create mode 100755 scripts/mkits.sh diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 1a54a3b..459aed5 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -158,7 +158,8 @@ drivers-$(CONFIG_OPROFILE) += arch/powerpc/oprofile/ # Default to zImage, override when needed all: zImage -BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.% simpleImage.% +BOOT_TARGETS = zImage zImage.initrd uImage uImage.fit.% zImage% dtbImage% \ + treeImage.% cuImage.% simpleImage.% PHONY += $(BOOT_TARGETS) @@ -185,6 +186,7 @@ define archhelp @echo '* zImage - Build default images selected by kernel config' @echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)' @echo ' uImage - U-Boot native image format' + @echo ' uImage.fit.<dt> - U-Boot Flattened Image Tree image format' @echo ' cuImage.<dt> - Backwards compatible U-Boot image for older' @echo ' versions which do not support device trees' @echo ' dtbImage.<dt> - zImage with an embedded device tree blob' diff --git a/arch/powerpc/boot/.gitignore b/arch/powerpc/boot/.gitignore index 3d80c3e..a443f1c 100644 --- a/arch/powerpc/boot/.gitignore +++ b/arch/powerpc/boot/.gitignore @@ -19,6 +19,7 @@ kernel-vmlinux.strip.c kernel-vmlinux.strip.gz mktree uImage +uImage.fit.* cuImage.* dtbImage.* treeImage.* diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index bb2465b..e56ec21 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile @@ -310,6 +310,9 @@ $(obj)/zImage.iseries: vmlinux $(obj)/uImage: vmlinux $(wrapperbits) $(call if_changed,wrap,uboot) +$(obj)/uImage.fit.%: vmlinux $(obj)/%.dtb $(wrapperbits) + $(call if_changed,wrap,uboot.fit,,$(obj)/$*.dtb) + $(obj)/cuImage.initrd.%: vmlinux $(obj)/%.dtb $(wrapperbits) $(call if_changed,wrap,cuboot-$*,,$(obj)/$*.dtb,$(obj)/ramdisk.image.gz) @@ -349,7 +352,7 @@ install: $(CONFIGURE) $(addprefix $(obj)/, $(image-y)) # anything not in $(targets) clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \ - zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ + uImage.* zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \ zImage.iseries zImage.miboot zImage.pmac zImage.pseries \ simpleImage.* otheros.bld *.dtb diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index f4594ed..1f35b66 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -46,6 +46,9 @@ CROSS= # mkimage wrapper script MKIMAGE=$srctree/scripts/mkuboot.sh +# script to generate an .its file for uImage.fit.* images +MKITS=$srctree/scripts/mkits.sh + # directory for object and other files used by this script object=arch/powerpc/boot objbin=$object @@ -157,7 +160,7 @@ coff) lds=$object/zImage.coff.lds link_address='0x500000' ;; -miboot|uboot) +miboot|uboot|uboot.fit) # miboot and U-boot want just the bare bits, not an ELF binary ext=bin objflags="-O binary" @@ -277,6 +280,21 @@ uboot) fi exit 0 ;; +uboot.fit) + rm -f "$ofile" + ${MKITS} -A ppc -C gzip -a $membase -e $membase -v $version \ + -d "$srctree/$dtb" -k "$srctree/$vmz" -o "$object/uImage.its" + + # mkimage calls dtc for FIT images so use kernel dtc if necessary + export PATH=$PATH:$srctree/scripts/dtc + + ${MKIMAGE} -f "$object/uImage.its" "$ofile" + rm "$object/uImage.its" + if [ -z "$cacheit" ]; then + rm -f "$vmz" + fi + exit 0 + ;; esac addsec() { diff --git a/scripts/mkits.sh b/scripts/mkits.sh new file mode 100755 index 0000000..fae43dd --- /dev/null +++ b/scripts/mkits.sh @@ -0,0 +1,111 @@ +#!/bin/bash +# +# Licensed under the terms of the GNU GPL License version 2 or later. +# +# Author: Peter Tyser <ptyser@xes-inc.com> +# +# U-Boot firmware supports the booting of images in the Flattened Image +# Tree (FIT) format. The FIT format uses a device tree structure to +# describe a kernel image, device tree blob, ramdisk, etc. This script +# creates an Image Tree Source (.its file) which can be passed to the +# 'mkimage' utility to generate an Image Tree Blob (.itb file). The .itb +# file can then be booted by U-Boot (or other bootloaders which support +# FIT images). See doc/uImage.FIT/howto.txt in U-Boot source code for +# additional information on FIT images. +# + +usage() { + echo "Usage: `basename $0` -A arch -C comp -a addr -e entry" \ + "-v version -k kernel [-d dtb] -o its_file" + echo -e "\t-A ==> set architecture to 'arch'" + echo -e "\t-C ==> set compression type 'comp'" + echo -e "\t-a ==> set load address to 'addr' (hex)" + echo -e "\t-e ==> set entry point to 'entry' (hex)" + echo -e "\t-v ==> set kernel version to 'version'" + echo -e "\t-k ==> include kernel image 'kernel'" + echo -e "\t-d ==> include Device Tree Blob 'dtb'" + echo -e "\t-o ==> create output file 'its_file'" + exit 1 +} + +while getopts ":A:C:a:d:e:k:o:v:" OPTION +do + case $OPTION in + A ) ARCH=$OPTARG;; + C ) COMPRESS=$OPTARG;; + a ) LOAD_ADDR=$OPTARG;; + d ) DTB=$OPTARG;; + e ) ENTRY_ADDR=$OPTARG;; + k ) KERNEL=$OPTARG;; + o ) OUTPUT=$OPTARG;; + v ) VERSION=$OPTARG;; + * ) echo "Invalid option passed to '$0' (options:$@)" + usage;; + esac +done + +# Make sure user entered all required parameters +if [ -z "${ARCH}" ] || [ -z "${COMPRESS}" ] || [ -z "${LOAD_ADDR}" ] || \ + [ -z "${ENTRY_ADDR}" ] || [ -z "${VERSION}" ] || [ -z "${KERNEL}" ] || \ + [ -z "${OUTPUT}" ]; then + usage +fi + +# Create a default, fully populated DTS file +DATA="/dts-v1/; + +/ { + description = \"Linux kernel ${VERSION}\"; + #address-cells = <1>; + + images { + kernel@1 { + description = \"Linux Kernel ${VERSION}\"; + data = /incbin/(\"${KERNEL}\"); + type = \"kernel\"; + arch = \"${ARCH}\"; + os = \"linux\"; + compression = \"${COMPRESS}\"; + load = <${LOAD_ADDR}>; + entry = <${ENTRY_ADDR}>; + hash@1 { + algo = \"crc32\"; + }; + hash@2 { + algo = \"sha1\"; + }; + }; + + fdt@1 { /* start fdt */ + description = \"Flattened Device Tree blob\"; + data = /incbin/(\"${DTB}\"); + type = \"flat_dt\"; + arch = \"${ARCH}\"; + compression = \"none\"; + hash@1 { + algo = \"crc32\"; + }; + hash@2 { + algo = \"sha1\"; + }; + }; /* end fdt */ + + configurations { + default = \"config@1\"; + config@1 { + description = \"Default Linux kernel\"; + kernel = \"kernel@1\"; + fdt = \"fdt@1\"; + ramdisk = \"ramdisk@1\"; + }; + }; +};" + +# Conditionally strip fdt information out of tree +if [ -z "${DTB}" ]; then + DATA=`echo "$DATA" | sed '/start fdt/,/end fdt/d'` + DATA=`echo "$DATA" | sed '/fdt/d'` +fi + +# Write .its file to disk +echo "$DATA" > ${OUTPUT} -- 1.6.2.1
next prev parent reply other threads:[~2009-12-22 1:50 UTC|newest] Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top 2009-12-22 1:50 [PATCH v2 0/3] powerpc: Add support for FIT uImages Peter Tyser 2009-12-22 1:50 ` Peter Tyser 2009-12-22 1:50 ` [PATCH v2 1/3] powerpc: Use scripts/mkuboot.sh instead of 'mkimage' Peter Tyser 2009-12-22 1:50 ` Peter Tyser 2009-12-30 22:25 ` Grant Likely 2009-12-30 22:25 ` Grant Likely 2009-12-22 1:50 ` Peter Tyser [this message] 2009-12-22 1:50 ` [PATCH v2 2/3] powerpc: Add support for creating FIT uImages Peter Tyser 2009-12-22 3:48 ` Olof Johansson 2009-12-22 4:50 ` Peter Tyser 2009-12-30 22:57 ` Grant Likely 2009-12-30 22:57 ` Grant Likely 2010-01-01 14:18 ` Wolfgang Denk 2010-01-01 14:18 ` Wolfgang Denk 2010-01-03 5:23 ` Grant Likely 2010-01-03 5:23 ` Grant Likely 2009-12-22 1:50 ` [PATCH v2 3/3] powerpc: Add support for ram filesystems in " Peter Tyser 2009-12-22 1:50 ` Peter Tyser 2009-12-30 23:02 ` Grant Likely 2009-12-30 23:02 ` Grant Likely 2009-12-30 23:39 ` Peter Tyser 2009-12-30 23:39 ` [U-Boot] " Peter Tyser 2009-12-30 23:39 ` Peter Tyser 2009-12-31 0:01 ` Grant Likely 2009-12-31 0:01 ` [U-Boot] " Grant Likely 2009-12-31 0:01 ` Grant Likely 2009-12-31 1:10 ` Peter Tyser 2009-12-31 1:10 ` [U-Boot] " Peter Tyser 2009-12-31 1:10 ` Peter Tyser 2010-01-03 5:08 ` [U-Boot] " Grant Likely 2010-01-03 5:08 ` Grant Likely 2010-01-03 5:08 ` Grant Likely 2010-01-03 10:10 ` Wolfgang Denk 2010-01-03 10:10 ` Wolfgang Denk 2010-01-03 10:10 ` Wolfgang Denk 2010-01-04 1:07 ` Peter Tyser 2010-01-04 1:07 ` Peter Tyser 2010-01-04 1:07 ` Peter Tyser 2010-01-04 8:27 ` Grant Likely 2010-01-04 8:27 ` Grant Likely 2010-01-04 8:27 ` Grant Likely 2009-12-31 8:01 ` Peter Korsgaard 2009-12-31 8:01 ` [U-Boot] " Peter Korsgaard 2009-12-31 8:01 ` Peter Korsgaard 2010-01-01 14:12 ` Wolfgang Denk 2010-01-01 14:12 ` [U-Boot] " Wolfgang Denk 2010-01-01 14:12 ` Wolfgang Denk 2010-01-03 5:18 ` Grant Likely 2010-01-03 5:18 ` [U-Boot] " Grant Likely 2010-01-03 5:18 ` Grant Likely 2010-01-03 10:15 ` Wolfgang Denk 2010-01-03 10:15 ` [U-Boot] " Wolfgang Denk 2010-01-03 10:15 ` Wolfgang Denk 2009-12-31 22:44 ` Wolfgang Denk 2009-12-31 22:44 ` Wolfgang Denk 2009-12-31 23:10 ` Peter Tyser 2009-12-31 23:10 ` Peter Tyser 2010-01-01 10:44 ` Wolfgang Denk 2010-01-01 10:44 ` Wolfgang Denk 2010-01-03 5:13 ` Grant Likely 2010-01-03 5:13 ` Grant Likely 2010-01-03 10:12 ` Wolfgang Denk 2010-01-03 10:12 ` Wolfgang Denk 2010-01-03 8:06 ` Peter Korsgaard 2010-01-03 8:06 ` Peter Korsgaard 2010-01-03 9:50 ` Wolfgang Denk 2010-01-03 9:50 ` Wolfgang Denk 2010-01-03 14:27 ` Peter Korsgaard 2010-01-03 14:27 ` Peter Korsgaard 2010-01-04 8:34 ` Grant Likely 2010-01-04 8:34 ` Grant Likely 2010-01-03 23:52 ` Peter Tyser 2010-01-03 23:52 ` Peter Tyser 2010-01-03 5:10 ` Grant Likely 2010-01-03 5:10 ` Grant Likely
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1261446643-21714-3-git-send-email-ptyser@xes-inc.com \ --to=ptyser@xes-inc.com \ --cc=linux-kbuild@vger.kernel.org \ --cc=linuxppc-dev@ozlabs.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.