diff options
author | Felix Domke <tmbinc@elitedvb.ne> | 2008-07-14 06:51:13 +0000 |
---|---|---|
committer | Felix Domke <tmbinc@elitedvb.ne> | 2008-07-14 06:51:13 +0000 |
commit | f63cb4ffaadf45c2af177ec66ab20d82781540fe (patch) | |
tree | 9795549e9d8c991b7f04139aca088e3feb49c1e7 /packages/linux | |
parent | cd21ab24b9b40a4f5d45c9ee42f15b795e1fb862 (diff) | |
download | openembedded-f63cb4ffaadf45c2af177ec66ab20d82781540fe.tar.gz |
add dm8000 support
Diffstat (limited to 'packages/linux')
15 files changed, 3026 insertions, 0 deletions
diff --git a/packages/linux/linux-dm8000.bb b/packages/linux/linux-dm8000.bb new file mode 100644 index 0000000000..17ef604dc0 --- /dev/null +++ b/packages/linux/linux-dm8000.bb @@ -0,0 +1,78 @@ +DESCRIPTION = "Linux kernel for Dreambox DM8000" +LICENSE = "GPL" +PN = "linux-dm8000" +KV = "2.6.12" +PV = "2.6.12" +PR = "r2" + +# note, the rX in the filename is *NOT* the packet revision - it's the patch revision. +SRC_URI += "ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-${KV}.tar.bz2 \ + file://dm8000_defconfig \ + http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-brcm-5.1.patch.bz2;patch=1;pnum=1 \ + http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update_dvbapi-r1.patch.bz2;patch=1;pnum=1 \ + http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-multipid-r4.patch.bz2;patch=1;pnum=1 \ + http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvb-core-fix-several-locking-problems.patch.bz2;patch=1;pnum=1 \ + http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-dvbapi-pilot-rolloff-extension-r0.patch.bz2;patch=1;pnum=1 \ + http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-update-wireless.patch.bz2;patch=1;pnum=1 \ + http://sources.dreamboxupdate.com/download/kernel-patches/linux-2.6.12-add-ioprio.patch.bz2;patch=1;pnum=1 \ + file://linux-2.6.12-dream-misc.patch;patch=1;pnum=1 \ + file://linux-2.6.12-dm8000-nand.patch;patch=1;pnum=1 \ + file://linux-2.6.12-dream-temp.patch;patch=1;pnum=1 \ + file://linux-2.6.12-brcm-mtd-blkdevfs-fix.diff;patch=1;pnum=1 \ + file://linux-2.6.12-set-custom-extraversion.patch;patch=1;pnum=1 \ + file://linux-2.6.12-fixup-prom-args.patch;patch=1;pnum=1 \ + file://linux-2.6.12-7400AB-enable-llsc.patch;patch=1;pnum=1 \ + file://linuxmips-2.6.12-fix-fadvise.patch;patch=1;pnum=1 \ + file://linuxmips-2.6.12-fix-futex.patch;patch=1;pnum=1 \ + file://linuxmips-2.6.12-gcc4-compile-fix.patch;patch=1;pnum=1 \ + file://linuxmips-2.6.12-gdb-fix.patch;patch=1;pnum=1 \ + file://linux-2.6.12-brcm-fix-minipci.patch;patch=1;pnum=1" + +S = "${WORKDIR}/stblinux-2.6.12" + +inherit kernel + +FILES_kernel-image = "/boot/vmlinux.gz /boot/autoexec.bat" + +export OS = "Linux" +KERNEL_IMAGETYPE = "vmlinux" +KERNEL_OUTPUT = "vmlinux" +KERNEL_OBJECT_SUFFIX = "ko" + +do_munge() { + mv ${WORKDIR}/linux-2.6.12 ${WORKDIR}/stblinux-2.6.12 + if [ -d ${S}/drivers/sound ]; then + rm -R ${S}/drivers/sound; + fi; +} + +addtask munge before do_patch after do_unpack + +do_configure_prepend() { + oe_machinstall -m 0644 ${WORKDIR}/dm8000_defconfig ${S}/.config + oe_runmake oldconfig +} + +do_install_append () { + install -d ${D}/boot + install -m 0755 vmlinux ${D}/boot/vmlinux + echo "/flash/bootlogo.elf" > ${D}/boot/autoexec.bat + gzip ${D}/boot/vmlinux + echo "/flash/vmlinux.gz" >> ${D}/boot/autoexec.bat +} + +pkg_preinst_kernel-image () { + [ -d /proc/stb ] && mount -o rw,remount /boot +} + +pkg_postinst_kernel-image () { + [ -d /proc/stb ] && mount -o ro,remount /boot +} + +pkg_prerm_kernel-image () { + [ -d /proc/stb ] && mount -o rw,remount /boot +} + +pkg_postrm_kernel-image () { + [ -d /proc/stb ] && mount -o ro,remount /boot +} diff --git a/packages/linux/linux-dm8000/.mtn2git_empty b/packages/linux/linux-dm8000/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-dm8000/.mtn2git_empty diff --git a/packages/linux/linux-dm8000/dm8000_defconfig b/packages/linux/linux-dm8000/dm8000_defconfig new file mode 100644 index 0000000000..f8ee5d34f1 --- /dev/null +++ b/packages/linux/linux-dm8000/dm8000_defconfig @@ -0,0 +1,1749 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.12-5.1-brcmstb-dm8000 +# Wed Jun 25 11:05:01 2008 +# +CONFIG_MIPS=y + +# +# Code maturity level options +# +CONFIG_EXPERIMENTAL=y +CONFIG_CLEAN_COMPILE=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 + +# +# General setup +# +CONFIG_LOCALVERSION="" +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +CONFIG_SYSCTL=y +# CONFIG_AUDIT is not set +CONFIG_HOTPLUG=y +CONFIG_KOBJECT_UEVENT=y +# CONFIG_IKCONFIG is not set +CONFIG_EMBEDDED=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_EPOLL=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_SHMEM=y +CONFIG_CC_ALIGN_FUNCTIONS=0 +CONFIG_CC_ALIGN_LABELS=0 +CONFIG_CC_ALIGN_LOOPS=0 +CONFIG_CC_ALIGN_JUMPS=0 +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 + +# +# Loadable module support +# +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_OBSOLETE_MODPARM=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y + +# +# Machine selection +# +# CONFIG_MIPS_BCM3560A0 is not set +# CONFIG_MIPS_BCM3560B0 is not set +# CONFIG_MIPS_BCM3563 is not set +# CONFIG_MIPS_BCM3563C0 is not set +# CONFIG_MIPS_BCM7038B0 is not set +# CONFIG_MIPS_BCM7038CX is not set +# CONFIG_MIPS_BCM97398 is not set +# CONFIG_MIPS_BCM7110 is not set +# CONFIG_MIPS_BCM7111 is not set +# CONFIG_MIPS_BCM7112 is not set +# CONFIG_MIPS_BCM7115 is not set +# CONFIG_MIPS_BCM7118AX is not set +# CONFIG_MIPS_BCM7118A0_NAND is not set +# CONFIG_MIPS_BCM7312 is not set +# CONFIG_MIPS_BCM7315 is not set +# CONFIG_MIPS_BCM7317 is not set +# CONFIG_MIPS_BCM7318 is not set +# CONFIG_MIPS_BCM7319 is not set +# CONFIG_MIPS_BCM7320 is not set +# CONFIG_MIPS_BCM7328 is not set +# CONFIG_MIPS_BCM7329 is not set +# CONFIG_MIPS_BCM97456 is not set +# CONFIG_MIPS_BCM97456BX is not set +# CONFIG_MIPS_BCM97456BX_NAND is not set +# CONFIG_MIPS_BCM7400AX is not set +CONFIG_MIPS_BCM7400BX=y +# CONFIG_MIPS_BCM7400BX_NAND is not set +# CONFIG_MIPS_BCM7400AX_NAND is not set +# CONFIG_MIPS_BCM7405AX is not set +# CONFIG_MIPS_BCM97455 is not set +# CONFIG_MIPS_BCM7401AX is not set +# CONFIG_MIPS_BCM7401BX is not set +# CONFIG_MIPS_BCM7401BX_NAND is not set +# CONFIG_MIPS_BCM97455B0 is not set +# CONFIG_MIPS_BCM7401CX is not set +# CONFIG_MIPS_BCM7401CX_NAND is not set +# CONFIG_MIPS_BCM97455CX is not set +# CONFIG_MIPS_BCM97455CX_NAND is not set +# CONFIG_MIPS_BCM97458AX is not set +# CONFIG_MIPS_BCM97458AX_NAND is not set +# CONFIG_MIPS_BCM7402S is not set +# CONFIG_MIPS_BCM7402B0S is not set +# CONFIG_MIPS_BCM7402A0 is not set +# CONFIG_MIPS_BCM7402CX is not set +# CONFIG_MIPS_BCM7402CX_NAND is not set +# CONFIG_MIPS_BCM7403AX is not set +# CONFIG_MIPS_BCM7451AX_SMB is not set +# CONFIG_MIPS_BCM7403AX_NAND is not set +# CONFIG_MIPS_BCM7452AX is not set +# CONFIG_MIPS_BCM7452AX_NAND is not set +# CONFIG_MIPS_BCM7440AX is not set +# CONFIG_MIPS_BCM7440BX is not set +# CONFIG_MIPS_BCM7440BX_NAND is not set +# CONFIG_MIPS_BCM93730 is not set +# CONFIG_MIPS_MTX1 is not set +# CONFIG_MIPS_BOSPORUS is not set +# CONFIG_MIPS_PB1000 is not set +# CONFIG_MIPS_PB1100 is not set +# CONFIG_MIPS_PB1500 is not set +# CONFIG_MIPS_PB1550 is not set +# CONFIG_MIPS_PB1200 is not set +# CONFIG_MIPS_DB1000 is not set +# CONFIG_MIPS_DB1100 is not set +# CONFIG_MIPS_DB1500 is not set +# CONFIG_MIPS_DB1550 is not set +# CONFIG_MIPS_DB1200 is not set +# CONFIG_MIPS_MIRAGE is not set +# CONFIG_MIPS_COBALT is not set +# CONFIG_MACH_DECSTATION is not set +# CONFIG_MIPS_EV64120 is not set +# CONFIG_MIPS_EV96100 is not set +# CONFIG_MIPS_IVR is not set +# CONFIG_MIPS_ITE8172 is not set +# CONFIG_MACH_JAZZ is not set +# CONFIG_LASAT is not set +# CONFIG_MIPS_ATLAS is not set +# CONFIG_MIPS_MALTA is not set +# CONFIG_MIPS_SEAD is not set +# CONFIG_MOMENCO_JAGUAR_ATX is not set +# CONFIG_MOMENCO_OCELOT is not set +# CONFIG_MOMENCO_OCELOT_3 is not set +# CONFIG_MOMENCO_OCELOT_C is not set +# CONFIG_MOMENCO_OCELOT_G is not set +# CONFIG_MIPS_XXS1500 is not set +# CONFIG_DDB5074 is not set +# CONFIG_DDB5476 is not set +# CONFIG_DDB5477 is not set +# CONFIG_MACH_VR41XX is not set +# CONFIG_PMC_YOSEMITE is not set +# CONFIG_QEMU is not set +# CONFIG_SGI_IP22 is not set +# CONFIG_SGI_IP27 is not set +# CONFIG_SGI_IP32 is not set +# CONFIG_SIBYTE_SWARM is not set +# CONFIG_SIBYTE_SENTOSA is not set +# CONFIG_SIBYTE_RHONE is not set +# CONFIG_SIBYTE_CARMEL is not set +# CONFIG_SIBYTE_PTSWARM is not set +# CONFIG_SIBYTE_LITTLESUR is not set +# CONFIG_SIBYTE_CRHINE is not set +# CONFIG_SIBYTE_CRHONE is not set +# CONFIG_SNI_RM200_PCI is not set +# CONFIG_TOSHIBA_JMR3927 is not set +# CONFIG_TOSHIBA_RBTX4927 is not set +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_HAVE_DEC_LOCK=y +CONFIG_DMA_NONCOHERENT=y +# CONFIG_CPU_BIG_ENDIAN is not set +CONFIG_CPU_LITTLE_ENDIAN=y +CONFIG_SYS_SUPPORTS_CPUFREQ=y +CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y +CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y +CONFIG_IRQ_CPU=y +CONFIG_MIPS_BRCM97XXX=y +CONFIG_MIPS_BCM7400B0=y +CONFIG_MIPS_BCM7400=y +CONFIG_MIPS_BRCM=y +# CONFIG_BRCM_7XXX_SERIAL is not set +# CONFIG_LONG_LONG_SUPPORT is not set +CONFIG_SERIAL=y +CONFIG_MIPS_L1_CACHE_SHIFT=6 + +# +# Power management +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +# CONFIG_CPU_FREQ_DEBUG is not set +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_STAT_DETAILS=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=m +CONFIG_CPU_FREQ_GOV_USERSPACE=m +CONFIG_CPU_FREQ_GOV_ONDEMAND=m +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=m +CONFIG_CPU_FREQ_BRCM=y + +# +# CPU selection +# +# CONFIG_CPU_MIPS32_R2 is not set +CONFIG_CPU_MIPS32_R1=y +# CONFIG_CPU_MIPS64_R1 is not set +# CONFIG_CPU_R3000 is not set +# CONFIG_CPU_TX39XX is not set +# CONFIG_CPU_VR41XX is not set +# CONFIG_CPU_R4300 is not set +# CONFIG_CPU_R4X00 is not set +# CONFIG_CPU_TX49XX is not set +# CONFIG_CPU_R5000 is not set +# CONFIG_CPU_R5432 is not set +# CONFIG_CPU_R6000 is not set +# CONFIG_CPU_NEVADA is not set +# CONFIG_CPU_R8000 is not set +# CONFIG_CPU_R10000 is not set +# CONFIG_CPU_RM7000 is not set +# CONFIG_CPU_RM9000 is not set +# CONFIG_CPU_SB1 is not set +CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y +CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y + +# +# Kernel type +# +CONFIG_MIPS32=y +# CONFIG_MIPS64 is not set +# CONFIG_64BIT is not set +CONFIG_PAGE_SIZE_4KB=y +# CONFIG_PAGE_SIZE_8KB is not set +# CONFIG_PAGE_SIZE_16KB is not set +# CONFIG_PAGE_SIZE_64KB is not set +CONFIG_CPU_HAS_PREFETCH=y +# CONFIG_64BIT_PHYS_ADDR is not set +# CONFIG_CPU_ADVANCED is not set +CONFIG_CPU_HAS_LLSC=y +CONFIG_CPU_HAS_SYNC=y +# CONFIG_SMP is not set +# CONFIG_PREEMPT is not set + +# +# Bus options (PCI, PCMCIA, EISA, ISA, TC) +# +CONFIG_HW_HAS_PCI=y +CONFIG_PCI=y +CONFIG_PCI_LEGACY_PROC=y +# CONFIG_PCI_NAMES is not set +CONFIG_MMU=y + +# +# PCCARD (PCMCIA/CardBus) support +# +# CONFIG_PCCARD is not set + +# +# PCI Hotplug Support +# +# CONFIG_HOTPLUG_PCI is not set + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_MISC is not set +CONFIG_TRAD_SIGNALS=y + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y + +# +# Memory Technology Devices (MTD) +# +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +# CONFIG_MTD_CMDLINE_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLOCK=y +# CONFIG_MTD_BLOCK_ROMBLOCK is not set +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +CONFIG_MTD_CFI_GEOMETRY=y +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_OTP is not set +# CONFIG_MTD_CFI_INTELEXT is not set +CONFIG_MTD_CFI_AMDSTD=y +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_PHYSMAP is not set +CONFIG_MTD_BCM7XXX=y +# CONFIG_MTD_MULTI_PHYSMAP is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_RAMTD is not set +# CONFIG_MTD_BLKMTD is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set + +# +# NAND Flash Device Drivers +# +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +CONFIG_MTD_NAND_DM8000=y +# CONFIG_MTD_NAND_NANDSIM is not set + +# +# OneNAND Flash Device Drivers +# +# CONFIG_MTD_ONENAND is not set + +# +# Broadcom NAND Flash Device Drivers +# +# CONFIG_MTD_BRCMNAND is not set + +# +# Parallel port support +# +# CONFIG_PARPORT is not set + +# +# Plug and Play support +# + +# +# Block devices +# +# CONFIG_BLK_DEV_FD is not set +# CONFIG_BLK_CPQ_DA is not set +# CONFIG_BLK_CPQ_CISS_DA is not set +# CONFIG_BLK_DEV_DAC960 is not set +# CONFIG_BLK_DEV_UMEM is not set +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_CRYPTOLOOP=m +CONFIG_BLK_DEV_NBD=m +# CONFIG_BLK_DEV_SX8 is not set +# CONFIG_BLK_DEV_UB is not set +# CONFIG_BLK_DEV_RAM is not set +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_INITRAMFS_SOURCE="" +# CONFIG_LBD is not set +CONFIG_CDROM_PKTCDVD=m +CONFIG_CDROM_PKTCDVD_BUFFERS=8 +# CONFIG_CDROM_PKTCDVD_WCACHE is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +CONFIG_IOSCHED_AS=y +CONFIG_IOSCHED_DEADLINE=y +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_ATA_OVER_ETH=m + +# +# ATA/ATAPI/MFM/RLL support +# +CONFIG_IDE=y +CONFIG_BLK_DEV_IDE=y + +# +# Please see Documentation/ide.txt for help/info on IDE drives +# +CONFIG_BLK_DEV_IDE_SATA=y +CONFIG_BLK_DEV_IDEDISK=y +CONFIG_IDEDISK_MULTI_MODE=y +CONFIG_BLK_DEV_IDECD=m +# CONFIG_BLK_DEV_IDETAPE is not set +# CONFIG_BLK_DEV_IDEFLOPPY is not set +# CONFIG_BLK_DEV_IDESCSI is not set +# CONFIG_IDE_TASK_IOCTL is not set + +# +# IDE chipset support/bugfixes +# +CONFIG_IDE_GENERIC=y +CONFIG_BLK_DEV_IDEPCI=y +# CONFIG_IDEPCI_SHARE_IRQ is not set +# CONFIG_BLK_DEV_OFFBOARD is not set +CONFIG_BLK_DEV_GENERIC=y +# CONFIG_BLK_DEV_OPTI621 is not set +CONFIG_BLK_DEV_IDEDMA_PCI=y +# CONFIG_BLK_DEV_IDEDMA_FORCED is not set +CONFIG_IDEDMA_PCI_AUTO=y +# CONFIG_IDEDMA_ONLYDISK is not set +# CONFIG_BLK_DEV_AEC62XX is not set +# CONFIG_BLK_DEV_ALI15X3 is not set +# CONFIG_BLK_DEV_AMD74XX is not set +# CONFIG_BLK_DEV_CMD64X is not set +# CONFIG_BLK_DEV_TRIFLEX is not set +# CONFIG_BLK_DEV_CY82C693 is not set +# CONFIG_BLK_DEV_CS5520 is not set +# CONFIG_BLK_DEV_CS5530 is not set +# CONFIG_BLK_DEV_HPT34X is not set +# CONFIG_BLK_DEV_HPT366 is not set +# CONFIG_BLK_DEV_SC1200 is not set +# CONFIG_BLK_DEV_PIIX is not set +# CONFIG_BLK_DEV_NS87415 is not set +# CONFIG_BLK_DEV_PDC202XX_OLD is not set +# CONFIG_BLK_DEV_PDC202XX_NEW is not set +CONFIG_BLK_DEV_SVWKS=y +# CONFIG_BLK_DEV_SIIMAGE is not set +# CONFIG_BLK_DEV_SLC90E66 is not set +# CONFIG_BLK_DEV_TRM290 is not set +# CONFIG_BLK_DEV_VIA82CXXX is not set +# CONFIG_IDE_ARM is not set +CONFIG_BLK_DEV_IDEDMA=y +# CONFIG_IDEDMA_IVB is not set +CONFIG_IDEDMA_AUTO=y +# CONFIG_BLK_DEV_HD is not set + +# +# SCSI device support +# +CONFIG_SCSI=m +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +CONFIG_CHR_DEV_SG=m + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +CONFIG_SCSI_MULTI_LUN=y +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set + +# +# SCSI Transport Attributes +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set + +# +# SCSI low-level drivers +# +# CONFIG_BLK_DEV_3W_XXXX_RAID is not set +# CONFIG_SCSI_3W_9XXX is not set +# CONFIG_SCSI_ACARD is not set +# CONFIG_SCSI_AACRAID is not set +# CONFIG_SCSI_AIC7XXX is not set +# CONFIG_SCSI_AIC7XXX_OLD is not set +# CONFIG_SCSI_AIC79XX is not set +# CONFIG_SCSI_DPT_I2O is not set +# CONFIG_MEGARAID_NEWGEN is not set +# CONFIG_MEGARAID_LEGACY is not set +# CONFIG_SCSI_SATA is not set +# CONFIG_SCSI_DMX3191D is not set +# CONFIG_SCSI_FUTURE_DOMAIN is not set +# CONFIG_SCSI_IPS is not set +# CONFIG_SCSI_INITIO is not set +# CONFIG_SCSI_INIA100 is not set +# CONFIG_SCSI_SYM53C8XX_2 is not set +# CONFIG_SCSI_IPR is not set +# CONFIG_SCSI_QLOGIC_FC is not set +# CONFIG_SCSI_QLOGIC_1280 is not set +CONFIG_SCSI_QLA2XXX=m +# CONFIG_SCSI_QLA21XX is not set +# CONFIG_SCSI_QLA22XX is not set +# CONFIG_SCSI_QLA2300 is not set +# CONFIG_SCSI_QLA2322 is not set +# CONFIG_SCSI_QLA6312 is not set +# CONFIG_SCSI_LPFC is not set +# CONFIG_SCSI_DC395x is not set +# CONFIG_SCSI_DC390T is not set +# CONFIG_SCSI_NSP32 is not set +CONFIG_SCSI_DEBUG=m + +# +# Multi-device support (RAID and LVM) +# +CONFIG_MD=y +CONFIG_BLK_DEV_MD=m +CONFIG_MD_LINEAR=m +CONFIG_MD_RAID0=m +CONFIG_MD_RAID1=m +CONFIG_MD_RAID10=m +CONFIG_MD_RAID5=m +CONFIG_MD_RAID6=m +CONFIG_MD_MULTIPATH=m +CONFIG_MD_FAULTY=m +CONFIG_BLK_DEV_DM=m +CONFIG_DM_CRYPT=m +CONFIG_DM_SNAPSHOT=m +CONFIG_DM_MIRROR=m +CONFIG_DM_ZERO=m +CONFIG_DM_MULTIPATH=m +CONFIG_DM_MULTIPATH_EMC=m + +# +# Fusion MPT device support +# +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_IEEE1394 is not set + +# +# I2O device support +# +# CONFIG_I2O is not set + +# +# Networking support +# +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +# CONFIG_PACKET_MMAP is not set +CONFIG_UNIX=y +# CONFIG_NET_KEY is not set +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_IP_MROUTE=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_ARPD=y +CONFIG_SYN_COOKIES=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_IPCOMP=m +CONFIG_INET_TUNNEL=m +CONFIG_IP_TCPDIAG=y +# CONFIG_IP_TCPDIAG_IPV6 is not set + +# +# IP: Virtual Server Configuration +# +# CONFIG_IP_VS is not set +CONFIG_IPV6=m +CONFIG_IPV6_PRIVACY=y +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +CONFIG_INET6_TUNNEL=m +CONFIG_IPV6_TUNNEL=m +CONFIG_NETFILTER=y +# CONFIG_NETFILTER_DEBUG is not set +CONFIG_BRIDGE_NETFILTER=y + +# +# IP: Netfilter Configuration +# +CONFIG_IP_NF_CONNTRACK=m +# CONFIG_IP_NF_CT_ACCT is not set +CONFIG_IP_NF_CONNTRACK_MARK=y +CONFIG_IP_NF_CT_PROTO_SCTP=m +CONFIG_IP_NF_FTP=m +CONFIG_IP_NF_IRC=m +CONFIG_IP_NF_TFTP=m +CONFIG_IP_NF_AMANDA=m +CONFIG_IP_NF_QUEUE=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_LIMIT=m +CONFIG_IP_NF_MATCH_IPRANGE=m +CONFIG_IP_NF_MATCH_MAC=m +CONFIG_IP_NF_MATCH_PKTTYPE=m +CONFIG_IP_NF_MATCH_MARK=m +CONFIG_IP_NF_MATCH_MULTIPORT=m +CONFIG_IP_NF_MATCH_TOS=m +CONFIG_IP_NF_MATCH_RECENT=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_DSCP=m +CONFIG_IP_NF_MATCH_AH_ESP=m +CONFIG_IP_NF_MATCH_LENGTH=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_MATCH_TCPMSS=m +CONFIG_IP_NF_MATCH_HELPER=m +CONFIG_IP_NF_MATCH_STATE=m +CONFIG_IP_NF_MATCH_CONNTRACK=m +CONFIG_IP_NF_MATCH_OWNER=m +# CONFIG_IP_NF_MATCH_PHYSDEV is not set +CONFIG_IP_NF_MATCH_ADDRTYPE=m +CONFIG_IP_NF_MATCH_REALM=m +CONFIG_IP_NF_MATCH_SCTP=m +CONFIG_IP_NF_MATCH_COMMENT=m +CONFIG_IP_NF_MATCH_CONNMARK=m +CONFIG_IP_NF_MATCH_HASHLIMIT=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_LOG=m +CONFIG_IP_NF_TARGET_ULOG=m +CONFIG_IP_NF_TARGET_TCPMSS=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_NAT_NEEDED=y +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_SAME=m +CONFIG_IP_NF_NAT_SNMP_BASIC=m +CONFIG_IP_NF_NAT_IRC=m +CONFIG_IP_NF_NAT_FTP=m +CONFIG_IP_NF_NAT_TFTP=m +CONFIG_IP_NF_NAT_AMANDA=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_TOS=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_DSCP=m +CONFIG_IP_NF_TARGET_MARK=m +CONFIG_IP_NF_TARGET_CLASSIFY=m +CONFIG_IP_NF_TARGET_CONNMARK=m +CONFIG_IP_NF_TARGET_CLUSTERIP=m +CONFIG_IP_NF_RAW=m +CONFIG_IP_NF_TARGET_NOTRACK=m +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m + +# +# IPv6: Netfilter Configuration (EXPERIMENTAL) +# +CONFIG_IP6_NF_QUEUE=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_LIMIT=m +CONFIG_IP6_NF_MATCH_MAC=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_MULTIPORT=m +CONFIG_IP6_NF_MATCH_OWNER=m +CONFIG_IP6_NF_MATCH_MARK=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_AHESP=m +CONFIG_IP6_NF_MATCH_LENGTH=m +CONFIG_IP6_NF_MATCH_EUI64=m +# CONFIG_IP6_NF_MATCH_PHYSDEV is not set +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_LOG=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_TARGET_MARK=m +CONFIG_IP6_NF_RAW=m + +# +# Bridge: Netfilter Configuration +# +# CONFIG_BRIDGE_NF_EBTABLES is not set +CONFIG_XFRM=y +CONFIG_XFRM_USER=m + +# +# SCTP Configuration (EXPERIMENTAL) +# +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_MSG is not set +# CONFIG_SCTP_DBG_OBJCNT is not set +# CONFIG_SCTP_HMAC_NONE is not set +# CONFIG_SCTP_HMAC_SHA1 is not set +CONFIG_SCTP_HMAC_MD5=y +# CONFIG_ATM is not set +CONFIG_BRIDGE=m +CONFIG_VLAN_8021Q=m +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_NET_DIVERT is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set + +# +# QoS and/or fair queueing +# +CONFIG_NET_SCHED=y +CONFIG_NET_SCH_CLK_JIFFIES=y +# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set +# CONFIG_NET_SCH_CLK_CPU is not set +CONFIG_NET_SCH_CBQ=m +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_DSMARK=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_INGRESS=m +CONFIG_NET_QOS=y +CONFIG_NET_ESTIMATOR=y +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_TCINDEX=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_ROUTE=y +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +CONFIG_CLS_U32_PERF=y +CONFIG_NET_CLS_IND=y +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_RSVP=m +CONFIG_NET_CLS_RSVP6=m +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +CONFIG_NETPOLL=y +CONFIG_NETPOLL_RX=y +CONFIG_NETPOLL_TRAP=y +CONFIG_NET_POLL_CONTROLLER=y +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +CONFIG_BT=m +CONFIG_BT_L2CAP=m +CONFIG_BT_SCO=m +CONFIG_BT_RFCOMM=m +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=m +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=m + +# +# Bluetooth device drivers +# +CONFIG_BT_HCIUSB=m +CONFIG_BT_HCIUSB_SCO=y +# CONFIG_BT_HCIUART is not set +CONFIG_BT_HCIBCM203X=m +CONFIG_BT_HCIBPA10X=m +CONFIG_BT_HCIBFUSB=m +# CONFIG_BT_HCIVHCI is not set +CONFIG_NETDEVICES=y +CONFIG_NETIF_DMA=y +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_EQUALIZER is not set +CONFIG_TUN=m + +# +# ARCnet devices +# +# CONFIG_ARCNET is not set + +# +# Ethernet (10 or 100Mbit) +# +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +CONFIG_BCMINTEMAC_7038=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_NET_VENDOR_3COM is not set + +# +# Tulip family network device support +# +# CONFIG_NET_TULIP is not set +# CONFIG_HP100 is not set +# CONFIG_NET_PCI is not set + +# +# Ethernet (1000 Mbit) +# +# CONFIG_ACENIC is not set +# CONFIG_DL2K is not set +# CONFIG_E1000 is not set +# CONFIG_NS83820 is not set +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_R8169 is not set +# CONFIG_SK98LIN is not set +# CONFIG_TIGON3 is not set +# CONFIG_BNX2 is not set + +# +# Ethernet (10000 Mbit) +# +# CONFIG_IXGB is not set +# CONFIG_S2IO is not set + +# +# Token Ring devices +# +# CONFIG_TR is not set + +# +# Wireless LAN (non-hamradio) +# +CONFIG_NET_RADIO=y + +# +# Obsolete Wireless cards support (pre-802.11) +# +# CONFIG_STRIP is not set + +# +# Wireless 802.11b ISA/PCI cards support +# +# CONFIG_HERMES is not set +# CONFIG_ATMEL is not set + +# +# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support +# +# CONFIG_PRISM54 is not set +CONFIG_NET_WIRELESS=y + +# +# Wan interfaces +# +# CONFIG_WAN is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PPP=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPP_FILTER=y +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +CONFIG_PPPOE=m +# CONFIG_SLIP is not set +# CONFIG_NET_FC is not set +# CONFIG_SHAPER is not set +CONFIG_NETCONSOLE=m + +# +# ISDN subsystem +# +# CONFIG_ISDN is not set + +# +# Telephony Support +# +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=m +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +CONFIG_INPUT_JOYDEV=m +# CONFIG_INPUT_TSDEV is not set +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_EVBUG=m + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=y +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_INPUT_JOYSTICK=y +# CONFIG_JOYSTICK_ANALOG is not set +# CONFIG_JOYSTICK_A3D is not set +# CONFIG_JOYSTICK_ADI is not set +# CONFIG_JOYSTICK_COBRA is not set +# CONFIG_JOYSTICK_GF2K is not set +# CONFIG_JOYSTICK_GRIP is not set +# CONFIG_JOYSTICK_GRIP_MP is not set +# CONFIG_JOYSTICK_GUILLEMOT is not set +# CONFIG_JOYSTICK_INTERACT is not set +# CONFIG_JOYSTICK_SIDEWINDER is not set +# CONFIG_JOYSTICK_TMDC is not set +# CONFIG_JOYSTICK_IFORCE is not set +# CONFIG_JOYSTICK_WARRIOR is not set +# CONFIG_JOYSTICK_MAGELLAN is not set +# CONFIG_JOYSTICK_SPACEORB is not set +# CONFIG_JOYSTICK_SPACEBALL is not set +# CONFIG_JOYSTICK_STINGER is not set +# CONFIG_JOYSTICK_TWIDJOY is not set +# CONFIG_JOYSTICK_JOYDUMP is not set +CONFIG_INPUT_TOUCHSCREEN=y +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_MK712 is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_PCSPKR is not set +# CONFIG_INPUT_UINPUT is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +# CONFIG_SERIO_I8042 is not set +# CONFIG_SERIO_SERPORT is not set +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +# CONFIG_VT is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +CONFIG_SERIAL_8250=y +CONFIG_SERIAL_8250_CONSOLE=y +CONFIG_SERIAL_8250_NR_UARTS=0 +# CONFIG_SERIAL_8250_EXTENDED is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_JSM is not set +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set + +# +# IPMI +# +# CONFIG_IPMI_HANDLER is not set + +# +# Watchdog Cards +# +# CONFIG_WATCHDOG is not set +# CONFIG_RTC is not set +# CONFIG_GEN_RTC is not set +# CONFIG_DTLK is not set +# CONFIG_R3964 is not set +# CONFIG_APPLICOM is not set + +# +# Ftape, the floppy tape device driver +# +# CONFIG_DRM is not set +# CONFIG_RAW_DRIVER is not set + +# +# TPM devices +# +# CONFIG_TCG_TPM is not set + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y + +# +# I2C Algorithms +# +# CONFIG_I2C_ALGOBIT is not set +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_I810 is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_ISA is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_PROSAVAGE is not set +# CONFIG_I2C_SAVAGE4 is not set +# CONFIG_SCx200_ACB is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set +# CONFIG_I2C_VOODOO3 is not set +# CONFIG_I2C_PCA_ISA is not set + +# +# Hardware Sensors Chip support +# +# CONFIG_I2C_SENSOR is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_FSCHER is not set +# CONFIG_SENSORS_FSCPOS is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83627HF is not set + +# +# Other I2C Chip support +# +# CONFIG_SENSORS_DS1337 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_RTC8564 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set + +# +# Dallas's 1-wire bus +# +# CONFIG_W1 is not set + +# +# Misc devices +# + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set + +# +# Digital Video Broadcasting Devices +# +CONFIG_DVB=y +CONFIG_DVB_CORE=y + +# +# Supported SAA7146 based PCI Adapters +# +# CONFIG_DVB_AV7110 is not set +# CONFIG_DVB_BUDGET is not set +# CONFIG_DVB_BUDGET_CI is not set +# CONFIG_DVB_BUDGET_AV is not set + +# +# Supported USB Adapters +# +# CONFIG_DVB_TTUSB_BUDGET is not set +# CONFIG_DVB_TTUSB_DEC is not set +# CONFIG_DVB_DIBUSB is not set +# CONFIG_DVB_CINERGYT2 is not set + +# +# Supported FlexCopII (B2C2) Adapters +# +# CONFIG_DVB_B2C2_FLEXCOP is not set +# CONFIG_DVB_B2C2_SKYSTAR is not set + +# +# Supported BT878 Adapters +# + +# +# Supported DVB Frontends +# + +# +# Customise DVB Frontends +# + +# +# DVB-S (satellite) frontends +# +CONFIG_DVB_STV0299=m +# CONFIG_DVB_CX24110 is not set +CONFIG_DVB_TDA8083=m +# CONFIG_DVB_TDA80XX is not set +CONFIG_DVB_MT312=m +CONFIG_DVB_VES1X93=m + +# +# DVB-T (terrestrial) frontends +# +# CONFIG_DVB_SP8870 is not set +# CONFIG_DVB_SP887X is not set +# CONFIG_DVB_CX22700 is not set +# CONFIG_DVB_CX22702 is not set +CONFIG_DVB_L64781=m +# CONFIG_DVB_TDA1004X is not set +# CONFIG_DVB_NXT6000 is not set +# CONFIG_DVB_MT352 is not set +# CONFIG_DVB_DIB3000MB is not set +# CONFIG_DVB_DIB3000MC is not set + +# +# DVB-C (cable) frontends +# +# CONFIG_DVB_ATMEL_AT76C651 is not set +CONFIG_DVB_VES1820=m +CONFIG_DVB_TDA10021=m +# CONFIG_DVB_STV0297 is not set + +# +# ATSC (North American/Korean Terresterial DTV) frontends +# +# CONFIG_DVB_NXT2002 is not set +# CONFIG_DVB_OR51211 is not set +# CONFIG_DVB_OR51132 is not set + +# +# Graphics support +# +CONFIG_FB=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_SOFT_CURSOR=y +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON_OLD is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_SMIVGX is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_E1356 is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_VIRTUAL is not set + +# +# Logo configuration +# +# CONFIG_LOGO is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Sound +# +CONFIG_SOUND=y + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=y +CONFIG_SND_PCM_OSS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# PCI devices +# +# CONFIG_SND_ALI5451 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AZT3328 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_EMU10K1 is not set +# CONFIG_SND_EMU10K1X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_TRIDENT is not set +# CONFIG_SND_YMFPCI is not set +# CONFIG_SND_ALS4000 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_ES1938 is not set +# CONFIG_SND_ES1968 is not set +# CONFIG_SND_MAESTRO3 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_ICE1712 is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_SONICVIBES is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_HDA_INTEL is not set + +# +# ALSA MIPS devices +# + +# +# USB devices +# +# CONFIG_SND_USB_AUDIO is not set + +# +# Open Sound System +# +# CONFIG_SOUND_PRIME is not set + +# +# USB support +# +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +CONFIG_USB=y +CONFIG_USB_DEBUG=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_BANDWIDTH is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +# CONFIG_USB_OTG is not set + +# +# USB Host Controller Drivers +# +CONFIG_USB_EHCI_HCD=y +# CONFIG_USB_EHCI_SPLIT_ISO is not set +# CONFIG_USB_EHCI_ROOT_HUB_TT is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +CONFIG_USB_BRCM=y +# CONFIG_USB_BRCM_PWR_CTL is not set + +# +# USB Device Class drivers +# +CONFIG_USB_AUDIO=m + +# +# USB Bluetooth TTY can only be used with disabled Bluetooth subsystem +# +CONFIG_USB_MIDI=m +CONFIG_USB_ACM=m +CONFIG_USB_PRINTER=m + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=m +# CONFIG_USB_STORAGE_DEBUG is not set +CONFIG_USB_STORAGE_DATAFAB=y +CONFIG_USB_STORAGE_FREECOM=y +CONFIG_USB_STORAGE_ISD200=y +CONFIG_USB_STORAGE_DPCM=y +CONFIG_USB_STORAGE_USBAT=y +CONFIG_USB_STORAGE_SDDR09=y +CONFIG_USB_STORAGE_SDDR55=y +CONFIG_USB_STORAGE_JUMPSHOT=y + +# +# USB Input Devices +# +CONFIG_USB_HID=m +CONFIG_USB_HIDINPUT=y +# CONFIG_HID_FF is not set +# CONFIG_USB_HIDDEV is not set + +# +# USB HID Boot Protocol drivers +# +# CONFIG_USB_KBD is not set +# CONFIG_USB_MOUSE is not set +CONFIG_USB_AIPTEK=m +CONFIG_USB_WACOM=m +CONFIG_USB_KBTAB=m +CONFIG_USB_POWERMATE=m +CONFIG_USB_MTOUCH=m +CONFIG_USB_EGALAX=m +CONFIG_USB_XPAD=m +CONFIG_USB_ATI_REMOTE=m + +# +# USB Imaging devices +# +CONFIG_USB_MDC800=m +CONFIG_USB_MICROTEK=m + +# +# USB Multimedia devices +# +CONFIG_USB_DABUSB=m + +# +# Video4Linux support is needed for USB Multimedia device support +# + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set +# CONFIG_USB_ZD1201 is not set +CONFIG_USB_MON=m + +# +# USB port drivers +# + +# +# USB Serial Converter support +# +# CONFIG_USB_SERIAL is not set + +# +# USB Miscellaneous drivers +# +CONFIG_USB_EMI62=m +CONFIG_USB_EMI26=m +CONFIG_USB_AUERSWALD=m +CONFIG_USB_RIO500=m +CONFIG_USB_LEGOTOWER=m +CONFIG_USB_LCD=m +CONFIG_USB_LED=m +CONFIG_USB_CYTHERM=m +CONFIG_USB_PHIDGETKIT=m +CONFIG_USB_PHIDGETSERVO=m +CONFIG_USB_IDMOUSE=m +CONFIG_USB_SISUSBVGA=m +# CONFIG_USB_TEST is not set + +# +# USB ATM/DSL drivers +# + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set + +# +# MMC/SD Card support +# +# CONFIG_MMC is not set + +# +# InfiniBand support +# +# CONFIG_INFINIBAND is not set + +# +# File systems +# +CONFIG_EXT2_FS=m +# CONFIG_EXT2_FS_XATTR is not set +CONFIG_EXT3_FS=y +CONFIG_EXT3_FS_XATTR=y +# CONFIG_EXT3_FS_POSIX_ACL is not set +# CONFIG_EXT3_FS_SECURITY is not set +CONFIG_JBD=y +# CONFIG_JBD_DEBUG is not set +CONFIG_FS_MBCACHE=y +CONFIG_REISERFS_FS=m +# CONFIG_REISERFS_CHECK is not set +# CONFIG_REISERFS_PROC_INFO is not set +# CONFIG_REISERFS_FS_XATTR is not set +# CONFIG_JFS_FS is not set +CONFIG_FS_POSIX_ACL=y + +# +# XFS support +# +CONFIG_XFS_FS=m +CONFIG_XFS_EXPORT=y +# CONFIG_XFS_RT is not set +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_SECURITY is not set +# CONFIG_XFS_POSIX_ACL is not set +CONFIG_MINIX_FS=m +# CONFIG_ROMFS_FS is not set +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +CONFIG_AUTOFS_FS=m +CONFIG_AUTOFS4_FS=m + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +# CONFIG_ZISOFS is not set +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_NTFS_FS=m +CONFIG_NTFS_DEBUG=y +CONFIG_NTFS_RW=y + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_SYSFS=y +CONFIG_DEVFS_FS=y +CONFIG_DEVFS_MOUNT=y +# CONFIG_DEVFS_DEBUG is not set +# CONFIG_DEVPTS_FS_XATTR is not set +CONFIG_TMPFS=y +# CONFIG_TMPFS_XATTR is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_RAMFS=y + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +# CONFIG_JFFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +CONFIG_JFFS2_SUMMARY=y +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +CONFIG_CRAMFS=m +CONFIG_SQUASHFS=y +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +# CONFIG_SQUASHFS_VMALLOC is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +CONFIG_UFS_FS=m +CONFIG_UFS_FS_WRITE=y + +# +# Network File Systems +# +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +CONFIG_NFS_V4=y +# CONFIG_NFS_DIRECTIO is not set +CONFIG_NFSD=m +CONFIG_NFSD_V3=y +CONFIG_NFSD_V4=y +CONFIG_NFSD_TCP=y +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_EXPORTFS=m +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_RPCSEC_GSS_KRB5=y +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=m +# CONFIG_SMB_NLS_DEFAULT is not set +CONFIG_CIFS=m +# CONFIG_CIFS_STATS is not set +# CONFIG_CIFS_XATTR is not set +# CONFIG_CIFS_EXPERIMENTAL is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y + +# +# Native Language Support +# +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=y +CONFIG_NLS_ISO8859_1=y +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_UTF8=y + +# +# Profiling support +# +# CONFIG_PROFILING is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +# CONFIG_DEBUG_KERNEL is not set +CONFIG_LOG_BUF_SHIFT=14 +CONFIG_CROSSCOMPILE=y +CONFIG_CMDLINE="root=/dev/mtdblock3 rootfstype=jffs2 rw mem=128M console=null" + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set + +# +# Cryptographic options +# +CONFIG_CRYPTO=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_SHA1=m +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_DES=y +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_DEFLATE=m +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_TEST=m + +# +# Hardware crypto devices +# + +# +# Library routines +# +CONFIG_CRC_CCITT=m +CONFIG_CRC32=y +CONFIG_LIBCRC32C=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_GENERIC_IRQ_PROBE=y diff --git a/packages/linux/linux-dm8000/linux-2.6.12-7400AB-enable-llsc.patch b/packages/linux/linux-dm8000/linux-2.6.12-7400AB-enable-llsc.patch new file mode 100644 index 0000000000..cb0551296d --- /dev/null +++ b/packages/linux/linux-dm8000/linux-2.6.12-7400AB-enable-llsc.patch @@ -0,0 +1,14 @@ +--- 2.6.12-5.1-org/arch/mips/Makefile 2008-03-19 16:22:29.000000000 +0100 ++++ 2.6.12-5.1-patched/arch/mips/Makefile 2008-03-24 14:06:32.000000000 +0100 +@@ -876,10 +876,9 @@ + core-$(CONFIG_MIPS_BCM7400A0) += arch/mips/brcmstb/common/ + core-$(CONFIG_MIPS_BCM7400B0) += arch/mips/brcmstb/common/ + +-ifdef CONFIG_SMP + cflags-$(CONFIG_MIPS_BCM7400A0) += -Iinclude/asm-mips/mach-brcmstb + cflags-$(CONFIG_MIPS_BCM7400B0) += -Iinclude/asm-mips/mach-brcmstb +-endif ++ + load-$(CONFIG_MIPS_BCM7400A0) := 0x80001000 + load-$(CONFIG_MIPS_BCM7400B0) := 0x80001000 + diff --git a/packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-minipci.patch b/packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-minipci.patch new file mode 100644 index 0000000000..eb6384fe48 --- /dev/null +++ b/packages/linux/linux-dm8000/linux-2.6.12-brcm-fix-minipci.patch @@ -0,0 +1,11 @@ +--- stblinux-2.6.12.org/include/asm-mips/brcmstb/brcm97400b0/boardmap.h 2008-07-03 23:48:25.000000000 +0200 ++++ stblinux-2.6.12/include/asm-mips/brcmstb/brcm97400b0/boardmap.h 2008-07-03 21:23:22.000000000 +0200 +@@ -69,7 +69,7 @@ + + #define PCI_1394_PHYS_MEM_WIN0_BASE 0xd0000000 + +-#define PCI_DEVICE_ID_EXT 0x0d ++#define PCI_DEVICE_ID_EXT 1 /* 0x0d */ + #define PCI_DEVICE_ID_1394 0x0e + #define PCI_DEVICE_ID_MINI 0x04 + #define PCI_DEVICE_ID_SATA 0 /* On 2ndary PCI bus */ diff --git a/packages/linux/linux-dm8000/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff b/packages/linux/linux-dm8000/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff new file mode 100644 index 0000000000..da5324e7ae --- /dev/null +++ b/packages/linux/linux-dm8000/linux-2.6.12-brcm-mtd-blkdevfs-fix.diff @@ -0,0 +1,109 @@ +Index: stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c +=================================================================== +--- stblinux-2.6.12.orig/drivers/mtd/mtd_blkdevs.c 2007-07-26 00:55:00.000000000 +0200 ++++ stblinux-2.6.12/drivers/mtd/mtd_blkdevs.c 2008-01-16 23:58:30.000000000 +0100 +@@ -21,6 +21,7 @@ + #include <linux/init.h> + #include <asm/semaphore.h> + #include <asm/uaccess.h> ++#include <linux/devfs_fs_kernel.h> + + static LIST_HEAD(blktrans_majors); + +@@ -302,6 +303,9 @@ + snprintf(gd->disk_name, sizeof(gd->disk_name), + "%s%d", tr->name, new->devnum); + ++ snprintf(gd->devfs_name, sizeof(gd->devfs_name), ++ "%s/%c", tr->name, (tr->part_bits?'a':'0') + new->devnum); ++ + /* 2.5 has capacity in units of 512 bytes while still + having BLOCK_SIZE_BITS set to 10. Just to keep us amused. */ + set_capacity(gd, (new->size * new->blksize) >> 9); +@@ -418,6 +422,8 @@ + return ret; + } + ++ devfs_mk_dir(tr->name); ++ + INIT_LIST_HEAD(&tr->devs); + list_add(&tr->list, &blktrans_majors); + +@@ -450,6 +456,7 @@ + tr->remove_dev(dev); + } + ++ devfs_remove(tr->name); + blk_cleanup_queue(tr->blkcore_priv->rq); + unregister_blkdev(tr->major, tr->name); + +Index: stblinux-2.6.12/drivers/mtd/mtdchar.c +=================================================================== +--- stblinux-2.6.12.orig/drivers/mtd/mtdchar.c 2008-01-21 01:37:38.000000000 +0100 ++++ stblinux-2.6.12/drivers/mtd/mtdchar.c 2008-01-21 01:37:40.000000000 +0100 +@@ -26,6 +26,8 @@ + + static struct class *mtd_class; + ++#include <linux/devfs_fs_kernel.h> ++ + static void mtd_notify_add(struct mtd_info* mtd) + { + if (!mtd) +@@ -50,6 +52,12 @@ + MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1), + NULL, "mtd%dro", mtd->index); + #endif ++ ++ devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2), ++ S_IFCHR | S_IRUGO | S_IWUGO, "mtd/%d", mtd->index); ++ ++ devfs_mk_cdev(MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1), ++ S_IFCHR | S_IRUGO, "mtd/%dro", mtd->index); + } + + static void mtd_notify_remove(struct mtd_info* mtd) +@@ -59,6 +67,9 @@ + + class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2)); + class_device_destroy(mtd_class, MKDEV(MTD_CHAR_MAJOR, mtd->index*2+1)); ++ ++ devfs_remove("mtd/%d", mtd->index); ++ devfs_remove("mtd/%dro", mtd->index); + } + + static struct mtd_notifier notifier = { +@@ -66,6 +77,17 @@ + .remove = mtd_notify_remove, + }; + ++static inline void mtdchar_devfs_init(void) ++{ ++ devfs_mk_dir("mtd"); ++} ++ ++static inline void mtdchar_devfs_exit(void) ++{ ++ devfs_remove("mtd"); ++} ++ ++ + /* + * We use file->private_data to store a pointer to the MTDdevice. + * Since alighment is at least 32 bits, we have 2 bits free for OTP +@@ -807,6 +829,7 @@ + return PTR_ERR(mtd_class); + } + ++ mtdchar_devfs_init(); + register_mtd_user(¬ifier); + return 0; + } +@@ -815,6 +838,7 @@ + { + unregister_mtd_user(¬ifier); + class_destroy(mtd_class); ++ mtdchar_devfs_exit(); + unregister_chrdev(MTD_CHAR_MAJOR, "mtd"); + } + diff --git a/packages/linux/linux-dm8000/linux-2.6.12-dm8000-nand.patch b/packages/linux/linux-dm8000/linux-2.6.12-dm8000-nand.patch new file mode 100644 index 0000000000..832479b62b --- /dev/null +++ b/packages/linux/linux-dm8000/linux-2.6.12-dm8000-nand.patch @@ -0,0 +1,249 @@ +Index: stblinux-2.6.12/drivers/mtd/nand/Kconfig +=================================================================== +--- stblinux-2.6.12.orig/drivers/mtd/nand/Kconfig 2006-10-10 20:27:00.000000000 +0200 ++++ stblinux-2.6.12/drivers/mtd/nand/Kconfig 2007-04-25 02:36:25.000000000 +0200 +@@ -199,6 +199,10 @@ + help + Enables access to the Smart Media card interface on the AT91RM9200. + ++config MTD_NAND_DM8000 ++ bool "DM8000 NAND support" ++ depends on MTD_NAND ++ + config MTD_NAND_NANDSIM + tristate "Support for NAND Flash Simulator" + depends on m && MTD_NAND && MTD_PARTITIONS +Index: stblinux-2.6.12/drivers/mtd/nand/Makefile +=================================================================== +--- stblinux-2.6.12.orig/drivers/mtd/nand/Makefile 2006-10-10 20:27:00.000000000 +0200 ++++ stblinux-2.6.12/drivers/mtd/nand/Makefile 2007-04-25 02:36:25.000000000 +0200 +@@ -16,6 +16,7 @@ + obj-$(CONFIG_MTD_NAND_AU1550) += au1550nd.o + obj-$(CONFIG_MTD_NAND_PPCHAMELEONEVB) += ppchameleonevb.o + obj-$(CONFIG_MTD_NAND_S3C2410) += s3c2410.o ++obj-$(CONFIG_MTD_NAND_DM8000) += dm8000.o + obj-$(CONFIG_MTD_NAND_DISKONCHIP) += diskonchip.o + obj-$(CONFIG_MTD_NAND_H1900) += h1910.o + obj-$(CONFIG_MTD_NAND_RTC_FROM4) += rtc_from4.o +Index: stblinux-2.6.12/drivers/mtd/nand/dm8000.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ stblinux-2.6.12/drivers/mtd/nand/dm8000.c 2007-04-25 16:09:12.000000000 +0200 +@@ -0,0 +1,217 @@ ++/* ++ * drivers/mtd/nand/dm8000.c ++ * ++ * Copyright (C) 2000 Steven J. Hill (sjhill@realitydiluted.com) ++ * ++ * Modified for Dreambox DM8000 by Felix Domke <tmbinc@elitedvb.net> ++ * ++ * ++ * 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. ++ * ++ * Overview: ++ * This is a device driver for the NAND flash device found on the ++ * DM8000 board. ++ * ++ */ ++ ++#include <linux/slab.h> ++#include <linux/module.h> ++#include <linux/mtd/mtd.h> ++#include <linux/mtd/nand.h> ++#include <linux/mtd/partitions.h> ++#include <asm/io.h> ++ ++static struct mtd_info *dm8000_mtd = NULL; ++/* ++ * Define partitions for flash device ++ */ ++const static struct mtd_partition partition_info[] = { ++ { ++ .name = "complete", ++ .offset = 0, ++ .size = 256*1024*1024 ++ }, ++ { ++ .name = "loader", ++ .offset = 0, ++ .size = 1024*1024 ++ }, ++ { ++ .name = "boot partition", ++ .offset = 1024*1024, ++ .size = 3*1024*1024 ++ }, ++ { ++ .name = "root partition", ++ .offset = 4*1024*1024, ++ .size = 60*1024*1024 ++ }, ++ { ++ .name = "home partition", ++ .offset = 64*1024*1024, ++ .size = 64*1024*1024 ++ }, ++ { ++ .name = "unused partition", ++ .offset = 128*1024*1024, ++ .size = 120*1024*1024 ++ }, ++ { ++ .name = "preset partition", ++ .offset = 248*1024*1024, ++ .size = 8*1024*1024 ++ } ++}; ++#define NUM_PARTITIONS 7 ++ ++/* ++ * hardware specific access to control-lines ++ * our hardware logic handles the line according to the addresses. ++ */ ++static void dm8000_hwcontrol(struct mtd_info *mtd, int cmd) ++{ ++ struct nand_chip *this = mtd->priv; ++ ++ switch(cmd){ ++ ++ case NAND_CTL_SETCLE: this->IO_ADDR_W = (void*)0xBF030000; break; // COMMAND ++ case NAND_CTL_CLRCLE: this->IO_ADDR_W = (void*)0xBF030004; break; // DATA ++ ++ case NAND_CTL_SETALE: this->IO_ADDR_W = (void*)0xBF030002; break; // ADDRESS ++ case NAND_CTL_CLRALE: this->IO_ADDR_W = (void*)0xBF030004; break; // DATA ++ ++ case NAND_CTL_SETNCE: break; // CE will automatically set on command ++ case NAND_CTL_CLRNCE: *(volatile unsigned char*)0xBF030003 = 0; break; // TERM ++ default: ++ BUG(); ++ } ++} ++ ++static void dm8000_nand_read_buf(struct mtd_info *mtd, u_char *buf, int len) ++{ ++// struct nand_chip *this = mtd->priv; ++ ++ *(volatile unsigned char*)0xBF030002; ++ ++ while (len > 16) ++ { ++ *(long*)buf = *(volatile long*)(0xBF030004); ++ *(long*)(buf+4) = *(volatile long*)(0xBF030004); ++ *(long*)(buf+8) = *(volatile long*)(0xBF030004); ++ *(long*)(buf+12) = *(volatile long*)(0xBF030004); ++ buf += 16; ++ len -= 16; ++ } ++ ++ while (len--) ++ *buf++ = *(volatile unsigned char*)(0xBF030004); ++} ++ ++static int dm8000_dev_ready(struct mtd_info *mtd) ++{ ++ *(volatile unsigned char*)0xBF030002; ++ return 1; ++} ++ ++/* ++ * Main initialization routine ++ */ ++int __init dm8000_init (void) ++{ ++ struct nand_chip *this; ++ unsigned char probe[4]; ++ int i, j; ++ ++ /* Allocate memory for MTD device structure and private data */ ++ dm8000_mtd = kmalloc (sizeof(struct mtd_info) + sizeof (struct nand_chip), ++ GFP_KERNEL); ++ if (!dm8000_mtd) { ++ printk ("Unable to allocate DM8000 NAND MTD device structure.\n"); ++ return -ENOMEM; ++ } ++ ++ /* Get pointer to private data */ ++ this = (struct nand_chip *) (&dm8000_mtd[1]); ++ ++ *(volatile unsigned char*)(0xBF030000) = 0x90; ++ *(volatile unsigned char*)(0xBF030002) = 0; ++ probe[0] = *(volatile unsigned char*)(0xBF030004); ++ probe[1] = *(volatile unsigned char*)(0xBF030004); ++ probe[2] = *(volatile unsigned char*)(0xBF030004); ++ probe[3] = *(volatile unsigned char*)(0xBF030004); ++ *(volatile unsigned char*)(0xBF030003) = 0; // term ++ ++ j = jiffies; ++ for (i=0; i<1000*1000/4; ++i) ++ *(volatile unsigned long*)(0xBF030004); ++ printk("%ld kb/s\n", 1000 * HZ / (jiffies-j)); ++ ++ printk(" - NAND PROBE: %02x %02x %02x %02x\n", ++ probe[0], probe[1], probe[2], probe[3]); ++ ++ /* Initialize structures */ ++ memset((char *) dm8000_mtd, 0, sizeof(struct mtd_info)); ++ memset((char *) this, 0, sizeof(struct nand_chip)); ++ ++ /* Link the private data with the MTD structure */ ++ dm8000_mtd->priv = this; ++ ++ /* Set address of NAND IO lines */ ++ this->IO_ADDR_R = (void*)0xBF030004; ++ this->IO_ADDR_W = (void*)0xBF030004; ++ ++ /* Set address of hardware control function */ ++ this->hwcontrol = dm8000_hwcontrol; ++ this->read_buf = dm8000_nand_read_buf; ++ this->dev_ready = 0; // don't use dm8000_dev_ready ++ /* 15 us command delay time */ ++ this->chip_delay = 15; ++ this->eccmode = NAND_ECC_SOFT; ++ ++ /* Scan to find existence of the device */ ++ if (nand_scan (dm8000_mtd, 1)) { ++ kfree (dm8000_mtd); ++ return -ENXIO; ++ } ++ ++ /* Allocate memory for internal data buffer */ ++ this->data_buf = kmalloc (sizeof(u_char) * (dm8000_mtd->oobblock + dm8000_mtd->oobsize), GFP_KERNEL); ++ if (!this->data_buf) { ++ printk ("Unable to allocate NAND data buffer for Dreambox.\n"); ++ kfree (dm8000_mtd); ++ return -ENOMEM; ++ } ++ ++ /* Register the partitions */ ++ add_mtd_partitions(dm8000_mtd, partition_info, NUM_PARTITIONS); ++ ++ /* Return happy */ ++ return 0; ++} ++module_init(dm8000_init); ++ ++/* ++ * Clean up routine ++ */ ++#ifdef MODULE ++static void __exit dm8000_cleanup (void) ++{ ++ struct nand_chip *this = (struct nand_chip *) &dm8000_mtd[1]; ++ ++ /* Unregister the device */ ++ del_mtd_device (dm8000_mtd); ++ ++ /* Free internal data buffer */ ++ kfree (this->data_buf); ++ ++ /* Free the MTD device structure */ ++ kfree (dm8000_mtd); ++} ++module_exit(dm8000_cleanup); ++#endif ++ ++MODULE_LICENSE("GPL"); ++MODULE_AUTHOR("Felix Domke <tmbinc@elitedvb.net>"); ++MODULE_DESCRIPTION("Dream-Multimedia DM8000 NAND flash board glue"); diff --git a/packages/linux/linux-dm8000/linux-2.6.12-dream-misc.patch b/packages/linux/linux-dm8000/linux-2.6.12-dream-misc.patch new file mode 100644 index 0000000000..bf572daf01 --- /dev/null +++ b/packages/linux/linux-dm8000/linux-2.6.12-dream-misc.patch @@ -0,0 +1,87 @@ +diff -Naur 2.6.12-5.0-org/arch/mips/kernel/reset.c 2.6.12-5.0-patched/arch/mips/kernel/reset.c +--- 2.6.12-5.0-org/arch/mips/kernel/reset.c 2007-07-26 00:51:08.000000000 +0200 ++++ 2.6.12-5.0-patched/arch/mips/kernel/reset.c 2007-12-11 12:34:52.000000000 +0100 +@@ -27,6 +27,7 @@ + } + + EXPORT_SYMBOL(machine_restart); ++EXPORT_SYMBOL(_machine_restart); + + void machine_halt(void) + { +@@ -34,6 +35,7 @@ + } + + EXPORT_SYMBOL(machine_halt); ++EXPORT_SYMBOL(_machine_halt); + + void machine_power_off(void) + { +@@ -41,3 +43,4 @@ + } + + EXPORT_SYMBOL(machine_power_off); ++EXPORT_SYMBOL(_machine_power_off); +diff -Naur 2.6.12-5.0-org/drivers/video/Kconfig 2.6.12-5.0-patched/drivers/video/Kconfig +--- 2.6.12-5.0-org/drivers/video/Kconfig 2007-07-26 00:54:49.000000000 +0200 ++++ 2.6.12-5.0-patched/drivers/video/Kconfig 2007-12-11 12:34:52.000000000 +0100 +@@ -39,7 +39,7 @@ + device-aware may cause unexpected results. If unsure, say N. + + config FB_CFB_FILLRECT +- tristate ++ tristate "FB_CFB_FILLRECT" + depends on FB + default n + ---help--- +@@ -48,7 +48,7 @@ + (accelerated) version. + + config FB_CFB_COPYAREA +- tristate ++ tristate "FB_CFB_COPYAREA" + depends on FB + default n + ---help--- +@@ -57,7 +57,7 @@ + version. + + config FB_CFB_IMAGEBLIT +- tristate ++ tristate "FB_CFB_IMAGEBLIT" + depends on FB + default n + ---help--- +@@ -66,7 +66,7 @@ + (accelerated) version. + + config FB_SOFT_CURSOR +- tristate ++ tristate "FB_SOFT_CURSOR" + depends on FB + default n + ---help--- +diff -Naur 2.6.12-5.0-org/drivers/char/keyboard.c 2.6.12-5.0-patched/drivers/char/keyboard.c +--- 2.6.12-5.0-org/drivers/char/keyboard.c 2007-07-26 00:53:29.000000000 +0200 ++++ 2.6.12-5.0-patched/drivers/char/keyboard.c 2007-12-11 12:34:52.000000000 +0100 +@@ -1186,6 +1186,9 @@ + for (i = KEY_RESERVED; i < BTN_MISC; i++) + if (test_bit(i, dev->keybit)) break; + ++ if ( test_bit(EV_NO_CONSOLE, dev->evbit) ) ++ return NULL; ++ + if ((i == BTN_MISC) && !test_bit(EV_SND, dev->evbit)) + return NULL; + +diff -Naur 2.6.12-5.0-org/include/linux/input.h 2.6.12-5.0-patched/include/linux/input.h +--- 2.6.12-5.0-org/include/linux/input.h 2007-07-26 00:56:59.000000000 +0200 ++++ 2.6.12-5.0-patched/include/linux/input.h 2007-12-11 12:34:52.000000000 +0100 +@@ -92,6 +92,7 @@ + #define EV_FF 0x15 + #define EV_PWR 0x16 + #define EV_FF_STATUS 0x17 ++#define EV_NO_CONSOLE 0x1e + #define EV_MAX 0x1f + + /* diff --git a/packages/linux/linux-dm8000/linux-2.6.12-dream-temp.patch b/packages/linux/linux-dm8000/linux-2.6.12-dream-temp.patch new file mode 100644 index 0000000000..615d135765 --- /dev/null +++ b/packages/linux/linux-dm8000/linux-2.6.12-dream-temp.patch @@ -0,0 +1,141 @@ +Index: stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S +=================================================================== +--- stblinux-2.6.12.orig/arch/mips/kernel/vmlinux.lds.S 2008-01-16 23:52:20.000000000 +0100 ++++ stblinux-2.6.12/arch/mips/kernel/vmlinux.lds.S 2008-01-16 23:52:22.000000000 +0100 +@@ -145,8 +145,8 @@ + . = ALIGN(4096); + __initramfs_start = .; + .init.ramfs : { *(.init.ramfs) } +- . = ALIGN(4096); + __initramfs_end = .; ++ . = ALIGN(4096); + + __bss_start = .; /* BSS */ + .sbss : { +Index: stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c +=================================================================== +--- stblinux-2.6.12.orig/drivers/net/brcmint7038/bcmemac.c 2008-01-16 23:52:20.000000000 +0100 ++++ stblinux-2.6.12/drivers/net/brcmint7038/bcmemac.c 2008-01-16 23:52:13.000000000 +0100 +@@ -2978,99 +2978,10 @@ + + static void bcmemac_getMacAddr(struct net_device* dev) + { +- uint8 flash_eaddr[ETH_ALEN]; +- void *virtAddr; +- uint16 word; +- int i; +- +-#if !defined( CONFIG_BRCM_PCI_SLAVE) && !defined( CONFIG_MTD_BRCMNAND ) +-#if 1 +- virtAddr = (void*)FLASH_MACADDR_ADDR; +-#else +- //virtAddr = (void*) 0xBDFFF824; /* BCM97110 in-flash Ethernet MAC address */ +- virtAddr = (void*) KSEG1ADDR(getPhysFlashBase() + FLASH_MACADDR_OFFSET); +-#endif +- +- /* It is a common problem that the flash and/or Chip Select are +- * not initialized properly, so leave this printk on +- */ +- printk("%s: Reading MAC address from %08lX, FLASH_BASE=%08lx\n", +- dev->name,(uint32) virtAddr, (unsigned long) 0xA0000000L|getPhysFlashBase()); +- +- word=0; +- word=readw(virtAddr); +- flash_eaddr[0]=(uint8) (word & 0x00FF); +- flash_eaddr[1]=(uint8) ((word & 0xFF00) >> 8); +- word=readw(virtAddr+2); +- flash_eaddr[2]=(uint8) (word & 0x00FF); +- flash_eaddr[3]=(uint8) ((word & 0xFF00) >> 8); +- word=readw(virtAddr+4); +- flash_eaddr[4]=(uint8) (word & 0x00FF); +- flash_eaddr[5]=(uint8) ((word & 0xFF00) >> 8); +- +- printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from addr %lX\n", +- dev->name, +- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2], +- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5], +- (uint32) virtAddr); +- +-#elif defined( CONFIG_MTD_BRCMNAND ) +-{ +- extern int gNumHwAddrs; +- extern unsigned char* gHwAddrs[]; +- +- if (gNumHwAddrs >= 1) { +- for (i=0; i < 6; i++) { +- flash_eaddr[i] = (uint8) gHwAddrs[0][i]; +- } +- +- printk("%s: MAC address %02X:%02X:%02X:%02X:%02X:%02X fetched from bootloader\n", +- dev->name, +- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2], +- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5] +- ); +- } +- else { +- printk(KERN_ERR "%s: No MAC addresses defined\n", __FUNCTION__); +- } +-} ++ /* we rip the address set by the bootloader */ ++ unsigned long addr[2] = { be32_to_cpu(*(unsigned int*)0xB008005C), be32_to_cpu(*(unsigned int*)0xB0080058)}; + +-#else +-/* PCI slave cannot access the EBI bus, +- * and for now, same for NAND flash, until CFE supports it +- */ +-/* Use hard coded value if Flash not properly initialized */ +- //if ((*flash_eaddr & 0xff) == 0xff) +- { +-//#ifdef USE_HARDCODED_MACADDR +- flash_eaddr[0] = 0x00; +- flash_eaddr[1] = 0xc0; +- flash_eaddr[2] = 0xa8; +- flash_eaddr[3] = 0x74; +- flash_eaddr[4] = 0x3b; +- flash_eaddr[5] = 0x51; +- printk("%s: Default MAC address %02X:%02X:%02X:%02X:%02X:%02X used\n", +- dev->name, +- flash_eaddr[0],flash_eaddr[1],flash_eaddr[2], +- flash_eaddr[3],flash_eaddr[4],flash_eaddr[5]); +-//#else +-// printk("%s: Cannot read EMAC address from flash. Please run EVAL codes\n", CARDNAME); +-// return -ENODEV; +-//#endif +- } +-#endif +- +- /* fill in the MAC address */ +- for (i = 0; i < 6; i++) { +- dev->dev_addr[i] = flash_eaddr[i]; +- } +- +- /* print the Ethenet address */ +- printk("%s: MAC Address: ", dev->name); +- for (i = 0; i < 5; i++) { +- printk("%2.2X:", dev->dev_addr[i]); +- } +- printk("%2.2X\n", dev->dev_addr[i]); ++ memcpy(dev->dev_addr, ((unsigned char*)addr)+2, 6); + } + + +Index: stblinux-2.6.12/arch/mips/brcmstb/common/setup.c +=================================================================== +--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/setup.c 2008-01-16 23:53:24.000000000 +0100 ++++ stblinux-2.6.12/arch/mips/brcmstb/common/setup.c 2008-01-16 23:54:06.000000000 +0100 +@@ -136,13 +136,13 @@ + + static void brcm_machine_halt(void) + { +- printk("Broadcom eval board halted.\n"); ++ printk("Halted.\n"); + while (1); + } + + static void brcm_machine_power_off(void) + { +- printk("Broadcom eval board halted. Please turn off power.\n"); ++ printk("Halted. Please turn off power.\n"); + while (1); + } + diff --git a/packages/linux/linux-dm8000/linux-2.6.12-fixup-prom-args.patch b/packages/linux/linux-dm8000/linux-2.6.12-fixup-prom-args.patch new file mode 100644 index 0000000000..4020fc9e02 --- /dev/null +++ b/packages/linux/linux-dm8000/linux-2.6.12-fixup-prom-args.patch @@ -0,0 +1,65 @@ +Index: stblinux-2.6.12/arch/mips/brcmstb/common/prom.c +=================================================================== +--- stblinux-2.6.12.orig/arch/mips/brcmstb/common/prom.c 2008-01-16 00:14:31.000000000 +0100 ++++ stblinux-2.6.12/arch/mips/brcmstb/common/prom.c 2008-01-16 00:23:08.000000000 +0100 +@@ -216,6 +216,29 @@ + } + + ++int prom_argc; ++int *_prom_argv, *_prom_envp; ++ ++void __init prom_init_cmdline(void) ++{ ++ char *cp; ++ int actr; ++ ++ actr = 1; /* Always ignore argv[0] */ ++ ++ cp = &(arcs_cmdline[0]); ++ while(actr < prom_argc) { ++ strcpy(cp, _prom_argv[actr]); ++ cp += strlen(_prom_argv[actr]); ++ *cp++ = ' '; ++ actr++; ++ } ++ if (cp != &(arcs_cmdline[0])) { ++ /* get rid of trailing space */ ++ --cp; ++ *cp = '\0'; ++ } ++} + + void __init prom_init(void) + { +@@ -731,23 +754,14 @@ + uart_puts("Default command line = \n"); + uart_puts(CONFIG_CMDLINE); + uart_puts("\n"); +- p = &arcs_cmdline[0]; +- while (p != NULL && *p != '\0') { +- if (!isspace(*p)) +- break; +- p++; +- } +- if (p == NULL || *p == '\0') { +- uart_puts("Defaulting to boot from HD\n"); +- /* Default is to boot from HD */ +- strcpy(arcs_cmdline, +- "root=/dev/hda1" DEFAULT_KARGS); +- } +- else if (appendConsoleNeeded) { +- /* Make sure that the boot params specify a console */ +- appendConsoleArg(arcs_cmdline); +- } + ++ prom_argc = fw_arg0; ++ _prom_argv = (int *) fw_arg1; ++ _prom_envp = (int *) fw_arg2; ++ printk("%d %p %p\n", prom_argc, _prom_argv, _prom_envp); ++ prom_init_cmdline(); ++ ++ + #else /* No CONFIG_CMDLINE, and not Initrd */ + /* Default is to boot from HD */ + strcpy(arcs_cmdline, diff --git a/packages/linux/linux-dm8000/linux-2.6.12-set-custom-extraversion.patch b/packages/linux/linux-dm8000/linux-2.6.12-set-custom-extraversion.patch new file mode 100644 index 0000000000..2a6e14f1ef --- /dev/null +++ b/packages/linux/linux-dm8000/linux-2.6.12-set-custom-extraversion.patch @@ -0,0 +1,13 @@ +Index: stblinux-2.6.12/Makefile +=================================================================== +--- stblinux-2.6.12.orig/Makefile 2007-12-17 20:09:55.000000000 +0100 ++++ stblinux-2.6.12/Makefile 2007-12-17 22:37:51.000000000 +0100 +@@ -2,7 +2,7 @@ + PATCHLEVEL = 6 + SUBLEVEL = 12 + # STABLE_VERSION = .2 +-EXTRAVERSION =-5.1-brcmstb ++EXTRAVERSION =-5.1-brcmstb-dm8000 + NAME=Woozy Numbat + + # *DOCUMENTATION* diff --git a/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-fadvise.patch b/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-fadvise.patch new file mode 100644 index 0000000000..430f32c779 --- /dev/null +++ b/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-fadvise.patch @@ -0,0 +1,29 @@ +diff -Naur 2.6.12-5.0-org/arch/mips/kernel/syscall.c 2.6.12-5.0-patched/arch/mips/kernel/syscall.c +--- 2.6.12-5.0-org/arch/mips/kernel/syscall.c 2007-07-26 00:51:09.000000000 +0200 ++++ 2.6.12-5.0-patched/arch/mips/kernel/syscall.c 2007-12-11 12:34:52.000000000 +0100 +@@ -405,6 +405,13 @@ + } + } + ++asmlinkage long mips_fadvise64(int fd, ++ unsigned int low_off, unsigned int high_off, ++ unsigned int len, int advice, unsigned int dummy) ++{ ++ return sys_fadvise64_64(fd, (((u64)high_off) << 32) | low_off, (u64)len, advice); ++} ++ + /* + * No implemented yet ... + */ +diff -Naur 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S +--- 2.6.12-5.0-org/arch/mips/kernel/scall32-o32.S 2007-07-26 00:51:08.000000000 +0200 ++++ 2.6.12-5.0-patched/arch/mips/kernel/scall32-o32.S 2007-12-11 12:34:52.000000000 +0100 +@@ -594,7 +594,7 @@ + sys sys_remap_file_pages 5 + sys sys_set_tid_address 1 + sys sys_restart_syscall 0 +- sys sys_fadvise64_64 7 ++ sys mips_fadvise64 7 + sys sys_statfs64 3 /* 4255 */ + sys sys_fstatfs64 2 + sys sys_timer_create 3 diff --git a/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-futex.patch b/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-futex.patch new file mode 100644 index 0000000000..cb0bfe2cce --- /dev/null +++ b/packages/linux/linux-dm8000/linuxmips-2.6.12-fix-futex.patch @@ -0,0 +1,368 @@ +diff -Naur 2.6.12-5.0-org/include/asm-mips/futex.h 2.6.12-5.0-patched/include/asm-mips/futex.h +--- 2.6.12-5.0-org/include/asm-mips/futex.h 1970-01-01 01:00:00.000000000 +0100 ++++ 2.6.12-5.0-patched/include/asm-mips/futex.h 2007-12-11 12:34:52.000000000 +0100 +@@ -0,0 +1,134 @@ ++#ifndef _ASM_FUTEX_H ++#define _ASM_FUTEX_H ++ ++#ifdef __KERNEL__ ++ ++#include <linux/config.h> ++#include <linux/futex.h> ++#include <asm/errno.h> ++#include <asm/uaccess.h> ++#include <asm/war.h> ++ ++#ifdef CONFIG_SMP ++#define __FUTEX_SMP_SYNC " sync \n" ++#else ++#define __FUTEX_SMP_SYNC ++#endif ++ ++#define __futex_atomic_op(insn, ret, oldval, uaddr, oparg) \ ++{ \ ++ if (cpu_has_llsc && R10000_LLSC_WAR) { \ ++ __asm__ __volatile__( \ ++ " .set push \n" \ ++ " .set noat \n" \ ++ " .set mips3 \n" \ ++ "1: ll %1, %4 # __futex_atomic_op \n" \ ++ " .set mips0 \n" \ ++ " " insn " \n" \ ++ " .set mips3 \n" \ ++ "2: sc $1, %2 \n" \ ++ " beqzl $1, 1b \n" \ ++ __FUTEX_SMP_SYNC \ ++ "3: \n" \ ++ " .set pop \n" \ ++ " .set mips0 \n" \ ++ " .section .fixup,\"ax\" \n" \ ++ "4: li %0, %6 \n" \ ++ " j 2b \n" \ ++ " .previous \n" \ ++ " .section __ex_table,\"a\" \n" \ ++ " "__UA_ADDR "\t1b, 4b \n" \ ++ " "__UA_ADDR "\t2b, 4b \n" \ ++ " .previous \n" \ ++ : "=r" (ret), "=&r" (oldval), "=R" (*uaddr) \ ++ : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT) \ ++ : "memory"); \ ++ } else if (cpu_has_llsc) { \ ++ __asm__ __volatile__( \ ++ " .set push \n" \ ++ " .set noat \n" \ ++ " .set mips3 \n" \ ++ "1: ll %1, %4 # __futex_atomic_op \n" \ ++ " .set mips0 \n" \ ++ " " insn " \n" \ ++ " .set mips3 \n" \ ++ "2: sc $1, %2 \n" \ ++ " beqz $1, 1b \n" \ ++ __FUTEX_SMP_SYNC \ ++ "3: \n" \ ++ " .set pop \n" \ ++ " .set mips0 \n" \ ++ " .section .fixup,\"ax\" \n" \ ++ "4: li %0, %6 \n" \ ++ " j 2b \n" \ ++ " .previous \n" \ ++ " .section __ex_table,\"a\" \n" \ ++ " "__UA_ADDR "\t1b, 4b \n" \ ++ " "__UA_ADDR "\t2b, 4b \n" \ ++ " .previous \n" \ ++ : "=r" (ret), "=&r" (oldval), "=R" (*uaddr) \ ++ : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT) \ ++ : "memory"); \ ++ } else \ ++ ret = -ENOSYS; \ ++} ++ ++static inline int ++futex_atomic_op_inuser (int encoded_op, int __user *uaddr) ++{ ++ int op = (encoded_op >> 28) & 7; ++ int cmp = (encoded_op >> 24) & 15; ++ int oparg = (encoded_op << 8) >> 20; ++ int cmparg = (encoded_op << 20) >> 20; ++ int oldval = 0, ret; ++ if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) ++ oparg = 1 << oparg; ++ ++ if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) ++ return -EFAULT; ++ ++ inc_preempt_count(); ++ ++ switch (op) { ++ case FUTEX_OP_SET: ++ __futex_atomic_op("move $1, %z5", ret, oldval, uaddr, oparg); ++ break; ++ ++ case FUTEX_OP_ADD: ++ __futex_atomic_op("addu $1, %1, %z5", ++ ret, oldval, uaddr, oparg); ++ break; ++ case FUTEX_OP_OR: ++ __futex_atomic_op("or $1, %1, %z5", ++ ret, oldval, uaddr, oparg); ++ break; ++ case FUTEX_OP_ANDN: ++ __futex_atomic_op("and $1, %1, %z5", ++ ret, oldval, uaddr, ~oparg); ++ break; ++ case FUTEX_OP_XOR: ++ __futex_atomic_op("xor $1, %1, %z5", ++ ret, oldval, uaddr, oparg); ++ break; ++ default: ++ ret = -ENOSYS; ++ } ++ ++ dec_preempt_count(); ++ ++ if (!ret) { ++ switch (cmp) { ++ case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; ++ case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; ++ case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break; ++ case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break; ++ case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break; ++ case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break; ++ default: ret = -ENOSYS; ++ } ++ } ++ return ret; ++} ++ ++#endif ++#endif +diff -Naur 2.6.12-5.0-org/include/linux/futex.h 2.6.12-5.0-patched/include/linux/futex.h +--- 2.6.12-5.0-org/include/linux/futex.h 2007-07-26 00:57:03.000000000 +0200 ++++ 2.6.12-5.0-patched/include/linux/futex.h 2007-12-11 12:34:52.000000000 +0100 +@@ -4,14 +4,40 @@ + /* Second argument to futex syscall */ + + +-#define FUTEX_WAIT (0) +-#define FUTEX_WAKE (1) +-#define FUTEX_FD (2) +-#define FUTEX_REQUEUE (3) +-#define FUTEX_CMP_REQUEUE (4) ++#define FUTEX_WAIT 0 ++#define FUTEX_WAKE 1 ++#define FUTEX_FD 2 ++#define FUTEX_REQUEUE 3 ++#define FUTEX_CMP_REQUEUE 4 ++#define FUTEX_WAKE_OP 5 + + long do_futex(unsigned long uaddr, int op, int val, + unsigned long timeout, unsigned long uaddr2, int val2, + int val3); + ++#define FUTEX_OP_SET 0 /* *(int *)UADDR2 = OPARG; */ ++#define FUTEX_OP_ADD 1 /* *(int *)UADDR2 += OPARG; */ ++#define FUTEX_OP_OR 2 /* *(int *)UADDR2 |= OPARG; */ ++#define FUTEX_OP_ANDN 3 /* *(int *)UADDR2 &= ~OPARG; */ ++#define FUTEX_OP_XOR 4 /* *(int *)UADDR2 ^= OPARG; */ ++ ++#define FUTEX_OP_OPARG_SHIFT 8 /* Use (1 << OPARG) instead of OPARG. */ ++ ++#define FUTEX_OP_CMP_EQ 0 /* if (oldval == CMPARG) wake */ ++#define FUTEX_OP_CMP_NE 1 /* if (oldval != CMPARG) wake */ ++#define FUTEX_OP_CMP_LT 2 /* if (oldval < CMPARG) wake */ ++#define FUTEX_OP_CMP_LE 3 /* if (oldval <= CMPARG) wake */ ++#define FUTEX_OP_CMP_GT 4 /* if (oldval > CMPARG) wake */ ++#define FUTEX_OP_CMP_GE 5 /* if (oldval >= CMPARG) wake */ ++ ++/* FUTEX_WAKE_OP will perform atomically ++ int oldval = *(int *)UADDR2; ++ *(int *)UADDR2 = oldval OP OPARG; ++ if (oldval CMP CMPARG) ++ wake UADDR2; */ ++ ++#define FUTEX_OP(op, oparg, cmp, cmparg) \ ++ (((op & 0xf) << 28) | ((cmp & 0xf) << 24) \ ++ | ((oparg & 0xfff) << 12) | (cmparg & 0xfff)) ++ + #endif +diff -Naur 2.6.12-5.0-org/kernel/futex.c 2.6.12-5.0-patched/kernel/futex.c +--- 2.6.12-5.0-org/kernel/futex.c 2007-07-26 00:57:20.000000000 +0200 ++++ 2.6.12-5.0-patched/kernel/futex.c 2007-12-11 12:34:52.000000000 +0100 +@@ -40,6 +40,7 @@ + #include <linux/pagemap.h> + #include <linux/syscalls.h> + #include <linux/signal.h> ++#include <asm/futex.h> + + #define FUTEX_HASHBITS (CONFIG_BASE_SMALL ? 4 : 8) + +@@ -201,22 +202,6 @@ + * for a rare case, so we simply fetch the page. + */ + +- /* +- * Do a quick atomic lookup first - this is the fastpath. +- */ +- spin_lock(¤t->mm->page_table_lock); +- page = follow_page(mm, uaddr, 0); +- if (likely(page != NULL)) { +- key->shared.pgoff = +- page->index << (PAGE_CACHE_SHIFT - PAGE_SHIFT); +- spin_unlock(¤t->mm->page_table_lock); +- return 0; +- } +- spin_unlock(¤t->mm->page_table_lock); +- +- /* +- * Do it the general way. +- */ + err = get_user_pages(current, mm, uaddr, 1, 0, 0, &page, NULL); + if (err >= 0) { + key->shared.pgoff = +@@ -327,6 +312,123 @@ + } + + /* ++ * Wake up all waiters hashed on the physical page that is mapped ++ * to this virtual address: ++ */ ++static int futex_wake_op(unsigned long uaddr1, unsigned long uaddr2, int nr_wake, int nr_wake2, int op) ++{ ++ union futex_key key1, key2; ++ struct futex_hash_bucket *bh1, *bh2; ++ struct list_head *head; ++ struct futex_q *this, *next; ++ int ret, op_ret, attempt = 0; ++ ++retryfull: ++ down_read(¤t->mm->mmap_sem); ++ ++ ret = get_futex_key(uaddr1, &key1); ++ if (unlikely(ret != 0)) ++ goto out; ++ ret = get_futex_key(uaddr2, &key2); ++ if (unlikely(ret != 0)) ++ goto out; ++ ++ bh1 = hash_futex(&key1); ++ bh2 = hash_futex(&key2); ++ ++retry: ++ if (bh1 < bh2) ++ spin_lock(&bh1->lock); ++ spin_lock(&bh2->lock); ++ if (bh1 > bh2) ++ spin_lock(&bh1->lock); ++ ++ op_ret = futex_atomic_op_inuser(op, (int __user *)uaddr2); ++ if (unlikely(op_ret < 0)) { ++ int dummy; ++ ++ spin_unlock(&bh1->lock); ++ if (bh1 != bh2) ++ spin_unlock(&bh2->lock); ++ ++ if (unlikely(op_ret != -EFAULT)) { ++ ret = op_ret; ++ goto out; ++ } ++ ++ /* futex_atomic_op_inuser needs to both read and write ++ * *(int __user *)uaddr2, but we can't modify it ++ * non-atomically. Therefore, if get_user below is not ++ * enough, we need to handle the fault ourselves, while ++ * still holding the mmap_sem. */ ++ if (attempt++) { ++ struct vm_area_struct * vma; ++ struct mm_struct *mm = current->mm; ++ ++ ret = -EFAULT; ++ if (attempt >= 2 || ++ !(vma = find_vma(mm, uaddr2)) || ++ vma->vm_start > uaddr2 || ++ !(vma->vm_flags & VM_WRITE)) ++ goto out; ++ ++ switch (handle_mm_fault(mm, vma, uaddr2, 1)) { ++ case VM_FAULT_MINOR: ++ current->min_flt++; ++ break; ++ case VM_FAULT_MAJOR: ++ current->maj_flt++; ++ break; ++ default: ++ goto out; ++ } ++ goto retry; ++ } ++ ++ /* If we would have faulted, release mmap_sem, ++ * fault it in and start all over again. */ ++ up_read(¤t->mm->mmap_sem); ++ ++ ret = get_user(dummy, (int __user *)uaddr2); ++ if (ret) ++ return ret; ++ ++ goto retryfull; ++ } ++ ++ head = &bh1->chain; ++ ++ list_for_each_entry_safe(this, next, head, list) { ++ if (match_futex (&this->key, &key1)) { ++ wake_futex(this); ++ if (++ret >= nr_wake) ++ break; ++ } ++ } ++ ++ if (op_ret > 0) { ++ head = &bh2->chain; ++ ++ op_ret = 0; ++ list_for_each_entry_safe(this, next, head, list) { ++ if (match_futex (&this->key, &key2)) { ++ wake_futex(this); ++ if (++op_ret >= nr_wake2) ++ break; ++ } ++ } ++ ret += op_ret; ++ } ++ ++ spin_unlock(&bh1->lock); ++ if (bh1 != bh2) ++ spin_unlock(&bh2->lock); ++out: ++ up_read(¤t->mm->mmap_sem); ++ return ret; ++} ++ ++/* + * Requeue all waiters hashed on one physical page to another + * physical page. + */ +@@ -740,6 +842,9 @@ + case FUTEX_CMP_REQUEUE: + ret = futex_requeue(uaddr, uaddr2, val, val2, &val3); + break; ++ case FUTEX_WAKE_OP: ++ ret = futex_wake_op(uaddr, uaddr2, val, val2, val3); ++ break; + default: + ret = -ENOSYS; + } +@@ -755,9 +860,11 @@ + unsigned long timeout = MAX_SCHEDULE_TIMEOUT; + int val2 = 0; + +- if ((op == FUTEX_WAIT) && utime) { ++ if (utime && (op == FUTEX_WAIT)) { + if (copy_from_user(&t, utime, sizeof(t)) != 0) + return -EFAULT; ++ if (!timespec_valid(&t)) ++ return -EINVAL; + timeout = timespec_to_jiffies(&t) + 1; + } + /* diff --git a/packages/linux/linux-dm8000/linuxmips-2.6.12-gcc4-compile-fix.patch b/packages/linux/linux-dm8000/linuxmips-2.6.12-gcc4-compile-fix.patch new file mode 100644 index 0000000000..c1dc961926 --- /dev/null +++ b/packages/linux/linux-dm8000/linuxmips-2.6.12-gcc4-compile-fix.patch @@ -0,0 +1,91 @@ +diff -Naur 2.6.12-5.0-org/include/asm-mips/uaccess.h 2.6.12-5.0-patched/include/asm-mips/uaccess.h +--- 2.6.12-5.0-org/include/asm-mips/uaccess.h 2007-07-26 00:56:08.000000000 +0200 ++++ 2.6.12-5.0-patched/include/asm-mips/uaccess.h 2007-12-11 12:34:52.000000000 +0100 +@@ -234,39 +234,72 @@ + + #define __get_user_nocheck(x,ptr,size) \ + ({ \ +- __typeof(*(ptr)) __gu_val = (__typeof(*(ptr))) 0; \ + long __gu_err = 0; \ +- \ + might_sleep(); \ + switch (size) { \ +- case 1: __get_user_asm("lb", ptr); break; \ +- case 2: __get_user_asm("lh", ptr); break; \ +- case 4: __get_user_asm("lw", ptr); break; \ +- case 8: __GET_USER_DW(ptr); break; \ ++ case 1: { \ ++ s8 __gu_val = (s8) 0; \ ++ __get_user_asm("lb", ptr); \ ++ (x) = (__typeof__(*(ptr))) __gu_val; \ ++ break; \ ++ } \ ++ case 2: { \ ++ s16 __gu_val = (s16) 0; \ ++ __get_user_asm("lh", ptr); \ ++ (x) = (__typeof__(*(ptr))) __gu_val; \ ++ break; \ ++ } \ ++ case 4: { \ ++ s32 __gu_val = (s32) 0; \ ++ __get_user_asm("lw", ptr); \ ++ (x) = (__typeof__(*(ptr))) __gu_val; \ ++ break; \ ++ } \ ++ case 8: { \ ++ s64 __gu_val = (s64) 0; \ ++ __GET_USER_DW(ptr); \ ++ (x) = (__typeof__(*(ptr))) __gu_val; \ ++ break; \ ++ } \ + default: __get_user_unknown(); break; \ + } \ +- (x) = (__typeof__(*(ptr))) __gu_val; \ + __gu_err; \ + }) + + #define __get_user_check(x,ptr,size) \ + ({ \ + const __typeof__(*(ptr)) __user * __gu_addr = (ptr); \ +- __typeof__(*(ptr)) __gu_val = 0; \ + long __gu_err = -EFAULT; \ +- \ + might_sleep(); \ +- \ + if (likely(access_ok(VERIFY_READ, __gu_addr, size))) { \ + switch (size) { \ +- case 1: __get_user_asm("lb", __gu_addr); break; \ +- case 2: __get_user_asm("lh", __gu_addr); break; \ +- case 4: __get_user_asm("lw", __gu_addr); break; \ +- case 8: __GET_USER_DW(__gu_addr); break; \ ++ case 1: { \ ++ s8 __gu_val = (s8) 0; \ ++ __get_user_asm("lb", ptr); \ ++ (x) = (__typeof__(*(ptr))) __gu_val; \ ++ break; \ ++ } \ ++ case 2: { \ ++ s16 __gu_val = (s16) 0; \ ++ __get_user_asm("lh", ptr); \ ++ (x) = (__typeof__(*(ptr))) __gu_val; \ ++ break; \ ++ } \ ++ case 4: { \ ++ s32 __gu_val = (s32) 0; \ ++ __get_user_asm("lw", ptr); \ ++ (x) = (__typeof__(*(ptr))) __gu_val; \ ++ break; \ ++ } \ ++ case 8: { \ ++ s64 __gu_val = (s64) 0; \ ++ __GET_USER_DW(ptr); \ ++ (x) = (__typeof__(*(ptr))) __gu_val; \ ++ break; \ ++ } \ + default: __get_user_unknown(); break; \ + } \ + } \ +- (x) = (__typeof__(*(ptr))) __gu_val; \ + __gu_err; \ + }) + diff --git a/packages/linux/linux-dm8000/linuxmips-2.6.12-gdb-fix.patch b/packages/linux/linux-dm8000/linuxmips-2.6.12-gdb-fix.patch new file mode 100644 index 0000000000..d70e2dea41 --- /dev/null +++ b/packages/linux/linux-dm8000/linuxmips-2.6.12-gdb-fix.patch @@ -0,0 +1,22 @@ +diff -Naur 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S +--- 2.6.12-5.0-org/arch/mips/kernel/gdb-low.S 2007-07-26 00:51:07.000000000 +0200 ++++ 2.6.12-5.0-patched/arch/mips/kernel/gdb-low.S 2007-12-11 12:34:52.000000000 +0100 +@@ -52,12 +52,14 @@ + /* + * Called from user mode, go somewhere else. + */ +- lui k1, %hi(saved_vectors) + mfc0 k0, CP0_CAUSE + andi k0, k0, 0x7c +- add k1, k1, k0 +- lw k0, %lo(saved_vectors)(k1) +- jr k0 ++ ++#ifdef CONFIG_MIPS64 ++ dsll k0, k0, 1 ++#endif ++ lw k1, %lo(saved_vectors)(k0) ++ jr k1 + nop + 1: + move k0, sp |