summaryrefslogtreecommitdiffstats
path: root/target/linux/uml
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-02-12 19:04:16 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-02-12 19:04:16 +0000
commitaf06280b7a62ba42c6506feb8d940b58242f54ef (patch)
tree49c3bea157d06bc8c9d93fc527423f0457df23c8 /target/linux/uml
parent5768e1a585613669705125bee51ec1e4fc04efa5 (diff)
[uml] add 2.6.37 support
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@25484 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/uml')
-rw-r--r--target/linux/uml/config/i38688
-rw-r--r--target/linux/uml/config/x86_6487
-rw-r--r--target/linux/uml/patches-2.6.37/001-gcc4_unit_at_a_time_i386_fix.patch11
-rw-r--r--target/linux/uml/patches-2.6.37/002-gcc4_unfortify_source.patch21
-rw-r--r--target/linux/uml/patches-2.6.37/006-uml_libc_link_errors.patch24
-rw-r--r--target/linux/uml/patches-2.6.37/901-lib_zlib_deflate_visible.patch14
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