diff options
| author | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-02-12 19:04:16 +0000 | 
|---|---|---|
| committer | florian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2011-02-12 19:04:16 +0000 | 
| commit | af06280b7a62ba42c6506feb8d940b58242f54ef (patch) | |
| tree | 49c3bea157d06bc8c9d93fc527423f0457df23c8 | |
| parent | 5768e1a585613669705125bee51ec1e4fc04efa5 (diff) | |
[uml] add 2.6.37 support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25484 3c298f89-4303-0410-b956-a3cf2f4a3e73
6 files changed, 161 insertions, 84 deletions
| diff --git a/target/linux/uml/config/i386 b/target/linux/uml/config/i386 index 484e3c649..fb2b0cb25 100644 --- a/target/linux/uml/config/i386 +++ b/target/linux/uml/config/i386 @@ -2,74 +2,68 @@  # CONFIG_64BIT is not set  CONFIG_ARCH_HAS_SC_SIGNALS=y  CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y -CONFIG_ARCH_SUPPORTS_AOUT=y -# CONFIG_ATM is not set -CONFIG_BASE_SMALL=0 -# CONFIG_BINFMT_AOUT is not set -CONFIG_BITREVERSE=y +CONFIG_BKL=y  CONFIG_BLK_DEV_COW_COMMON=y  CONFIG_BLK_DEV_UBD=y  CONFIG_BLK_DEV_UBD_SYNC=y -# CONFIG_BT is not set -CONFIG_CLASSIC_RCU=y  CONFIG_CON_CHAN="xterm"  CONFIG_CON_ZERO_CHAN="fd:0,fd:1" +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_CYRIX_32=y +CONFIG_CPU_SUP_INTEL=y +CONFIG_CPU_SUP_TRANSMETA_32=y +CONFIG_CPU_SUP_UMC_32=y  CONFIG_CRAMFS=y  # CONFIG_CRASHLOG is not set -# CONFIG_CRYPTO_AES_586 is not set -# CONFIG_CRYPTO_SALSA20_586 is not set -# CONFIG_CRYPTO_TWOFISH_586 is not set +CONFIG_CRC16=y  CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_STACK_USAGE is not set -CONFIG_DEFAULT_AS=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DEFAULT_CFQ=y  # CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_IOSCHED="anticipatory" +CONFIG_DEFAULT_IOSCHED="cfq"  CONFIG_DEFCONFIG_LIST="arch/$ARCH/defconfig"  CONFIG_DNOTIFY=y  CONFIG_ELF_CORE=y  # CONFIG_EMBEDDED is not set  CONFIG_EXT2_FS=y  CONFIG_EXT3_FS=y -CONFIG_FS_POSIX_ACL=y -# CONFIG_FW_LOADER is not set +CONFIG_EXT4_FS=y  CONFIG_GENERIC_BUG=y  CONFIG_GENERIC_CLOCKEVENTS=y  CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -# CONFIG_GENERIC_CPU is not set +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_FIND_LAST_BIT=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y  # CONFIG_HAMRADIO is not set -CONFIG_HAS_DMA=y -# CONFIG_HAVE_KPROBES is not set -# CONFIG_HAVE_KRETPROBES is not set -# CONFIG_HAVE_OPROFILE is not set -# CONFIG_HIGHMEM is not set +CONFIG_HAVE_AOUT=y +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +# CONFIG_HAVE_GENERIC_HARDIRQS is not set  CONFIG_HOSTAUDIO=m  CONFIG_HOSTFS=y  # CONFIG_HPPFS is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_IFB is not set  CONFIG_INITRAMFS_SOURCE=""  CONFIG_INIT_ENV_ARG_LIMIT=128 -CONFIG_IOSCHED_AS=y  CONFIG_IOSCHED_CFQ=y  CONFIG_IRQ_RELEASE_METHOD=y  CONFIG_ISO9660_FS=y  CONFIG_JBD=y +CONFIG_JBD2=y  CONFIG_KALLSYMS=y  CONFIG_KALLSYMS_EXTRA_PASS=y  CONFIG_KERNEL_STACK_ORDER=2 -CONFIG_LBD=y  CONFIG_LD_SCRIPT_STATIC=y  CONFIG_LEGACY_PTYS=y  CONFIG_LEGACY_PTY_COUNT=256 -CONFIG_LZO_COMPRESS=m -CONFIG_LZO_DECOMPRESS=m -# CONFIG_M386 is not set  # CONFIG_M486 is not set  # CONFIG_M586 is not set  # CONFIG_M586MMX is not set  # CONFIG_M586TSC is not set  # CONFIG_M686 is not set -# CONFIG_MAC_PARTITION is not set  CONFIG_MAGIC_SYSRQ=y  # CONFIG_MATOM is not set  CONFIG_MCONSOLE=y @@ -88,23 +82,23 @@ CONFIG_MCONSOLE=y  CONFIG_MPENTIUMII=y  # CONFIG_MPENTIUMIII is not set  # CONFIG_MPENTIUMM is not set -# CONFIG_MPSC is not set  # CONFIG_MVIAC3_2 is not set  # CONFIG_MVIAC7 is not set -# CONFIG_MWINCHIP2 is not set  # CONFIG_MWINCHIP3D is not set  # CONFIG_MWINCHIPC6 is not set  CONFIG_NAMESPACES=y +CONFIG_NEED_PER_CPU_KM=y  # CONFIG_NET_NS is not set  CONFIG_NLS=y -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_ISO8859_15 is not set -# CONFIG_NLS_KOI8_R is not set  # CONFIG_NOCONFIG_CHAN is not set +CONFIG_NO_DMA=y  CONFIG_NO_IOMEM=y  CONFIG_NULL_CHAN=y +CONFIG_PAGEFLAGS_EXTENDED=y  CONFIG_PORT_CHAN=y  CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_PREEMPT_RCU is not set  CONFIG_PRINT_QUOTA_WARNING=y  CONFIG_PROC_PAGE_MONITOR=y  CONFIG_PTY_CHAN=y @@ -113,16 +107,17 @@ CONFIG_QFMT_V2=y  CONFIG_QUOTA=y  CONFIG_QUOTACTL=y  # CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_QUOTA_TREE=y +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y  CONFIG_RELAY=y +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set  CONFIG_RWSEM_XCHGADD_ALGORITHM=y -CONFIG_SCSI_WAIT_SCAN=m -CONFIG_SEMAPHORE_SLEEPERS=y -CONFIG_SLABINFO=y -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set +# CONFIG_SCSI_DMA is not set +# CONFIG_SMP_BROKEN is not set  CONFIG_SOFT_WATCHDOG=m -# CONFIG_SPARSEMEM_STATIC is not set -# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set +CONFIG_SOUND=m +CONFIG_SOUND_OSS_CORE=y  CONFIG_SQUASHFS_EMBEDDED=y  CONFIG_SSL=y  CONFIG_SSL_CHAN="pty" @@ -130,8 +125,6 @@ CONFIG_SSL_CHAN="pty"  CONFIG_STATIC_LINK=y  CONFIG_STDERR_CONSOLE=y  CONFIG_STDIO_CONSOLE=y -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_TICK_ONESHOT=y  # CONFIG_TRACE_IRQFLAGS_SUPPORT is not set  CONFIG_TTY_CHAN=y  CONFIG_UID16=y @@ -155,13 +148,14 @@ CONFIG_X86_32=y  CONFIG_X86_BSWAP=y  CONFIG_X86_CMOV=y  CONFIG_X86_CMPXCHG=y -CONFIG_X86_DEBUGCTLMSR=y +CONFIG_X86_CMPXCHG64=y +CONFIG_X86_CPU=y  CONFIG_X86_GENERIC=y -CONFIG_X86_GOOD_APIC=y  CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6  CONFIG_X86_INVLPG=y -CONFIG_X86_L1_CACHE_SHIFT=7 -CONFIG_X86_MINIMUM_CPU_FAMILY=4 +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_MINIMUM_CPU_FAMILY=5  CONFIG_X86_POPAD_OK=y  CONFIG_X86_TSC=y  CONFIG_X86_USE_PPRO_CHECKSUM=y diff --git a/target/linux/uml/config/x86_64 b/target/linux/uml/config/x86_64 index 66c1c4b8d..006f45416 100644 --- a/target/linux/uml/config/x86_64 +++ b/target/linux/uml/config/x86_64 @@ -2,95 +2,103 @@ CONFIG_3_LEVEL_PGTABLES=y  CONFIG_64BIT=y  # CONFIG_ARCH_HAS_SC_SIGNALS is not set  # CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA is not set -# CONFIG_ATM is not set -CONFIG_BASE_SMALL=0  CONFIG_BINFMT_MISC=m -CONFIG_BITREVERSE=y +CONFIG_BKL=y  CONFIG_BLK_DEV_COW_COMMON=y  CONFIG_BLK_DEV_UBD=y  CONFIG_BLK_DEV_UBD_SYNC=y -# CONFIG_BT is not set  CONFIG_CON_CHAN="xterm"  CONFIG_CON_ZERO_CHAN="fd:0,fd:1" +CONFIG_CPU_SUP_AMD=y +CONFIG_CPU_SUP_CENTAUR=y +CONFIG_CPU_SUP_INTEL=y  CONFIG_CRAMFS=y  # CONFIG_CRASHLOG is not set +CONFIG_CRC16=y  # CONFIG_CRYPTO_AES_NI_INTEL is not set  # CONFIG_CRYPTO_AES_X86_64 is not set  # CONFIG_CRYPTO_SALSA20_X86_64 is not set  # CONFIG_CRYPTO_TWOFISH_X86_64 is not set  CONFIG_DEBUG_BUGVERBOSE=y -# CONFIG_DEBUG_STACK_USAGE is not set -CONFIG_DEFAULT_AS=y +CONFIG_DEBUG_MEMORY_INIT=y +CONFIG_DECOMPRESS_BZIP2=y +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_LZMA=y +CONFIG_DEFAULT_CFQ=y  # CONFIG_DEFAULT_DEADLINE is not set -CONFIG_DEFAULT_IOSCHED="anticipatory" +CONFIG_DEFAULT_IOSCHED="cfq"  CONFIG_DEFCONFIG_LIST="arch/$ARCH/defconfig"  CONFIG_DNOTIFY=y  CONFIG_ELF_CORE=y  # CONFIG_EMBEDDED is not set  CONFIG_EXT2_FS=y  CONFIG_EXT3_FS=y -CONFIG_FS_POSIX_ACL=y -# CONFIG_FW_LOADER is not set +CONFIG_EXT4_FS=y  CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_GENERIC_FIND_FIRST_BIT=y +CONFIG_GENERIC_FIND_LAST_BIT=y +CONFIG_GENERIC_FIND_NEXT_BIT=y +CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y  # CONFIG_HAMRADIO is not set -CONFIG_HAS_DMA=y +# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set +# CONFIG_HAVE_GENERIC_HARDIRQS is not set  CONFIG_HOSTAUDIO=m  CONFIG_HOSTFS=y  # CONFIG_HPPFS is not set -# CONFIG_HW_RANDOM is not set -# CONFIG_IFB is not set  CONFIG_INITRAMFS_SOURCE=""  CONFIG_INIT_ENV_ARG_LIMIT=128 -CONFIG_IOSCHED_AS=y  CONFIG_IOSCHED_CFQ=y -# CONFIG_IP_NF_MATCH_LAYER7 is not set  CONFIG_IRQ_RELEASE_METHOD=y  CONFIG_ISO9660_FS=y  CONFIG_JBD=y +CONFIG_JBD2=y  CONFIG_KALLSYMS=y  CONFIG_KALLSYMS_EXTRA_PASS=y  CONFIG_KERNEL_STACK_ORDER=2  CONFIG_LD_SCRIPT_STATIC=y  CONFIG_LEGACY_PTYS=y  CONFIG_LEGACY_PTY_COUNT=256 -# CONFIG_MAC_PARTITION is not set -CONFIG_MAGIC_SYSRQ=y  # CONFIG_MATOM is not set  CONFIG_MCONSOLE=y  # CONFIG_MCORE2 is not set  # CONFIG_MINI_FO is not set -# CONFIG_MMAPPER is not set  CONFIG_MK8=y -CONFIG_MODE_SKAS=y -CONFIG_NEST_LEVEL=0 +# CONFIG_MMAPPER is not set +CONFIG_NAMESPACES=y +CONFIG_NEED_PER_CPU_KM=y  # CONFIG_NET_NS is not set -CONFIG_NET_SCH_FIFO=y  CONFIG_NLS=y -# CONFIG_NLS_CODEPAGE_850 is not set -# CONFIG_NLS_ISO8859_15 is not set -# CONFIG_NLS_KOI8_R is not set  # CONFIG_NOCONFIG_CHAN is not set +CONFIG_NO_DMA=y  CONFIG_NO_IOMEM=y  CONFIG_NULL_CHAN=y +CONFIG_PAGEFLAGS_EXTENDED=y +CONFIG_PHYS_ADDR_T_64BIT=y  CONFIG_PORT_CHAN=y  CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +# CONFIG_PREEMPT_RCU is not set  # CONFIG_PRINT_QUOTA_WARNING is not set +CONFIG_PROC_PAGE_MONITOR=y  CONFIG_PTY_CHAN=y  CONFIG_QFMT_V1=y  CONFIG_QFMT_V2=y  CONFIG_QUOTA=y  CONFIG_QUOTACTL=y  # CONFIG_QUOTA_NETLINK_INTERFACE is not set +CONFIG_QUOTA_TREE=y +CONFIG_RD_BZIP2=y +CONFIG_RD_GZIP=y  CONFIG_RELAY=y -CONFIG_RESOURCES_64BIT=y -CONFIG_RWSEM_GENERIC_SPINLOCK=y -CONFIG_SCSI_WAIT_SCAN=m -CONFIG_SEMAPHORE_SLEEPERS=y -# CONFIG_SLUB_DEBUG_ON is not set -# CONFIG_SLUB_STATS is not set +# CONFIG_RWSEM_GENERIC_SPINLOCK is not set +CONFIG_RWSEM_XCHGADD_ALGORITHM=y +# CONFIG_SCSI_DMA is not set  CONFIG_SMP_BROKEN=y  CONFIG_SOFT_WATCHDOG=m -# CONFIG_SPARSEMEM_STATIC is not set +CONFIG_SOUND=m +CONFIG_SOUND_OSS_CORE=y  CONFIG_SQUASHFS_EMBEDDED=y  CONFIG_SSL=y  CONFIG_SSL_CHAN="pty" @@ -98,11 +106,6 @@ CONFIG_SSL_CHAN="pty"  CONFIG_STATIC_LINK=y  CONFIG_STDERR_CONSOLE=y  CONFIG_STDIO_CONSOLE=y -CONFIG_STUB_CODE=0x7fbfffe000 -CONFIG_STUB_DATA=0x7fbffff000 -CONFIG_STUB_START=0x7fbfffe000 -CONFIG_SYSVIPC_SYSCTL=y -CONFIG_TOP_ADDR=0x80000000  # CONFIG_TRACE_IRQFLAGS_SUPPORT is not set  CONFIG_TTY_CHAN=y  CONFIG_UID16=y @@ -117,12 +120,22 @@ CONFIG_UML_NET_SLIRP=y  CONFIG_UML_NET_TUNTAP=y  # CONFIG_UML_NET_VDE is not set  CONFIG_UML_RANDOM=y -CONFIG_UML_REAL_TIME_CLOCK=y  CONFIG_UML_SOUND=m  CONFIG_UML_WATCHDOG=m  CONFIG_UML_X86=y -# CONFIG_UNUSED_SYMBOLS is not set  # CONFIG_USER_NS is not set  CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_X86_32 is not set +CONFIG_X86_CMOV=y +# CONFIG_X86_CMPXCHG is not set +CONFIG_X86_CPU=y +CONFIG_X86_INTEL_USERCOPY=y +CONFIG_X86_INTERNODE_CACHE_SHIFT=6 +CONFIG_X86_L1_CACHE_SHIFT=6 +CONFIG_X86_MINIMUM_CPU_FAMILY=3 +CONFIG_X86_TSC=y +CONFIG_X86_USE_PPRO_CHECKSUM=y +CONFIG_X86_WP_WORKS_OK=y +CONFIG_X86_XADD=y  CONFIG_XTERM_CHAN=y  CONFIG_ZONE_DMA_FLAG=0 diff --git a/target/linux/uml/patches-2.6.37/001-gcc4_unit_at_a_time_i386_fix.patch b/target/linux/uml/patches-2.6.37/001-gcc4_unit_at_a_time_i386_fix.patch new file mode 100644 index 000000000..442c0ec76 --- /dev/null +++ b/target/linux/uml/patches-2.6.37/001-gcc4_unit_at_a_time_i386_fix.patch @@ -0,0 +1,11 @@ +--- a/arch/um/Makefile-i386 ++++ b/arch/um/Makefile-i386 +@@ -35,7 +35,7 @@ cflags-y += -ffreestanding + # Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use + # a lot more stack due to the lack of sharing of stacklots.  Also, gcc + # 4.3.0 needs -funit-at-a-time for extern inline functions. +-KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then \ ++KBUILD_CFLAGS += $(shell if [ $(call cc-version) -lt 0403 ] ; then \ + 			echo $(call cc-option,-fno-unit-at-a-time); \ + 			else echo $(call cc-option,-funit-at-a-time); fi ;) +  diff --git a/target/linux/uml/patches-2.6.37/002-gcc4_unfortify_source.patch b/target/linux/uml/patches-2.6.37/002-gcc4_unfortify_source.patch new file mode 100644 index 000000000..2be33d02a --- /dev/null +++ b/target/linux/uml/patches-2.6.37/002-gcc4_unfortify_source.patch @@ -0,0 +1,21 @@ +--- a/arch/um/Makefile-i386 ++++ b/arch/um/Makefile-i386 +@@ -39,4 +39,8 @@ KBUILD_CFLAGS += $(shell if [ $(call cc- + 			echo $(call cc-option,-fno-unit-at-a-time); \ + 			else echo $(call cc-option,-funit-at-a-time); fi ;) +  ++# disable compile-time buffer checks, enabled by default on Ubuntu 8.10  ++# and later ++KBUILD_CFLAGS += $(call cc-option,-U_FORTIFY_SOURCE) ++ + KBUILD_CFLAGS += $(cflags-y) +--- a/arch/um/Makefile-x86_64 ++++ b/arch/um/Makefile-x86_64 +@@ -24,3 +24,7 @@ LINK-y += -m64 +  + # Do unit-at-a-time unconditionally on x86_64, following the host + KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time) ++ ++# disable compile-time buffer checks, enabled by default on Ubuntu 8.10  ++# and later ++KBUILD_CFLAGS += $(call cc-option,-U_FORTIFY_SOURCE) diff --git a/target/linux/uml/patches-2.6.37/006-uml_libc_link_errors.patch b/target/linux/uml/patches-2.6.37/006-uml_libc_link_errors.patch new file mode 100644 index 000000000..0bab54c0b --- /dev/null +++ b/target/linux/uml/patches-2.6.37/006-uml_libc_link_errors.patch @@ -0,0 +1,24 @@ +--- a/arch/um/kernel/uml.lds.S ++++ b/arch/um/kernel/uml.lds.S +@@ -35,6 +35,21 @@ SECTIONS +     *(.gnu.warning) +     *(.gnu.linkonce.t*) +   } ++  /* Deal with multilib libc */ ++  .rel.plt        : ++  { ++    *(.rel.plt) ++    PROVIDE_HIDDEN (__rel_iplt_start = .); ++    *(.rel.iplt) ++    PROVIDE_HIDDEN (__rel_iplt_end = .); ++  } ++  .rela.plt       : ++  { ++    *(.rela.plt) ++    PROVIDE_HIDDEN (__rela_iplt_start = .); ++    *(.rela.iplt) ++    PROVIDE_HIDDEN (__rela_iplt_end = .); ++  } +  +   . = ALIGN(PAGE_SIZE); +   .syscall_stub : { diff --git a/target/linux/uml/patches-2.6.37/901-lib_zlib_deflate_visible.patch b/target/linux/uml/patches-2.6.37/901-lib_zlib_deflate_visible.patch new file mode 100644 index 000000000..f4aba9bd7 --- /dev/null +++ b/target/linux/uml/patches-2.6.37/901-lib_zlib_deflate_visible.patch @@ -0,0 +1,14 @@ +make ZLIB_DEFLATE visible, so that we can choose whether we want it built-in +or as a module + +--- a/lib/Kconfig ++++ b/lib/Kconfig +@@ -98,7 +98,7 @@ config ZLIB_INFLATE + 	tristate +  + config ZLIB_DEFLATE +-	tristate ++	tristate "Zlib compression" +  + config LZO_COMPRESS + 	tristate | 
