From: florian Date: Sat, 12 Feb 2011 19:04:16 +0000 (+0000) Subject: [uml] add 2.6.37 support X-Git-Url: https://git.archive.openwrt.org/?p=openwrt.git;a=commitdiff_plain;h=af06280b7a62ba42c6506feb8d940b58242f54ef [uml] add 2.6.37 support git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25484 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- diff --git a/target/linux/uml/config/i386 b/target/linux/uml/config/i386 index 484e3c6494..fb2b0cb251 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 66c1c4b8df..006f454168 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 0000000000..442c0ec76e --- /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 0000000000..2be33d02a3 --- /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 0000000000..0bab54c0ba --- /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 0000000000..f4aba9bd7a --- /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