From 92bda4ae5c6aac89e612c338bf9e9e6e9ee96aca Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@nbd.name>
Date: Wed, 1 Feb 2017 11:23:21 +0100
Subject: [PATCH] x86: switch to Linux 4.9

Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
 target/linux/x86/64/config-default            |  44 +-
 target/linux/x86/Makefile                     |   2 +-
 target/linux/x86/config-4.9                   | 458 ++++++++++++++++++
 target/linux/x86/generic/config-default       |  46 +-
 target/linux/x86/geode/config-default         |  15 +-
 target/linux/x86/legacy/config-default        |  43 +-
 .../patches-4.9/011-tune_lzma_options.patch   |  22 +
 .../patches-4.9/100-fix_cs5535_clockevt.patch |  12 +
 8 files changed, 599 insertions(+), 43 deletions(-)
 create mode 100644 target/linux/x86/config-4.9
 create mode 100644 target/linux/x86/patches-4.9/011-tune_lzma_options.patch
 create mode 100644 target/linux/x86/patches-4.9/100-fix_cs5535_clockevt.patch

diff --git a/target/linux/x86/64/config-default b/target/linux/x86/64/config-default
index 848f041aeb..0f23a9df75 100644
--- a/target/linux/x86/64/config-default
+++ b/target/linux/x86/64/config-default
@@ -14,12 +14,12 @@ CONFIG_ACPI_CPU_FREQ_PSS=y
 # CONFIG_ACPI_EC_DEBUGFS is not set
 CONFIG_ACPI_FAN=y
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
-# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 # CONFIG_ACPI_NFIT is not set
 # CONFIG_ACPI_PCI_SLOT is not set
 CONFIG_ACPI_PROCESSOR=y
 # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
+CONFIG_ACPI_PROCESSOR_CSTATE=y
 CONFIG_ACPI_PROCESSOR_IDLE=y
 # CONFIG_ACPI_PROCFS_POWER is not set
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
@@ -32,9 +32,14 @@ CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
 CONFIG_ARCH_DMA_ADDR_T_64BIT=y
 CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
+CONFIG_ARCH_HAS_KCOV=y
 CONFIG_ARCH_HAS_PMEM_API=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-rdi -fcall-saved-rsi -fcall-saved-rdx -fcall-saved-rcx -fcall-saved-r8 -fcall-saved-r9 -fcall-saved-r10 -fcall-saved-r11"
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
+CONFIG_ARCH_MMAP_RND_BITS=28
+CONFIG_ARCH_MMAP_RND_BITS_MAX=32
+CONFIG_ARCH_MMAP_RND_BITS_MIN=28
 CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
 CONFIG_ARCH_SPARSEMEM_DEFAULT=y
 CONFIG_ARCH_SUPPORTS_INT128=y
@@ -52,8 +57,11 @@ CONFIG_CALGARY_IOMMU_ENABLED_BY_DEFAULT=y
 CONFIG_CONNECTOR=y
 CONFIG_CPU_RMAP=y
 CONFIG_CRC_T10DIF=y
-CONFIG_CRYPTO_AES_X86_64=y
+CONFIG_CRYPTO_ABLK_HELPER=y
+CONFIG_CRYPTO_AEAD=y
+CONFIG_CRYPTO_AEAD2=y
 CONFIG_CRYPTO_AES_NI_INTEL=y
+CONFIG_CRYPTO_AES_X86_64=y
 # CONFIG_CRYPTO_BLOWFISH_X86_64 is not set
 # CONFIG_CRYPTO_CAMELLIA_AESNI_AVX2_X86_64 is not set
 # CONFIG_CRYPTO_CAMELLIA_AESNI_AVX_X86_64 is not set
@@ -63,7 +71,14 @@ CONFIG_CRYPTO_AES_NI_INTEL=y
 # CONFIG_CRYPTO_CHACHA20_X86_64 is not set
 CONFIG_CRYPTO_CRCT10DIF=y
 # CONFIG_CRYPTO_CRCT10DIF_PCLMUL is not set
+CONFIG_CRYPTO_CRYPTD=y
 # CONFIG_CRYPTO_DES3_EDE_X86_64 is not set
+CONFIG_CRYPTO_GF128MUL=y
+CONFIG_CRYPTO_GLUE_HELPER_X86=y
+CONFIG_CRYPTO_LRW=y
+CONFIG_CRYPTO_MANAGER=y
+CONFIG_CRYPTO_MANAGER2=y
+CONFIG_CRYPTO_NULL2=y
 # CONFIG_CRYPTO_POLY1305_X86_64 is not set
 # CONFIG_CRYPTO_SALSA20_X86_64 is not set
 # CONFIG_CRYPTO_SERPENT_AVX2_X86_64 is not set
@@ -71,15 +86,21 @@ CONFIG_CRYPTO_CRCT10DIF=y
 # CONFIG_CRYPTO_SERPENT_SSE2_X86_64 is not set
 # CONFIG_CRYPTO_SHA1_MB is not set
 # CONFIG_CRYPTO_SHA1_SSSE3 is not set
+# CONFIG_CRYPTO_SHA256_MB is not set
 # CONFIG_CRYPTO_SHA256_SSSE3 is not set
+# CONFIG_CRYPTO_SHA512_MB is not set
 # CONFIG_CRYPTO_SHA512_SSSE3 is not set
 # CONFIG_CRYPTO_SKEIN is not set
 # CONFIG_CRYPTO_TWOFISH_AVX_X86_64 is not set
 # CONFIG_CRYPTO_TWOFISH_X86_64 is not set
 # CONFIG_CRYPTO_TWOFISH_X86_64_3WAY is not set
+CONFIG_CRYPTO_XTS=y
+# CONFIG_DPTF_POWER is not set
 # CONFIG_EARLY_PRINTK_EFI is not set
 CONFIG_EFI=y
 CONFIG_EFIVAR_FS=m
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
 CONFIG_EFI_ESRT=y
 # CONFIG_EFI_FAKE_MEMMAP is not set
 # CONFIG_EFI_MIXED is not set
@@ -87,6 +108,7 @@ CONFIG_EFI_ESRT=y
 CONFIG_EFI_RUNTIME_MAP=y
 CONFIG_EFI_RUNTIME_WRAPPERS=y
 CONFIG_EFI_STUB=y
+# CONFIG_EFI_TEST is not set
 CONFIG_EFI_VARS=y
 CONFIG_FB=y
 CONFIG_FB_CFB_COPYAREA=y
