rpms/kernel/F-10 patch-2.6.29-rc3-git3.bz2.sign, NONE, 1.1 revert-fix-modules_install-via-nfs.patch, NONE, 1.1 .cvsignore, 1.969, 1.970 kernel.spec, 1.1238, 1.1239 linux-2.6-compile-fixes.patch, 1.182, 1.183 sources, 1.931, 1.932 upstream, 1.842, 1.843 linux-2.6-x86-mtrr-kill-bogus-warning.patch, 1.1, NONE patch-2.6.29-rc3-git2.bz2.sign, 1.1, NONE

Chuck Ebbert cebbert at fedoraproject.org
Sun Feb 1 05:51:30 UTC 2009


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv10139

Modified Files:
	.cvsignore kernel.spec linux-2.6-compile-fixes.patch sources 
	upstream 
Added Files:
	patch-2.6.29-rc3-git3.bz2.sign 
	revert-fix-modules_install-via-nfs.patch 
Removed Files:
	linux-2.6-x86-mtrr-kill-bogus-warning.patch 
	patch-2.6.29-rc3-git2.bz2.sign 
Log Message:
2.6.29-rc3-git3


--- NEW FILE patch-2.6.29-rc3-git3.bz2.sign ---
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: See http://www.kernel.org/signature.html for info

iD8DBQBJhOf+yGugalF9Dw4RAn4ZAJ0XyfIBWUOsKlGVXZAT8DV0M0VKuACfXN1O
P3IbJMr+SNKGZS45UQAOThY=
=DZXA
-----END PGP SIGNATURE-----

revert-fix-modules_install-via-nfs.patch:

--- NEW FILE revert-fix-modules_install-via-nfs.patch ---
>From e2efba5a3a087933a6e372fef4934c71f9b1365f Mon Sep 17 00:00:00 2001
From: Kyle McMartin <kyle at minerva.i.cabal.ca>
Date: Fri, 9 Jan 2009 11:54:51 -0500
Subject: Revert "fix modules_install via NFS"

This reverts commit 8b249b6856f16f09b0e5b79ce5f4d435e439b9d6.
---
 firmware/.gitignore |    1 +
 firmware/Makefile   |   10 +-
 firmware/ihex2fw.c  |  268 +++++++++++++++++++++++++++++++++++++++++++++++++++
 scripts/.gitignore  |    1 -
 scripts/Makefile    |    3 +-
 scripts/ihex2fw.c   |  268 ---------------------------------------------------
 6 files changed, 276 insertions(+), 275 deletions(-)
 create mode 100644 firmware/ihex2fw.c
 delete mode 100644 scripts/ihex2fw.c

diff --git a/firmware/.gitignore b/firmware/.gitignore
index f89a21f..d9c6901 100644
--- a/firmware/.gitignore
+++ b/firmware/.gitignore
@@ -3,3 +3,4 @@
 *.bin
 *.csp
 *.dsp
+ihex2fw
diff --git a/firmware/Makefile b/firmware/Makefile
index ea1d28f..aae5129 100644
--- a/firmware/Makefile
+++ b/firmware/Makefile
@@ -101,10 +101,10 @@ quiet_cmd_ihex  = IHEX    $@
       cmd_ihex  = $(OBJCOPY) -Iihex -Obinary $< $@
 
 quiet_cmd_ihex2fw  = IHEX2FW $@
-      cmd_ihex2fw  = $(objtree)/scripts/ihex2fw $< $@
+      cmd_ihex2fw  = $(objtree)/$(obj)/ihex2fw $< $@
 
 quiet_cmd_h16tofw  = H16TOFW $@
-      cmd_h16tofw  = $(objtree)/scripts/ihex2fw -w $< $@
+      cmd_h16tofw  = $(objtree)/$(obj)/ihex2fw -w $< $@
 
 quiet_cmd_fwbin = MK_FW   $@
       cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)";		     \
@@ -167,11 +167,11 @@ $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %)
 # is actually meaningful, because the firmware has to be loaded in a certain
 # order rather than as a single binary blob. Thus, we convert them into our
 # more compact binary representation of ihex records (<linux/ihex.h>)
-$(obj)/%.fw: $(obj)/%.HEX  | $(objtree)/$(obj)/$$(dir %)
+$(obj)/%.fw: $(obj)/%.HEX $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %)
 	$(call cmd,ihex2fw)
 
 # .H16 is our own modified form of Intel HEX, with 16-bit length for records.
-$(obj)/%.fw: $(obj)/%.H16 | $(objtree)/$(obj)/$$(dir %)
+$(obj)/%.fw: $(obj)/%.H16 $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %)
 	$(call cmd,h16tofw)
 
 $(firmware-dirs):
@@ -188,3 +188,5 @@ targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \
 # Without this, built-in.o won't be created when it's empty, and the
 # final vmlinux link will fail.
 obj-n := dummy
