make this target current

This commit is contained in:
Eric Andersen 2006-12-13 12:18:08 +00:00
parent 0ac8b4c298
commit 6e2b255ad8
12 changed files with 107 additions and 6746 deletions

View File

@ -1,46 +0,0 @@
--- linux/arch/mips/Makefile.orig 2006-01-02 20:21:10.000000000 -0700
+++ linux/arch/mips/Makefile 2006-03-19 17:25:29.000000000 -0700
@@ -22,15 +22,15 @@
# Select the object file format to substitute into the linker script.
#
ifdef CONFIG_CPU_LITTLE_ENDIAN
-32bit-tool-prefix = mipsel-linux-
-64bit-tool-prefix = mips64el-linux-
+#32bit-tool-prefix = mipsel-linux-
+#64bit-tool-prefix = mips64el-linux-
32bit-bfd = elf32-tradlittlemips
64bit-bfd = elf64-tradlittlemips
32bit-emul = elf32ltsmip
64bit-emul = elf64ltsmip
else
-32bit-tool-prefix = mips-linux-
-64bit-tool-prefix = mips64-linux-
+#32bit-tool-prefix = mips-linux-
+#64bit-tool-prefix = mips64-linux-
32bit-bfd = elf32-tradbigmips
64bit-bfd = elf64-tradbigmips
32bit-emul = elf32btsmip
@@ -39,18 +39,18 @@
ifdef CONFIG_32BIT
gcc-abi = 32
-tool-prefix = $(32bit-tool-prefix)
+#tool-prefix = $(32bit-tool-prefix)
UTS_MACHINE := mips
endif
ifdef CONFIG_64BIT
gcc-abi = 64
-tool-prefix = $(64bit-tool-prefix)
+#tool-prefix = $(64bit-tool-prefix)
UTS_MACHINE := mips64
endif
-ifdef CONFIG_CROSSCOMPILE
-CROSS_COMPILE := $(tool-prefix)
-endif
+#ifdef CONFIG_CROSSCOMPILE
+#CROSS_COMPILE := $(tool-prefix)
+#endif
CHECKFLAGS-y += -D__linux__ -D__mips__ \
-D_ABIO32=1 \

View File