@@ -110,10 +132,9 @@ CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y
 CONFIG_GENERIC_CPU=y
 CONFIG_GENERIC_PENDING_IRQ=y
 CONFIG_GPIOLIB=y
-# CONFIG_GPIO_104_IDIO_16 is not set
+CONFIG_GPIO_ACPI=y
 # CONFIG_GPIO_AMDPT is not set
 # CONFIG_GPIO_F7188X is not set
-# CONFIG_GPIO_INTEL_MID is not set
 # CONFIG_GPIO_IT87 is not set
 # CONFIG_GPIO_LYNXPOINT is not set
 CONFIG_GPIO_SYSFS=y
@@ -122,13 +143,15 @@ CONFIG_HAVE_ACPI_APEI_NMI=y
 # CONFIG_HAVE_AOUT is not set
 CONFIG_HAVE_ARCH_HUGE_VMAP=y
 CONFIG_HAVE_ARCH_SOFT_DIRTY=y
-CONFIG_HAVE_BPF_JIT=y
+CONFIG_HAVE_ARCH_VMAP_STACK=y
 CONFIG_HAVE_CONTEXT_TRACKING=y
+CONFIG_HAVE_EBPF_JIT=y
 CONFIG_HAVE_FENTRY=y
 # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
 CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y
 CONFIG_HAVE_LIVEPATCH=y
 CONFIG_HAVE_MEMORY_PRESENT=y
+CONFIG_HAVE_STACK_VALIDATION=y
 CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y
 CONFIG_HID=y
 CONFIG_HID_BATTERY_STRENGTH=y
@@ -166,6 +189,7 @@ CONFIG_IOMMU_HELPER=y
 # CONFIG_ISCSI_IBFT_FIND is not set
 # CONFIG_ITCO_VENDOR_SUPPORT is not set
 CONFIG_ITCO_WDT=y
+CONFIG_KALLSYMS_ABSOLUTE_PERCPU=y
 # CONFIG_KVM_DEBUG_FS is not set
 CONFIG_KVM_GUEST=y
 # CONFIG_LCD_CLASS_DEVICE is not set
@@ -197,6 +221,7 @@ CONFIG_NET_FLOW_LIMIT=y
 CONFIG_NR_CPUS=8
 # CONFIG_NUMA is not set
 CONFIG_OUTPUT_FORMAT="elf64-x86-64"
+CONFIG_PADATA=y
 CONFIG_PARAVIRT=y
 CONFIG_PARAVIRT_CLOCK=y
 # CONFIG_PARAVIRT_DEBUG is not set
@@ -212,6 +237,7 @@ CONFIG_PATA_VIA=y
 CONFIG_PCIEAER=y
 CONFIG_PCIEPORTBUS=y
 CONFIG_PCI_BUS_ADDR_T_64BIT=y
+# CONFIG_PCI_HYPERV is not set
 # CONFIG_PCI_MMCONFIG is not set
 CONFIG_PGTABLE_LEVELS=4
 CONFIG_PHYSICAL_ALIGN=0x1000000
@@ -249,10 +275,12 @@ CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
 CONFIG_SWIOTLB=y
 # CONFIG_THUNDER_NIC_BGX is not set
 # CONFIG_THUNDER_NIC_PF is not set
+# CONFIG_THUNDER_NIC_RGX is not set
 # CONFIG_THUNDER_NIC_VF is not set
 # CONFIG_TOSHIBA_BT_RFKILL is not set
 CONFIG_TREE_RCU=y
 CONFIG_UCS2_STRING=y
+CONFIG_UCSI=y
 # CONFIG_UNISYSSPAR is not set
 CONFIG_USB=y
 CONFIG_USB_COMMON=y
@@ -278,7 +306,10 @@ CONFIG_VIRTIO_MMIO=y
 CONFIG_VIRTIO_NET=y
 CONFIG_VIRTIO_PCI=y
 CONFIG_VIRTIO_PCI_LEGACY=y
+# CONFIG_VIRTIO_VSOCKETS is not set
 CONFIG_VIRT_DRIVERS=y
+CONFIG_VMAP_STACK=y
+# CONFIG_VMD is not set
 CONFIG_VMWARE_BALLOON=y
 CONFIG_VMWARE_PVSCSI=y
 CONFIG_VMWARE_VMCI=y
@@ -298,6 +329,7 @@ CONFIG_X86_DEBUGCTLMSR=y
 CONFIG_X86_DEV_DMA_OPS=y
 CONFIG_X86_DIRECT_GBPAGES=y
 # CONFIG_X86_INTEL_LPSS is not set
+# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
 CONFIG_X86_MINIMUM_CPU_FAMILY=64
 # CONFIG_X86_MSR is not set
 # CONFIG_X86_PCC_CPUFREQ is not set
diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile
index f371b2ba3a..47ebca1594 100644
--- a/target/linux/x86/Makefile
+++ b/target/linux/x86/Makefile
@@ -13,7 +13,7 @@ FEATURES:=squashfs ext4 vdi vmdk pcmcia targz fpu
 SUBTARGETS:=generic legacy geode 64
 MAINTAINER:=Felix Fietkau <nbd@nbd.name>
 
-KERNEL_PATCHVER:=4.4
+KERNEL_PATCHVER:=4.9
 
 KERNELNAME:=bzImage
 