+
+hostprogs-y := ihex2fw
diff --git a/firmware/ihex2fw.c b/firmware/ihex2fw.c
new file mode 100644
index 0000000..8f7fdaa
--- /dev/null
+++ b/firmware/ihex2fw.c
@@ -0,0 +1,268 @@
+/*
+ * Parser/loader for IHEX formatted data.
+ *
+ * Copyright © 2008 David Woodhouse <dwmw2 at infradead.org>
+ * Copyright © 2005 Jan Harkes <jaharkes at cs.cmu.edu>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ */
+
+#include <stdint.h>
+#include <arpa/inet.h>
+#include <stdio.h>
+#include <errno.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/mman.h>
+#include <fcntl.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdlib.h>
+#define _GNU_SOURCE
+#include <getopt.h>
+
+
+struct ihex_binrec {
+	struct ihex_binrec *next; /* not part of the real data structure */
+        uint32_t addr;
+        uint16_t len;
+        uint8_t data[];
+};
+
+/**
+ * nybble/hex are little helpers to parse hexadecimal numbers to a byte value
+ **/
+static uint8_t nybble(const uint8_t n)
+{
+       if      (n >= '0' && n <= '9') return n - '0';
+       else if (n >= 'A' && n <= 'F') return n - ('A' - 10);
+       else if (n >= 'a' && n <= 'f') return n - ('a' - 10);
+       return 0;
+}
+
+static uint8_t hex(const uint8_t *data, uint8_t *crc)
+{
+       uint8_t val = (nybble(data[0]) << 4) | nybble(data[1]);
+       *crc += val;
+       return val;
+}
+
+static int process_ihex(uint8_t *data, ssize_t size);
+static void file_record(struct ihex_binrec *record);
+static int output_records(int outfd);
+
+static int sort_records = 0;
+static int wide_records = 0;
+
+int usage(void)
+{
+	fprintf(stderr, "ihex2fw: Convert ihex files into binary "
+		"representation for use by Linux kernel\n");
+	fprintf(stderr, "usage: ihex2fw [<options>] <src.HEX> <dst.fw>\n");
+	fprintf(stderr, "       -w: wide records (16-bit length)\n");
+	fprintf(stderr, "       -s: sort records by address\n");
+	return 1;
+}
+
+int main(int argc, char **argv)
+{
+	int infd, outfd;
+	struct stat st;
+	uint8_t *data;
+	int opt;
+
+	while ((opt = getopt(argc, argv, "ws")) != -1) {
+		switch (opt) {
+		case 'w':
+			wide_records = 1;
+			break;
+		case 's':
+			sort_records = 1;
+			break;
+		default:
+			return usage();
+		}
+	}
+
+	if (optind + 2 != argc)
+		return usage();
+
+	if (!strcmp(argv[optind], "-"))
+	    infd = 0;
+	else
+		infd = open(argv[optind], O_RDONLY);
+	if (infd == -1) {
+		fprintf(stderr, "Failed to open source file: %s",
+			strerror(errno));
+		return usage();
+	}
+	if (fstat(infd, &st)) {
+		perror("stat");
+		return 1;
+	}
+	data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, infd, 0);
+	if (data == MAP_FAILED) {
+		perror("mmap");
+		return 1;
+	}
+
+	if (!strcmp(argv[optind+1], "-"))
+	    outfd = 1;
+	else
+		outfd = open(argv[optind+1], O_TRUNC|O_CREAT|O_WRONLY, 0644);
+	if (outfd == -1) {
+		fprintf(stderr, "Failed to open destination file: %s",
+			strerror(errno));
+		return usage();
+	}
+	if (process_ihex(data, st.st_size))
+		return 1;
+
+	output_records(outfd);
+	return 0;
+}
+
+static int process_ihex(uint8_t *data, ssize_t size)
+{
+	struct ihex_binrec *record;
+	uint32_t offset = 0;
+	uint8_t type, crc = 0, crcbyte = 0;
+	int i, j;
+	int line = 1;
+	int len;
+
+	i = 0;
+next_record:
+	/* search for the start of record character */
+	while (i < size) {
+		if (data[i] == '\n') line++;
+		if (data[i++] == ':') break;
+	}
+
+	/* Minimum record length would be about 10 characters */
+	if (i + 10 > size) {
+		fprintf(stderr, "Can't find valid record at line %d\n", line);
+		return -EINVAL;
+	}
+
+	len = hex(data + i, &crc); i += 2;
+	if (wide_records) {
+		len <<= 8;
+		len += hex(data + i, &crc); i += 2;
+	}
+	record = malloc((sizeof (*record) + len + 3) & ~3);
+	if (!record) {
+		fprintf(stderr, "out of memory for records\n");
+		return -ENOMEM;
+	}
+	memset(record, 0, (sizeof(*record) + len + 3) & ~3);
+	record->len = len;
+
+	/* now check if we have enough data to read everything */
+	if (i + 8 + (record->len * 2) > size) {
+		fprintf(stderr, "Not enough data to read complete record at line %d\n",
+			line);
+		return -EINVAL;
+	}
+
+	record->addr  = hex(data + i, &crc) << 8; i += 2;
+	record->addr |= hex(data + i, &crc); i += 2;
+	type = hex(data + i, &crc); i += 2;
+
+	for (j = 0; j < record->len; j++, i += 2)
+		record->data[j] = hex(data + i, &crc);
+
+	/* check CRC */
+	crcbyte = hex(data + i, &crc); i += 2;
+	if (crc != 0) {
+		fprintf(stderr, "CRC failure at line %d: got 0x%X, expected 0x%X\n",
+			line, crcbyte, (unsigned char)(crcbyte-crc));
+		return -EINVAL;
+	}
+
+	/* Done reading the record */
+	switch (type) {
+	case 0:
+		/* old style EOF record? */
+		if (!record->len)
+			break;
+
+		record->addr += offset;
+		file_record(record);
+		goto next_record;
+
+	case 1: /* End-Of-File Record */
+		if (record->addr || record->len) {
+			fprintf(stderr, "Bad EOF record (type 01) format at line %d",
+				line);
+			return -EINVAL;
+		}
+		break;
+
+	case 2: /* Extended Segment Address Record (HEX86) */
+	case 4: /* Extended Linear Address Record (HEX386) */
+		if (record->addr || record->len != 2) {
+			fprintf(stderr, "Bad HEX86/HEX386 record (type %02X) at line %d\n",
+				type, line);
+			return -EINVAL;
+		}
+
+		/* We shouldn't really be using the offset for HEX86 because
+		 * the wraparound case is specified quite differently. */
+		offset = record->data[0] << 8 | record->data[1];
+		offset <<= (type == 2 ? 4 : 16);
+		goto next_record;
+
+	case 3: /* Start Segment Address Record */
+	case 5: /* Start Linear Address Record */
+		if (record->addr || record->len != 4) {
+			fprintf(stderr, "Bad Start Address record (type %02X) at line %d\n",
+				type, line);
+			return -EINVAL;
+		}
+
+		/* These records contain the CS/IP or EIP where execution
+		 * starts. Don't really know what to do with them. */
+		goto next_record;
+
+	default:
+		fprintf(stderr, "Unknown record (type %02X)\n", type);
+		return -EINVAL;
+	}
+
+	return 0;
+}
+
+static struct ihex_binrec *records;
+
+static void file_record(struct ihex_binrec *record)
+{
+	struct ihex_binrec **p = &records;
+
+	while ((*p) && (!sort_records || (*p)->addr < record->addr))
+		p = &((*p)->next);
+
+	record->next = *p;
+	*p = record;
+}
+
+static int output_records(int outfd)
+{
+	unsigned char zeroes[6] = {0, 0, 0, 0, 0, 0};
+	struct ihex_binrec *p = records;
+
+	while (p) {
+		uint16_t writelen = (p->len + 9) & ~3;
+
+		p->addr = htonl(p->addr);
+		p->len = htons(p->len);
+		write(outfd, &p->addr, writelen);
+		p = p->next;
+	}
+	/* EOF record is zero length, since we don't bother to represent
+	   the type field in the binary version */
+	write(outfd, zeroes, 6);
+	return 0;
+}
diff --git a/scripts/.gitignore b/scripts/.gitignore
index 09e2406..b939fbd 100644
--- a/scripts/.gitignore
+++ b/scripts/.gitignore
@@ -1,7 +1,6 @@
 #
 # Generated files
 #
