aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-02-13 00:37:11 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-02-13 00:37:11 +0000
commite268649a976d3f690ec231b046ec329a1ba69377 (patch)
treedb07353134da31eadcf10d01b1dee4681a45ba0b /target/linux
parenta2431086551566a41227ecf4194cd9606b909ac9 (diff)
downloadupstream-e268649a976d3f690ec231b046ec329a1ba69377.tar.gz
upstream-e268649a976d3f690ec231b046ec329a1ba69377.tar.bz2
upstream-e268649a976d3f690ec231b046ec329a1ba69377.zip
prepare kernel 2.6.32 support
SVN-Revision: 19617
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/generic-2.6/config-2.6.325
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/221-binfmt_elf_gcc4.1.patch2
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/240-packet_socket_type.patch22
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch26
-rw-r--r--target/linux/generic-2.6/patches-2.6.32/999-use_preinit_as_init.patch2
-rw-r--r--target/linux/x86/config-2.6.32459
-rw-r--r--target/linux/x86/patches-2.6.32/300-block2mtd_init.patch213
-rw-r--r--target/linux/x86/xen_domu/config-2.6.3274
8 files changed, 777 insertions, 26 deletions
diff --git a/target/linux/generic-2.6/config-2.6.32 b/target/linux/generic-2.6/config-2.6.32
index 0493d76021..42666817be 100644
--- a/target/linux/generic-2.6/config-2.6.32
+++ b/target/linux/generic-2.6/config-2.6.32
@@ -542,15 +542,18 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FB_FOREIGN_ENDIAN is not set
# CONFIG_FB_GEODE is not set
# CONFIG_FB_GOLDFISH is not set
+# CONFIG_FB_HGA is not set
# CONFIG_FB_IBM_GXT4500 is not set
# CONFIG_FB_IMSTT is not set
# CONFIG_FB is not set
# CONFIG_FB_KYRO is not set
+# CONFIG_FB_LE80578 is not set
# CONFIG_FB_MACMODES is not set
# CONFIG_FB_MATROX is not set
# CONFIG_FB_MB862XX is not set
# CONFIG_FB_METRONOME is not set
# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_N411 is not set
# CONFIG_FB_NEOMAGIC is not set
# CONFIG_FB_NVIDIA is not set
# CONFIG_FB_OF is not set
@@ -590,6 +593,7 @@ CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_FORCEDETH is not set
CONFIG_FRAME_WARN=1024
+# CONFIG_FRAMEBUFFER_CONSOLE is not set
# CONFIG_FREEZER is not set
# CONFIG_FSCACHE is not set
CONFIG_FSNOTIFY=y
@@ -1114,6 +1118,7 @@ CONFIG_LOCKD_V4=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_LOGIRUMBLEPAD2_FF is not set
# CONFIG_LOGITECH_FF is not set
+# CONFIG_LOGO is not set
# CONFIG_LSF is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_LXT_PHY is not set
diff --git a/target/linux/generic-2.6/patches-2.6.32/221-binfmt_elf_gcc4.1.patch b/target/linux/generic-2.6/patches-2.6.32/221-binfmt_elf_gcc4.1.patch
index fa891e0f3d..64f28d80ff 100644
--- a/target/linux/generic-2.6/patches-2.6.32/221-binfmt_elf_gcc4.1.patch
+++ b/target/linux/generic-2.6/patches-2.6.32/221-binfmt_elf_gcc4.1.patch
@@ -1,6 +1,6 @@
--- a/fs/binfmt_elf.c
+++ b/fs/binfmt_elf.c
-@@ -1193,7 +1193,7 @@ static unsigned long vma_dump_size(struc
+@@ -1170,7 +1170,7 @@
if (FILTER(ELF_HEADERS) &&
vma->vm_pgoff == 0 && (vma->vm_flags & VM_READ)) {
u32 __user *header = (u32 __user *) vma->vm_start;
diff --git a/target/linux/generic-2.6/patches-2.6.32/240-packet_socket_type.patch b/target/linux/generic-2.6/patches-2.6.32/240-packet_socket_type.patch
index 71827643e6..a03d699575 100644
--- a/target/linux/generic-2.6/patches-2.6.32/240-packet_socket_type.patch
+++ b/target/linux/generic-2.6/patches-2.6.32/240-packet_socket_type.patch
@@ -7,7 +7,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/include/linux/if_packet.h
+++ b/include/linux/if_packet.h
-@@ -31,6 +31,8 @@ struct sockaddr_ll
+@@ -31,6 +31,8 @@
/* These ones are invisible by user level */
#define PACKET_LOOPBACK 5 /* MC/BRD frame looped back */
#define PACKET_FASTROUTE 6 /* Fastrouted frame */
@@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
/* Packet socket options */
-@@ -48,6 +50,7 @@ struct sockaddr_ll
+@@ -48,6 +50,7 @@
#define PACKET_RESERVE 12
#define PACKET_TX_RING 13
#define PACKET_LOSS 14
@@ -26,7 +26,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
{
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
-@@ -204,6 +204,7 @@ struct packet_sock {
+@@ -204,6 +204,7 @@
unsigned int tp_reserve;
unsigned int tp_loss:1;
#endif
@@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
};
struct packet_skb_cb {
-@@ -342,6 +343,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -342,6 +343,7 @@
{
struct sock *sk;
struct sockaddr_pkt *spkt;
@@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
/*
* When we registered the protocol we saved the socket in the data
-@@ -349,6 +351,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -349,6 +351,7 @@
*/
sk = pt->af_packet_priv;
@@ -50,7 +50,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
/*
* Yank back the headers [hope the device set this
-@@ -361,7 +364,7 @@ static int packet_rcv_spkt(struct sk_buf
+@@ -361,7 +364,7 @@
* so that this procedure is noop.
*/
@@ -59,7 +59,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
goto out;
if (dev_net(dev) != sock_net(sk))
-@@ -545,12 +548,12 @@ static int packet_rcv(struct sk_buff *sk
+@@ -545,12 +548,12 @@
int skb_len = skb->len;
unsigned int snaplen, res;
@@ -75,7 +75,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (dev_net(dev) != sock_net(sk))
goto drop;
-@@ -667,12 +670,12 @@ static int tpacket_rcv(struct sk_buff *s
+@@ -667,12 +670,12 @@
struct timeval tv;
struct timespec ts;
@@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (dev_net(dev) != sock_net(sk))
goto drop;
-@@ -1381,6 +1384,7 @@ static int packet_create(struct net *net
+@@ -1390,6 +1393,7 @@
spin_lock_init(&po->bind_lock);
mutex_init(&po->pg_vec_lock);
po->prot_hook.func = packet_rcv;
@@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
if (sock->type == SOCK_PACKET)
po->prot_hook.func = packet_rcv_spkt;
-@@ -1728,6 +1732,16 @@ packet_setsockopt(struct socket *sock, i
+@@ -1737,6 +1741,16 @@
ret = packet_mc_drop(sk, &mreq);
return ret;
}
@@ -116,7 +116,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
#ifdef CONFIG_PACKET_MMAP
case PACKET_RX_RING:
-@@ -1873,6 +1887,13 @@ static int packet_getsockopt(struct sock
+@@ -1882,6 +1896,13 @@
data = &val;
break;
diff --git a/target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch b/target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch
index 1c60dbc504..ca70efe0ee 100644
--- a/target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch
+++ b/target/linux/generic-2.6/patches-2.6.32/980-vm_exports.patch
@@ -1,6 +1,6 @@
--- a/mm/shmem.c
+++ b/mm/shmem.c
-@@ -2608,6 +2608,16 @@ int shmem_lock(struct file *file, int lo
+@@ -2608,6 +2608,16 @@
/* common code */
@@ -17,7 +17,7 @@
/**
* shmem_file_setup - get an unlinked file living in tmpfs
* @name: name for dentry (to be seen in /proc/<pid>/maps
-@@ -2687,9 +2697,6 @@ int shmem_zero_setup(struct vm_area_stru
+@@ -2687,9 +2697,6 @@
if (IS_ERR(file))
return PTR_ERR(file);
@@ -30,7 +30,7 @@
}
--- a/fs/file.c
+++ b/fs/file.c
-@@ -271,6 +271,7 @@ int expand_files(struct files_struct *fi
+@@ -271,6 +271,7 @@
/* All good, so we try */
return expand_fdtable(files, nr);
}
@@ -40,7 +40,7 @@
{
--- a/kernel/exit.c
+++ b/kernel/exit.c
-@@ -507,6 +507,7 @@ struct files_struct *get_files_struct(st
+@@ -507,6 +507,7 @@
return files;
}
@@ -48,7 +48,7 @@
void put_files_struct(struct files_struct *files)
{
-@@ -526,6 +527,7 @@ void put_files_struct(struct files_struc
+@@ -526,6 +527,7 @@
free_fdtable(fdt);
}
}
@@ -58,7 +58,7 @@
{
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -168,6 +168,7 @@ void __put_task_struct(struct task_struc
+@@ -168,6 +168,7 @@
if (!profile_handoff_task(tsk))
free_task(tsk);
}
@@ -68,7 +68,7 @@
* macro override instead of weak attribute alias, to workaround
--- a/kernel/sched.c
+++ b/kernel/sched.c
-@@ -6093,6 +6093,7 @@ int can_nice(const struct task_struct *p
+@@ -6093,6 +6093,7 @@
return (nice_rlim <= p->signal->rlim[RLIMIT_NICE].rlim_cur ||
capable(CAP_SYS_NICE));
}
@@ -78,7 +78,7 @@
--- a/mm/memory.c
+++ b/mm/memory.c
-@@ -1100,6 +1100,7 @@ unsigned long zap_page_range(struct vm_a
+@@ -1100,6 +1100,7 @@
tlb_finish_mmu(tlb, address, end);
return end;
}
@@ -86,7 +86,7 @@
/**
* zap_vma_ptes - remove ptes mapping the vma
-@@ -2486,6 +2487,7 @@ int vmtruncate_range(struct inode *inode
+@@ -2486,6 +2487,7 @@
return 0;
}
@@ -96,7 +96,7 @@
* We enter with non-exclusive mmap_sem (to exclude vma changes,
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
-@@ -1111,6 +1111,7 @@ void unmap_kernel_range(unsigned long ad
+@@ -1172,6 +1172,7 @@
vunmap_page_range(addr, end);
flush_tlb_kernel_range(addr, end);
}
@@ -104,7 +104,7 @@
int map_vm_area(struct vm_struct *area, pgprot_t prot, struct page ***pages)
{
-@@ -1226,6 +1227,7 @@ struct vm_struct *get_vm_area(unsigned l
+@@ -1287,6 +1288,7 @@
return __get_vm_area_node(size, 1, flags, VMALLOC_START, VMALLOC_END,
-1, GFP_KERNEL, __builtin_return_address(0));
}
@@ -114,7 +114,7 @@
void *caller)
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
-@@ -713,6 +713,7 @@ extern void show_free_areas(void);
+@@ -713,6 +713,7 @@
int shmem_lock(struct file *file, int lock, struct user_struct *user);
struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags);
@@ -124,7 +124,7 @@
#ifndef CONFIG_MMU
--- a/kernel/signal.c
+++ b/kernel/signal.c
-@@ -1070,6 +1070,7 @@ struct sighand_struct *lock_task_sighand
+@@ -1070,6 +1070,7 @@
return sighand;
}
diff --git a/target/linux/generic-2.6/patches-2.6.32/999-use_preinit_as_init.patch b/target/linux/generic-2.6/patches-2.6.32/999-use_preinit_as_init.patch
index 0a52a87e83..33943fe2d7 100644
--- a/target/linux/generic-2.6/patches-2.6.32/999-use_preinit_as_init.patch
+++ b/target/linux/generic-2.6/patches-2.6.32/999-use_preinit_as_init.patch
@@ -1,6 +1,6 @@
--- a/init/main.c
+++ b/init/main.c
-@@ -836,10 +836,7 @@ static noinline int init_post(void)
+@@ -836,10 +836,7 @@
printk(KERN_WARNING "Failed to execute %s. Attempting "
"defaults...\n", execute_command);
}
diff --git a/target/linux/x86/config-2.6.32 b/target/linux/x86/config-2.6.32
new file mode 100644
index 0000000000..398c0668e0
--- /dev/null
+++ b/target/linux/x86/config-2.6.32
@@ -0,0 +1,459 @@
+# CONFIG_3C515 is not set
+# CONFIG_60XX_WDT is not set
+# CONFIG_64BIT is not set
+# CONFIG_AC3200 is not set
+# CONFIG_ACPI_AC is not set
+# CONFIG_ACPI_ASUS is not set
+# CONFIG_ACPI_BATTERY is not set
+# CONFIG_ACPI_BUTTON is not set
+# CONFIG_ACPI_CONTAINER is not set
+# CONFIG_ACPI_CUSTOM_DSDT is not set
+# CONFIG_ACPI_DEBUG is not set
+# CONFIG_ACPI_DOCK is not set
+# CONFIG_ACPI_FAN is not set
+# CONFIG_ACPI_PCI_SLOT is not set
+# CONFIG_ACPI_PROCESSOR_AGGREGATOR is not set
+# CONFIG_ACPI_PROCFS is not set
+# CONFIG_ACPI_PROCFS_POWER is not set
+# CONFIG_ACPI_PROC_EVENT is not set
+# CONFIG_ACPI_SBS is not set
+# CONFIG_ACPI_TOSHIBA is not set
+# CONFIG_ACPI_WMI is not set
+# CONFIG_ACQUIRE_WDT is not set
+# CONFIG_ADVANTECH_WDT is not set
+# CONFIG_ALIM1535_WDT is not set
+# CONFIG_APRICOT is not set
+# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
+# CONFIG_ASUS_LAPTOP is not set
+# CONFIG_AT1700 is not set
+# CONFIG_AUDIT_ARCH is not set
+# CONFIG_BLK_DEV_XD is not set
+# CONFIG_CC_STACKPROTECTOR is not set
+# CONFIG_CMDLINE_BOOL is not set
+# CONFIG_CPU5_WDT is not set
+# CONFIG_CPU_FREQ_DEBUG is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
+# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
+# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
+# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
+# CONFIG_CS5535_GPIO is not set
+# CONFIG_CS89x0 is not set
+# CONFIG_DCDBAS is not set
+# CONFIG_DELL_RBU is not set
+# CONFIG_DEPCA is not set
+# CONFIG_DMAR is not set
+# CONFIG_DMA_API_DEBUG is not set
+# CONFIG_DMIID is not set
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_EDD is not set
+# CONFIG_EFI is not set
+# CONFIG_EISA is not set
+# CONFIG_EL1 is not set
+# CONFIG_EL16 is not set
+# CONFIG_EL2 is not set
+# CONFIG_EL3 is not set
+# CONFIG_ELPLUS is not set
+# CONFIG_EUROTECH_WDT is not set
+# CONFIG_FRAME_POINTER is not set
+# CONFIG_GENERIC_CPU is not set
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+# CONFIG_HANGCHECK_TIMER is not set
+# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
+# CONFIG_HIBERNATION is not set
+# CONFIG_HIGHMEM4G is not set
+# CONFIG_HIGHMEM64G is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+# CONFIG_HPET_TIMER is not set
+# CONFIG_HP_WATCHDOG is not set
+# CONFIG_HUGETLBFS is not set
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_I8K is not set
+# CONFIG_IB700_WDT is not set
+# CONFIG_IBMASR is not set
+# CONFIG_IMA is not set
+# CONFIG_INPUT_YEALINK is not set
+# CONFIG_INTEL_MENLOW is not set
+# CONFIG_IOMMU_API is not set
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_IOMMU_STRESS is not set
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_NONE is not set
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_ISCSI_IBFT_FIND is not set
+# CONFIG_IT8712F_WDT is not set
+# CONFIG_IT87_WDT is not set
+# CONFIG_ITCO_WDT is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_LANCE is not set
+# CONFIG_LEDS_ALIX2 is not set
+# CONFIG_LEDS_CLEVO_MAIL 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_MACHZ_WDT is not set
+# CONFIG_MATOM is not set
+# CONFIG_MCA is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MCYRIXIII is not set
+# CONFIG_MDA_CONSOLE is not set
+# CONFIG_MEFFICEON is not set
+# CONFIG_MEMTEST is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MICROCODE_AMD is not set
+# CONFIG_MIXCOMWD is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+# CONFIG_MOUSE_BCM5974 is not set
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPSC is not set
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 is not set
+# 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_NET_NS is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_NSC_GPIO is not set
+# CONFIG_OLPC is not set
+# CONFIG_OPTIMIZE_INLINING is not set
+# CONFIG_PARAVIRT_GUEST is not set
+# CONFIG_PC8736x_GPIO is not set
+# CONFIG_PC87413_WDT is not set
+# CONFIG_PCIEPORTBUS is not set
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+# CONFIG_PCI_GOOLPC is not set
+# CONFIG_PCWATCHDOG is not set
+# CONFIG_PDA_POWER is not set
+# CONFIG_PM_DEBUG is not set
+# CONFIG_PM_RUNTIME is not set
+# CONFIG_PNPBIOS is not set
+# CONFIG_POWER_SUPPLY_DEBUG is not set
+# CONFIG_PROCESSOR_SELECT is not set
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_RELOCATABLE is not set
+# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
+# 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_SC520_WDT is not set
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_SCSI_LOWLEVEL is not set
+# CONFIG_SCx200_GPIO is not set
+# CONFIG_SCx200_WDT is not set
+# CONFIG_SERIAL_8250_EXTENDED is not set
+# CONFIG_SERIO_CT82C710 is not set
+# CONFIG_SERIO_PCIPS2 is not set
+# CONFIG_SERIO_RAW is not set
+# CONFIG_SLAB is not set
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SLUB_STATS is not set
+# CONFIG_SMSC37B787_WDT is not set
+# CONFIG_SMSC_SCH311X_WDT is not set
+# CONFIG_SPARSE_IRQ is not set
+# CONFIG_SUSPEND is not set
+# CONFIG_TC1100_WMI is not set
+# CONFIG_TELCLOCK is not set
+# CONFIG_THINKPAD_ACPI is not set
+# CONFIG_TOPSTAR_LAPTOP is not set
+# CONFIG_TOSHIBA is not set
+# CONFIG_TREE_PREEMPT_RCU is not set
+# CONFIG_TYPHOON is not set
+# CONFIG_USER_NS is not set
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+# CONFIG_VORTEX is not set
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_W83697UG_WDT is not set
+# CONFIG_WAFER_WDT is not set
+# CONFIG_WDT is not set
+# CONFIG_X86_64 is not set
+# CONFIG_X86_ACPI_CPUFREQ is not set
+# CONFIG_X86_ANCIENT_MCE is not set
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+# CONFIG_X86_CMPXCHG is not set
+# CONFIG_X86_CPUFREQ_NFORCE2 is not set
+# CONFIG_X86_CPUID is not set
+# CONFIG_X86_ELAN is not set
+# CONFIG_X86_E_POWERSAVER is not set
+# CONFIG_X86_GX_SUSPMOD is not set
+# CONFIG_X86_LONGHAUL is not set
+# CONFIG_X86_LONGRUN is not set
+# CONFIG_X86_MCE_INJECT is not set
+# CONFIG_X86_MRST is not set
+# CONFIG_X86_MSR is not set
+# CONFIG_X86_P4_CLOCKMOD is not set
+# CONFIG_X86_PAE is not set
+# CONFIG_X86_POWERNOW_K6 is not set
+# CONFIG_X86_POWERNOW_K7 is not set
+# CONFIG_X86_POWERNOW_K8 is not set
+# CONFIG_X86_RDC321X is not set
+# CONFIG_X86_REBOOTFIXUPS 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_ZONE_DMA32 is not set
+CONFIG_4KSTACKS=y
+CONFIG_ACPI=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+CONFIG_ACPI_PROCESSOR=y
+CONFIG_ACPI_SYSFS_POWER=y
+CONFIG_ACPI_THERMAL=y
+CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
+CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_ARCH_SELECT_MEMORY_MODEL=y
+CONFIG_ARCH_SPARSEMEM_ENABLE=y
+CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
+CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ARCH_USES_PG_UNCACHED=y
+CONFIG_ARCH_WANT_FRAME_POINTERS=y
+CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
+CONFIG_ATA=y
+CONFIG_ATA_GENERIC=y
+CONFIG_ATA_PIIX=y
+CONFIG_BINFMT_MISC=y
+CONFIG_BITREVERSE=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BOUNCE=y
+CONFIG_CFG80211_DEFAULT_PS_VALUE=0
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_COMPAT_VDSO=y
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_CPU_FREQ=y
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
+CONFIG_CPU_FREQ_STAT=y
+CONFIG_CPU_FREQ_STAT_DETAILS=y
+CONFIG_CPU_FREQ_TABLE=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_DEBUG_MEMORY_INIT=y
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+CONFIG_DEVPORT=y
+CONFIG_DMI=y
+CONFIG_DNOTIFY=y
+CONFIG_DOUBLEFAULT=y
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_ELF_CORE=y
+CONFIG_EXT2_FS=y
+CONFIG_FIRMWARE_IN_KERNEL=y
+CONFIG_FIRMWARE_MEMMAP=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=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_GENERIC_IOMAP=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAVE_AOUT=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_DMA_API_DEBUG=y
+CONFIG_HAVE_DMA_ATTRS=y
+CONFIG_HAVE_DYNAMIC_FTRACE=y
+CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
+CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
+CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
+CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACER=y
+CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
+CONFIG_HAVE_GENERIC_DMA_COHERENT=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_HAVE_MMIOTRACE_SUPPORT=y
+CONFIG_HAVE_OPROFILE=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_HID=y
+CONFIG_HID_SUPPORT=y
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+CONFIG_HT_IRQ=y
+CONFIG_HW_CONSOLE=y
+CONFIG_HW_RANDOM=y
+CONFIG_HW_RANDOM_GEODE=y
+CONFIG_HW_RANDOM_VIA=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_INPUT=y
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_INPUT_MOUSE=y
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_IO_DELAY_0X80=y
+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_ISA=y
+CONFIG_ISAPNP=y
+CONFIG_ISA_DMA_API=y
+CONFIG_KALLSYMS=y
+CONFIG_KEXEC=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KTIME_SCALAR=y
+CONFIG_M386=y
+CONFIG_MATH_EMULATION=y
+CONFIG_MICROCODE=y
+CONFIG_MICROCODE_INTEL=y
+CONFIG_MICROCODE_OLD_INTERFACE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MTD_BLOCK2MTD=y
+CONFIG_MTRR=y
+CONFIG_NAMESPACES=y
+CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
+CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
+CONFIG_NET_VENDOR_3COM=y
+CONFIG_NOHIGHMEM=y
+CONFIG_NR_CPUS=1
+CONFIG_NVRAM=y
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_PAGE_OFFSET=0xC0000000
+CONFIG_PATA_AMD=y
+CONFIG_PATA_MPIIX=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_SC1200=y
+CONFIG_PATA_VIA=y
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_GOANY=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PCI_MSI=y
+CONFIG_PCSPKR_PLATFORM=y
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_PM=y
+CONFIG_PNP=y
+CONFIG_PNPACPI=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+CONFIG_POWER_SUPPLY=y
+CONFIG_PROC_PAGE_MONITOR=y
+CONFIG_RD_BZIP2=y
+CONFIG_RD_GZIP=y
+CONFIG_RTC=y
+CONFIG_SCHED_OMIT_FRAME_POINTER=y
+CONFIG_SCSI=y
+CONFIG_SCx200=y
+CONFIG_SCx200HR_TIMER=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_PNP=y
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_SERPORT=y
+CONFIG_SLUB=y
+CONFIG_SLUB_DEBUG=y
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_STRICT_DEVMEM=y
+CONFIG_THERMAL=y
+CONFIG_TREE_RCU=y
+CONFIG_UID16=y
+CONFIG_USB_SUPPORT=y
+CONFIG_USER_STACKTRACE_SUPPORT=y
+CONFIG_VGA_CONSOLE=y
+CONFIG_VM86=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_X86=y
+CONFIG_X86_32=y
+CONFIG_X86_32_LAZY_GS=y
+CONFIG_X86_CPU=y
+CONFIG_X86_EXTENDED_PLATFORM=y
+CONFIG_X86_F00F_BUG=y
+CONFIG_X86_GENERIC=y
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_INTERNODE_CACHE_BYTES=64
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_L1_CACHE_BYTES=64
+CONFIG_X86_L1_CACHE_SHIFT=4
+CONFIG_X86_LOCAL_APIC=y
+CONFIG_X86_MCE=y
+CONFIG_X86_MCE_AMD=y
+CONFIG_X86_MCE_INTEL=y
+CONFIG_X86_MCE_THRESHOLD=y
+CONFIG_X86_MINIMUM_CPU_FAMILY=3
+CONFIG_X86_MPPARSE=y
+CONFIG_X86_PAT=y
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_X86_PM_TIMER=y
+CONFIG_X86_PPRO_FENCE=y
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_RESERVE_LOW_64K=y
+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
diff --git a/target/linux/x86/patches-2.6.32/300-block2mtd_init.patch b/target/linux/x86/patches-2.6.32/300-block2mtd_init.patch
new file mode 100644
index 0000000000..1ac85a3326
--- /dev/null
+++ b/target/linux/x86/patches-2.6.32/300-block2mtd_init.patch
@@ -0,0 +1,213 @@
+--- a/drivers/mtd/devices/block2mtd.c
++++ b/drivers/mtd/devices/block2mtd.c
+@@ -18,10 +18,18 @@
+ #include <linux/buffer_head.h>
+ #include <linux/mutex.h>
+ #include <linux/mount.h>
++#include <linux/list.h>
++#include <linux/delay.h>
+
+ #define ERROR(fmt, args...) printk(KERN_ERR "block2mtd: " fmt "\n" , ## args)
+ #define INFO(fmt, args...) printk(KERN_INFO "block2mtd: " fmt "\n" , ## args)
+
++struct retry {
++ struct list_head list;
++ const char *val;
++};
++
++static LIST_HEAD(retry_list);
+
+ /* Info for the block device */
+ struct block2mtd_dev {
+@@ -33,10 +41,34 @@
+ char devname[0];
+ };
+
++static int block2mtd_setup2(const char *val);
+
+ /* Static info about the MTD, used in cleanup_module */
+ static LIST_HEAD(blkmtd_device_list);
+
++static int add_retry(const char *val) {
++ struct retry *r = kmalloc(sizeof(struct retry), GFP_KERNEL);
++
++ INIT_LIST_HEAD(&r->list);
++ r->val = val;
++ list_add(&r->list, &retry_list);
++
++ return 0;
++}
++
++static int __init process_retries(void) {
++ struct list_head *p, *tmp;
++
++ list_for_each_safe(p, tmp, &retry_list) {
++ struct retry *r = list_entry(p, struct retry, list);
++ block2mtd_setup2(r->val);
++ msleep(100);
++ list_del(p);
++ kfree(r);
++ }
++ return 0;
++}
++rootfs_initcall(process_retries);
+
+ static struct page *page_read(struct address_space *mapping, int index)
+ {
+@@ -511,7 +543,9 @@
+ if (token[2] && (strlen(token[2]) + 1 > 80))
+ parse_err("mtd device name too long");
+
+- add_device(name, erase_size, token[2]);
++ if (add_device(name, erase_size, token[2]) == NULL) {
++ add_retry(val);
++ }
+
+ return 0;
+ }
+--- a/include/asm-generic/vmlinux.lds.h
++++ b/include/asm-generic/vmlinux.lds.h
+@@ -614,17 +614,24 @@
+ *(.initcall4s.init) \
+ *(.initcall5.init) \
+ *(.initcall5s.init) \
+- *(.initcallrootfs.init) \
+ *(.initcall6.init) \
+ *(.initcall6s.init) \
+ *(.initcall7.init) \
+ *(.initcall7s.init)
+
++#define INITCALLS_ROOT \
++ *(.initcallrootfs.init)
++
+ #define INIT_CALLS \
+ VMLINUX_SYMBOL(__initcall_start) = .; \
+ INITCALLS \
+ VMLINUX_SYMBOL(__initcall_end) = .;
+
++#define INIT_CALLS_ROOT \
++ VMLINUX_SYMBOL(__root_initcall_start) = .; \
++ INITCALLS_ROOT \
++ VMLINUX_SYMBOL(__root_initcall_end) = .;
++
+ #define CON_INITCALL \
+ VMLINUX_SYMBOL(__con_initcall_start) = .; \
+ *(.con_initcall.init) \
+@@ -766,6 +773,7 @@
+ INIT_DATA \
+ INIT_SETUP(initsetup_align) \
+ INIT_CALLS \
++ INIT_CALLS_ROOT \
+ CON_INITCALL \
+ SECURITY_INITCALL \
+ INIT_RAM_FS \
+--- a/init/do_mounts.c
++++ b/init/do_mounts.c
+@@ -176,16 +176,8 @@
+ return 1;
+ }
+
+-static unsigned int __initdata root_delay;
+-static int __init root_delay_setup(char *str)
+-{
+- root_delay = simple_strtoul(str, NULL, 0);
+- return 1;
+-}
+-
+ __setup("rootflags=", root_data_setup);
+ __setup("rootfstype=", fs_names_setup);
+-__setup("rootdelay=", root_delay_setup);
+
+ static void __init get_fs_names(char *page)
+ {
+@@ -366,23 +358,6 @@
+ {
+ int is_floppy;
+
+- if (root_delay) {
+- printk(KERN_INFO "Waiting %dsec before mounting root device...\n",
+- root_delay);
+- ssleep(root_delay);
+- }
+-
+- /*
+- * wait for the known devices to complete their probing
+- *
+- * Note: this is a potential source of long boot delays.
+- * For example, it is not atypical to wait 5 seconds here
+- * for the touchpad of a laptop to initialize.
+- */
+- wait_for_device_probe();
+-
+- md_run_setup();
+-
+ if (saved_root_name[0]) {
+ root_device_name = saved_root_name;
+ if (!strncmp(root_device_name, "mtd", 3) ||
+--- a/init/main.c
++++ b/init/main.c
+@@ -80,6 +80,7 @@
+ #ifdef CONFIG_X86_LOCAL_APIC
+ #include <asm/smp.h>
+ #endif
++#include "do_mounts.h"
+
+ static int kernel_init(void *);
+
+@@ -752,12 +753,13 @@
+
+
+ extern initcall_t __initcall_start[], __initcall_end[], __early_initcall_end[];
++extern initcall_t __root_initcall_start[], __root_initcall_end[];
+
+-static void __init do_initcalls(void)
++static void __init do_initcalls(initcall_t *start, initcall_t *end)
+ {
+ initcall_t *call;
+
+- for (call = __early_initcall_end; call < __initcall_end; call++)
++ for (call = start; call < end; call++)
+ do_one_initcall(*call);
+
+ /* Make sure there is no pending stuff from the initcall sequence */
+@@ -780,7 +782,7 @@
+ driver_init();
+ init_irq_proc();
+ do_ctors();
+- do_initcalls();
++ do_initcalls(__early_initcall_end, __initcall_end);
+ }
+
+ static void __init do_pre_smp_initcalls(void)
+@@ -841,6 +843,13 @@
+ panic("No init found. Try passing init= option to kernel.");
+ }
+
++static unsigned int __initdata root_delay;
++static int __init root_delay_setup(char *str)
++{
++ root_delay = simple_strtoul(str, NULL, 0);
++ return 1;
++}
++__setup("rootdelay=", root_delay_setup);
+ static int __init kernel_init(void * unused)
+ {
+ lock_kernel();
+@@ -885,7 +894,16 @@
+
+ if (sys_access((const char __user *) ramdisk_execute_command, 0) != 0) {
+ ramdisk_execute_command = NULL;
+- prepare_namespace();
++ if (root_delay) {
++ printk(KERN_INFO "Waiting %desc before mounting root device...\n",
++ root_delay);
++ ssleep(root_delay);
++ }
++ while (driver_probe_done() != 0)
++ msleep(100);
++ do_initcalls(__root_initcall_start, __root_initcall_end);
++ md_run_setup();
++ prepare_namespace();
+ }
+
+ /*
diff --git a/target/linux/x86/xen_domu/config-2.6.32 b/target/linux/x86/xen_domu/config-2.6.32
new file mode 100644
index 0000000000..322d57269b
--- /dev/null
+++ b/target/linux/x86/xen_domu/config-2.6.32
@@ -0,0 +1,74 @@
+# CONFIG_APM is not set
+# CONFIG_KERNEL_LZMA is not set
+# CONFIG_KVM_CLOCK is not set
+# CONFIG_KVM_GUEST is not set
+# CONFIG_LGUEST_GUEST is not set
+# CONFIG_M386 is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+# CONFIG_PARAVIRT_SPINLOCKS is not set
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_PERF_EVENTS is not set
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+# CONFIG_SCHED_SMT is not set
+# CONFIG_VMI is not set
+# CONFIG_X86_BIGSMP is not set
+# CONFIG_X86_DS is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_PLATFORM_DEVICES is not set
+# CONFIG_XENFS is not set
+# CONFIG_XEN_DEBUG_FS is not set
+# CONFIG_XEN_DEV_EVTCHN is not set
+# CONFIG_XEN_NETDEV_FRONTEND is not set
+CONFIG_ACPI_CONTAINER=y
+CONFIG_ACPI_HOTPLUG_CPU=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+CONFIG_FREEZER=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_HAVE_PERF_EVENTS=y
+CONFIG_HOTPLUG_CPU=y
+CONFIG_HPET_EMULATE_RTC=y
+CONFIG_HPET_TIMER=y
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_KERNEL_GZIP=y
+CONFIG_LOCK_KERNEL=y
+CONFIG_MPENTIUM4=y
+CONFIG_NR_CPUS=2
+CONFIG_PARAVIRT=y
+CONFIG_PARAVIRT_CLOCK=y
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_SCHED_MC=y
+CONFIG_SMP=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_STOP_MACHINE=y
+CONFIG_SYS_HYPERVISOR=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_32_SMP=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_X86_HT=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_L1_CACHE_SHIFT=7
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_PAE=y
+CONFIG_X86_POPAD_OK=y
+CONFIG_X86_TRAMPOLINE=y
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_XADD=y
+CONFIG_XEN=y
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_BLKDEV_FRONTEND=y
+CONFIG_XEN_MAX_DOMAIN_MEMORY=8
+CONFIG_XEN_SAVE_RESTORE=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_SYS_HYPERVISOR=y