diff --git a/target/linux/x86/config-4.9 b/target/linux/x86/config-4.9
new file mode 100644
index 0000000000..4c5812bdfc
--- /dev/null
+++ b/target/linux/x86/config-4.9
@@ -0,0 +1,458 @@
+# CONFIG_60XX_WDT is not set
+# CONFIG_64BIT is not set
+# CONFIG_ACPI is not set
+# CONFIG_ACQUIRE_WDT is not set
+# CONFIG_ADVANTECH_WDT is not set
+# CONFIG_ALIM1535_WDT is not set
+# CONFIG_ALIX is not set
+CONFIG_AMD_NB=y
+CONFIG_ARCH_CLOCKSOURCE_DATA=y
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_ARCH_DISCARD_MEMBLOCK=y
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_ELF_RANDOMIZE=y
+CONFIG_ARCH_HAS_FAST_MULTIPLIER=y
+CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y
+CONFIG_ARCH_HAS_MMIO_FLUSH=y
+CONFIG_ARCH_HAS_SG_CHAIN=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_ARCH_MIGHT_HAVE_PC_PARPORT=y
+CONFIG_ARCH_MIGHT_HAVE_PC_SERIO=y
+# CONFIG_ARCH_RANDOM is not set
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_DEFERRED_STRUCT_PAGE_INIT=y
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUPPORTS_UPROBES=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_USE_BUILTIN_BSWAP=y
+CONFIG_ARCH_USE_QUEUED_RWLOCKS=y
+CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y
+CONFIG_ARCH_WANTS_DYNAMIC_TASK_STRUCT=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_ARCH_WANT_GENERAL_HUGETLB=y
+CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y
+CONFIG_ARCH_WANT_IPC_PARSE_VERSION=y
+CONFIG_ATA=y
+CONFIG_ATA_GENERIC=y
+CONFIG_ATA_PIIX=y
+CONFIG_BINFMT_MISC=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BLK_MQ_PCI=y
+CONFIG_BOUNCE=y
+CONFIG_CLKBLD_I8253=y
+CONFIG_CLKEVT_I8253=y
+CONFIG_CLKSRC_I8253=y
+CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_CLONE_BACKWARDS=y
+# CONFIG_COMPAT_VDSO is not set
+CONFIG_CONSOLE_TRANSLATIONS=y
+# CONFIG_CPU5_WDT is not set
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
+CONFIG_CPU_FREQ_GOV_ATTR_SET=y
+CONFIG_CPU_FREQ_GOV_COMMON=y
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+CONFIG_CPU_FREQ_GOV_ONDEMAND=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_IDLE=y
+CONFIG_CPU_IDLE_GOV_LADDER=y
+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_CRASHLOG is not set
+CONFIG_CRC16=y
+CONFIG_CRYPTO_AES_586=y
+CONFIG_CRYPTO_CRC32=y
+CONFIG_CRYPTO_CRC32C=y
+# CONFIG_CRYPTO_CRC32_PCLMUL is not set
+CONFIG_CRYPTO_HASH=y
+CONFIG_CRYPTO_HASH2=y
+CONFIG_CRYPTO_RNG2=y
+# CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
+CONFIG_CRYPTO_WORKQUEUE=y
+# CONFIG_CX_ECAT is not set
+CONFIG_DCACHE_WORD_ACCESS=y
+# CONFIG_DCDBAS is not set
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+# CONFIG_DEBUG_ENTRY is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+CONFIG_DEBUG_RODATA=y
+# CONFIG_DEBUG_TLBFLUSH is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DELL_RBU is not set
+CONFIG_DMI=y
+CONFIG_DMIID=y
+CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
+CONFIG_DMI_SYSFS=y
+CONFIG_DNOTIFY=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+CONFIG_EDAC_ATOMIC_SCRUB=y
+CONFIG_EDAC_SUPPORT=y
+# CONFIG_EDD is not set
+# CONFIG_EUROTECH_WDT is not set
+CONFIG_EXT4_FS=y
+# CONFIG_F2FS_CHECK_FS is not set
+CONFIG_F2FS_FS=y
+# CONFIG_F2FS_FS_SECURITY is not set
+CONFIG_F2FS_FS_XATTR=y
+CONFIG_F2FS_STAT_FS=y
+# CONFIG_F71808E_WDT is not set
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_FS_MBCACHE=y
+CONFIG_FUSION=y
+# CONFIG_FUSION_CTL is not set
+# CONFIG_FUSION_LOGGING is not set
+CONFIG_FUSION_MAX_SGE=128
+CONFIG_FUSION_SPI=y
+CONFIG_GENERIC_ALLOCATOR=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_EARLY_IOREMAP=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_IO=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_MSI_IRQ=y
+CONFIG_GENERIC_MSI_IRQ_DOMAIN=y
+CONFIG_GENERIC_PCI_IOMAP=y
+CONFIG_GENERIC_SMP_IDLE_THREAD=y
+CONFIG_GENERIC_STRNCPY_FROM_USER=y
+CONFIG_GENERIC_STRNLEN_USER=y
+CONFIG_GENERIC_TIME_VSYSCALL=y
+# CONFIG_GEOS is not set
+CONFIG_GLOB=y
+# CONFIG_GOOGLE_FIRMWARE is not set
+# CONFIG_HANGCHECK_TIMER is not set
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT_MAP=y
+# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_AOUT=y
+CONFIG_HAVE_ARCH_AUDITSYSCALL=y
+# CONFIG_HAVE_ARCH_BITREVERSE is not set
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+CONFIG_HAVE_ARCH_SECCOMP_FILTER=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+# CONFIG_HAVE_BOOTMEM_INFO_NODE is not set
+CONFIG_HAVE_CC_STACKPROTECTOR=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_COPY_THREAD_TLS=y
+CONFIG_HAVE_C_RECORDMCOUNT=y
+CONFIG_HAVE_DEBUG_KMEMLEAK=y
+CONFIG_HAVE_DEBUG_STACKOVERFLOW=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_DMA_CONTIGUOUS=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y
+CONFIG_HAVE_KPROBES_ON_FTRACE=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_HAVE_NET_DSA=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_OPTPROBES=y
+CONFIG_HAVE_PCSPKR_PLATFORM=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HAVE_PERF_EVENTS_NMI=y
+CONFIG_HAVE_PERF_REGS=y
+CONFIG_HAVE_PERF_USER_STACK_DUMP=y
+CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_UID16=y
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+# CONFIG_HIGHMEM4G is not set
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_HPET_TIMER=y
+# CONFIG_HP_WATCHDOG is not set
+CONFIG_HT_IRQ=y
+# CONFIG_HUGETLBFS is not set
+CONFIG_HW_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_GEODE=y
+CONFIG_HW_RANDOM_VIA=y
+# CONFIG_HYPERVISOR_GUEST is not set
+CONFIG_HZ_PERIODIC=y
+CONFIG_I8253_LOCK=y
+# CONFIG_I8K is not set
+# CONFIG_IB700_WDT is not set
+# CONFIG_IBMASR is not set
+# CONFIG_IBM_RTL is not set
+# CONFIG_IE6XX_WDT is not set
+CONFIG_ILLEGAL_POINTER_VALUE=0
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_INPUT=y
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_INSTRUCTION_DECODER=y
+# CONFIG_INTEL_PCH_THERMAL is not set
+# CONFIG_INTEL_POWERCLAMP is not set
+# CONFIG_INTEL_SOC_DTS_THERMAL is not set
+# CONFIG_IOMMU_STRESS is not set
+# CONFIG_IOSF_MBI is not set
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+# CONFIG_IO_DELAY_UDELAY is not set
+CONFIG_IRQ_DOMAIN=y
+CONFIG_IRQ_DOMAIN_HIERARCHY=y
+CONFIG_IRQ_FORCED_THREADING=y
+CONFIG_IRQ_WORK=y
+# CONFIG_ISA is not set
+CONFIG_ISA_DMA_API=y
+# CONFIG_IT8712F_WDT is not set
+# CONFIG_IT87_WDT is not set
+# CONFIG_ITCO_WDT is not set
+CONFIG_JBD2=y
+CONFIG_KALLSYMS=y
+CONFIG_KEXEC=y
+CONFIG_KEXEC_CORE=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_LEDS_CLEVO_MAIL is not set
+CONFIG_M486=y
+# CONFIG_M586 is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M686 is not set
+# CONFIG_MACHZ_WDT is not set
+# CONFIG_MATOM is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MELAN is not set
+# CONFIG_MFD_INTEL_LPSS_PCI is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MICROCODE is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MODIFY_LDT_SYSCALL is not set
+CONFIG_MODULES_TREE_LOOKUP=y
+CONFIG_MODULES_USE_ELF_REL=y
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MTD is not set
+CONFIG_MTRR=y
+# CONFIG_MTRR_SANITIZER is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MWINCHIPC6 is not set
+CONFIG_NAMESPACES=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_KM=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_NEED_SG_DMA_LENGTH=y
+# CONFIG_NET5501 is not set
+# CONFIG_NET_NS is not set
+CONFIG_NLS=y
+CONFIG_NOHIGHMEM=y
+CONFIG_NO_BOOTMEM=y
+CONFIG_NR_CPUS=1
+# CONFIG_NSC_GPIO is not set
+CONFIG_NVRAM=y
+# CONFIG_OF is not set
+CONFIG_OLD_SIGACTION=y
+CONFIG_OLD_SIGSUSPEND3=y
+# CONFIG_OLPC is not set
+CONFIG_OPROFILE_NMI_TIMER=y
+# CONFIG_OPTIMIZE_INLINING is not set
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PC8736x_GPIO is not set
+# CONFIG_PC87413_WDT is not set
+CONFIG_PCI=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_GOANY=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+CONFIG_PCI_LABEL=y
+CONFIG_PCI_MSI=y
+CONFIG_PCI_MSI_IRQ_DOMAIN=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_PERF_EVENTS=y
+CONFIG_PERF_EVENTS_INTEL_CSTATE=y
+CONFIG_PERF_EVENTS_INTEL_RAPL=y
+CONFIG_PERF_EVENTS_INTEL_UNCORE=y
+CONFIG_PGTABLE_LEVELS=2
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_PMC_ATOM=y
+CONFIG_POWER_SUPPLY=y
+# CONFIG_PROCESSOR_SELECT is not set
+CONFIG_PROC_PAGE_MONITOR=y
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_PUNIT_ATOM_DEBUG is not set
+# CONFIG_RCU_STALL_COMMON is not set
+CONFIG_RD_BZIP2=y
+CONFIG_RD_GZIP=y
+# CONFIG_RELOCATABLE is not set
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_MC146818_LIB=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_SBC7240_WDT is not set
+# CONFIG_SBC8360_WDT is not set
+# CONFIG_SBC_EPX_C3_WATCHDOG is not set
+# CONFIG_SC1200_WDT is not set
+CONFIG_SCHED_HRTICK=y
+# CONFIG_SCHED_INFO is not set
+CONFIG_SCSI=y
+CONFIG_SCSI_SPI_ATTRS=y
+CONFIG_SCx200=y
+CONFIG_SCx200HR_TIMER=y
+# CONFIG_SCx200_GPIO is not set
+# CONFIG_SCx200_WDT is not set
+# CONFIG_SERIAL_8250_FSL is not set
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIO=y
+# CONFIG_SERIO_CT82C710 is not set
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SMSC37B787_WDT is not set
+# CONFIG_SMSC_SCH311X_WDT is not set
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_SRCU=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_SYSCTL_EXCEPTION_TRACE=y
+# CONFIG_TELCLOCK is not set
+CONFIG_THERMAL=y
+CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y
+CONFIG_THERMAL_GOV_STEP_WISE=y
+CONFIG_THREAD_INFO_IN_TASK=y
+CONFIG_TICK_CPU_ACCOUNTING=y
+# CONFIG_TOSHIBA is not set
+CONFIG_UP_LATE_INIT=y
+CONFIG_USB_SUPPORT=y
+# CONFIG_USERIO is not set
+# CONFIG_USER_NS is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VIA_WDT is not set
+# CONFIG_VM86 is not set
+# CONFIG_VMWARE_VMCI is not set
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=y
+# CONFIG_WAFER_WDT is not set
+CONFIG_X86=y
+CONFIG_X86_32=y
+# CONFIG_X86_32_IRIS is not set
+CONFIG_X86_32_LAZY_GS=y
+CONFIG_X86_ALIGNMENT_16=y
+# CONFIG_X86_ANCIENT_MCE is not set
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+# CONFIG_X86_CPUFREQ_NFORCE2 is not set
+# CONFIG_X86_CPUID is not set
+# CONFIG_X86_DEBUG_FPU is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+CONFIG_X86_F00F_BUG=y
+CONFIG_X86_FAST_FEATURE_TESTS=y
+CONFIG_X86_FEATURE_NAMES=y
+CONFIG_X86_GENERIC=y
+# CONFIG_X86_GX_SUSPMOD is not set
+# CONFIG_X86_INTEL_MPX is not set
+# CONFIG_X86_INTEL_PSTATE is not set
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_INVD_BUG=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+# CONFIG_X86_LEGACY_VM86 is not set
+CONFIG_X86_LOCAL_APIC=y
+# CONFIG_X86_LONGRUN is not set
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_AMD=y
+# CONFIG_X86_MCE_INJECT is not set
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=4
+CONFIG_X86_MPPARSE=y
+CONFIG_X86_MSR=y
+# CONFIG_X86_P4_CLOCKMOD is not set
+# CONFIG_X86_PAE is not set
+CONFIG_X86_PAT=y
+CONFIG_X86_PLATFORM_DEVICES=y
+# CONFIG_X86_POWERNOW_K6 is not set
+# CONFIG_X86_POWERNOW_K7 is not set
+CONFIG_X86_PPRO_FENCE=y
+# CONFIG_X86_PTDUMP is not set
+# CONFIG_X86_PTDUMP_CORE is not set
+# CONFIG_X86_REBOOTFIXUPS is not set
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_RESERVE_LOW=64
+# CONFIG_X86_SMAP is not set
+# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
+# CONFIG_X86_SPEEDSTEP_ICH is not set
+# CONFIG_X86_SPEEDSTEP_LIB is not set
+# CONFIG_X86_SPEEDSTEP_SMI is not set
+CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_X86_THERMAL_VECTOR=y
+CONFIG_X86_UP_APIC=y
+CONFIG_X86_UP_IOAPIC=y
+CONFIG_X86_VERBOSE_BOOTUP=y
+CONFIG_XZ_DEC_BCJ=y
+CONFIG_XZ_DEC_X86=y
+CONFIG_ZLIB_INFLATE=y
diff --git a/target/linux/x86/generic/config-default b/target/linux/x86/generic/config-default
index 1a14c270bc..c897b47220 100644
--- a/target/linux/x86/generic/config-default
+++ b/target/linux/x86/generic/config-default
@@ -16,12 +16,12 @@ CONFIG_ACPI_CPU_FREQ_PSS=y
 CONFIG_ACPI_HOTPLUG_CPU=y
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
 # CONFIG_ACPI_I2C_OPREGION is not set
-# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 # CONFIG_ACPI_NFIT is not set
 # CONFIG_ACPI_PCI_SLOT is not set
 CONFIG_ACPI_PROCESSOR=y
 # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
+CONFIG_ACPI_PROCESSOR_CSTATE=y
 CONFIG_ACPI_PROCESSOR_IDLE=y
 # CONFIG_ACPI_PROCFS_POWER is not set
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
@@ -43,6 +43,7 @@ CONFIG_AGP_INTEL=y
 # CONFIG_AGP_VIA is not set
 # CONFIG_APM is not set
 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y
+CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
 CONFIG_ARCH_RANDOM=y
@@ -56,6 +57,10 @@ CONFIG_BLK_DEV_SR=y
 # CONFIG_BOOTPARAM_HOTPLUG_CPU0 is not set
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_NXP is not set
+# CONFIG_COMMON_CLK_PIC32 is not set
+# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set
 CONFIG_CPU_IDLE_GOV_MENU=y
 CONFIG_CPU_RMAP=y
 CONFIG_CRYPTO_AEAD=y
@@ -65,54 +70,57 @@ CONFIG_CRYPTO_MANAGER2=y
 CONFIG_CRYPTO_NULL2=y
 # CONFIG_DEBUG_HOTPLUG_CPU0 is not set
 CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DPTF_POWER is not set
 CONFIG_DRM=y
 CONFIG_DRM_AMDGPU=y
 # CONFIG_DRM_AMDGPU_CIK is not set
+# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
+# CONFIG_DRM_AMDGPU_SI is not set
 # CONFIG_DRM_AMDGPU_USERPTR is not set
+# CONFIG_DRM_AMD_ACP is not set
 # CONFIG_DRM_AST is not set
 CONFIG_DRM_BOCHS=y
 CONFIG_DRM_BRIDGE=y
 # CONFIG_DRM_CIRRUS_QEMU is not set
 CONFIG_DRM_FBDEV_EMULATION=y
 # CONFIG_DRM_GMA500 is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
 # CONFIG_DRM_I2C_CH7006 is not set
 # CONFIG_DRM_I2C_NXP_TDA998X is not set
 # CONFIG_DRM_I2C_SIL164 is not set
-# CONFIG_DRM_I810 is not set
 CONFIG_DRM_I915=y
+# CONFIG_DRM_I915_DEBUG is not set
+# CONFIG_DRM_I915_GVT is not set
 # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
+CONFIG_DRM_I915_USERPTR=y
+# CONFIG_DRM_I915_WERROR is not set
 CONFIG_DRM_KMS_FB_HELPER=y
 CONFIG_DRM_KMS_HELPER=y
 # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
-# CONFIG_DRM_MGA is not set
 # CONFIG_DRM_MGAG200 is not set
 CONFIG_DRM_MIPI_DSI=y
 # CONFIG_DRM_NOUVEAU is not set
 CONFIG_DRM_PANEL=y
 # CONFIG_DRM_QXL is not set
-# CONFIG_DRM_R128 is not set
 CONFIG_DRM_RADEON=y
-# CONFIG_DRM_RADEON_UMS is not set
 # CONFIG_DRM_RADEON_USERPTR is not set
-# CONFIG_DRM_SAVAGE is not set
-# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_TDFX is not set
 CONFIG_DRM_TTM=y
 # CONFIG_DRM_UDL is not set
 # CONFIG_DRM_VGEM is not set
-# CONFIG_DRM_VIA is not set
 CONFIG_DRM_VIRTIO_GPU=y
 # CONFIG_DRM_VMWGFX is not set
 CONFIG_EARLY_PRINTK_EFI=y
+# CONFIG_EBC_C384_WDT is not set
 CONFIG_EFI=y
 CONFIG_EFIVAR_FS=m
+# CONFIG_EFI_BOOTLOADER_CONTROL is not set
+# CONFIG_EFI_CAPSULE_LOADER is not set
 CONFIG_EFI_ESRT=y
 # CONFIG_EFI_FAKE_MEMMAP is not set
 # CONFIG_EFI_PGT_DUMP is not set
 CONFIG_EFI_RUNTIME_MAP=y
 CONFIG_EFI_RUNTIME_WRAPPERS=y
 CONFIG_EFI_STUB=y
+# CONFIG_EFI_TEST is not set
 CONFIG_EFI_VARS=y
 # CONFIG_EISA is not set
 # CONFIG_EL3 is not set
@@ -141,14 +149,16 @@ CONFIG_GENERIC_PENDING_IRQ=y
 CONFIG_GENERIC_PINCONF=y
 CONFIG_GPIOLIB=y
 CONFIG_GPIOLIB_IRQCHIP=y
+# CONFIG_GPIO_104_DIO_48E is not set
 # CONFIG_GPIO_104_IDIO_16 is not set
+# CONFIG_GPIO_104_IDI_48 is not set
 CONFIG_GPIO_ACPI=y
 # CONFIG_GPIO_AMDPT is not set
-CONFIG_GPIO_DEVRES=y
 # CONFIG_GPIO_F7188X is not set