@ -1,11 +0,0 @@
--- orig/kernel/fork.c 2006-03-21 01:41:50.000000000 -0700
+++ linux-2.6.16/kernel/fork.c 2006-03-21 01:41:50.000000000 -0700
@@ -773,7 +773,7 @@
/* This can race but the race causes us to copy when we don't
need to and drop the copy */
- if(atomic_read(&files->count) == 1)
+ if(atomic_read(&files->count) == 1 || current->pid == 1)
{
atomic_inc(&files->count);
return 0;

View File

@ -1,11 +0,0 @@
--- orig/drivers/ieee1394/nodemgr.c 2006-03-21 01:41:51.000000000 -0700
+++ linux-2.6.16/drivers/ieee1394/nodemgr.c 2006-03-21 01:41:51.000000000 -0700
@@ -1487,7 +1487,7 @@
/* If there is no bus manager then we should set the root node's
* force_root bit to promote bus stability per the 1394
* spec. (8.4.2.6) */
- if (host->busmgr_id == 0xffff && host->node_count > 1)
+ if (host->busmgr_id == 0x3f && host->node_count > 1)
{
u16 root_node = host->node_count - 1;

View File

@ -1,27 +0,0 @@
--- linux-2.6.16-rc6-mm1.orig/lib/kobject_uevent.c 2006-03-14 22:57:23.000000000 +0900
+++ linux-2.6.16-rc6-mm1/lib/kobject_uevent.c 2006-03-15 08:39:33.000000000 +0900
@@ -25,6 +25,11 @@
#define BUFFER_SIZE 2048 /* buffer for the variables */
#define NUM_ENVP 32 /* number of env pointers */
+#ifdef CONFIG_HOTPLUG
+u64 uevent_seqnum;
+char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug";
+#endif
+
#if defined(CONFIG_HOTPLUG) && defined(CONFIG_NET)
static DEFINE_SPINLOCK(sequence_lock);
static struct sock *uevent_sock;
--- linux-2.6.16-rc6-mm1.orig/kernel/ksysfs.c 2006-03-14 22:57:31.000000000 +0900
+++ linux-2.6.16-rc6-mm1/kernel/ksysfs.c 2006-03-15 08:41:11.000000000 +0900
@@ -15,9 +15,6 @@
#include <linux/module.h>
#include <linux/init.h>
-u64 uevent_seqnum;
-char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug";
-
#define KERNEL_ATTR_RO(_name) \
static struct subsys_attribute _name##_attr = __ATTR_RO(_name)

View File

@ -1,13 +0,0 @@
--- orig/drivers/cdrom/cdrom.c 2004-12-07 22:55:38.000000000 -0700
+++ linux-2.6.10-rc3/drivers/cdrom/cdrom.c 2004-12-07 22:55:38.000000000 -0700
@@ -997,6 +997,10 @@
cdinfo(CD_OPEN, "entering cdrom_open\n");
+ /* If the device is opened O_EXCL but there are other openers, return busy */
+ if ( (fp->f_flags & O_EXCL) && (cdi->use_count>0) )
+ return -EBUSY;
+
/* if this was a O_NONBLOCK open and we should honor the flags,
* do a quick open without drive/disc integrity checks. */
cdi->use_count++;

View File

@ -1,109 +0,0 @@
--- orig/include/linux/cdrom.h 2005-10-28 10:14:52.000000000 -0600
+++ linux-2.6.14/include/linux/cdrom.h 2005-10-28 10:14:52.000000000 -0600
@@ -946,7 +946,8 @@
char name[20]; /* name of the device type */
/* per-device flags */
__u8 sanyo_slot : 2; /* Sanyo 3 CD changer support */
- __u8 reserved : 6; /* not used yet */
+ __u8 use_read10 : 1; /* Use READ10 instead of READCD */
+ __u8 reserved : 5; /* not used yet */
int cdda_method; /* see flags */
__u8 last_sense;
__u8 media_written; /* dirty flag, DVD+RW bookkeeping */
--- orig/drivers/cdrom/cdrom.c 2005-10-28 10:14:52.000000000 -0600
+++ linux-2.6.14/drivers/cdrom/cdrom.c 2005-10-28 10:14:52.000000000 -0600
@@ -1982,6 +1982,8 @@
return 0;
}
+static int cdrom_switch_blocksize(struct cdrom_device_info *cdi, int size);
+
/*
* Specific READ_10 interface
*/
@@ -1990,6 +1992,7 @@
int blocksize, int nblocks)
{
struct cdrom_device_ops *cdo = cdi->ops;
+ int ret = 0;
memset(&cgc->cmd, 0, sizeof(cgc->cmd));
cgc->cmd[0] = GPCMD_READ_10;
@@ -2001,7 +2004,22 @@
cgc->cmd[7] = (nblocks >> 8) & 0xff;
cgc->cmd[8] = nblocks & 0xff;
cgc->buflen = blocksize * nblocks;
- return cdo->generic_packet(cdi, cgc);
+
+ if (blocksize != CD_FRAMESIZE) {
+ ret = cdrom_switch_blocksize(cdi, blocksize);
+ ret |= cdo->generic_packet(cdi, cgc);
+ ret |= cdrom_switch_blocksize(cdi, CD_FRAMESIZE);
+ } else ret = cdo->generic_packet(cdi, cgc);
+
+ /*
+ * Switch cdrom_read_block back to default behaviour
+ * if we get an error.
+ * FIXME: Maybe this should not be done on all errors.
+ */
+ if (ret != 0)
+ cdi->use_read10 = 0;
+
+ return ret;
}
/* very generic interface for reading the various types of blocks */
@@ -2010,8 +2028,15 @@
int lba, int nblocks, int format, int blksize)
{
struct cdrom_device_ops *cdo = cdi->ops;
+ int ret;
+
+ if (cdi->use_read10)
+ return cdrom_read_cd(cdi, cgc, lba, blksize, nblocks);
memset(&cgc->cmd, 0, sizeof(cgc->cmd));
+ /*
+ * SCSI-II devices are not required to support READ_CD.
+ */
cgc->cmd[0] = GPCMD_READ_CD;
/* expected sector size - cdda,mode1,etc. */
cgc->cmd[1] = format << 2;
@@ -2034,7 +2059,15 @@
default : cgc->cmd[9] = 0x10;
}
- return cdo->generic_packet(cdi, cgc);
+ ret = cdo->generic_packet(cdi, cgc);
+ if (ret && cgc->sense && cgc->sense->sense_key==0x05 && cgc->sense->asc==0x20 && cgc->sense->ascq==0x00) {
+ ret = cdrom_read_cd(cdi, cgc, lba, blksize, nblocks);
+ if (ret == 0) {
+ cdi->use_read10 = 1;
+ printk(KERN_INFO "cdrom.c: drive does not like READ_CD for blksize=%d, switching to READ_10.\n", blksize);
+ }
+ }
+ return ret;
}
static int cdrom_read_cdda_old(struct cdrom_device_info *cdi, __u8 __user *ubuf,
@@ -2671,20 +2704,6 @@
cgc.sense = &sense;
cgc.data_direction = CGC_DATA_READ;
ret = cdrom_read_block(cdi, &cgc, lba, 1, format, blocksize);
- if (ret && sense.sense_key==0x05 && sense.asc==0x20 && sense.ascq==0x00) {
- /*
- * SCSI-II devices are not required to support
- * READ_CD, so let's try switching block size
- */
- /* FIXME: switch back again... */
- if ((ret = cdrom_switch_blocksize(cdi, blocksize))) {
- kfree(cgc.buffer);
- return ret;
- }
- cgc.sense = NULL;
- ret = cdrom_read_cd(cdi, &cgc, lba, blocksize, 1);
- ret |= cdrom_switch_blocksize(cdi, blocksize);
- }
if (!ret && copy_to_user((char __user *)arg, cgc.buffer, blocksize))
ret = -EFAULT;
kfree(cgc.buffer);

View File

@ -1,11 +0,0 @@
--- orig/drivers/md/md.c 2006-03-21 01:43:49.000000000 -0700
+++ linux-2.6.16/drivers/md/md.c 2006-03-21 01:43:49.000000000 -0700
@@ -4860,7 +4860,7 @@
if ((code == SYS_DOWN) || (code == SYS_HALT) || (code == SYS_POWER_OFF)) {
- printk(KERN_INFO "md: stopping all md devices.\n");
+ //printk(KERN_INFO "md: stopping all md devices.\n");
ITERATE_MDDEV(mddev,tmp)
if (mddev_trylock(mddev)==0)

View File

@ -1,18 +0,0 @@
--- orig/drivers/scsi/scsi_ioctl.c 2005-12-03 02:10:27.000000000 -0700
+++ linux-2.6.14/drivers/scsi/scsi_ioctl.c 2005-12-03 02:10:27.000000000 -0700
@@ -374,6 +374,7 @@
if (!scsi_block_when_processing_errors(sdev))
return -ENODEV;
+#if 0
/* Check for deprecated ioctls ... all the ioctls which don't
* follow the new unique numbering scheme are deprecated */
switch (cmd) {
@@ -389,6 +390,7 @@
default:
break;
}
+#endif
switch (cmd) {
case SCSI_IOCTL_GET_IDLUN:

View File

@ -1,12 +0,0 @@
--- orig/Makefile 2005-12-03 09:22:07 +0000
+++ linux-2.6.14/Makefile 2005-12-03 09:22:07 +0000
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
-SUBLEVEL = 16
-EXTRAVERSION = .20
+SUBLEVEL = 16
+EXTRAVERSION = .20-erik
NAME=Sliding Snow Leopard
# *DOCUMENTATION*

View File

@ -1,128 +0,0 @@
#############################################################
#
# Linux kernel targets
#
# Note: If you have any patches to apply, create the directory
# sources/kernel-patches and put your patches in there and number
# them in the order you wish to apply them... i.e.
#
# sources/kernel-patches/001-my-special-stuff.bz2
# sources/kernel-patches/003-gcc-Os.bz2
# sources/kernel-patches/004_no-warnings.bz2
# sources/kernel-patches/030-lowlatency-mini.bz2
# sources/kernel-patches/031-lowlatency-fixes-5.bz2
# sources/kernel-patches/099-shutup.bz2
# etc...
#
# these patches will all be applied by the patch-kernel.sh
# script (which will also abort the build if it finds rejects)
# -Erik
#
#############################################################
ifneq ($(filter $(TARGETS),linux),)
# Base version of Linux kernel that we need to download
DOWNLOAD_LINUX_VERSION=2.6.16
# Version of Linux kernel AFTER applying all patches
LINUX_VERSION=2.6.16.20-erik
# File name for the Linux kernel binary
LINUX_KERNEL=linux-kernel-$(LINUX_VERSION)-$(ARCH).srec
# Linux kernel configuration file
LINUX_KCONFIG=$(ALCHEMY_DBAU1500_PATH)/linux.config
# kernel patches
LINUX_PATCH_DIR=target/device/AMD/DBAu1500/kernel-patches/
LINUX_FORMAT=vmlinux
LINUX_KARCH:=$(shell echo $(ARCH) | sed -e 's/i[3-9]86/i386/' \
-e 's/mipsel/mips/' \
-e 's/powerpc/ppc/' \
-e 's/sh[234]/sh/' \
)
LINUX_BINLOC=$(LINUX_FORMAT)
LINUX_DIR=$(BUILD_DIR)/linux-$(LINUX_VERSION)
LINUX_SOURCE=linux-$(DOWNLOAD_LINUX_VERSION).tar.bz2
LINUX_CAT:=$(BZCAT)
LINUX_SITE=http://www.kernel.org/pub/linux/kernel/v2.6
# Used by pcmcia-cs and others
LINUX_SOURCE_DIR=$(LINUX_DIR)
$(DL_DIR)/$(LINUX_SOURCE):
-mkdir -p $(DL_DIR)
$(WGET) -P $(DL_DIR) $(LINUX_SITE)/$(LINUX_SOURCE)
$(LINUX_DIR)/.unpacked: $(DL_DIR)/$(LINUX_SOURCE)
-mkdir -p $(TOOL_BUILD_DIR)
-(cd $(TOOL_BUILD_DIR); ln -snf $(LINUX_DIR) linux)
$(LINUX_CAT) $(DL_DIR)/$(LINUX_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
ifneq ($(DOWNLOAD_LINUX_VERSION),$(LINUX_VERSION))
# Rename the dir from the downloaded version to the AFTER patch version
mv -f $(BUILD_DIR)/linux-$(DOWNLOAD_LINUX_VERSION) $(BUILD_DIR)/linux-$(LINUX_VERSION)
endif
toolchain/patch-kernel.sh $(LINUX_DIR) $(LINUX_PATCH_DIR)
touch $(LINUX_DIR)/.unpacked
$(LINUX_KCONFIG):
@if [ ! -f "$(LINUX_KCONFIG)" ] ; then \
echo ""; \
echo "You should create a .config for your kernel"; \
echo "and install it as $(LINUX_KCONFIG)"; \
echo ""; \
sleep 5; \
fi;
$(LINUX_DIR)/.configured $(BUILD_DIR)/linux/.configured: $(LINUX_DIR)/.unpacked $(LINUX_KCONFIG)
$(SED) "s,^ARCH.*,ARCH=$(LINUX_KARCH),g;" $(LINUX_DIR)/Makefile
$(SED) "s,^CROSS_COMPILE.*,CROSS_COMPILE=$(KERNEL_CROSS),g;" $(LINUX_DIR)/Makefile
-cp $(LINUX_KCONFIG) $(LINUX_DIR)/.config
ifeq ($(strip $(BR2_mips)),y)
$(SED) "s,CONFIG_CPU_LITTLE_ENDIAN=y,# CONFIG_CPU_LITTLE_ENDIAN is not set\n# CONFIG_BINFMT_IRIX is not set," $(LINUX_DIR)/.config
endif
$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX_DIR) oldconfig include/linux/version.h
touch $(LINUX_DIR)/.configured
$(LINUX_DIR)/.depend_done: $(LINUX_DIR)/.configured
$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX_DIR) dep
touch $(LINUX_DIR)/.depend_done
$(LINUX_DIR)/$(LINUX_BINLOC): $(LINUX_DIR)/.depend_done
$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX_DIR) $(LINUX_FORMAT)
$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX_DIR) modules
$(LINUX_KERNEL): $(LINUX_DIR)/$(LINUX_BINLOC)
$(KERNEL_CROSS)objcopy -O srec $(LINUX_DIR)/$(LINUX_BINLOC) $(LINUX_KERNEL)
touch -c $(LINUX_KERNEL)
$(TARGET_DIR)/lib/modules/$(LINUX_VERSION)/modules.dep: $(LINUX_KERNEL) cross-depmod
rm -rf $(TARGET_DIR)/lib/modules
rm -f $(TARGET_DIR)/sbin/cardmgr
$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX_DIR) \
DEPMOD=$(STAGING_DIR)/usr/bin/$(GNU_TARGET_NAME)-depmod \
INSTALL_MOD_PATH=$(TARGET_DIR) modules_install
$(STAGING_DIR)/include/linux/version.h: $(LINUX_DIR)/.configured
mkdir -p $(STAGING_DIR)/include
tar -ch -C $(LINUX_DIR)/include -f - linux | tar -xf - -C $(STAGING_DIR)/include/
tar -ch -C $(LINUX_DIR)/include -f - asm | tar -xf - -C $(STAGING_DIR)/include/
linux: $(STAGING_DIR)/include/linux/version.h $(TARGET_DIR)/lib/modules/$(LINUX_VERSION)/modules.dep
linux-source: $(DL_DIR)/$(LINUX_SOURCE)
# This has been renamed so we do _NOT_ by default run this on 'make clean'
linuxclean: clean
rm -f $(LINUX_KERNEL)
-$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX_DIR) clean
linux-dirclean:
rm -rf $(LINUX_DIR)
endif