-ihex2fw
 conmakehash
 kallsyms
 pnmtologo
diff --git a/scripts/Makefile b/scripts/Makefile
index 035182e..aafdf06 100644
--- a/scripts/Makefile
+++ b/scripts/Makefile
@@ -2,12 +2,11 @@
 # scripts contains sources for various helper programs used throughout
 # the kernel for the build process.
 # ---------------------------------------------------------------------------
-# ihex2fw:       Parser/loader for IHEX formatted data
 # kallsyms:      Find all symbols in vmlinux
 # pnmttologo:    Convert pnm files to logo files
+# conmakehash:   Create chartable
 # conmakehash:	 Create arrays for initializing the kernel console tables
 
-hostprogs-y                      := ihex2fw
 hostprogs-$(CONFIG_KALLSYMS)     += kallsyms
 hostprogs-$(CONFIG_LOGO)         += pnmtologo
 hostprogs-$(CONFIG_VT)           += conmakehash
diff --git a/scripts/ihex2fw.c b/scripts/ihex2fw.c
deleted file mode 100644
index 8f7fdaa..0000000
--- a/scripts/ihex2fw.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Parser/loader for IHEX formatted data.
- *
- * Copyright © 2008 David Woodhouse <dwmw2 at infradead.org>
- * Copyright © 2005 Jan Harkes <jaharkes at cs.cmu.edu>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#include <stdint.h>
-#include <arpa/inet.h>
-#include <stdio.h>
-#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/mman.h>
-#include <fcntl.h>
-#include <string.h>
-#include <unistd.h>
-#include <stdlib.h>
-#define _GNU_SOURCE
-#include <getopt.h>
-
-
-struct ihex_binrec {
-	struct ihex_binrec *next; /* not part of the real data structure */
-        uint32_t addr;
-        uint16_t len;
-        uint8_t data[];
-};
-
-/**
- * nybble/hex are little helpers to parse hexadecimal numbers to a byte value
- **/
-static uint8_t nybble(const uint8_t n)
-{
-       if      (n >= '0' && n <= '9') return n - '0';
-       else if (n >= 'A' && n <= 'F') return n - ('A' - 10);
-       else if (n >= 'a' && n <= 'f') return n - ('a' - 10);
-       return 0;
-}
-
-static uint8_t hex(const uint8_t *data, uint8_t *crc)
-{
-       uint8_t val = (nybble(data[0]) << 4) | nybble(data[1]);
-       *crc += val;
-       return val;
-}
-
-static int process_ihex(uint8_t *data, ssize_t size);
-static void file_record(struct ihex_binrec *record);
-static int output_records(int outfd);
-
-static int sort_records = 0;
-static int wide_records = 0;
-
-int usage(void)
-{
-	fprintf(stderr, "ihex2fw: Convert ihex files into binary "
-		"representation for use by Linux kernel\n");
-	fprintf(stderr, "usage: ihex2fw [<options>] <src.HEX> <dst.fw>\n");
-	fprintf(stderr, "       -w: wide records (16-bit length)\n");
-	fprintf(stderr, "       -s: sort records by address\n");
-	return 1;
-}
-
-int main(int argc, char **argv)
-{
-	int infd, outfd;
-	struct stat st;
-	uint8_t *data;
-	int opt;
-
-	while ((opt = getopt(argc, argv, "ws")) != -1) {
-		switch (opt) {
-		case 'w':
-			wide_records = 1;
-			break;
-		case 's':
-			sort_records = 1;
-			break;
-		default:
-			return usage();
-		}
-	}
-
-	if (optind + 2 != argc)
-		return usage();
-
-	if (!strcmp(argv[optind], "-"))
-	    infd = 0;
-	else
-		infd = open(argv[optind], O_RDONLY);
-	if (infd == -1) {
-		fprintf(stderr, "Failed to open source file: %s",
-			strerror(errno));
-		return usage();
-	}
-	if (fstat(infd, &st)) {
-		perror("stat");
-		return 1;
-	}
-	data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, infd, 0);
-	if (data == MAP_FAILED) {
-		perror("mmap");
-		return 1;
-	}
-
-	if (!strcmp(argv[optind+1], "-"))
-	    outfd = 1;
-	else
-		outfd = open(argv[optind+1], O_TRUNC|O_CREAT|O_WRONLY, 0644);
-	if (outfd == -1) {
-		fprintf(stderr, "Failed to open destination file: %s",
-			strerror(errno));
-		return usage();
-	}
-	if (process_ihex(data, st.st_size))
-		return 1;
-
-	output_records(outfd);
-	return 0;
-}
-
-static int process_ihex(uint8_t *data, ssize_t size)
-{
-	struct ihex_binrec *record;
-	uint32_t offset = 0;
-	uint8_t type, crc = 0, crcbyte = 0;
-	int i, j;
-	int line = 1;
-	int len;
-
-	i = 0;
-next_record:
-	/* search for the start of record character */
-	while (i < size) {
-		if (data[i] == '\n') line++;
-		if (data[i++] == ':') break;
-	}
-
-	/* Minimum record length would be about 10 characters */
-	if (i + 10 > size) {
-		fprintf(stderr, "Can't find valid record at line %d\n", line);
-		return -EINVAL;
-	}
-
-	len = hex(data + i, &crc); i += 2;
-	if (wide_records) {
-		len <<= 8;
-		len += hex(data + i, &crc); i += 2;
-	}
-	record = malloc((sizeof (*record) + len + 3) & ~3);
-	if (!record) {
-		fprintf(stderr, "out of memory for records\n");
-		return -ENOMEM;
-	}
-	memset(record, 0, (sizeof(*record) + len + 3) & ~3);
-	record->len = len;
-
-	/* now check if we have enough data to read everything */
-	if (i + 8 + (record->len * 2) > size) {
-		fprintf(stderr, "Not enough data to read complete record at line %d\n",
-			line);
-		return -EINVAL;
-	}
-
-	record->addr  = hex(data + i, &crc) << 8; i += 2;
-	record->addr |= hex(data + i, &crc); i += 2;
-	type = hex(data + i, &crc); i += 2;
-
-	for (j = 0; j < record->len; j++, i += 2)
-		record->data[j] = hex(data + i, &crc);
-
-	/* check CRC */
-	crcbyte = hex(data + i, &crc); i += 2;
-	if (crc != 0) {
-		fprintf(stderr, "CRC failure at line %d: got 0x%X, expected 0x%X\n",
-			line, crcbyte, (unsigned char)(crcbyte-crc));
-		return -EINVAL;
-	}
-
-	/* Done reading the record */
-	switch (type) {
-	case 0:
-		/* old style EOF record? */
-		if (!record->len)
-			break;
-
-		record->addr += offset;
-		file_record(record);
-		goto next_record;
-
-	case 1: /* End-Of-File Record */
-		if (record->addr || record->len) {
-			fprintf(stderr, "Bad EOF record (type 01) format at line %d",
-				line);
-			return -EINVAL;
-		}
-		break;
-
-	case 2: /* Extended Segment Address Record (HEX86) */
-	case 4: /* Extended Linear Address Record (HEX386) */
-		if (record->addr || record->len != 2) {
-			fprintf(stderr, "Bad HEX86/HEX386 record (type %02X) at line %d\n",
-				type, line);
-			return -EINVAL;
-		}
-
-		/* We shouldn't really be using the offset for HEX86 because
-		 * the wraparound case is specified quite differently. */
-		offset = record->data[0] << 8 | record->data[1];
-		offset <<= (type == 2 ? 4 : 16);
-		goto next_record;
-
-	case 3: /* Start Segment Address Record */
-	case 5: /* Start Linear Address Record */
-		if (record->addr || record->len != 4) {
-			fprintf(stderr, "Bad Start Address record (type %02X) at line %d\n",
-				type, line);
-			return -EINVAL;
-		}
-
-		/* These records contain the CS/IP or EIP where execution
-		 * starts. Don't really know what to do with them. */
-		goto next_record;
-
-	default:
-		fprintf(stderr, "Unknown record (type %02X)\n", type);
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-static struct ihex_binrec *records;
-
-static void file_record(struct ihex_binrec *record)
-{
-	struct ihex_binrec **p = &records;
-
-	while ((*p) && (!sort_records || (*p)->addr < record->addr))
-		p = &((*p)->next);
-
-	record->next = *p;
-	*p = record;
-}
-
-static int output_records(int outfd)
-{
-	unsigned char zeroes[6] = {0, 0, 0, 0, 0, 0};
-	struct ihex_binrec *p = records;
-
-	while (p) {
-		uint16_t writelen = (p->len + 9) & ~3;
-
-		p->addr = htonl(p->addr);
-		p->len = htons(p->len);
-		write(outfd, &p->addr, writelen);
-		p = p->next;
-	}
-	/* EOF record is zero length, since we don't bother to represent
-	   the type field in the binary version */
-	write(outfd, zeroes, 6);
-	return 0;
-}
-- 
1.6.0.6



Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/.cvsignore,v
retrieving revision 1.969
retrieving revision 1.970
diff -u -r1.969 -r1.970
--- .cvsignore	31 Jan 2009 04:53:03 -0000	1.969
+++ .cvsignore	1 Feb 2009 05:50:57 -0000	1.970
@@ -5,4 +5,4 @@
 kernel-2.6.28
 linux-2.6.28.tar.bz2
 patch-2.6.29-rc3.bz2
-patch-2.6.29-rc3-git2.bz2
+patch-2.6.29-rc3-git3.bz2


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/kernel.spec,v
retrieving revision 1.1238
retrieving revision 1.1239
diff -u -r1.1238 -r1.1239
--- kernel.spec	31 Jan 2009 04:53:03 -0000	1.1238
+++ kernel.spec	1 Feb 2009 05:50:57 -0000	1.1239
@@ -57,7 +57,7 @@
 # The rc snapshot level
 %define rcrev 3
 # The git snapshot level
-%define gitrev 2
+%define gitrev 3
 # Set rpm version accordingly
 %define rpmversion 2.6.%{upstream_sublevel}
 %endif
@@ -588,8 +588,6 @@
 
 Patch21: linux-2.6-utrace.patch
 
-Patch30: linux-2.6-x86-mtrr-kill-bogus-warning.patch
-
 Patch41: linux-2.6-sysrq-c.patch
 
 Patch140: linux-2.6-ps3-ehci-iso.patch
@@ -667,6 +665,8 @@
 # silence the ACPI blacklist code
 Patch2802: linux-2.6-silence-acpi-blacklist.patch
 
+Patch9001: revert-fix-modules_install-via-nfs.patch
+
 # Hook up proper selinux bits for btrfs
 Patch9003: linux-2.6.29-btrfs-selinux.patch
 
@@ -1037,7 +1037,6 @@
 
 # Architecture patches
 # x86(-64)
-ApplyPatch linux-2.6-x86-mtrr-kill-bogus-warning.patch
 
 #
 # PowerPC
@@ -1187,6 +1186,9 @@
 # silence the ACPI blacklist code
 ApplyPatch linux-2.6-silence-acpi-blacklist.patch
 
+# revert 8b249b6856f16f09b0e5b79ce5f4d435e439b9d6
+ApplyPatch revert-fix-modules_install-via-nfs.patch
+
 # END OF PATCH APPLICATIONS
 
 %endif
@@ -1763,6 +1765,9 @@
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
 
 %changelog
+* Sun Feb 01 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29-0.9.rc3.git3
+- 2.6.29-rc3-git3
+
 * Fri Jan 30 2009 Chuck Ebbert <cebbert at redhat.com> 2.6.29-0.8.rc3.git2
 - 2.6.29-rc3-git2
 

linux-2.6-compile-fixes.patch:

Index: linux-2.6-compile-fixes.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/linux-2.6-compile-fixes.patch,v
retrieving revision 1.182
retrieving revision 1.183
diff -u -r1.182 -r1.183
--- linux-2.6-compile-fixes.patch	31 Jan 2009 04:53:03 -0000	1.182
+++ linux-2.6-compile-fixes.patch	1 Feb 2009 05:50:57 -0000	1.183
@@ -5,40 +5,6 @@
 # to do a compile to figure out what your diff is fixing. Thanks.
 #
 
-net/ipv6/ip6mr.c: In function 'pim6_rcv': 
-net/ipv6/ip6mr.c:368: error: implicit declaration of function 'csum_ipv6_magic' 
-
-Signed-off-by: Dave Jones <davej at redhat.com> 
-
---- a/net/ipv6/ip6mr.c
-+++ b/net/ipv6/ip6mr.c
-@@ -48,6 +48,7 @@ 
- #include <linux/pim.h>
- #include <net/addrconf.h>
- #include <linux/netfilter_ipv6.h>
-+#include <net/ip6_checksum.h>
- 
- /* Big lock, protecting vif table, mrt cache and mroute socket state.
-    Note that the changes are semaphored via rtnl_lock.
-
-CONFIG_MTD_NAND_FSL_UPM can be built modular, but needs to
-use fsl_lbc_lock, which isn't currently exported.
-
-Signed-off-by: Dave Jones <davej at redhat.com>
-
-diff --git a/arch/powerpc/sysdev/fsl_lbc.c b/arch/powerpc/sysdev/fsl_lbc.c
-index 0494ee5..43a9e56 100644
---- a/arch/powerpc/sysdev/fsl_lbc.c
-+++ b/arch/powerpc/sysdev/fsl_lbc.c
-@@ -23,6 +23,8 @@
- #include <asm/fsl_lbc.h>
- 
- static spinlock_t fsl_lbc_lock = __SPIN_LOCK_UNLOCKED(fsl_lbc_lock);
-+EXPORT_SYMBOL(fsl_lbc_lock);
-+
- static struct fsl_lbc_regs __iomem *fsl_lbc_regs;
- 
- static char __initdata *compat_lbc[] = {
 From:	Kumar Gala <galak at kernel.crashing.org>
 Subject: [PATCH] sata_sil: Fix build breakage
 Date:	Tue, 27 Jan 2009 23:02:02 -0600
@@ -84,654 +50,3 @@
  }
 -- 
 1.5.6.6
-
---
-To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
-the body of a message to majordomo at vger.kernel.org
-More majordomo info at  http://vger.kernel.org/majordomo-info.html
-Please read the FAQ at  http://www.tux.org/lkml/
-
-From e2efba5a3a087933a6e372fef4934c71f9b1365f Mon Sep 17 00:00:00 2001
-From: Kyle McMartin <kyle at minerva.i.cabal.ca>
-Date: Fri, 9 Jan 2009 11:54:51 -0500
-Subject: Revert "fix modules_install via NFS"
-
-This reverts commit 8b249b6856f16f09b0e5b79ce5f4d435e439b9d6.
----
- firmware/.gitignore |    1 +
- firmware/Makefile   |   10 +-
- firmware/ihex2fw.c  |  268 +++++++++++++++++++++++++++++++++++++++++++++++++++
- scripts/.gitignore  |    1 -
- scripts/Makefile    |    3 +-
- scripts/ihex2fw.c   |  268 ---------------------------------------------------
- 6 files changed, 276 insertions(+), 275 deletions(-)
- create mode 100644 firmware/ihex2fw.c
- delete mode 100644 scripts/ihex2fw.c
-
-diff --git a/firmware/.gitignore b/firmware/.gitignore
-index f89a21f..d9c6901 100644
---- a/firmware/.gitignore
-+++ b/firmware/.gitignore
-@@ -3,3 +3,4 @@
- *.bin
- *.csp
- *.dsp
-+ihex2fw
-diff --git a/firmware/Makefile b/firmware/Makefile
-index ea1d28f..aae5129 100644
---- a/firmware/Makefile
-+++ b/firmware/Makefile
-@@ -101,10 +101,10 @@ quiet_cmd_ihex  = IHEX    $@
-       cmd_ihex  = $(OBJCOPY) -Iihex -Obinary $< $@
- 
- quiet_cmd_ihex2fw  = IHEX2FW $@
--      cmd_ihex2fw  = $(objtree)/scripts/ihex2fw $< $@
-+      cmd_ihex2fw  = $(objtree)/$(obj)/ihex2fw $< $@
- 
- quiet_cmd_h16tofw  = H16TOFW $@
--      cmd_h16tofw  = $(objtree)/scripts/ihex2fw -w $< $@
-+      cmd_h16tofw  = $(objtree)/$(obj)/ihex2fw -w $< $@
- 
- quiet_cmd_fwbin = MK_FW   $@
-       cmd_fwbin = FWNAME="$(patsubst firmware/%.gen.S,%,$@)";		     \
-@@ -167,11 +167,11 @@ $(obj)/%: $(obj)/%.ihex | $(objtree)/$(obj)/$$(dir %)
- # is actually meaningful, because the firmware has to be loaded in a certain
- # order rather than as a single binary blob. Thus, we convert them into our
- # more compact binary representation of ihex records (<linux/ihex.h>)
--$(obj)/%.fw: $(obj)/%.HEX  | $(objtree)/$(obj)/$$(dir %)
-+$(obj)/%.fw: $(obj)/%.HEX $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %)
- 	$(call cmd,ihex2fw)
- 
- # .H16 is our own modified form of Intel HEX, with 16-bit length for records.
--$(obj)/%.fw: $(obj)/%.H16 | $(objtree)/$(obj)/$$(dir %)
-+$(obj)/%.fw: $(obj)/%.H16 $(obj)/ihex2fw | $(objtree)/$(obj)/$$(dir %)
- 	$(call cmd,h16tofw)
- 
- $(firmware-dirs):
-@@ -188,3 +188,5 @@ targets := $(fw-shipped-) $(patsubst $(obj)/%,%, \
- # Without this, built-in.o won't be created when it's empty, and the
- # final vmlinux link will fail.
- obj-n := dummy
-+
-+hostprogs-y := ihex2fw
-diff --git a/firmware/ihex2fw.c b/firmware/ihex2fw.c
-new file mode 100644
-index 0000000..8f7fdaa
---- /dev/null
-+++ b/firmware/ihex2fw.c
-@@ -0,0 +1,268 @@
-+/*
-+ * Parser/loader for IHEX formatted data.
-+ *
-+ * Copyright © 2008 David Woodhouse <dwmw2 at infradead.org>
-+ * Copyright © 2005 Jan Harkes <jaharkes at cs.cmu.edu>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#include <stdint.h>
-+#include <arpa/inet.h>
-+#include <stdio.h>
-+#include <errno.h>
-+#include <sys/types.h>
-+#include <sys/stat.h>
-+#include <sys/mman.h>
-+#include <fcntl.h>
-+#include <string.h>
-+#include <unistd.h>
-+#include <stdlib.h>
-+#define _GNU_SOURCE
-+#include <getopt.h>
-+
-+
-+struct ihex_binrec {
-+	struct ihex_binrec *next; /* not part of the real data structure */
-+        uint32_t addr;
-+        uint16_t len;
-+        uint8_t data[];
-+};
-+
-+/**
-+ * nybble/hex are little helpers to parse hexadecimal numbers to a byte value
-+ **/
-+static uint8_t nybble(const uint8_t n)
-+{
-+       if      (n >= '0' && n <= '9') return n - '0';
-+       else if (n >= 'A' && n <= 'F') return n - ('A' - 10);
-+       else if (n >= 'a' && n <= 'f') return n - ('a' - 10);
-+       return 0;
-+}
-+
-+static uint8_t hex(const uint8_t *data, uint8_t *crc)
-+{
-+       uint8_t val = (nybble(data[0]) << 4) | nybble(data[1]);
-+       *crc += val;
-+       return val;
-+}
-+
-+static int process_ihex(uint8_t *data, ssize_t size);
-+static void file_record(struct ihex_binrec *record);
-+static int output_records(int outfd);
-+
-+static int sort_records = 0;
-+static int wide_records = 0;
-+
-+int usage(void)
-+{
-+	fprintf(stderr, "ihex2fw: Convert ihex files into binary "
-+		"representation for use by Linux kernel\n");
-+	fprintf(stderr, "usage: ihex2fw [<options>] <src.HEX> <dst.fw>\n");
-+	fprintf(stderr, "       -w: wide records (16-bit length)\n");
-+	fprintf(stderr, "       -s: sort records by address\n");
-+	return 1;
-+}
-+
-+int main(int argc, char **argv)
-+{
-+	int infd, outfd;
-+	struct stat st;
-+	uint8_t *data;
-+	int opt;
-+
-+	while ((opt = getopt(argc, argv, "ws")) != -1) {
-+		switch (opt) {
-+		case 'w':
-+			wide_records = 1;
-+			break;
-+		case 's':
-+			sort_records = 1;
-+			break;
-+		default:
-+			return usage();
-+		}
-+	}
-+
-+	if (optind + 2 != argc)
-+		return usage();
-+
-+	if (!strcmp(argv[optind], "-"))
-+	    infd = 0;
-+	else
-+		infd = open(argv[optind], O_RDONLY);
-+	if (infd == -1) {
-+		fprintf(stderr, "Failed to open source file: %s",
-+			strerror(errno));
-+		return usage();
-+	}
-+	if (fstat(infd, &st)) {
-+		perror("stat");
-+		return 1;
-+	}
-+	data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, infd, 0);
-+	if (data == MAP_FAILED) {
-+		perror("mmap");
-+		return 1;
-+	}
-+
-+	if (!strcmp(argv[optind+1], "-"))
-+	    outfd = 1;
-+	else
-+		outfd = open(argv[optind+1], O_TRUNC|O_CREAT|O_WRONLY, 0644);
-+	if (outfd == -1) {
-+		fprintf(stderr, "Failed to open destination file: %s",
-+			strerror(errno));
-+		return usage();
-+	}
-+	if (process_ihex(data, st.st_size))
-+		return 1;
-+
-+	output_records(outfd);
-+	return 0;
-+}
-+
-+static int process_ihex(uint8_t *data, ssize_t size)
-+{
-+	struct ihex_binrec *record;
-+	uint32_t offset = 0;
-+	uint8_t type, crc = 0, crcbyte = 0;
-+	int i, j;
-+	int line = 1;
-+	int len;
-+
-+	i = 0;
-+next_record:
-+	/* search for the start of record character */
-+	while (i < size) {
-+		if (data[i] == '\n') line++;
-+		if (data[i++] == ':') break;
-+	}
-+
-+	/* Minimum record length would be about 10 characters */
-+	if (i + 10 > size) {
-+		fprintf(stderr, "Can't find valid record at line %d\n", line);
-+		return -EINVAL;
-+	}
-+
-+	len = hex(data + i, &crc); i += 2;
-+	if (wide_records) {
-+		len <<= 8;
-+		len += hex(data + i, &crc); i += 2;
-+	}
-+	record = malloc((sizeof (*record) + len + 3) & ~3);
-+	if (!record) {
-+		fprintf(stderr, "out of memory for records\n");
-+		return -ENOMEM;
-+	}
-+	memset(record, 0, (sizeof(*record) + len + 3) & ~3);
-+	record->len = len;
-+
-+	/* now check if we have enough data to read everything */
-+	if (i + 8 + (record->len * 2) > size) {
-+		fprintf(stderr, "Not enough data to read complete record at line %d\n",
-+			line);
-+		return -EINVAL;
-+	}
-+
-+	record->addr  = hex(data + i, &crc) << 8; i += 2;
-+	record->addr |= hex(data + i, &crc); i += 2;
-+	type = hex(data + i, &crc); i += 2;
-+
-+	for (j = 0; j < record->len; j++, i += 2)
-+		record->data[j] = hex(data + i, &crc);
-+
-+	/* check CRC */
-+	crcbyte = hex(data + i, &crc); i += 2;
-+	if (crc != 0) {
-+		fprintf(stderr, "CRC failure at line %d: got 0x%X, expected 0x%X\n",
-+			line, crcbyte, (unsigned char)(crcbyte-crc));
-+		return -EINVAL;
-+	}
-+
-+	/* Done reading the record */
-+	switch (type) {
-+	case 0:
-+		/* old style EOF record? */
-+		if (!record->len)
-+			break;
-+
-+		record->addr += offset;
-+		file_record(record);
-+		goto next_record;
-+
-+	case 1: /* End-Of-File Record */
-+		if (record->addr || record->len) {
-+			fprintf(stderr, "Bad EOF record (type 01) format at line %d",
-+				line);
-+			return -EINVAL;
-+		}
-+		break;
-+
-+	case 2: /* Extended Segment Address Record (HEX86) */
-+	case 4: /* Extended Linear Address Record (HEX386) */
-+		if (record->addr || record->len != 2) {
-+			fprintf(stderr, "Bad HEX86/HEX386 record (type %02X) at line %d\n",
-+				type, line);
-+			return -EINVAL;
-+		}
-+
-+		/* We shouldn't really be using the offset for HEX86 because
-+		 * the wraparound case is specified quite differently. */
-+		offset = record->data[0] << 8 | record->data[1];
-+		offset <<= (type == 2 ? 4 : 16);
-+		goto next_record;
-+
-+	case 3: /* Start Segment Address Record */
-+	case 5: /* Start Linear Address Record */
-+		if (record->addr || record->len != 4) {
-+			fprintf(stderr, "Bad Start Address record (type %02X) at line %d\n",
-+				type, line);
-+			return -EINVAL;
-+		}
-+
-+		/* These records contain the CS/IP or EIP where execution
-+		 * starts. Don't really know what to do with them. */
-+		goto next_record;
-+
-+	default:
-+		fprintf(stderr, "Unknown record (type %02X)\n", type);
-+		return -EINVAL;
-+	}
-+
-+	return 0;
-+}
-+
-+static struct ihex_binrec *records;
-+
-+static void file_record(struct ihex_binrec *record)
-+{
-+	struct ihex_binrec **p = &records;
-+
-+	while ((*p) && (!sort_records || (*p)->addr < record->addr))
-+		p = &((*p)->next);
-+
-+	record->next = *p;
-+	*p = record;
-+}
-+
-+static int output_records(int outfd)
-+{
-+	unsigned char zeroes[6] = {0, 0, 0, 0, 0, 0};
-+	struct ihex_binrec *p = records;
-+
-+	while (p) {
-+		uint16_t writelen = (p->len + 9) & ~3;
-+
-+		p->addr = htonl(p->addr);
-+		p->len = htons(p->len);
-+		write(outfd, &p->addr, writelen);
-+		p = p->next;
-+	}
-+	/* EOF record is zero length, since we don't bother to represent
-+	   the type field in the binary version */
-+	write(outfd, zeroes, 6);
-+	return 0;
-+}
-diff --git a/scripts/.gitignore b/scripts/.gitignore
-index 09e2406..b939fbd 100644
---- a/scripts/.gitignore
-+++ b/scripts/.gitignore
-@@ -1,7 +1,6 @@
- #
- # Generated files
- #
--ihex2fw
- conmakehash
- kallsyms
- pnmtologo
-diff --git a/scripts/Makefile b/scripts/Makefile
-index 035182e..aafdf06 100644
---- a/scripts/Makefile
-+++ b/scripts/Makefile
-@@ -2,12 +2,11 @@
- # scripts contains sources for various helper programs used throughout
- # the kernel for the build process.
- # ---------------------------------------------------------------------------
--# ihex2fw:       Parser/loader for IHEX formatted data
- # kallsyms:      Find all symbols in vmlinux
- # pnmttologo:    Convert pnm files to logo files
-+# conmakehash:   Create chartable
- # conmakehash:	 Create arrays for initializing the kernel console tables
- 
--hostprogs-y                      := ihex2fw
- hostprogs-$(CONFIG_KALLSYMS)     += kallsyms
- hostprogs-$(CONFIG_LOGO)         += pnmtologo
- hostprogs-$(CONFIG_VT)           += conmakehash
-diff --git a/scripts/ihex2fw.c b/scripts/ihex2fw.c
-deleted file mode 100644
-index 8f7fdaa..0000000
---- a/scripts/ihex2fw.c
-+++ /dev/null
-@@ -1,268 +0,0 @@
--/*
-- * Parser/loader for IHEX formatted data.
-- *
-- * Copyright © 2008 David Woodhouse <dwmw2 at infradead.org>
-- * Copyright © 2005 Jan Harkes <jaharkes at cs.cmu.edu>
-- *
-- * This program is free software; you can redistribute it and/or modify
-- * it under the terms of the GNU General Public License version 2 as
-- * published by the Free Software Foundation.
-- */
--
--#include <stdint.h>
--#include <arpa/inet.h>
--#include <stdio.h>
--#include <errno.h>
--#include <sys/types.h>
--#include <sys/stat.h>
--#include <sys/mman.h>
--#include <fcntl.h>
--#include <string.h>
--#include <unistd.h>
--#include <stdlib.h>
--#define _GNU_SOURCE
--#include <getopt.h>
--
--
--struct ihex_binrec {
--	struct ihex_binrec *next; /* not part of the real data structure */
--        uint32_t addr;
--        uint16_t len;
--        uint8_t data[];
--};
--
--/**
-- * nybble/hex are little helpers to parse hexadecimal numbers to a byte value
-- **/
--static uint8_t nybble(const uint8_t n)
--{
--       if      (n >= '0' && n <= '9') return n - '0';
--       else if (n >= 'A' && n <= 'F') return n - ('A' - 10);
--       else if (n >= 'a' && n <= 'f') return n - ('a' - 10);
--       return 0;
--}
--
--static uint8_t hex(const uint8_t *data, uint8_t *crc)
--{
--       uint8_t val = (nybble(data[0]) << 4) | nybble(data[1]);
--       *crc += val;
--       return val;
--}
--
--static int process_ihex(uint8_t *data, ssize_t size);
--static void file_record(struct ihex_binrec *record);
--static int output_records(int outfd);
--
--static int sort_records = 0;
--static int wide_records = 0;
--
--int usage(void)
--{
--	fprintf(stderr, "ihex2fw: Convert ihex files into binary "
--		"representation for use by Linux kernel\n");
--	fprintf(stderr, "usage: ihex2fw [<options>] <src.HEX> <dst.fw>\n");
--	fprintf(stderr, "       -w: wide records (16-bit length)\n");
--	fprintf(stderr, "       -s: sort records by address\n");
--	return 1;
--}
--
--int main(int argc, char **argv)
--{
--	int infd, outfd;
--	struct stat st;
--	uint8_t *data;
--	int opt;
--
--	while ((opt = getopt(argc, argv, "ws")) != -1) {
--		switch (opt) {
--		case 'w':
--			wide_records = 1;
--			break;
--		case 's':
--			sort_records = 1;
--			break;
--		default:
--			return usage();
--		}
--	}
--
--	if (optind + 2 != argc)
--		return usage();
--
--	if (!strcmp(argv[optind], "-"))
--	    infd = 0;
--	else
--		infd = open(argv[optind], O_RDONLY);
--	if (infd == -1) {
--		fprintf(stderr, "Failed to open source file: %s",
--			strerror(errno));
--		return usage();
--	}
--	if (fstat(infd, &st)) {
--		perror("stat");
--		return 1;
--	}
--	data = mmap(NULL, st.st_size, PROT_READ, MAP_SHARED, infd, 0);
--	if (data == MAP_FAILED) {
--		perror("mmap");
--		return 1;
--	}
--
--	if (!strcmp(argv[optind+1], "-"))
--	    outfd = 1;
--	else
--		outfd = open(argv[optind+1], O_TRUNC|O_CREAT|O_WRONLY, 0644);
--	if (outfd == -1) {
--		fprintf(stderr, "Failed to open destination file: %s",
--			strerror(errno));
--		return usage();
--	}
--	if (process_ihex(data, st.st_size))
--		return 1;
--
--	output_records(outfd);
--	return 0;
--}
--
--static int process_ihex(uint8_t *data, ssize_t size)
--{
--	struct ihex_binrec *record;
--	uint32_t offset = 0;
--	uint8_t type, crc = 0, crcbyte = 0;
--	int i, j;
--	int line = 1;
--	int len;
--
--	i = 0;
--next_record:
--	/* search for the start of record character */
--	while (i < size) {
--		if (data[i] == '\n') line++;
--		if (data[i++] == ':') break;
--	}
--
--	/* Minimum record length would be about 10 characters */
--	if (i + 10 > size) {
--		fprintf(stderr, "Can't find valid record at line %d\n", line);
--		return -EINVAL;
--	}
--
--	len = hex(data + i, &crc); i += 2;
--	if (wide_records) {
--		len <<= 8;
--		len += hex(data + i, &crc); i += 2;
--	}
--	record = malloc((sizeof (*record) + len + 3) & ~3);
--	if (!record) {
--		fprintf(stderr, "out of memory for records\n");
--		return -ENOMEM;
--	}
--	memset(record, 0, (sizeof(*record) + len + 3) & ~3);
--	record->len = len;
--
--	/* now check if we have enough data to read everything */
--	if (i + 8 + (record->len * 2) > size) {
--		fprintf(stderr, "Not enough data to read complete record at line %d\n",
--			line);
--		return -EINVAL;
--	}
--
--	record->addr  = hex(data + i, &crc) << 8; i += 2;
--	record->addr |= hex(data + i, &crc); i += 2;
--	type = hex(data + i, &crc); i += 2;
--
--	for (j = 0; j < record->len; j++, i += 2)
--		record->data[j] = hex(data + i, &crc);
--
--	/* check CRC */
--	crcbyte = hex(data + i, &crc); i += 2;
--	if (crc != 0) {
--		fprintf(stderr, "CRC failure at line %d: got 0x%X, expected 0x%X\n",
--			line, crcbyte, (unsigned char)(crcbyte-crc));
--		return -EINVAL;
--	}
--
--	/* Done reading the record */
--	switch (type) {
--	case 0:
--		/* old style EOF record? */
--		if (!record->len)
--			break;
--
--		record->addr += offset;
--		file_record(record);
--		goto next_record;
--
--	case 1: /* End-Of-File Record */
--		if (record->addr || record->len) {
--			fprintf(stderr, "Bad EOF record (type 01) format at line %d",
--				line);
--			return -EINVAL;
--		}
--		break;
--
--	case 2: /* Extended Segment Address Record (HEX86) */
--	case 4: /* Extended Linear Address Record (HEX386) */
--		if (record->addr || record->len != 2) {
--			fprintf(stderr, "Bad HEX86/HEX386 record (type %02X) at line %d\n",
--				type, line);
--			return -EINVAL;
--		}
--
--		/* We shouldn't really be using the offset for HEX86 because
--		 * the wraparound case is specified quite differently. */
--		offset = record->data[0] << 8 | record->data[1];
--		offset <<= (type == 2 ? 4 : 16);
--		goto next_record;
--
--	case 3: /* Start Segment Address Record */
--	case 5: /* Start Linear Address Record */
--		if (record->addr || record->len != 4) {
--			fprintf(stderr, "Bad Start Address record (type %02X) at line %d\n",
--				type, line);
--			return -EINVAL;
--		}
--
--		/* These records contain the CS/IP or EIP where execution
--		 * starts. Don't really know what to do with them. */
--		goto next_record;
--
--	default:
--		fprintf(stderr, "Unknown record (type %02X)\n", type);
--		return -EINVAL;
--	}
--
--	return 0;
--}
--
--static struct ihex_binrec *records;
--
--static void file_record(struct ihex_binrec *record)
--{
--	struct ihex_binrec **p = &records;
--
--	while ((*p) && (!sort_records || (*p)->addr < record->addr))
--		p = &((*p)->next);
--
--	record->next = *p;
--	*p = record;
--}
--
--static int output_records(int outfd)
--{
--	unsigned char zeroes[6] = {0, 0, 0, 0, 0, 0};
--	struct ihex_binrec *p = records;
--
--	while (p) {
--		uint16_t writelen = (p->len + 9) & ~3;
--
--		p->addr = htonl(p->addr);
--		p->len = htons(p->len);
--		write(outfd, &p->addr, writelen);
--		p = p->next;
--	}
--	/* EOF record is zero length, since we don't bother to represent
--	   the type field in the binary version */
--	write(outfd, zeroes, 6);
--	return 0;
--}
--- 
-1.6.0.6
-


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/sources,v
retrieving revision 1.931
retrieving revision 1.932
diff -u -r1.931 -r1.932
--- sources	31 Jan 2009 04:53:03 -0000	1.931
+++ sources	1 Feb 2009 05:50:58 -0000	1.932
@@ -1,3 +1,3 @@
 d351e44709c9810b85e29b877f50968a  linux-2.6.28.tar.bz2
 d95a5be60287e9632c9d0513b59f6511  patch-2.6.29-rc3.bz2
-9053918f123eb5412ce4f4e911c9976e  patch-2.6.29-rc3-git2.bz2
+218ae1d3c96bb85f51f26ea41f3a12d6  patch-2.6.29-rc3-git3.bz2


Index: upstream
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-10/upstream,v
retrieving revision 1.842
retrieving revision 1.843
diff -u -r1.842 -r1.843
--- upstream	31 Jan 2009 04:53:03 -0000	1.842
+++ upstream	1 Feb 2009 05:50:58 -0000	1.843
@@ -1,3 +1,3 @@
 linux-2.6.28.tar.bz2
 patch-2.6.29-rc3.bz2
-patch-2.6.29-rc3-git2.bz2
+patch-2.6.29-rc3-git3.bz2


--- linux-2.6-x86-mtrr-kill-bogus-warning.patch DELETED ---


--- patch-2.6.29-rc3-git2.bz2.sign DELETED ---




More information about the fedora-extras-commits mailing list