-# CONFIG_GPIO_INTEL_MID is not set
+# CONFIG_GPIO_GPIO_MM is not set
 # CONFIG_GPIO_IT87 is not set
 # CONFIG_GPIO_LYNXPOINT is not set
+# CONFIG_GPIO_WS16C48 is not set
 CONFIG_HAVE_ACPI_APEI=y
 CONFIG_HAVE_ACPI_APEI_NMI=y
 CONFIG_HAVE_ARCH_HUGE_VMAP=y
@@ -193,15 +203,17 @@ CONFIG_INTEL_IDLE=y
 # CONFIG_INTEL_PMC_IPC is not set
 CONFIG_INTERVAL_TREE=y
 CONFIG_IOMMU_HELPER=y
+CONFIG_IOSF_MBI=y
+# CONFIG_IOSF_MBI_DEBUG is not set
 CONFIG_IRQ_BYPASS_MANAGER=y
 CONFIG_ISA=y
 CONFIG_ISAPNP=y
+CONFIG_ISA_BUS_API=y
 # CONFIG_ISCSI_IBFT_FIND is not set
 CONFIG_ISO9660_FS=y
 # CONFIG_JOLIET is not set
 CONFIG_KVM=y
 CONFIG_KVM_AMD=y
-CONFIG_KVM_APIC_ARCHITECTURE=y
 CONFIG_KVM_ASYNC_PF=y
 # CONFIG_KVM_DEBUG_FS is not set
 CONFIG_KVM_GENERIC_DIRTYLOG_READ_PROTECT=y
@@ -213,6 +225,8 @@ CONFIG_KVM_VFIO=y
 # CONFIG_LCD_CLASS_DEVICE is not set
 # CONFIG_LGUEST_GUEST is not set
 CONFIG_LOCK_SPIN_ON_OWNER=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
 # CONFIG_M486 is not set
 # CONFIG_MDA_CONSOLE is not set
 CONFIG_MEMORY_BALLOON=y
@@ -234,6 +248,7 @@ CONFIG_MMU_NOTIFIER=y
 # CONFIG_MOUSE_CYAPA is not set
 CONFIG_MOUSE_PS2=y
 CONFIG_MOUSE_PS2_ALPS=y
+# CONFIG_MOUSE_PS2_BYD is not set
 # CONFIG_MOUSE_PS2_CYPRESS is not set
 # CONFIG_MOUSE_PS2_ELANTECH is not set
 CONFIG_MOUSE_PS2_LIFEBOOK=y
@@ -294,10 +309,14 @@ CONFIG_QUEUED_RWLOCKS=y
 CONFIG_QUEUED_SPINLOCKS=y
 # CONFIG_RANDOMIZE_BASE is not set
 CONFIG_RAS=y
+CONFIG_RATIONAL=y
 CONFIG_RCU_STALL_COMMON=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
 CONFIG_RELOCATABLE=y
 CONFIG_RFS_ACCEL=y
 CONFIG_RPS=y
+CONFIG_RTC_I2C_AND_SPI=y
 CONFIG_RWSEM_SPIN_ON_OWNER=y
 # CONFIG_SAMSUNG_Q10 is not set
 CONFIG_SATA_AHCI=y
@@ -329,7 +348,6 @@ CONFIG_VGACON_SOFT_SCROLLBACK=y
 CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
 CONFIG_VHOST=y
 CONFIG_VHOST_NET=y
-CONFIG_VHOST_RING=y
 CONFIG_VIRTIO=y
 CONFIG_VIRTIO_BALLOON=y
 CONFIG_VIRTIO_BLK=y
diff --git a/target/linux/x86/geode/config-default b/target/linux/x86/geode/config-default
index fdfa9b412f..8eb3ddd599 100644
--- a/target/linux/x86/geode/config-default
+++ b/target/linux/x86/geode/config-default
@@ -10,18 +10,21 @@ CONFIG_ALIX=y
 CONFIG_CS5535_CLOCK_EVENT_SRC=y
 CONFIG_CS5535_MFGPT=y
 CONFIG_CS5535_MFGPT_DEFAULT_IRQ=7
+# CONFIG_EBC_C384_WDT is not set
 # CONFIG_EISA is not set
 # CONFIG_EL3 is not set
 CONFIG_GEODE_WDT=y
 CONFIG_GEOS=y
 CONFIG_GPIOLIB=y
+# CONFIG_GPIO_104_DIO_48E is not set
 # CONFIG_GPIO_104_IDIO_16 is not set
+# CONFIG_GPIO_104_IDI_48 is not set
 CONFIG_GPIO_CS5535=y
-CONFIG_GPIO_DEVRES=y
 # CONFIG_GPIO_F7188X is not set
-# CONFIG_GPIO_INTEL_MID is not set
+# CONFIG_GPIO_GPIO_MM is not set
 # CONFIG_GPIO_IT87 is not set
 CONFIG_GPIO_SYSFS=y
+# CONFIG_GPIO_WS16C48 is not set
 # CONFIG_HIGHMEM64G is not set
 CONFIG_HWMON=y
 CONFIG_I2C=y
@@ -30,8 +33,11 @@ CONFIG_I2C_ALGOPCA=y
 CONFIG_I2C_ALGOPCF=y
 CONFIG_I2C_BOARDINFO=y
 CONFIG_ISA=y
+CONFIG_ISA_BUS_API=y
 # CONFIG_LANCE is not set
 CONFIG_LEDS_GPIO=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
 # CONFIG_M486 is not set
 # CONFIG_MDA_CONSOLE is not set
 CONFIG_MFD_CORE=y
@@ -40,7 +46,6 @@ CONFIG_MGEODEGX1=y
 # CONFIG_MIXCOMWD is not set
 CONFIG_NATSEMI=y
 CONFIG_NET5501=y
-CONFIG_NLS=y
 CONFIG_NSC_GPIO=y
 CONFIG_PATA_CS5520=y
 CONFIG_PATA_CS5530=y
@@ -48,9 +53,11 @@ CONFIG_PATA_CS5535=y
 CONFIG_PATA_CS5536=y
 CONFIG_PATA_SC1200=y
 CONFIG_PC8736x_GPIO=y
-CONFIG_PCI_LABEL=y
 # CONFIG_PCWATCHDOG is not set
 # CONFIG_PNP is not set
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_RTC_I2C_AND_SPI=y
 CONFIG_SC1200_WDT=y
 CONFIG_SCx200_ACB=y
 CONFIG_SCx200_WDT=y