View File

@ -0,0 +1,107 @@
#############################################################
#
# Linux kernel 2.6 target
#
#############################################################
ifneq ($(filter $(TARGETS),linux26),)
# Version of Linux to download and then apply patches to
DOWNLOAD_LINUX26_VERSION=2.6.19.1
# Version of Linux after applying any patches
LINUX26_VERSION=2.6.19.1
LINUX26_SOURCE=linux-$(DOWNLOAD_LINUX26_VERSION).tar.bz2
LINUX26_SITE=http://ftp.kernel.org/pub/linux/kernel/v2.6
LINUX26_FORMAT=vmlinux
LINUX26_BINLOC=$(LINUX26_FORMAT)
# Linux kernel configuration file
LINUX26_KCONFIG=$(ALCHEMY_DBAU1500_PATH)/linux26.config
# File name for the Linux kernel binary
LINUX26_KERNEL=linux-kernel-$(LINUX26_VERSION)-$(KERNEL_ARCH).srec
# Version of Linux AFTER patches
LINUX26_DIR=$(BUILD_DIR)/linux-$(LINUX26_VERSION)
# kernel patches
LINUX26_PATCH_DIR=target/device/AMD/DBAu1500/kernel-patches/
LINUX26_MAKE_FLAGS = $(TARGET_CONFIGURE_OPTS) ARCH=$(KERNEL_ARCH) \
PATH=$(TARGET_PATH) INSTALL_MOD_PATH=$(TARGET_DIR) \
CROSS_COMPILE=$(KERNEL_CROSS)
$(DL_DIR)/$(LINUX26_SOURCE):
$(WGET) -P $(DL_DIR) $(LINUX26_SITE)/$(LINUX26_SOURCE)
$(LINUX26_DIR)/.unpacked: $(DL_DIR)/$(LINUX26_SOURCE)
rm -rf $(LINUX26_DIR)
bzcat $(DL_DIR)/$(LINUX26_SOURCE) | tar -C $(BUILD_DIR) -xvf -
ifneq ($(DOWNLOAD_LINUX26_VERSION),$(LINUX26_VERSION))
# Rename the dir from the downloaded version to the AFTER patch version
mv -f $(BUILD_DIR)/linux-$(DOWNLOAD_LINUX26_VERSION) $(BUILD_DIR)/linux-$(LINUX26_VERSION)
endif
touch $(LINUX26_DIR)/.unpacked
$(LINUX26_KCONFIG):
@if [ ! -f "$(LINUX26_KCONFIG)" ] ; then \
echo ""; \
echo "You should create a .config for your kernel"; \
echo "and install it as $(LINUX26_KCONFIG)"; \
echo ""; \
sleep 5; \
fi;
$(LINUX26_DIR)/.patched: $(LINUX26_DIR)/.unpacked
#toolchain/patch-kernel.sh $(LINUX26_DIR) $(LINUX26_PATCH_DIR)
touch $(LINUX26_DIR)/.patched
$(LINUX26_DIR)/.configured: $(LINUX26_DIR)/.patched $(LINUX26_KCONFIG)
-cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) oldconfig
touch $(LINUX26_DIR)/.configured
linux26-menuconfig: $(LINUX26_DIR)/.patched
[ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
$(LINUX26_DIR)/.depend_done: $(LINUX26_DIR)/.configured
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) prepare
touch $(LINUX26_DIR)/.depend_done
$(LINUX26_KERNEL): $(LINUX26_DIR)/.depend_done
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(LINUX26_FORMAT) bzImage
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) modules
$(KERNEL_CROSS)objcopy -O srec $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL)
touch -c $(LINUX26_KERNEL)
$(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_KERNEL)
rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)
rm -f $(TARGET_DIR)/sbin/cardmgr
$(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) \
DEPMOD=$(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 \
INSTALL_MOD_PATH=$(TARGET_DIR) modules_install
rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/build
touch -c $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep
linux26: cross-depmod26 $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep
linux26-source: $(DL_DIR)/$(LINUX26_SOURCE)
# This has been renamed so we do _NOT_ by default run this on 'make clean'
linux26clean:
rm -f $(LINUX26_KERNEL)
-$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX26_DIR) clean
linux26-dirclean:
rm -rf $(LINUX26_DIR)
endif