diff --git a/target/linux/x86/legacy/config-default b/target/linux/x86/legacy/config-default
index 60b55c7ee7..e7718a890a 100644
--- a/target/linux/x86/legacy/config-default
+++ b/target/linux/x86/legacy/config-default
@@ -1,7 +1,6 @@
 # CONFIG_3C515 is not set
 CONFIG_ACPI=y
 CONFIG_ACPI_AC=y
-# CONFIG_ACPI_ALS is not set
 CONFIG_ACPI_BATTERY=y
 CONFIG_ACPI_BUTTON=y
 # CONFIG_ACPI_CMPC is not set
@@ -15,11 +14,11 @@ CONFIG_ACPI_CPU_FREQ_PSS=y
 # CONFIG_ACPI_FAN is not set
 CONFIG_ACPI_HOTPLUG_IOAPIC=y
 # CONFIG_ACPI_I2C_OPREGION is not set
-# CONFIG_ACPI_INITRD_TABLE_OVERRIDE is not set
 CONFIG_ACPI_LEGACY_TABLES_LOOKUP=y
 # CONFIG_ACPI_PCI_SLOT is not set
 CONFIG_ACPI_PROCESSOR=y
 # CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
+CONFIG_ACPI_PROCESSOR_CSTATE=y
 CONFIG_ACPI_PROCESSOR_IDLE=y
 # CONFIG_ACPI_PROCFS_POWER is not set
 CONFIG_ACPI_REV_OVERRIDE_POSSIBLE=y
@@ -39,57 +38,59 @@ CONFIG_AGP_INTEL=y
 # CONFIG_AGP_SIS is not set
 # CONFIG_AGP_SWORKS is not set
 # CONFIG_AGP_VIA is not set
-# CONFIG_APPLE_GMUX is not set
+CONFIG_ARCH_HAS_ACPI_TABLE_UPGRADE=y
 CONFIG_ARCH_MIGHT_HAVE_ACPI_PDC=y
 # CONFIG_BACKLIGHT_APPLE is not set
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_BACKLIGHT_GENERIC=y
 CONFIG_BACKLIGHT_LCD_SUPPORT=y
-# CONFIG_BACKLIGHT_SAHARA is not set
 CONFIG_BLK_DEV_SR=y
 # CONFIG_BLK_DEV_SR_VENDOR is not set
 CONFIG_CLKDEV_LOOKUP=y
 CONFIG_COMMON_CLK=y
+# CONFIG_COMMON_CLK_CS2000_CP is not set
+# CONFIG_COMMON_CLK_NXP is not set
+# CONFIG_COMMON_CLK_PIC32 is not set
 CONFIG_CPU_IDLE_GOV_MENU=y
 CONFIG_DMA_SHARED_BUFFER=y
+# CONFIG_DPTF_POWER is not set
 CONFIG_DRM=y
 CONFIG_DRM_AMDGPU=y
 # CONFIG_DRM_AMDGPU_CIK is not set
+# CONFIG_DRM_AMDGPU_GART_DEBUGFS is not set
+# CONFIG_DRM_AMDGPU_SI is not set
 # CONFIG_DRM_AMDGPU_USERPTR is not set
+# CONFIG_DRM_AMD_ACP is not set
 # CONFIG_DRM_AST is not set
 CONFIG_DRM_BOCHS=y
 CONFIG_DRM_BRIDGE=y
 # CONFIG_DRM_CIRRUS_QEMU is not set
 CONFIG_DRM_FBDEV_EMULATION=y
 # CONFIG_DRM_GMA500 is not set
-# CONFIG_DRM_I2C_ADV7511 is not set
 # CONFIG_DRM_I2C_CH7006 is not set
 # CONFIG_DRM_I2C_NXP_TDA998X is not set
 # CONFIG_DRM_I2C_SIL164 is not set
-# CONFIG_DRM_I810 is not set
 CONFIG_DRM_I915=y
+# CONFIG_DRM_I915_DEBUG is not set
+# CONFIG_DRM_I915_GVT is not set
 # CONFIG_DRM_I915_PRELIMINARY_HW_SUPPORT is not set
+CONFIG_DRM_I915_USERPTR=y
+# CONFIG_DRM_I915_WERROR is not set
 CONFIG_DRM_KMS_FB_HELPER=y
 CONFIG_DRM_KMS_HELPER=y
 # CONFIG_DRM_LOAD_EDID_FIRMWARE is not set
-# CONFIG_DRM_MGA is not set
 # CONFIG_DRM_MGAG200 is not set
 CONFIG_DRM_MIPI_DSI=y
 # CONFIG_DRM_NOUVEAU is not set
 CONFIG_DRM_PANEL=y
 # CONFIG_DRM_QXL is not set
-# CONFIG_DRM_R128 is not set
 CONFIG_DRM_RADEON=y
-# CONFIG_DRM_RADEON_UMS is not set
 # CONFIG_DRM_RADEON_USERPTR is not set
-# CONFIG_DRM_SAVAGE is not set
-# CONFIG_DRM_SIS is not set
-# CONFIG_DRM_TDFX is not set
 CONFIG_DRM_TTM=y
 # CONFIG_DRM_UDL is not set
 # CONFIG_DRM_VGEM is not set
-# CONFIG_DRM_VIA is not set
 # CONFIG_DRM_VMWGFX is not set
+# CONFIG_EBC_C384_WDT is not set
 # CONFIG_EFI is not set
 # CONFIG_EISA is not set
 # CONFIG_EL3 is not set
@@ -98,6 +99,7 @@ CONFIG_FB_CFB_COPYAREA=y
 CONFIG_FB_CFB_FILLRECT=y
 CONFIG_FB_CFB_IMAGEBLIT=y
 CONFIG_FB_CMDLINE=y
+CONFIG_FB_DEFERRED_IO=y
 # CONFIG_FB_I810 is not set
 CONFIG_FB_SYS_COPYAREA=y
 CONFIG_FB_SYS_FILLRECT=y
@@ -111,7 +113,6 @@ CONFIG_FONT_SUPPORT=y
 CONFIG_FRAMEBUFFER_CONSOLE=y
 CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
 # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
-# CONFIG_FUJITSU_LAPTOP is not set
 CONFIG_HAVE_ACPI_APEI=y
 CONFIG_HAVE_ACPI_APEI_NMI=y
 CONFIG_HAVE_CLK=y
@@ -139,21 +140,26 @@ CONFIG_INTEL_IDLE=y
 CONFIG_INTERVAL_TREE=y
 CONFIG_ISA=y
 CONFIG_ISAPNP=y
+CONFIG_ISA_BUS_API=y
 # CONFIG_ISCSI_IBFT_FIND is not set
 CONFIG_ISO9660_FS=y
 # CONFIG_JOLIET is not set
 # CONFIG_LANCE is not set
 # CONFIG_LCD_CLASS_DEVICE is not set
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
 # CONFIG_MDA_CONSOLE is not set
 CONFIG_MFD_CORE=y
 CONFIG_MFD_INTEL_LPSS=y
 CONFIG_MFD_INTEL_LPSS_ACPI=y
 # CONFIG_MFD_INTEL_QUARK_I2C_GPIO is not set
 # CONFIG_MIXCOMWD is not set
+CONFIG_MMU_NOTIFIER=y
 # CONFIG_MOUSE_BCM5974 is not set
 # CONFIG_MOUSE_CYAPA is not set
 CONFIG_MOUSE_PS2=y
 CONFIG_MOUSE_PS2_ALPS=y
+# CONFIG_MOUSE_PS2_BYD is not set
 # CONFIG_MOUSE_PS2_CYPRESS is not set
 # CONFIG_MOUSE_PS2_ELANTECH is not set
 CONFIG_MOUSE_PS2_LIFEBOOK=y
@@ -163,9 +169,7 @@ CONFIG_MOUSE_PS2_SYNAPTICS=y
 CONFIG_MOUSE_PS2_TRACKPOINT=y
 # CONFIG_MOUSE_SERIAL is not set
 # CONFIG_MOUSE_VSXXXAA is not set
-CONFIG_NLS=y
 CONFIG_NO_HZ=y
-# CONFIG_PANASONIC_LAPTOP is not set
 CONFIG_PATA_AMD=y
 CONFIG_PATA_ATIIXP=y
 CONFIG_PATA_LEGACY=y
@@ -176,7 +180,6 @@ CONFIG_PATA_SC1200=y
 CONFIG_PATA_VIA=y
 CONFIG_PCIEAER=y
 CONFIG_PCIEPORTBUS=y
-CONFIG_PCI_LABEL=y
 CONFIG_PCI_MMCONFIG=y
 # CONFIG_PCWATCHDOG is not set
 # CONFIG_PMIC_OPREGION is not set
@@ -186,6 +189,10 @@ CONFIG_PNPACPI=y
 CONFIG_PNP_DEBUG_MESSAGES=y
 # CONFIG_PVPANIC is not set
 CONFIG_RAS=y
+CONFIG_RATIONAL=y
+CONFIG_REGMAP=y
+CONFIG_REGMAP_I2C=y
+CONFIG_RTC_I2C_AND_SPI=y
 # CONFIG_SAMSUNG_Q10 is not set
 CONFIG_SATA_AHCI=y
 CONFIG_SERIAL_8250_PNP=y
@@ -205,7 +212,6 @@ CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
 # CONFIG_WDT is not set
 CONFIG_X86_ACPI_CPUFREQ=y
 # CONFIG_X86_ACPI_CPUFREQ_CPB is not set
-# CONFIG_X86_POWERNOW_K8 is not set
 # CONFIG_X86_AMD_FREQ_SENSITIVITY is not set
 # CONFIG_X86_AMD_PLATFORM_DEVICE is not set
 # CONFIG_X86_E_POWERSAVER is not set
@@ -213,3 +219,4 @@ CONFIG_X86_ACPI_CPUFREQ=y
 # CONFIG_X86_LONGHAUL is not set
 # CONFIG_X86_PCC_CPUFREQ is not set
 CONFIG_X86_PM_TIMER=y
+# CONFIG_X86_POWERNOW_K8 is not set
diff --git a/target/linux/x86/patches-4.9/011-tune_lzma_options.patch b/target/linux/x86/patches-4.9/011-tune_lzma_options.patch
new file mode 100644
index 0000000000..4fb7943cb7
--- /dev/null
+++ b/target/linux/x86/patches-4.9/011-tune_lzma_options.patch
@@ -0,0 +1,22 @@
+--- a/scripts/Makefile.lib
++++ b/scripts/Makefile.lib
+@@ -344,7 +344,7 @@ cmd_bzip2 = (cat $(filter-out FORCE,$^)
+ 
+ quiet_cmd_lzma = LZMA    $@
+ cmd_lzma = (cat $(filter-out FORCE,$^) | \
+-	lzma e -d20 -lc1 -lp2 -pb2 -eos -si -so && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
++	lzma e -lc8 -eos -si -so && $(call size_append, $(filter-out FORCE,$^))) > $@ || \
+ 	(rm -f $@ ; false)
+ 
+ quiet_cmd_lzo = LZO     $@
+--- a/arch/x86/include/asm/boot.h
++++ b/arch/x86/include/asm/boot.h
+@@ -23,7 +23,7 @@
+ # error "Invalid value for CONFIG_PHYSICAL_ALIGN"
+ #endif
+ 
+-#ifdef CONFIG_KERNEL_BZIP2
++#if defined(CONFIG_KERNEL_BZIP2) || defined(CONFIG_KERNEL_LZMA)
+ # define BOOT_HEAP_SIZE		0x400000
+ #else /* !CONFIG_KERNEL_BZIP2 */
+ # define BOOT_HEAP_SIZE		 0x10000
diff --git a/target/linux/x86/patches-4.9/100-fix_cs5535_clockevt.patch b/target/linux/x86/patches-4.9/100-fix_cs5535_clockevt.patch
new file mode 100644
index 0000000000..c49ddca7d6
--- /dev/null
+++ b/target/linux/x86/patches-4.9/100-fix_cs5535_clockevt.patch
@@ -0,0 +1,12 @@
+--- a/drivers/clocksource/cs5535-clockevt.c
++++ b/drivers/clocksource/cs5535-clockevt.c
+@@ -129,7 +129,8 @@ static irqreturn_t mfgpt_tick(int irq, v
+ 		cs5535_mfgpt_write(cs5535_event_clock, MFGPT_REG_SETUP,
+ 				MFGPT_SETUP_CNTEN | MFGPT_SETUP_CMP2);
+ 
+-	cs5535_clockevent.event_handler(&cs5535_clockevent);
++	if (cs5535_clockevent.event_handler)
++		cs5535_clockevent.event_handler(&cs5535_clockevent);
+ 	return IRQ_HANDLED;
+ }
+ 
-- 
2.30.2