aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/x86
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-05 10:12:53 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-05 10:12:53 +0000
commit5c105d9f3fd086aff195d3849dcf847d6b0bd927 (patch)
tree1229a11f725bfa58aa7c57a76898553bb5f6654a /target/linux/x86
downloadopenwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.tar.gz
openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.zip
branch Attitude Adjustment
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/x86')
-rw-r--r--target/linux/x86/Makefile23
-rw-r--r--target/linux/x86/alix2/base-files/etc/config/network20
-rw-r--r--target/linux/x86/alix2/base-files/etc/config/system29
-rw-r--r--target/linux/x86/alix2/base-files/etc/hotplug.d/button/50-reboot13
-rw-r--r--target/linux/x86/alix2/config-3.325
-rw-r--r--target/linux/x86/alix2/target.mk34
-rw-r--r--target/linux/x86/base-files.mk6
-rw-r--r--target/linux/x86/base-files/etc/defconfig/net4801/network16
-rw-r--r--target/linux/x86/base-files/etc/defconfig/net4826/network12
-rwxr-xr-xtarget/linux/x86/base-files/etc/init.d/defconfig20
-rw-r--r--target/linux/x86/base-files/lib/preinit/15_essential_fs_x868
-rw-r--r--target/linux/x86/base-files/lib/preinit/45_failsafe_x8613
-rw-r--r--target/linux/x86/base-files/lib/preinit/89_move_config22
-rwxr-xr-xtarget/linux/x86/base-files/lib/soekris.sh19
-rw-r--r--target/linux/x86/base-files/lib/upgrade/platform.sh50
-rw-r--r--target/linux/x86/config-3.3382
-rw-r--r--target/linux/x86/ep80579/config-3.311
-rw-r--r--target/linux/x86/ep80579/target.mk9
-rw-r--r--target/linux/x86/generic/config-3.3188
-rw-r--r--target/linux/x86/generic/profiles/000-Generic.mk18
-rw-r--r--target/linux/x86/generic/profiles/Soekris45xx.mk16
-rw-r--r--target/linux/x86/generic/profiles/Soekris48xx.mk16
-rw-r--r--target/linux/x86/generic/profiles/Wrap.mk16
-rw-r--r--target/linux/x86/generic/target.mk7
-rw-r--r--target/linux/x86/geos/base-files/etc/config/network44
-rw-r--r--target/linux/x86/geos/base-files/etc/config/system30
-rw-r--r--target/linux/x86/geos/base-files/etc/hotplug.d/button/50-reboot13
-rw-r--r--target/linux/x86/geos/config-3.325
-rw-r--r--target/linux/x86/geos/target.mk36
-rw-r--r--target/linux/x86/image/Config.in106
-rw-r--r--target/linux/x86/image/Makefile256
-rwxr-xr-xtarget/linux/x86/image/gen_image_generic.sh39
-rwxr-xr-xtarget/linux/x86/image/gen_image_grub.sh13
-rwxr-xr-xtarget/linux/x86/image/gen_image_olpc.sh35
-rw-r--r--target/linux/x86/image/grub-early.cfg1
-rw-r--r--target/linux/x86/image/grub.cfg13
-rw-r--r--target/linux/x86/image/menu.lst15
-rw-r--r--target/linux/x86/image/olpc.fth5
-rw-r--r--target/linux/x86/kvm_guest/config-3.382
-rw-r--r--target/linux/x86/kvm_guest/target.mk2
-rw-r--r--target/linux/x86/modules.mk314
-rw-r--r--target/linux/x86/net5501/base-files/etc/config/network18
-rw-r--r--target/linux/x86/net5501/base-files/etc/config/system16
-rw-r--r--target/linux/x86/net5501/base-files/etc/hotplug.d/button/50-reboot13
-rw-r--r--target/linux/x86/net5501/config-3.319
-rw-r--r--target/linux/x86/net5501/target.mk34
-rw-r--r--target/linux/x86/olpc/base-files/etc/X11/xorg.conf71
-rw-r--r--target/linux/x86/olpc/base-files/etc/config/network11
-rw-r--r--target/linux/x86/olpc/base-files/lib/preinit/15_essential_fs_x869
-rw-r--r--target/linux/x86/olpc/base-files/lib/preinit/45_failsafe_x8614
-rw-r--r--target/linux/x86/olpc/base-files/lib/upgrade/platform.sh27
-rw-r--r--target/linux/x86/olpc/config-3.3122
-rw-r--r--target/linux/x86/olpc/target.mk2
-rw-r--r--target/linux/x86/patches-3.3/001-alix_platform.patch131
-rw-r--r--target/linux/x86/patches-3.3/002-geos_platform.patch178
-rw-r--r--target/linux/x86/patches-3.3/003-via-rhine-crash-fix.patch60
-rw-r--r--target/linux/x86/thincan/base-files/etc/init.d/alsa9
-rw-r--r--target/linux/x86/thincan/config-3.315
-rw-r--r--target/linux/x86/thincan/profiles/dbe61.mk25
-rw-r--r--target/linux/x86/thincan/target.mk37
-rw-r--r--target/linux/x86/xen_domu/base-files/etc/inittab5
-rw-r--r--target/linux/x86/xen_domu/base-files/lib/preinit/45_mount_xenfs11
-rw-r--r--target/linux/x86/xen_domu/config-3.377
-rw-r--r--target/linux/x86/xen_domu/target.mk3
64 files changed, 2909 insertions, 0 deletions
diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile
new file mode 100644
index 000000000..422e828d4
--- /dev/null
+++ b/target/linux/x86/Makefile
@@ -0,0 +1,23 @@
+#
+# Copyright (C) 2006-2011 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+ARCH:=i386
+BOARD:=x86
+BOARDNAME:=x86
+FEATURES:=squashfs jffs2 ext4 vdi vmdk pcmcia targz
+SUBTARGETS=generic olpc xen_domu ep80579 net5501 kvm_guest geos alix2 thincan
+
+LINUX_VERSION:=3.3.8
+
+include $(INCLUDE_DIR)/target.mk
+
+$(eval $(call BuildTarget))
+
+$(eval $(call $(if $(CONFIG_TARGET_ROOTFS_ISO),RequireCommand,Ignore),mkisofs, \
+ Please install mkisofs. \
+))
diff --git a/target/linux/x86/alix2/base-files/etc/config/network b/target/linux/x86/alix2/base-files/etc/config/network
new file mode 100644
index 000000000..b46423fe1
--- /dev/null
+++ b/target/linux/x86/alix2/base-files/etc/config/network
@@ -0,0 +1,20 @@
+# Copyright (C) 2011 OpenWrt.org
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+# N.B. the labels on the Netgate boxes actually reverse the LAN and WAN
+# port markings.
+config interface lan
+ option ifname eth1
+ option type bridge
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
+
+config interface wan
+ option ifname eth0
+ option proto dhcp
diff --git a/target/linux/x86/alix2/base-files/etc/config/system b/target/linux/x86/alix2/base-files/etc/config/system
new file mode 100644
index 000000000..473586e29
--- /dev/null
+++ b/target/linux/x86/alix2/base-files/etc/config/system
@@ -0,0 +1,29 @@
+config system
+ option hostname OpenWrt
+ option timezone UTC
+
+config timeserver ntp
+ list server 0.openwrt.pool.ntp.org
+ list server 1.openwrt.pool.ntp.org
+ list server 2.openwrt.pool.ntp.org
+ list server 3.openwrt.pool.ntp.org
+
+config led
+ option default 1
+ option name LAN
+ option sysfs 'alix:1'
+ option trigger netdev
+ option mode 'tx rx'
+ option dev 'br-lan'
+
+config led
+ option default 1
+ option name WiFi
+ option sysfs 'alix:2'
+ option trigger 'phy0tpt'
+
+config led
+ option default 0
+ option name Heartbeat
+ option sysfs 'alix:3'
+ option trigger 'heartbeat'
diff --git a/target/linux/x86/alix2/base-files/etc/hotplug.d/button/50-reboot b/target/linux/x86/alix2/base-files/etc/hotplug.d/button/50-reboot
new file mode 100644
index 000000000..bf893c15b
--- /dev/null
+++ b/target/linux/x86/alix2/base-files/etc/hotplug.d/button/50-reboot
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+logger -t button -p daemon.info "$BUTTON/$ACTION"
+
+case "$BUTTON/$ACTION" in
+
+reset/released)
+ reboot -f
+ ;;
+
+esac
+
+exit 0
diff --git a/target/linux/x86/alix2/config-3.3 b/target/linux/x86/alix2/config-3.3
new file mode 100644
index 000000000..ee7e3a780
--- /dev/null
+++ b/target/linux/x86/alix2/config-3.3
@@ -0,0 +1,25 @@
+CONFIG_ALIX=y
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DMI=y
+CONFIG_DMIID=y
+# CONFIG_DMI_SYSFS is not set
+CONFIG_GENERIC_GPIO=y
+# CONFIG_GEOS is not set
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_HWMON=y
+# CONFIG_LEDS_CLEVO_MAIL is not set
+# CONFIG_M486 is not set
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MGEODE_LX=y
+CONFIG_NLS=y
+CONFIG_PATA_CS5536=y
+CONFIG_PCI_LABEL=y
+# CONFIG_SCx200 is not set
+CONFIG_THERMAL_HWMON=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
diff --git a/target/linux/x86/alix2/target.mk b/target/linux/x86/alix2/target.mk
new file mode 100644
index 000000000..33b2e6761
--- /dev/null
+++ b/target/linux/x86/alix2/target.mk
@@ -0,0 +1,34 @@
+BOARDNAME:=PCEngines alix2
+FEATURES:=squashfs jffs2 ext4 pci usb gpio
+DEFAULT_PACKAGES += \
+ kmod-crypto-hw-geode kmod-crypto-ocf kmod-crypto-aes kmod-crypto-cbc \
+ kmod-gpio-cs5535-new kmod-gpio-nsc \
+ kmod-wdt-geode kmod-cs5535-clockevt kmod-cs5535-mfgpt \
+ kmod-cs5536 \
+ kmod-hwmon-core kmod-hwmon-lm90 \
+ kmod-via-rhine \
+ kmod-i2c-core kmod-i2c-gpio \
+ kmod-i2c-algo-bit kmod-i2c-algo-pca kmod-i2c-algo-pcf \
+ kmod-i2c-scx200-acb \
+ kmod-usb-core kmod-usb2 kmod-usb-ohci \
+ kmod-cfg80211 kmod-mac80211 \
+ kmod-mppe kmod-pppoe kmod-pppo2ltp \
+ kmod-ath5k kmod-ath9k \
+ kmod-leds-gpio kmod-input-gpio-keys-polled \
+ kmod-button-hotplug \
+ kmod-ledtrig-heartbeat kmod-ledtrig-gpio \
+ kmod-ledtrig-netdev \
+ kmod-cpu-msr hwclock wpad
+
+CS5535_MASK:=0x0b000042
+
+CFLAGS += -march=geode -Os -mmmx -m3dnow -fno-align-jumps -fno-align-functions \
+ -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer
+
+define Target/Description
+ Build firmware images for PCEngines alix2 board
+endef
+
+define KernelPackage/gpio-cs5535-new/install
+ sed -i -r -e 's/$$$$$$$$/ mask=$(CS5535_MASK)/' $(1)/etc/modules.d/??-gpio-cs5535-new
+endef
diff --git a/target/linux/x86/base-files.mk b/target/linux/x86/base-files.mk
new file mode 100644
index 000000000..889f944d7
--- /dev/null
+++ b/target/linux/x86/base-files.mk
@@ -0,0 +1,6 @@
+ifneq ($(TARGET_x86_generic_Soekris48xx)$(TARGET_x86_generic_Soekris45xx),)
+define Package/base-files/install-target
+ rm -f $(1)/etc/config/network
+endef
+endif
+
diff --git a/target/linux/x86/base-files/etc/defconfig/net4801/network b/target/linux/x86/base-files/etc/defconfig/net4801/network
new file mode 100644
index 000000000..ff7b42d87
--- /dev/null
+++ b/target/linux/x86/base-files/etc/defconfig/net4801/network
@@ -0,0 +1,16 @@
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname eth1
+ option type bridge
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
+
+config interface wan
+ option ifname eth0
+ option proto dhcp
diff --git a/target/linux/x86/base-files/etc/defconfig/net4826/network b/target/linux/x86/base-files/etc/defconfig/net4826/network
new file mode 100644
index 000000000..7c9fb6363
--- /dev/null
+++ b/target/linux/x86/base-files/etc/defconfig/net4826/network
@@ -0,0 +1,12 @@
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname eth0
+ option type bridge
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
diff --git a/target/linux/x86/base-files/etc/init.d/defconfig b/target/linux/x86/base-files/etc/init.d/defconfig
new file mode 100755
index 000000000..4b4f28f20
--- /dev/null
+++ b/target/linux/x86/base-files/etc/init.d/defconfig
@@ -0,0 +1,20 @@
+#!/bin/sh /etc/rc.common
+#
+# Copyright (C) 2010 Thinktube Inc.
+#
+
+START=05
+
+start() {
+ . /lib/soekris.sh
+
+ local board=$(net48xx_board_name)
+
+ [ ! -d /etc/defconfig/$board ] && board="net4826"
+
+ for f in $( ls /etc/defconfig/$board ); do
+ if [ ! -e /etc/config/$f ]; then
+ cp /etc/defconfig/$board/$f /etc/config/
+ fi
+ done
+}
diff --git a/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 b/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86
new file mode 100644
index 000000000..ba22849d1
--- /dev/null
+++ b/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+do_mount_procfs() {
+ mount -t proc none /proc
+}
+
diff --git a/target/linux/x86/base-files/lib/preinit/45_failsafe_x86 b/target/linux/x86/base-files/lib/preinit/45_failsafe_x86
new file mode 100644
index 000000000..2ca039cbd
--- /dev/null
+++ b/target/linux/x86/base-files/lib/preinit/45_failsafe_x86
@@ -0,0 +1,13 @@
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+failsafe_wait() {
+ FAILSAFE=
+ grep -q 'failsafe=' /proc/cmdline && FAILSAFE=true && export FAILSAFE
+ if [ "$FAILSAFE" != "true" ]; then
+ preinit_net_echo "Please press button now to enter failsafe"
+ fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true && export FAILSAFE
+ fi
+}
+
diff --git a/target/linux/x86/base-files/lib/preinit/89_move_config b/target/linux/x86/base-files/lib/preinit/89_move_config
new file mode 100644
index 000000000..ba337e10e
--- /dev/null
+++ b/target/linux/x86/base-files/lib/preinit/89_move_config
@@ -0,0 +1,22 @@
+#!/bin/sh
+# Copyright (C) 2012 OpenWrt.org
+
+move_config() {
+ local rootfsdev
+ local rootfstype
+
+ rootfstype="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "rootfstype") { print $2 }' < /proc/cmdline)"
+ case "$rootfstype" in
+ squashfs|jffs2)
+ rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "block2mtd.block2mtd") { print substr($2,1,index($2, ",")-1) }' < /proc/cmdline)";;
+ ext4)
+ rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "root") { print $2 }' < /proc/cmdline)";;
+ esac
+
+ mount -t ext4 -o rw,noatime "${rootfsdev%[0-9]}1" /mnt
+ mv -f /mnt/sysupgrade.tgz /
+ umount /mnt
+}
+
+boot_hook_add preinit_main move_config
+
diff --git a/target/linux/x86/base-files/lib/soekris.sh b/target/linux/x86/base-files/lib/soekris.sh
new file mode 100755
index 000000000..e416ad396
--- /dev/null
+++ b/target/linux/x86/base-files/lib/soekris.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+net48xx_board_name () {
+ local name
+ local pci=`wc -l /proc/bus/pci/devices`
+
+ case "$pci" in
+ *"8"*)
+ name="net4826"
+ ;;
+ *1[0-4]*)
+ name="net4801"
+ ;;
+ *)
+ name="net4826"
+ ;;
+ esac
+ echo $name
+}
diff --git a/target/linux/x86/base-files/lib/upgrade/platform.sh b/target/linux/x86/base-files/lib/upgrade/platform.sh
new file mode 100644
index 000000000..dc4790ba3
--- /dev/null
+++ b/target/linux/x86/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,50 @@
+USE_REFRESH=1
+
+x86_get_rootfs() {
+ local rootfsdev
+ local rootfstype
+
+ rootfstype="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "rootfstype") { print $2 }' < /proc/cmdline)"
+ case "$rootfstype" in
+ squashfs|jffs2)
+ rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "block2mtd.block2mtd") { print substr($2,1,index($2, ",")-1) }' < /proc/cmdline)";;
+ ext4)
+ rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "root") { print $2 }' < /proc/cmdline)";;
+ esac
+
+ echo "$rootfstype:$rootfsdev"
+}
+
+platform_check_image() {
+ [ "$ARGC" -gt 1 ] && return 1
+
+ case "$(get_magic_word "$1")" in
+ eb48) return 0;;
+ *)
+ echo "Invalid image type"
+ return 1
+ ;;
+ esac
+}
+
+platform_refresh_partitions() {
+ return 0
+}
+
+platform_copy_config() {
+ local rootfs="$(x86_get_rootfs)"
+ local rootfsdev="${rootfs##*:}"
+
+ mount -t ext4 -o rw,noatime "${rootfsdev%[0-9]}1" /mnt
+ cp -af "$CONF_TAR" /mnt/
+ umount /mnt
+}
+
+platform_do_upgrade() {
+ local rootfs="$(x86_get_rootfs)"
+ local rootfsdev="${rootfs##*:}"
+
+ sync
+ [ -b ${rootfsdev%[0-9]} ] && get_image "$@" | dd of=${rootfsdev%[0-9]} bs=4096 conv=fsync
+ sleep 1
+}
diff --git a/target/linux/x86/config-3.3 b/target/linux/x86/config-3.3
new file mode 100644
index 000000000..04ef2bf97
--- /dev/null
+++ b/target/linux/x86/config-3.3
@@ -0,0 +1,382 @@
+# 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_BINFMT_ELF_RANDOMIZE_PIE=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_IDLE_WAIT=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+CONFIG_ARCH_HAS_DEFAULT_IDLE=y
+CONFIG_ARCH_HAVE_NMI_SAFE_CMPXCHG=y
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+# CONFIG_ARCH_RANDOM is not set
+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_AUDIT_ARCH is not set
+CONFIG_BCMA_POSSIBLE=y
+CONFIG_BINFMT_MISC=y
+CONFIG_BLK_DEV_SD=y
+CONFIG_BOUNCE=y
+CONFIG_CLKBLD_I8253=y
+CONFIG_CLKEVT_I8253=y
+CONFIG_CLKSRC_I8253=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+CONFIG_COMPAT_VDSO=y
+# CONFIG_CPU5_WDT is not set
+CONFIG_CPU_FREQ=y
+# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
+# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
+CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
+# 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_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_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_CRC16=y
+# CONFIG_CRYPTO_SERPENT_SSE2_586 is not set
+# CONFIG_DCDBAS is not set
+# CONFIG_DEBUG_BOOT_PARAMS is not set
+CONFIG_DEBUG_MEMORY_INIT=y
+# CONFIG_DEBUG_NMI_SELFTEST is not set
+# CONFIG_DEBUG_VIRTUAL is not set
+CONFIG_DECOMPRESS_BZIP2=y
+CONFIG_DECOMPRESS_GZIP=y
+CONFIG_DECOMPRESS_LZMA=y
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+# CONFIG_DELL_RBU is not set
+# CONFIG_DMI is not set
+CONFIG_DNOTIFY=y
+CONFIG_DOUBLEFAULT=y
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EARLY_PRINTK_DBGP is not set
+# CONFIG_EDD is not set
+CONFIG_ELF_CORE=y
+# CONFIG_EUROTECH_WDT is not set
+CONFIG_EXT4_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_GENERIC_BUG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CLOCKEVENTS_MIN_ADJUST=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_IRQ_SHOW=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_GENERIC_PCI_IOMAP=y
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+# CONFIG_GOOGLE_FIRMWARE is not set
+# CONFIG_HANGCHECK_TIMER is not set
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAVE_ALIGNED_STRUCT_PAGE=y
+CONFIG_HAVE_AOUT=y
+CONFIG_HAVE_ARCH_JUMP_LABEL=y
+CONFIG_HAVE_ARCH_KGDB=y
+CONFIG_HAVE_ARCH_KMEMCHECK=y
+CONFIG_HAVE_ARCH_TRACEHOOK=y
+CONFIG_HAVE_ATOMIC_IOMAP=y
+CONFIG_HAVE_CMPXCHG_DOUBLE=y
+CONFIG_HAVE_CMPXCHG_LOCAL=y
+CONFIG_HAVE_C_RECORDMCOUNT=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_GENERIC_HARDIRQS=y
+CONFIG_HAVE_HW_BREAKPOINT=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_IOREMAP_PROT=y
+CONFIG_HAVE_IRQ_WORK=y
+CONFIG_HAVE_KERNEL_BZIP2=y
+CONFIG_HAVE_KERNEL_GZIP=y
+CONFIG_HAVE_KERNEL_LZMA=y
+CONFIG_HAVE_KERNEL_LZO=y
+CONFIG_HAVE_KERNEL_XZ=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_HAVE_MEMBLOCK=y
+CONFIG_HAVE_MEMBLOCK_NODE_MAP=y
+CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
+CONFIG_HAVE_MMIOTRACE_SUPPORT=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_REGS_AND_STACK_ACCESS_API=y
+CONFIG_HAVE_SETUP_PER_CPU_AREA=y
+CONFIG_HAVE_SPARSE_IRQ=y
+CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
+CONFIG_HAVE_TEXT_POKE_SMP=y
+CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
+CONFIG_HAVE_USER_RETURN_NOTIFIER=y
+# CONFIG_HIGHMEM4G is not set
+# CONFIG_HIGH_RES_TIMERS 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_RANDOM=y
+CONFIG_HW_RANDOM_GEODE=y
+CONFIG_HW_RANDOM_VIA=y
+# CONFIG_I6300ESB_WDT is not set
+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_ILLEGAL_POINTER_VALUE=0
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_INSTRUCTION_DECODER=y
+# CONFIG_IOMMU_HELPER is not set
+# CONFIG_IOMMU_STRESS 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_FORCED_THREADING=y
+# CONFIG_IRQ_TIME_ACCOUNTING is not set
+CONFIG_IRQ_WORK=y
+# CONFIG_ISA is not set
+CONFIG_ISA_DMA_API=y
+# 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_JBD2=y
+CONFIG_KALLSYMS=y
+CONFIG_KEXEC=y
+CONFIG_KTIME_SCALAR=y
+# CONFIG_M386 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_MATH_EMULATION=y
+# 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_MEFFICEON is not set
+# CONFIG_MELAN is not set
+# CONFIG_MEMTEST 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_MPENTIUM4 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+CONFIG_MTD_BLOCK2MTD=y
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+# CONFIG_MTD_TS5500 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_DMA_MAP_STATE is not set
+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_NET_NS is not set
+CONFIG_NOHIGHMEM=y
+CONFIG_NO_BOOTMEM=y
+CONFIG_NR_CPUS=1
+# CONFIG_NSC_GPIO is not set
+CONFIG_NVRAM=y
+# CONFIG_OLPC is not set
+CONFIG_OPROFILE_NMI_TIMER=y
+# CONFIG_OPTIMIZE_INLINING is not set
+CONFIG_OUTPUT_FORMAT="elf32-i386"
+CONFIG_PAGEFLAGS_EXTENDED=y
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PARAVIRT_GUEST is not set
+# CONFIG_PC8736x_GPIO is not set
+# CONFIG_PC87413_WDT is not set
+CONFIG_PCI=y
+# CONFIG_PCIEPORTBUS is not set
+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_MSI=y
+CONFIG_PCSPKR_PLATFORM=y
+# CONFIG_PDA_POWER is not set
+CONFIG_PERF_EVENTS=y
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_PHYSICAL_START=0x1000000
+CONFIG_POWER_SUPPLY=y
+# CONFIG_PREEMPT_RCU is not set
+# CONFIG_PROCESSOR_SELECT is not set
+CONFIG_PROC_PAGE_MONITOR=y
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+CONFIG_RD_BZIP2=y
+CONFIG_RD_GZIP=y
+# CONFIG_RELOCATABLE is not set
+CONFIG_RTC_CLASS=y
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_SAMSUNG_Q10 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=y
+CONFIG_SCx200=y
+CONFIG_SCx200HR_TIMER=y
+# CONFIG_SCx200_GPIO is not set
+# CONFIG_SCx200_WDT 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_SLAB is not set
+CONFIG_SLUB=y
+CONFIG_SLUB_DEBUG=y
+# CONFIG_SLUB_DEBUG_ON is not set
+# CONFIG_SMSC37B787_WDT is not set
+# CONFIG_SMSC_SCH311X_WDT is not set
+CONFIG_SPARSEMEM_STATIC=y
+CONFIG_SPARSE_IRQ=y
+CONFIG_STRICT_DEVMEM=y
+# CONFIG_TELCLOCK is not set
+CONFIG_THERMAL=y
+# CONFIG_TOSHIBA is not set
+# CONFIG_TRANSPARENT_HUGEPAGE is not set
+CONFIG_UID16=y
+CONFIG_USB_ARCH_HAS_XHCI=y
+CONFIG_USB_SUPPORT=y
+# CONFIG_USER_NS is not set
+CONFIG_USER_STACKTRACE_SUPPORT=y
+# CONFIG_VIA_WDT is not set
+CONFIG_VM86=y
+# CONFIG_VMWARE_BALLOON is not set
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_W83697UG_WDT is not set
+# 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_64 is not set
+CONFIG_X86_ALIGNMENT_16=y
+# CONFIG_X86_ANCIENT_MCE is not set
+CONFIG_X86_BSWAP=y
+# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
+CONFIG_X86_CMPXCHG=y
+# CONFIG_X86_CPUFREQ_NFORCE2 is not set
+# CONFIG_X86_CPUID is not set
+# CONFIG_X86_EXTENDED_PLATFORM is not set
+# CONFIG_X86_E_POWERSAVER is not set
+CONFIG_X86_F00F_BUG=y
+CONFIG_X86_GENERIC=y
+# CONFIG_X86_GX_SUSPMOD is not set
+CONFIG_X86_INTEL_USERCOPY=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=6
+CONFIG_X86_INVD_BUG=y
+CONFIG_X86_INVLPG=y
+CONFIG_X86_IO_APIC=y
+CONFIG_X86_L1_CACHE_SHIFT=6
+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 is not set
+# CONFIG_X86_P4_CLOCKMOD is not set
+# CONFIG_X86_PAE is not set
+CONFIG_X86_PAT=y
+CONFIG_X86_PLATFORM_DEVICES=y
+CONFIG_X86_POPAD_OK=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_REBOOTFIXUPS is not set
+CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
+CONFIG_X86_RESERVE_LOW=64
+# 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_X86_WP_WORKS_OK=y
+CONFIG_X86_XADD=y
+CONFIG_XZ_DEC=y
+# CONFIG_ZONE_DMA32 is not set
diff --git a/target/linux/x86/ep80579/config-3.3 b/target/linux/x86/ep80579/config-3.3
new file mode 100644
index 000000000..78ee0ce73
--- /dev/null
+++ b/target/linux/x86/ep80579/config-3.3
@@ -0,0 +1,11 @@
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_HIGHMEM=y
+CONFIG_HIGHMEM4G=y
+# CONFIG_HIGHPTE is not set
+# CONFIG_ITCO_VENDOR_SUPPORT is not set
+CONFIG_ITCO_WDT=y
+CONFIG_LOG_BUF_SHIFT=17
+# CONFIG_MTD is not set
+# CONFIG_NOHIGHMEM is not set
+CONFIG_SATA_AHCI=y
+# CONFIG_SQUASHFS is not set
diff --git a/target/linux/x86/ep80579/target.mk b/target/linux/x86/ep80579/target.mk
new file mode 100644
index 000000000..00fe1abc3
--- /dev/null
+++ b/target/linux/x86/ep80579/target.mk
@@ -0,0 +1,9 @@
+BOARDNAME:=Intel EP80579
+DEFAULT_PACKAGES += kmod-ep80579-can kmod-ep80579-eth kmod-ep80579-misc \
+ kmod-usb-core kmod-usb2 kmod-usb-hid kmod-usb-uhci
+
+define Target/Description
+ Build firmware images for Intel EP80579 based boards
+ (e.g : ADI Engineering Ocracoke Island)
+endef
+
diff --git a/target/linux/x86/generic/config-3.3 b/target/linux/x86/generic/config-3.3
new file mode 100644
index 000000000..0256554b1
--- /dev/null
+++ b/target/linux/x86/generic/config-3.3
@@ -0,0 +1,188 @@
+# CONFIG_3C515 is not set
+# CONFIG_AC3200 is not set
+CONFIG_ACPI=y
+CONFIG_ACPI_AC=y
+# CONFIG_ACPI_ASUS is not set
+CONFIG_ACPI_BATTERY=y
+CONFIG_ACPI_BLACKLIST_YEAR=0
+CONFIG_ACPI_BUTTON=y
+# CONFIG_ACPI_CMPC 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_EC_DEBUGFS is not set
+# CONFIG_ACPI_FAN is not set
+# CONFIG_ACPI_PCI_SLOT is not set
+CONFIG_ACPI_PROCESSOR=y
+# 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_THERMAL=y
+# CONFIG_ACPI_TOSHIBA is not set
+CONFIG_ACPI_VIDEO=y
+# CONFIG_ACPI_WMI is not set
+CONFIG_AGP=y
+# CONFIG_AGP_ALI is not set
+# CONFIG_AGP_AMD is not set
+# CONFIG_AGP_AMD64 is not set
+# CONFIG_AGP_ATI is not set
+# CONFIG_AGP_EFFICEON is not set
+CONFIG_AGP_INTEL=y
+# CONFIG_AGP_NVIDIA is not set
+# CONFIG_AGP_SIS is not set
+# CONFIG_AGP_SWORKS is not set
+# CONFIG_AGP_VIA is not set
+# CONFIG_APRICOT is not set
+# CONFIG_ASUS_LAPTOP is not set
+# CONFIG_AT1700 is not set
+# CONFIG_BACKLIGHT_ADP8860 is not set
+# CONFIG_BACKLIGHT_ADP8870 is not set
+# CONFIG_BACKLIGHT_APPLE is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_PROGEAR is not set
+# CONFIG_BACKLIGHT_SAHARA is not set
+# CONFIG_BLK_DEV_XD is not set
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+# CONFIG_CS89x0 is not set
+# CONFIG_DEPCA is not set
+CONFIG_DMI=y
+# CONFIG_DMIID is not set
+# CONFIG_DMI_SYSFS is not set
+CONFIG_DRM=y
+# CONFIG_DRM_GMA500 is not set
+# CONFIG_DRM_I2C_CH7006 is not set
+# CONFIG_DRM_I2C_SIL164 is not set
+# CONFIG_DRM_I810 is not set
+CONFIG_DRM_I915=y
+CONFIG_DRM_I915_KMS=y
+CONFIG_DRM_KMS_HELPER=y
+# CONFIG_DRM_MGA is not set
+# CONFIG_DRM_NOUVEAU is not set
+# CONFIG_DRM_R128 is not set
+# CONFIG_DRM_RADEON is not set
+# CONFIG_DRM_SAVAGE is not set
+# CONFIG_DRM_SIS is not set
+# CONFIG_DRM_TDFX is not set
+# CONFIG_DRM_VIA is not set
+# CONFIG_DRM_VMWGFX is not set
+CONFIG_DUMMY_CONSOLE=y
+# 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_FB=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_I810 is not set
+# CONFIG_FB_VESA is not set
+# CONFIG_FB_WMT_GE_ROPS is not set
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x16=y
+CONFIG_FONT_8x8=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_GEOS is not set
+CONFIG_HID=y
+CONFIG_HID_BATTERY_STRENGTH=y
+CONFIG_HID_SUPPORT=y
+CONFIG_HIGH_RES_TIMERS=y
+CONFIG_HPET=y
+CONFIG_HPET_MMAP=y
+# CONFIG_HP_ACCEL is not set
+CONFIG_HW_CONSOLE=y
+CONFIG_I2C=y
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_BOARDINFO=y
+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_INTEL_IDLE=y
+# CONFIG_INTEL_IPS is not set
+# CONFIG_INTEL_MENLOW is not set
+CONFIG_ISA=y
+CONFIG_ISAPNP=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_LANCE is not set
+# CONFIG_LCD_CLASS_DEVICE is not set
+# CONFIG_LEDS_CLEVO_MAIL is not set
+# CONFIG_MDA_CONSOLE is not set
+# CONFIG_MIXCOMWD is not set
+# CONFIG_MOUSE_BCM5974 is not set
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+# CONFIG_MOUSE_PS2_ELANTECH is not set
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+# CONFIG_MOUSE_PS2_TOUCHKIT is not set
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+CONFIG_NLS=y
+CONFIG_NO_HZ=y
+# CONFIG_PANASONIC_LAPTOP is not set
+CONFIG_PATA_AMD=y
+CONFIG_PATA_LEGACY=y
+CONFIG_PATA_MPIIX=y
+CONFIG_PATA_OLDPIIX=y
+CONFIG_PATA_PLATFORM=y
+CONFIG_PATA_SC1200=y
+CONFIG_PATA_VIA=y
+CONFIG_PCIEAER=y
+CONFIG_PCIEPORTBUS=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_PCI_MMCONFIG=y
+# CONFIG_PCWATCHDOG is not set
+CONFIG_PNP=y
+CONFIG_PNPACPI=y
+# CONFIG_PNPBIOS is not set
+CONFIG_PNP_DEBUG_MESSAGES=y
+CONFIG_SATA_AHCI=y
+CONFIG_SCHED_HRTICK=y
+# CONFIG_SCx200_ACB is not set
+CONFIG_SERIAL_8250_PNP=y
+# CONFIG_THINKPAD_ACPI is not set
+# CONFIG_TOPSTAR_LAPTOP is not set
+# CONFIG_TOSHIBA_BT_RFKILL is not set
+CONFIG_USB=y
+CONFIG_USB_COMMON=y
+# CONFIG_USB_DEVICEFS is not set
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_UHCI_HCD=y
+CONFIG_VGACON_SOFT_SCROLLBACK=y
+CONFIG_VGACON_SOFT_SCROLLBACK_SIZE=64
+CONFIG_VGA_CONSOLE=y
+CONFIG_VIDEO_OUTPUT_CONTROL=y
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_WDT is not set
+# CONFIG_X86_ACPI_CPUFREQ is not set
+# 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
+# CONFIG_XO15_EBOOK is not set
diff --git a/target/linux/x86/generic/profiles/000-Generic.mk b/target/linux/x86/generic/profiles/000-Generic.mk
new file mode 100644
index 000000000..90f989a91
--- /dev/null
+++ b/target/linux/x86/generic/profiles/000-Generic.mk
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2006-2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Generic
+ NAME:=Generic
+ PACKAGES:=kmod-3c59x kmod-e100 kmod-e1000 kmod-natsemi kmod-ne2k-pci \
+ kmod-pcnet32 kmod-8139too kmod-r8169 kmod-sis900 kmod-tg3 \
+ kmod-via-rhine kmod-via-velocity
+endef
+
+define Profile/Generic/Description
+ Generic Profile
+endef
+$(eval $(call Profile,Generic))
diff --git a/target/linux/x86/generic/profiles/Soekris45xx.mk b/target/linux/x86/generic/profiles/Soekris45xx.mk
new file mode 100644
index 000000000..d1d88c6fc
--- /dev/null
+++ b/target/linux/x86/generic/profiles/Soekris45xx.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2008 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Soekris45xx
+ NAME:=Soekris Net45xx
+ PACKAGES:=kmod-natsemi kmod-leds-net48xx kmod-wdt-sc520
+endef
+
+define Profile/Soekris45xx/Description
+ Package set compatible with the Soekris Net45xx. Net4511 and 4521 need PCMCIA Cardbus support. Please add manually.
+endef
+$(eval $(call Profile,Soekris45xx))
diff --git a/target/linux/x86/generic/profiles/Soekris48xx.mk b/target/linux/x86/generic/profiles/Soekris48xx.mk
new file mode 100644
index 000000000..66bafbfe4
--- /dev/null
+++ b/target/linux/x86/generic/profiles/Soekris48xx.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2008 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Soekris48xx
+ NAME:=Soekris Net48xx
+ PACKAGES:=kmod-i2c-scx200 kmod-natsemi kmod-leds-net48xx kmod-gpio-scx200 kmod-wdt-scx200 kmod-hwmon-pc87360
+endef
+
+define Profile/Soekris48xx/Description
+ Package set compatible with the Soekris Net4801. Contains I2C/LEDS/GPIO/Sensors support
+endef
+$(eval $(call Profile,Soekris48xx))
diff --git a/target/linux/x86/generic/profiles/Wrap.mk b/target/linux/x86/generic/profiles/Wrap.mk
new file mode 100644
index 000000000..62532ac82
--- /dev/null
+++ b/target/linux/x86/generic/profiles/Wrap.mk
@@ -0,0 +1,16 @@
+#
+# Copyright (C) 2006,2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/Wrap
+ NAME:=PCEngines WRAP
+ PACKAGES:=kmod-i2c-scx200 kmod-natsemi kmod-leds-wrap kmod-gpio-scx200 kmod-wdt-scx200 kmod-hwmon-pc87360
+endef
+
+define Profile/Wrap/Description
+ Package set compatible with the PCEngines WRAP. Contains I2C/LEDS/GPIO/Sensors support
+endef
+$(eval $(call Profile,Wrap))
diff --git a/target/linux/x86/generic/target.mk b/target/linux/x86/generic/target.mk
new file mode 100644
index 000000000..7191292e8
--- /dev/null
+++ b/target/linux/x86/generic/target.mk
@@ -0,0 +1,7 @@
+BOARDNAME:=Generic
+
+define Target/Description
+ Build firmware images for x86 based boards
+ (e.g : Soekris, ...)
+endef
+
diff --git a/target/linux/x86/geos/base-files/etc/config/network b/target/linux/x86/geos/base-files/etc/config/network
new file mode 100644
index 000000000..f49838318
--- /dev/null
+++ b/target/linux/x86/geos/base-files/etc/config/network
@@ -0,0 +1,44 @@
+# Copyright (C) 2011 OpenWrt.org
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname "eth0 eth1"
+ option type bridge
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
+
+config atm-bridge
+ option unit 0
+ option atmdev 0
+ option vpi 0
+ option vci 35
+ option encaps llc
+ option payload bridged
+ option sendsize 2040
+
+config interface wan
+ option proto dhcp
+ option ifname nas0
+ # clone your eth0 address here
+ # option macaddr '00:0A:FA:22:00:80'
+
+# 2nd interface on Geos2
+#config interface wan
+# option proto pppoa
+# option atmdev 1
+# option vpi 8
+# option vci 32
+# option encaps vc
+# option username 'username@myisp.net'
+# option password 'password'
+# option keepalive 3
+# option defaultroute 1
+# option peerdns 1
+# option pppd_options 'kdebug 1 debug noccp'
+
diff --git a/target/linux/x86/geos/base-files/etc/config/system b/target/linux/x86/geos/base-files/etc/config/system
new file mode 100644
index 000000000..988c849ec
--- /dev/null
+++ b/target/linux/x86/geos/base-files/etc/config/system
@@ -0,0 +1,30 @@
+
+config system
+ option hostname OpenWrt
+ option timezone UTC
+
+config timeserver ntp
+ list server 0.openwrt.pool.ntp.org
+ list server 1.openwrt.pool.ntp.org
+ list server 2.openwrt.pool.ntp.org
+ list server 3.openwrt.pool.ntp.org
+
+config led
+ option default 0
+ option name LAN
+ option sysfs 'geos:1'
+ option trigger netdev
+ option mode 'tx rx'
+ option dev 'br-lan'
+
+config led
+ option default 0
+ option name WiFi
+ option sysfs 'geos:2'
+ option trigger 'phy0tpt'
+
+config led
+ option default 0
+ option name Health
+ option sysfs 'geos:3'
+ option trigger 'heartbeat'
diff --git a/target/linux/x86/geos/base-files/etc/hotplug.d/button/50-reboot b/target/linux/x86/geos/base-files/etc/hotplug.d/button/50-reboot
new file mode 100644
index 000000000..bf893c15b
--- /dev/null
+++ b/target/linux/x86/geos/base-files/etc/hotplug.d/button/50-reboot
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+logger -t button -p daemon.info "$BUTTON/$ACTION"
+
+case "$BUTTON/$ACTION" in
+
+reset/released)
+ reboot -f
+ ;;
+
+esac
+
+exit 0
diff --git a/target/linux/x86/geos/config-3.3 b/target/linux/x86/geos/config-3.3
new file mode 100644
index 000000000..d923ef074
--- /dev/null
+++ b/target/linux/x86/geos/config-3.3
@@ -0,0 +1,25 @@
+# CONFIG_ATA_PIIX is not set
+CONFIG_DMI=y
+CONFIG_DMIID=y
+# CONFIG_DMI_SYSFS is not set
+CONFIG_GENERIC_GPIO=y
+CONFIG_GEOS=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_HWMON=y
+# CONFIG_ISDN is not set
+# CONFIG_LEDS_CLEVO_MAIL is not set
+# CONFIG_M486 is not set
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MGEODE_LX=y
+CONFIG_NLS=y
+CONFIG_PATA_CS5536=y
+CONFIG_PCI_LABEL=y
+# CONFIG_SCx200 is not set
+CONFIG_THERMAL_HWMON=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
diff --git a/target/linux/x86/geos/target.mk b/target/linux/x86/geos/target.mk
new file mode 100644
index 000000000..1a65436d6
--- /dev/null
+++ b/target/linux/x86/geos/target.mk
@@ -0,0 +1,36 @@
+BOARDNAME:=Traverse Geos
+FEATURES:=squashfs jffs2 ext4 pci usb gpio
+DEFAULT_PACKAGES += \
+ kmod-crypto-hw-geode kmod-crypto-ocf \
+ kmod-gpio-cs5535-new kmod-gpio-nsc \
+ kmod-wdt-geode kmod-cs5535-clockevt kmod-cs5535-mfgpt \
+ kmod-cs5536 \
+ kmod-hwmon-core kmod-hwmon-lm90 \
+ kmod-8139cp kmod-solos-pci kmod-sched \
+ kmod-i2c-core kmod-i2c-gpio \
+ kmod-i2c-algo-bit kmod-i2c-algo-pca kmod-i2c-algo-pcf \
+ kmod-i2c-scx200-acb \
+ kmod-usb-core kmod-usb2 kmod-usb-ohci \
+ kmod-cfg80211 kmod-mac80211 \
+ kmod-mppe kmod-pppoa kmod-pppol2tp \
+ kmod-ath5k kmod-ath9k \
+ kmod-leds-gpio kmod-input-gpio-keys-polled \
+ kmod-button-hotplug \
+ kmod-ledtrig-heartbeat kmod-ledtrig-gpio \
+ kmod-ledtrig-netdev \
+ kmod-cpu-msr \
+ soloscli linux-atm br2684ctl ppp-mod-pppoa pppdump pppstats \
+ hwclock wpad flashrom tc
+
+CS5535_MASK:=0x0E000048
+
+CFLAGS += -march=geode -Os -mmmx -m3dnow -fno-align-jumps -fno-align-functions \
+ -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer
+
+define Target/Description
+ Build firmware images for Traverse Geos board
+endef
+
+define KernelPackage/gpio-cs5535-new/install
+ sed -i -r -e 's/$$$$$$$$/ mask=$(CS5535_MASK)/' $(1)/etc/modules.d/??-gpio-cs5535-new
+endef
diff --git a/target/linux/x86/image/Config.in b/target/linux/x86/image/Config.in
new file mode 100644
index 000000000..08880e580
--- /dev/null
+++ b/target/linux/x86/image/Config.in
@@ -0,0 +1,106 @@
+config X86_ETHERBOOT_IMAGES
+ bool "Build Etherboot image"
+ depends TARGET_x86 && TARGET_x86_thincan_DBE61
+ default y
+ help
+ Builds network bootable image for ThinCan DBE61 (Etherboot BIOS)
+
+config X86_ETHERBOOT_BOOTOPTS
+ string "Extra kernel boot options"
+ depends X86_ETHERBOOT_IMAGES
+ default "ip=dhcp nbdport=2000 " if TARGET_ROOTFS_SQUASHFS
+ default "ip=dhcp root=/dev/nfs nfsroot=192.168.0.1:/srv/dbe61"
+ help
+ Kernel arguments to pass to the kernel eg. NFS root location etc.
+
+config X86_GRUB_IMAGES
+ bool "Build GRUB images (Linux x86 or x86_64 host only)"
+ depends TARGET_x86 && !TARGET_x86_olpc
+ depends TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
+ select PACKAGE_grub if !X86_USE_GRUB2
+ default y
+
+config X86_USE_GRUB2
+ bool "Use grub2"
+ depends X86_GRUB_IMAGES
+ select PACKAGE_grub2
+
+config X86_GRUB_CONSOLE
+ bool "Use Console Terminal (in addition to Serial)"
+ depends X86_GRUB_IMAGES
+ default n if (TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501 || TARGET_x86_geos || TARGET_x86_alix2)
+ default y
+
+config X86_GRUB_SERIAL
+ string "Serial port device"
+ depends X86_GRUB_IMAGES
+ default "hvc0" if TARGET_x86_xen_domu
+ default "ttyS0" if ! TARGET_x86_xen_domu
+
+config X86_GRUB_BAUDRATE
+ int "Serial port baud rate"
+ depends X86_GRUB_IMAGES
+ default 19200 if TARGET_x86_generic_Soekris45xx || TARGET_x86_generic_Soekris48xx || TARGET_x86_net5501
+ default 38400 if TARGET_x86_alix2
+ default 115200 if TARGET_x86_geos || TARGET_x86_kvm_guest
+ default 38400
+
+config X86_GRUB_BOOTOPTS
+ string "Extra kernel boot options"
+ depends X86_GRUB_IMAGES
+ default "xencons=hvc" if TARGET_x86_xen_domu
+ help
+ If you don't know, just leave it blank.
+
+config X86_GRUB_TIMEOUT
+ string "Seconds to wait before booting the default entry"
+ depends X86_GRUB_IMAGES
+ default "5"
+ help
+ If you don't know, 5 seconds is a reasonable default.
+
+config X86_VDI_IMAGES
+ bool "Build VirtualBox image files (VDI)"
+ depends X86_GRUB_IMAGES
+ depends TARGET_x86
+ depends TARGET_ROOTFS_EXT4FS
+ select PACKAGE_kmod-pcnet32
+
+config X86_VMDK_IMAGES
+ bool "Build VMware image files (VMDK)"
+ depends X86_GRUB_IMAGES
+ depends TARGET_x86
+ depends TARGET_ROOTFS_EXT4FS
+ select PACKAGE_kmod-e1000
+
+
+config OLPC_BOOTSCRIPT_IMAGES
+ bool "Build images with bootscript"
+ depends TARGET_x86_olpc
+ depends TARGET_ROOTFS_EXT4FS || TARGET_ROOTFS_ISO || TARGET_ROOTFS_JFFS2 || TARGET_ROOTFS_SQUASHFS
+ default TARGET_x86_olpc
+
+
+config TARGET_IMAGES_PAD
+ bool "Pad images to filesystem size (for JFFS2)"
+ depends OLPC_BOOTSCRIPT_IMAGES || X86_GRUB_IMAGES
+
+config TARGET_IMAGES_GZIP
+ bool "GZip images"
+ depends TARGET_IMAGES_PAD || TARGET_ROOTFS_EXT4FS
+ default y
+
+config TARGET_KERNEL_PARTSIZE
+ int "Kernel partition size (in MB)"
+ depends OLPC_BOOTSCRIPT_IMAGES || X86_GRUB_IMAGES
+ default 4
+
+config TARGET_ROOTFS_PARTNAME
+ string "Root partition on target device"
+ depends OLPC_BOOTSCRIPT_IMAGES || X86_GRUB_IMAGES
+ default "/dev/vda2" if TARGET_x86_kvm_guest
+ default "/dev/xvda2" if TARGET_x86_xen_domu
+ default "/dev/sda2" if ! (TARGET_x86_kvm_guest || TARGET_x86_xen_domu)
+ help
+ The root partition on the final device. If you don't know,
+ you probably want the default (/dev/sda2).
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
new file mode 100644
index 000000000..547f0839f
--- /dev/null
+++ b/target/linux/x86/image/Makefile
@@ -0,0 +1,256 @@
+#
+# Copyright (C) 2006-2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+export PATH=$(TARGET_PATH):/sbin
+
+GRUB2_MODULES = at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
+GRUB_TERMINALS =
+GRUB_SERIAL_CONFIG =
+GRUB_TERMINAL_CONFIG =
+GRUB_CONSOLE_CMDLINE =
+
+ifneq ($(CONFIG_X86_GRUB_CONSOLE),)
+ GRUB_CONSOLE_CMDLINE += console=tty0
+ GRUB_TERMINALS += console
+endif
+
+ifneq ($(CONFIG_X86_GRUB_SERIAL),)
+ GRUB_CONSOLE_CMDLINE += console=$(call qstrip,$(CONFIG_X86_GRUB_SERIAL)),$(CONFIG_X86_GRUB_BAUDRATE)n8
+ GRUB_SERIAL_CONFIG := serial --unit=0 --speed=$(CONFIG_X86_GRUB_BAUDRATE) --word=8 --parity=no --stop=1
+ GRUB_TERMINALS += serial
+endif
+
+ifneq ($(GRUB_TERMINALS),)
+ ifneq ($(CONFIG_X86_USE_GRUB2),)
+ GRUB_TERMINAL_CONFIG := terminal_input $(GRUB_TERMINALS); terminal_output $(GRUB_TERMINALS)
+ else
+ GRUB_TERMINAL_CONFIG := terminal --timeout=2 $(GRUB_TERMINALS)
+ endif
+endif
+
+ROOTPART:=$(call qstrip,$(CONFIG_TARGET_ROOTFS_PARTNAME))
+
+GRUB_TIMEOUT:=$(call qstrip,$(CONFIG_X86_GRUB_TIMEOUT))
+
+ifneq ($(CONFIG_X86_GRUB_IMAGES),)
+
+ BOOTOPTS:=$(call qstrip,$(CONFIG_X86_GRUB_BOOTOPTS))
+
+ define Image/cmdline/ext4
+ root=$(ROOTPART) rootfstype=ext4 rootwait
+ endef
+
+ define Image/cmdline/jffs2-64k
+ block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootwait
+ endef
+
+ define Image/cmdline/jffs2-128k
+ block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootwait
+ endef
+
+ define Image/cmdline/squashfs
+ block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs rootwait
+ endef
+
+ define Image/Build/grub
+ # left here because the image builder doesnt need these
+ $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub
+ $(CP) \
+ $(KDIR)/stage1 \
+ $(KDIR)/stage2 \
+ $(KDIR)/e2fs_stage1_5 \
+ $(KDIR)/root.grub/boot/grub/
+ $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
+ sed \
+ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \
+ -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \
+ -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \
+ -e 's#@TIMEOUT@#$(GRUB_TIMEOUT)#g' \
+ ./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst
+ PADDING="$(CONFIG_TARGET_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_grub.sh \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
+ $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.grub \
+ $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1)
+ $(call Image/Build/grub/$(1))
+ endef
+
+ define Image/Prepare/grub
+ # for the image builder
+ $(CP) \
+ $(STAGING_DIR)/usr/lib/grub/i386-openwrt/stage1 \
+ $(STAGING_DIR)/usr/lib/grub/i386-openwrt/stage2 \
+ $(STAGING_DIR)/usr/lib/grub/i386-openwrt/stage2_eltorito \
+ $(STAGING_DIR)/usr/lib/grub/i386-openwrt/e2fs_stage1_5 \
+ $(KDIR)/
+ endef
+
+ define Image/Build/grub2
+ # left here because the image builder doesnt need these
+ $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
+ $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
+ grub-mkimage \
+ -o $(KDIR)/grub2/core.img \
+ -O i386-pc \
+ -c ./grub-early.cfg \
+ $(GRUB2_MODULES)
+ $(CP) $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img $(KDIR)/grub2/
+ echo '(hd0) $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img' > $(KDIR)/grub2/device.map
+ sed \
+ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \
+ -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \
+ -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \
+ -e 's#@TIMEOUT@#$(GRUB_TIMEOUT)#g' \
+ ./grub.cfg > $(KDIR)/root.grub/boot/grub/grub.cfg
+ PADDING="$(CONFIG_TARGET_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_generic.sh \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
+ $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.grub \
+ $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1) \
+ 256
+ grub-bios-setup \
+ --device-map="$(KDIR)/grub2/device.map" \
+ -d "$(KDIR)/grub2" \
+ -r "hd0,msdos1" \
+ "$(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img"
+ $(call Image/Build/grub/$(1))
+ endef
+endif
+
+ROOTDELAY=10
+
+ifneq ($(CONFIG_OLPC_BOOTSCRIPT_IMAGES),)
+
+ define Image/cmdline/ext4
+ root=$(ROOTPART) rootfstype=ext4 rootwait
+ endef
+
+ define Image/cmdline/jffs2-64k
+ block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootdelay=$(ROOTDELAY)
+ endef
+
+ define Image/cmdline/jffs2-128k
+ block2mtd.block2mtd=$(ROOTPART),131072,rootfs root=/dev/mtdblock0 rootfstype=jffs2 rootdelay=$(ROOTDELAY)
+ endef
+
+ define Image/cmdline/squashfs
+ block2mtd.block2mtd=$(ROOTPART),65536,rootfs root=/dev/mtdblock0 rootfstype=squashfs rootdelay=$(ROOTDELAY)
+ endef
+
+ define Image/Build/bootscript
+ # left here because the image builder doesnt need these
+ $(INSTALL_DIR) $(KDIR)/root.bootscript/boot
+ $(CP) $(KDIR)/bzImage $(KDIR)/root.bootscript/boot/vmlinuz
+ sed -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1))) $(BOOTOPTS)#g' \
+ ./olpc.fth > $(KDIR)/root.bootscript/boot/olpc.fth
+ PADDING="$(CONFIG_TARGET_IMAGES_PAD)" PATH="$(TARGET_PATH)" ./gen_image_olpc.sh \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
+ $(CONFIG_TARGET_KERNEL_PARTSIZE) $(KDIR)/root.bootscript \
+ $(CONFIG_TARGET_ROOTFS_PARTSIZE) $(KDIR)/root.$(1)
+ endef
+
+endif
+
+define Image/Build/squashfs
+ $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
+endef
+
+define Image/Build/iso
+ $(INSTALL_DIR) $(KDIR)/root.grub/boot/grub
+ $(CP) \
+ $(KDIR)/stage2_eltorito \
+ $(KDIR)/root.grub/boot/grub/
+ sed \
+ -e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \
+ -e 's#@TERMINAL_CONFIG@#$(strip $(GRUB_TERMINAL_CONFIG))#g' \
+ -e 's#@CMDLINE@#$(strip $(call Image/cmdline/$(1)) $(BOOTOPTS) $(GRUB_CONSOLE_CMDLINE))#g' \
+ -e 's#(hd0,0)#(cd)#g' \
+ ./menu.lst > $(KDIR)/root.grub/boot/grub/menu.lst
+ $(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
+ mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table \
+ -o $(KDIR)/root.iso $(KDIR)/root.grub
+endef
+
+ifneq ($(CONFIG_X86_VDI_IMAGES),)
+ define Image/Build/vdi
+ # left here because the image builder doesnt need these
+ ifeq ($(1),ext4)
+ rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi || true
+ qemu-img convert -f raw -O vdi \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi
+ # XXX: VBoxManage insists on setting perms to 0600
+ chmod 0644 $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi
+ endif
+ endef
+endif
+
+ifneq ($(CONFIG_X86_VMDK_IMAGES),)
+ define Image/Build/vmdk
+ # left here because the image builder doesnt need these
+ ifeq ($(1),ext4)
+ rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk || true
+ qemu-img convert -f raw -O vmdk \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \
+ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk
+ endif
+ endef
+endif
+
+define Image/Build/gzip
+ gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img
+ gzip -f9 $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img
+endef
+
+ifneq ($(CONFIG_TARGET_IMAGES_GZIP),)
+ define Image/Build/gzip/ext4
+ $(call Image/Build/gzip,ext4)
+ endef
+ ifneq ($(CONFIG_TARGET_IMAGES_PAD),)
+ define Image/Build/gzip/squashfs
+ $(call Image/Build/gzip,squashfs)
+ endef
+ define Image/Build/gzip/jffs2-64k
+ $(call Image/Build/gzip,jffs2-64k)
+ endef
+ define Image/Build/gzip/jffs2-128k
+ $(call Image/Build/gzip,jffs2-128k)
+ endef
+ endif
+endif
+
+define Image/BuildKernel
+ $(CP) $(KDIR)/bzImage $(BIN_DIR)/$(IMG_PREFIX)-vmlinuz
+ ifneq ($(CONFIG_X86_ETHERBOOT_IMAGES),)
+ rm -f $(BIN_DIR)/$(IMG_PREFIX)-etherboot
+ $(STAGING_DIR_HOST)/bin/mkelfImage \
+ --append=$(CONFIG_X86_ETHERBOOT_BOOTOPTS) \
+ $(KDIR)/bzImage \
+ $(BIN_DIR)/$(IMG_PREFIX)-etherboot
+ endif
+endef
+
+define Image/Prepare
+ $(CP) $(LINUX_DIR)/arch/x86/boot/bzImage $(KDIR)/bzImage
+ $(call Image/Prepare/bootscript)
+ $(call Image/Prepare/$(if $(CONFIG_X86_USE_GRUB2),grub2,grub))
+endef
+
+define Image/Build
+ $(call Image/Build/$(1))
+ $(call Image/Build/bootscript,$(1))
+ ifneq ($(1),iso)
+ $(call Image/Build/$(if $(CONFIG_X86_USE_GRUB2),grub2,grub),$(1))
+ $(call Image/Build/vdi,$(1))
+ $(call Image/Build/vmdk,$(1))
+ endif
+ $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-rootfs-$(1).img
+ $(CP) $(KDIR)/bzImage $(BIN_DIR)/$(IMG_PREFIX)-vmlinuz
+ $(call Image/Build/gzip/$(1))
+endef
+
+$(eval $(call BuildImage))
diff --git a/target/linux/x86/image/gen_image_generic.sh b/target/linux/x86/image/gen_image_generic.sh
new file mode 100755
index 000000000..9d11efbb0
--- /dev/null
+++ b/target/linux/x86/image/gen_image_generic.sh
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+# Copyright (C) 2006-2012 OpenWrt.org
+set -x
+[ $# == 5 -o $# == 6 ] || {
+ echo "SYNTAX: $0 <file> <kernel size> <kernel directory> <rootfs size> <rootfs image> [<align>]"
+ exit 1
+}
+
+OUTPUT="$1"
+KERNELSIZE="$2"
+KERNELDIR="$3"
+ROOTFSSIZE="$4"
+ROOTFSIMAGE="$5"
+ALIGN="$6"
+
+rm -f "$OUTPUT"
+
+head=16
+sect=63
+cyl=$(( ($KERNELSIZE + $ROOTFSSIZE) * 1024 * 1024 / ($head * $sect * 512)))
+
+# create partition table
+set `ptgen -o "$OUTPUT" -h $head -s $sect -p ${KERNELSIZE}m -p ${ROOTFSSIZE}m ${ALIGN:+-l $ALIGN}`
+
+KERNELOFFSET="$(($1 / 512))"
+KERNELSIZE="$(($2 / 512))"
+ROOTFSOFFSET="$(($3 / 512))"
+ROOTFSSIZE="$(($4 / 512))"
+
+BLOCKS="$((($KERNELSIZE / 2) - 1))"
+
+[ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc count="$ROOTFSSIZE"
+dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc
+
+[ -n "$NOGRUB" ] && exit 0
+
+genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel"
+dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc
+rm -f "$OUTPUT.kernel"
diff --git a/target/linux/x86/image/gen_image_grub.sh b/target/linux/x86/image/gen_image_grub.sh
new file mode 100755
index 000000000..9a84322f4
--- /dev/null
+++ b/target/linux/x86/image/gen_image_grub.sh
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+# Copyright (C) 2006-2010 OpenWrt.org
+. ./gen_image_generic.sh
+
+which chpax >/dev/null && chpax -zp $(which grub)
+grub --batch --no-curses --no-floppy --device-map=/dev/null <<EOF
+device (hd0) $OUTPUT
+geometry (hd0) $cyl $head $sect
+root (hd0,0)
+setup (hd0)
+quit
+EOF
+
diff --git a/target/linux/x86/image/gen_image_olpc.sh b/target/linux/x86/image/gen_image_olpc.sh
new file mode 100755
index 000000000..82bc4ed95
--- /dev/null
+++ b/target/linux/x86/image/gen_image_olpc.sh
@@ -0,0 +1,35 @@
+#!/usr/bin/env bash
+# Copyright (C) 2006-2010 OpenWrt.org
+set -x
+[ $# == 5 ] || {
+ echo "SYNTAX: $0 <file> <kernel size> <kernel directory> <rootfs size> <rootfs image>"
+ exit 1
+}
+
+OUTPUT="$1"
+KERNELSIZE="$2"
+KERNELDIR="$3"
+ROOTFSSIZE="$4"
+ROOTFSIMAGE="$5"
+
+rm -f "$OUTPUT"
+
+head=16
+sect=63
+cyl=$(( ($KERNELSIZE + $ROOTFSSIZE) * 1024 * 1024 / ($head * $sect * 512)))
+
+# create partition table
+set `ptgen -o "$OUTPUT" -h $head -s $sect -p ${KERNELSIZE}m -p ${ROOTFSSIZE}m`
+
+KERNELOFFSET="$(($1 / 512))"
+KERNELSIZE="$(($2 / 512))"
+ROOTFSOFFSET="$(($3 / 512))"
+ROOTFSSIZE="$(($4 / 512))"
+
+BLOCKS="$((($KERNELSIZE / 2) - 1))"
+
+genext2fs -d "$KERNELDIR" -b "$BLOCKS" "$OUTPUT.kernel"
+dd if="$OUTPUT.kernel" of="$OUTPUT" bs=512 seek="$KERNELOFFSET" conv=notrunc
+[ -n "$PADDING" ] && dd if=/dev/zero of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc count="$ROOTFSSIZE"
+dd if="$ROOTFSIMAGE" of="$OUTPUT" bs=512 seek="$ROOTFSOFFSET" conv=notrunc
+rm -f "$OUTPUT.kernel"
diff --git a/target/linux/x86/image/grub-early.cfg b/target/linux/x86/image/grub-early.cfg
new file mode 100644
index 000000000..4a5b5a609
--- /dev/null
+++ b/target/linux/x86/image/grub-early.cfg
@@ -0,0 +1 @@
+configfile (hd0,msdos1)/boot/grub/grub.cfg
diff --git a/target/linux/x86/image/grub.cfg b/target/linux/x86/image/grub.cfg
new file mode 100644
index 000000000..4e55dcfa6
--- /dev/null
+++ b/target/linux/x86/image/grub.cfg
@@ -0,0 +1,13 @@
+@SERIAL_CONFIG@
+@TERMINAL_CONFIG@
+
+set default="0"
+set timeout="@TIMEOUT@"
+set root='(hd0,msdos1)'
+
+menuentry "OpenWrt" {
+ linux /boot/vmlinuz @CMDLINE@ noinitrd reboot=bios
+}
+menuentry "OpenWrt (failsafe)" {
+ linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd reboot=bios
+}
diff --git a/target/linux/x86/image/menu.lst b/target/linux/x86/image/menu.lst
new file mode 100644
index 000000000..5af1e955b
--- /dev/null
+++ b/target/linux/x86/image/menu.lst
@@ -0,0 +1,15 @@
+@SERIAL_CONFIG@
+@TERMINAL_CONFIG@
+
+default 0
+timeout @TIMEOUT@
+
+title OpenWrt
+root (hd0,0)
+kernel /boot/vmlinuz @CMDLINE@ noinitrd reboot=bios
+boot
+
+title OpenWrt (failsafe)
+root (hd0,0)
+kernel /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd reboot=bios
+boot
diff --git a/target/linux/x86/image/olpc.fth b/target/linux/x86/image/olpc.fth
new file mode 100644
index 000000000..5914be660
--- /dev/null
+++ b/target/linux/x86/image/olpc.fth
@@ -0,0 +1,5 @@
+\ Boot script
+" u:\boot\vmlinuz" to boot-device
+" @CMDLINE@ noinitrd console=ttyS0,115200 console=tty0" to boot-file
+unfreeze
+boot
diff --git a/target/linux/x86/kvm_guest/config-3.3 b/target/linux/x86/kvm_guest/config-3.3
new file mode 100644
index 000000000..11c21c48a
--- /dev/null
+++ b/target/linux/x86/kvm_guest/config-3.3
@@ -0,0 +1,82 @@
+CONFIG_ACPI=y
+# CONFIG_ACPI_AC is not set
+# CONFIG_ACPI_ASUS is not set
+# CONFIG_ACPI_BATTERY is not set
+CONFIG_ACPI_BLACKLIST_YEAR=0
+CONFIG_ACPI_BUTTON=y
+# CONFIG_ACPI_CMPC 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_EC_DEBUGFS is not set
+# CONFIG_ACPI_FAN is not set
+# CONFIG_ACPI_PCI_SLOT is not set
+CONFIG_ACPI_PROCESSOR=y
+# 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_THERMAL is not set
+# CONFIG_ACPI_WMI is not set
+# CONFIG_ASUS_LAPTOP is not set
+CONFIG_CONSOLE_TRANSLATIONS=y
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_DUMMY_CONSOLE=y
+# CONFIG_EFI is not set
+CONFIG_HIGHMEM4G=y
+CONFIG_HOTPLUG_PCI=y
+CONFIG_HOTPLUG_PCI_ACPI=y
+# CONFIG_HPET is not set
+# CONFIG_HP_ACCEL is not set
+CONFIG_HVC_DRIVER=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_HW_RANDOM_VIRTIO is not set
+CONFIG_INPUT=y
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_INTEL_IPS is not set
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KVM is not set
+CONFIG_KVM_CLOCK=y
+CONFIG_KVM_GUEST=y
+# CONFIG_LGUEST is not set
+# CONFIG_LGUEST_GUEST is not set
+CONFIG_NLS=y
+CONFIG_NO_HZ=y
+CONFIG_PARAVIRT=y
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_PARAVIRT_TIME_ACCOUNTING=y
+CONFIG_PCI_IOAPIC=y
+CONFIG_PCI_LABEL=y
+CONFIG_PCI_MMCONFIG=y
+CONFIG_PNP=y
+CONFIG_PNPACPI=y
+CONFIG_PNP_DEBUG_MESSAGES=y
+CONFIG_SERIAL_8250_PNP=y
+# CONFIG_THINKPAD_ACPI is not set
+# CONFIG_TOPSTAR_LAPTOP is not set
+# CONFIG_TOSHIBA_BT_RFKILL is not set
+# CONFIG_VGACON_SOFT_SCROLLBACK is not set
+CONFIG_VGA_CONSOLE=y
+# CONFIG_VHOST_NET is not set
+CONFIG_VIRTIO=y
+CONFIG_VIRTIO_BLK=y
+CONFIG_VIRTIO_CONSOLE=y
+# CONFIG_VIRTIO_NET is not set
+CONFIG_VIRTIO_PCI=y
+CONFIG_VIRTIO_RING=y
+CONFIG_VIRTUALIZATION=y
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_X86_ACPI_CPUFREQ is not set
+# CONFIG_X86_LONGHAUL is not set
+# CONFIG_X86_PAT is not set
+# CONFIG_X86_PCC_CPUFREQ is not set
+CONFIG_X86_PM_TIMER=y
+# CONFIG_X86_POWERNOW_K8 is not set
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+# CONFIG_XO15_EBOOK is not set
diff --git a/target/linux/x86/kvm_guest/target.mk b/target/linux/x86/kvm_guest/target.mk
new file mode 100644
index 000000000..7e48f6417
--- /dev/null
+++ b/target/linux/x86/kvm_guest/target.mk
@@ -0,0 +1,2 @@
+BOARDNAME:=KVM Guest
+DEFAULT_PACKAGES += kmod-virtio-balloon kmod-virtio-net kmod-virtio-random
diff --git a/target/linux/x86/modules.mk b/target/linux/x86/modules.mk
new file mode 100644
index 000000000..70a64ffdb
--- /dev/null
+++ b/target/linux/x86/modules.mk
@@ -0,0 +1,314 @@
+#
+# Copyright (C) 2006-2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define KernelPackage/cs5535
+ SUBMENU:=$(BLOCK_MENU)
+ TITLE:=NSC/AMD CS5535 chipset support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_BLK_DEV_CS5535
+ FILES=$(LINUX_DIR)/drivers/ide/cs5535.ko
+ AUTOLOAD:=$(call AutoLoad,30,cs5535,1)
+ $(call AddDepends/ide)
+endef
+
+define KernelPackage/cs5535/description
+ Kernel module for the NSC/AMD CS5535 companion chip
+endef
+
+$(eval $(call KernelPackage,cs5535))
+
+
+define KernelPackage/cs5536
+ SUBMENU:=$(BLOCK_MENU)
+ TITLE:=AMD CS5536 chipset support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_BLK_DEV_CS5536
+ FILES=$(LINUX_DIR)/drivers/ide/cs5536.ko
+ AUTOLOAD:=$(call AutoLoad,30,cs5536,1)
+ $(call AddDepends/ide)
+endef
+
+define KernelPackage/cs5536/description
+ Kernel module for the AMD CS5536 Geode LX companion chip
+endef
+
+$(eval $(call KernelPackage,cs5536))
+
+
+define KernelPackage/pata-cs5535
+ SUBMENU:=$(BLOCK_MENU)
+ TITLE:=CS5535 PATA support
+ DEPENDS:=@TARGET_x86 @PCI_SUPPORT
+ KCONFIG:=CONFIG_PATA_CS5535
+ FILES=$(LINUX_DIR)/drivers/ata/pata_cs5535.ko
+ AUTOLOAD:=$(call AutoLoad,30,pata_cs5535,1)
+ $(call AddDepends/ata)
+endef
+
+define KernelPackage/pata-cs5535/description
+ Kernel module for the NSC/AMD CS5535 companion chip
+endef
+
+$(eval $(call KernelPackage,pata-cs5535))
+
+
+define KernelPackage/pata-cs5536
+ SUBMENU:=$(BLOCK_MENU)
+ TITLE:=CS5536 PATA support
+ DEPENDS:=@TARGET_x86 @PCI_SUPPORT
+ KCONFIG:=CONFIG_PATA_CS5536
+ FILES=$(LINUX_DIR)/drivers/ata/pata_cs5536.ko
+ AUTOLOAD:=$(call AutoLoad,30,pata_cs5536,1)
+ $(call AddDepends/ata)
+endef
+
+define KernelPackage/pata-cs5536/description
+ Kernel module for the AMD CS5536 Geode LX companion chip
+endef
+
+$(eval $(call KernelPackage,pata-cs5536))
+
+
+define KernelPackage/cpu-msr
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=x86 CPU MSR support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_X86_MSR
+ FILES:=$(LINUX_DIR)/arch/x86/kernel/msr.ko
+ AUTOLOAD:=$(call AutoLoad,20,msr)
+endef
+
+define KernelPackage/cpu-msr/description
+ Kernel module for Model Specific Registers support in x86 CPUs
+endef
+
+$(eval $(call KernelPackage,cpu-msr))
+
+define KernelPackage/gpio-cs5535-new
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=AMD CS5535/CS5536 GPIO driver with improved sysfs support
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd
+ KCONFIG:=CONFIG_GPIO_CS5535
+ FILES:=$(LINUX_DIR)/drivers/gpio/gpio-cs5535.ko
+ AUTOLOAD:=$(call AutoLoad,50,gpio-cs5535)
+endef
+
+define KernelPackage/gpio-cs5535-new/description
+ This package contains the new AMD CS5535/CS5536 GPIO driver
+endef
+
+$(eval $(call KernelPackage,gpio-cs5535-new))
+
+define KernelPackage/gpio-nsc
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Natsemi GPIO support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_NSC_GPIO
+ FILES:=$(LINUX_DIR)/drivers/char/nsc_gpio.ko
+ AUTOLOAD:=$(call AutoLoad,40,nsc_gpio)
+endef
+
+define KernelPackage/gpio-nsc/description
+ Kernel module for Natsemi GPIO
+endef
+
+$(eval $(call KernelPackage,gpio-nsc))
+
+
+define KernelPackage/gpio-pc8736x
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=PC8736x GPIO support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_PC8736x_GPIO
+ FILES:=$(LINUX_DIR)/drivers/char/pc8736x_gpio.ko
+ AUTOLOAD:=$(call AutoLoad,40,pc8736x_gpio)
+endef
+
+define KernelPackage/gpio-pc8736x/description
+ Kernel module for PC8736x GPIO
+endef
+
+$(eval $(call KernelPackage,gpio-pc8736x))
+
+
+define KernelPackage/gpio-scx200
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Natsemi SCX200 GPIO support
+ DEPENDS:=@TARGET_x86 +kmod-gpio-nsc
+ KCONFIG:=CONFIG_SCx200_GPIO
+ FILES:=$(LINUX_DIR)/drivers/char/scx200_gpio.ko
+ AUTOLOAD:=$(call AutoLoad,50,scx200_gpio)
+endef
+
+define KernelPackage/gpio-scx200/description
+ Kernel module for SCX200 GPIO
+endef
+
+$(eval $(call KernelPackage,gpio-scx200))
+
+define KernelPackage/wdt-geode
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Geode/LX Watchdog timer
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
+ KCONFIG:=CONFIG_GEODE_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/geodewdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,geodewdt)
+endef
+
+define KernelPackage/wdt-geode/description
+ Kernel module for Geode watchdog timer.
+endef
+
+$(eval $(call KernelPackage,wdt-geode))
+
+
+define KernelPackage/cs5535-clockevt
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=CS5535/CS5536 high-res timer (MFGPT) events
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfgpt
+ KCONFIG:=CONFIG_CS5535_CLOCK_EVENT_SRC
+ FILES:=$(LINUX_DIR)/drivers/clocksource/cs5535-clockevt.ko
+ AUTOLOAD:=$(call AutoLoad,50,cs5535-clockevt)
+endef
+
+define KernelPackage/cs5535-clockevt/description
+ Kernel module for CS5535/6 high-res clock event source
+endef
+
+$(eval $(call KernelPackage,cs5535-clockevt))
+
+
+define KernelPackage/cs5535-mfgpt
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=CS5535/6 Multifunction General Purpose Timer
+ DEPENDS:=@TARGET_x86 +kmod-cs5535-mfd
+ KCONFIG:=CONFIG_CS5535_MFGPT
+ FILES:=$(LINUX_DIR)/drivers/misc/cs5535-mfgpt.ko
+ AUTOLOAD:=$(call AutoLoad,45,cs5535-mfgpt)
+endef
+
+define KernelPackage/cs5535-mfgpt/description
+ Kernel module for CS5535/6 multifunction general purpose timer.
+endef
+
+$(eval $(call KernelPackage,cs5535-mfgpt))
+
+
+define KernelPackage/cs5535-mfd
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=CS5535/6 Multifunction General Purpose Driver
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_MFD_CS5535
+ FILES:= \
+ $(LINUX_DIR)/drivers/mfd/mfd-core.ko \
+ $(LINUX_DIR)/drivers/mfd/cs5535-mfd.ko
+ AUTOLOAD:=$(call AutoLoad,44,mfd-core cs5535-mfd)
+endef
+
+define KernelPackage/cs5535-mfd/description
+ Core driver for CS5535/CS5536 MFD functions.
+endef
+
+$(eval $(call KernelPackage,cs5535-mfd))
+
+define KernelPackage/wdt-sc520
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Natsemi SC520 Watchdog support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_SC520_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/sc520_wdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,sc520_wdt)
+endef
+
+define KernelPackage/wdt-sc520/description
+ Kernel module for SC520 Watchdog
+endef
+
+$(eval $(call KernelPackage,wdt-sc520))
+
+
+define KernelPackage/wdt-scx200
+ SUBMENU:=$(OTHER_MENU)
+ TITLE:=Natsemi SCX200 Watchdog support
+ DEPENDS:=@TARGET_x86
+ KCONFIG:=CONFIG_SCx200_WDT
+ FILES:=$(LINUX_DIR)/drivers/$(WATCHDOG_DIR)/scx200_wdt.ko
+ AUTOLOAD:=$(call AutoLoad,50,scx200_wdt)
+endef
+
+define KernelPackage/wdt-scx200/description
+ Kernel module for SCX200 Watchdog
+endef
+
+$(eval $(call KernelPackage,wdt-scx200))
+
+I2C_SCX200_MODULES:=\
+ CONFIG_SCx200_I2C:drivers/i2c/busses/scx200_i2c
+
+define KernelPackage/i2c-scx200
+ $(call i2c_defaults,$(I2C_SCX200_MODULES),59)
+ TITLE:=Geode SCx200 I2C using GPIO pins
+ DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-algo-bit
+ KCONFIG+= \
+ CONFIG_SCx200_I2C_SCL=12 \
+ CONFIG_SCx200_I2C_SDA=13
+endef
+
+define KernelPackage/i2c-scx200/description
+ Kernel module for I2C using GPIO pins on the Geode SCx200 processors.
+endef
+
+$(eval $(call KernelPackage,i2c-scx200))
+
+
+I2C_SCX200_ACB_MODULES:=\
+ CONFIG_SCx200_ACB:drivers/i2c/busses/scx200_acb
+
+define KernelPackage/i2c-scx200-acb
+ $(call i2c_defaults,$(I2C_SCX200_ACB_MODULES),59)
+ TITLE:=Geode SCx200 ACCESS.bus support
+ DEPENDS:=@PCI_SUPPORT @TARGET_x86 +kmod-i2c-algo-bit
+endef
+
+define KernelPackage/i2c-scx200-acb/description
+ Kernel module for I2C using the ACCESS.bus controllers on the Geode SCx200
+ and SC1100 processors and the CS5535 and CS5536 Geode companion devices.
+endef
+
+$(eval $(call KernelPackage,i2c-scx200-acb))
+
+
+define KernelPackage/leds-wrap
+ SUBMENU:=$(LEDS_MENU)
+ TITLE:=PCengines WRAP LED support
+ DEPENDS:=@TARGET_x86 +kmod-gpio-scx200
+ KCONFIG:=CONFIG_LEDS_WRAP
+ FILES:=$(LINUX_DIR)/drivers/leds/leds-wrap.ko
+ AUTOLOAD:=$(call AutoLoad,50,leds-wrap)
+endef
+
+define KernelPackage/leds-wrap/description
+ Kernel module for PCengines WRAP LEDs
+endef
+
+$(eval $(call KernelPackage,leds-wrap))
+
+
+define KernelPackage/leds-net48xx
+ SUBMENU:=$(LEDS_MENU)
+ TITLE:=Soekris Net48xx LED support
+ DEPENDS:=@TARGET_x86 +kmod-gpio-scx200
+ KCONFIG:=CONFIG_LEDS_NET48XX
+ FILES:=$(LINUX_DIR)/drivers/leds/leds-net48xx.ko
+ AUTOLOAD:=$(call AutoLoad,50,leds-net48xx)
+endef
+
+define KernelPackage/leds-net48xx/description
+ Kernel module for Soekris Net48xx LEDs
+endef
+
+$(eval $(call KernelPackage,leds-net48xx))
diff --git a/target/linux/x86/net5501/base-files/etc/config/network b/target/linux/x86/net5501/base-files/etc/config/network
new file mode 100644
index 000000000..c0b6230d5
--- /dev/null
+++ b/target/linux/x86/net5501/base-files/etc/config/network
@@ -0,0 +1,18 @@
+# Copyright (C) 2011 OpenWrt.org
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface lan
+ option ifname "eth1 eth2 eth3"
+ option type bridge
+ option proto static
+ option ipaddr 192.168.1.1
+ option netmask 255.255.255.0
+
+config interface wan
+ option ifname eth0
+ option proto dhcp
diff --git a/target/linux/x86/net5501/base-files/etc/config/system b/target/linux/x86/net5501/base-files/etc/config/system
new file mode 100644
index 000000000..5db7bc242
--- /dev/null
+++ b/target/linux/x86/net5501/base-files/etc/config/system
@@ -0,0 +1,16 @@
+config system
+ option hostname OpenWrt
+ option timezone UTC
+
+config timeserver ntp
+ list server 0.openwrt.pool.ntp.org
+ list server 1.openwrt.pool.ntp.org
+ list server 2.openwrt.pool.ntp.org
+ list server 3.openwrt.pool.ntp.org
+
+config led
+ option default 1
+ option name Heartbeat
+ option sysfs 'net5501:1'
+ option trigger heartbeat
+
diff --git a/target/linux/x86/net5501/base-files/etc/hotplug.d/button/50-reboot b/target/linux/x86/net5501/base-files/etc/hotplug.d/button/50-reboot
new file mode 100644
index 000000000..bf893c15b
--- /dev/null
+++ b/target/linux/x86/net5501/base-files/etc/hotplug.d/button/50-reboot
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+logger -t button -p daemon.info "$BUTTON/$ACTION"
+
+case "$BUTTON/$ACTION" in
+
+reset/released)
+ reboot -f
+ ;;
+
+esac
+
+exit 0
diff --git a/target/linux/x86/net5501/config-3.3 b/target/linux/x86/net5501/config-3.3
new file mode 100644
index 000000000..1ef619508
--- /dev/null
+++ b/target/linux/x86/net5501/config-3.3
@@ -0,0 +1,19 @@
+# CONFIG_ATA_PIIX is not set
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GPIOLIB=y
+CONFIG_GPIO_SYSFS=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_HWMON=y
+# CONFIG_ISDN is not set
+# CONFIG_M486 is not set
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MGEODE_LX=y
+CONFIG_PATA_CS5536=y
+# CONFIG_SCx200 is not set
+CONFIG_THERMAL_HWMON=y
+CONFIG_X86_CMOV=y
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
diff --git a/target/linux/x86/net5501/target.mk b/target/linux/x86/net5501/target.mk
new file mode 100644
index 000000000..fcdd11ccb
--- /dev/null
+++ b/target/linux/x86/net5501/target.mk
@@ -0,0 +1,34 @@
+BOARDNAME:=Soekris net5501
+FEATURES:=squashfs jffs2 ext4 pci usb gpio
+DEFAULT_PACKAGES += kmod-crypto-hw-geode kmod-crypto-ocf \
+ kmod-gpio-cs5535-new kmod-gpio-nsc \
+ kmod-wdt-geode kmod-cs5535-clockevt kmod-cs5535-mfgpt \
+ kmod-cs5536 \
+ kmod-hwmon-core kmod-hwmon-pc87360 kmod-gpio-pc8736x \
+ kmod-via-rhine kmod-solos-pci \
+ kmod-i2c-core kmod-i2c-gpio \
+ kmod-i2c-algo-bit kmod-i2c-algo-pca kmod-i2c-algo-pcf \
+ kmod-i2c-scx200-acb \
+ kmod-usb-core kmod-usb2 kmod-usb-ohci \
+ kmod-cfg80211 kmod-mac80211 \
+ kmod-mppe kmod-pppoe kmod-pppoa kmod-pppo2ltp \
+ kmod-ath kmod-ath5k kmod-ath9k \
+ kmod-leds-gpio kmod-input-gpio-keys-polled \
+ kmod-button-hotplug \
+ kmod-ledtrig-heartbeat kmod-ledtrig-gpio \
+ kmod-ledtrig-netdev \
+ kmod-cpu-msr \
+ hwclock wpad
+
+CS5535_MASK:=0x01000040
+
+CFLAGS += -march=geode -Os -mmmx -m3dnow -fno-align-jumps -fno-align-functions \
+ -fno-align-labels -fno-align-loops -pipe -fomit-frame-pointer
+
+define Target/Description
+ Build firmware images for Soekris net5501 board
+endef
+
+define KernelPackage/gpio-cs5535-new/install
+ sed -i -r -e 's/$$$$$$$$/ mask=$(CS5535_MASK)/' $(1)/etc/modules.d/??-gpio-cs5535-new
+endef
diff --git a/target/linux/x86/olpc/base-files/etc/X11/xorg.conf b/target/linux/x86/olpc/base-files/etc/X11/xorg.conf
new file mode 100644
index 000000000..d98a8f87a
--- /dev/null
+++ b/target/linux/x86/olpc/base-files/etc/X11/xorg.conf
@@ -0,0 +1,71 @@
+# xorg configuration
+
+Section "ServerLayout"
+ Identifier "Default Layout"
+ Screen 0 "Screen0" 0 0
+ InputDevice "Mouse0" "CorePointer"
+ InputDevice "Keyboard0" "CoreKeyboard"
+EndSection
+
+Section "Files"
+ FontPath "/usr/lib/X11/fonts/misc"
+EndSection
+
+Section "Module"
+ Load "dbe"
+ Load "extmod"
+ Load "fbdevhw"
+# Load "glx"
+ Load "record"
+ Load "freetype"
+ Load "type1"
+EndSection
+
+Section "InputDevice"
+ Identifier "Keyboard0"
+ Driver "keyboard"
+ Option "XkbModel" "pc105"
+ Option "XkbLayout" "us"
+EndSection
+
+Section "InputDevice"
+ Identifier "Mouse0"
+ Driver "mouse"
+ Option "Protocol" "PS/2"
+ Option "Device" "/dev/psaux"
+ Option "ZAxisMapping" "4 5"
+ Option "Emulate3Buttons" "yes"
+EndSection
+
+Section "Monitor"
+ Identifier "Monitor0"
+ VendorName "Monitor Vendor"
+ ModelName "OWRT"
+ Option "dpms"
+EndSection
+
+Section "Device"
+ Identifier "FBDev"
+ Driver "fbdev"
+ #Option "shadowfb" "off"
+ VideoRam 4096
+EndSection
+
+Section "Screen"
+ Identifier "Screen0"
+ Device "FBDev"
+ Monitor "Monitor0"
+ DefaultDepth 16
+
+ SubSection "Display"
+ Depth 16
+ Modes "1200x900-75"
+ EndSubsection
+
+EndSection
+
+Section "DRI"
+ Group 0
+ Mode 0666
+EndSection
+
diff --git a/target/linux/x86/olpc/base-files/etc/config/network b/target/linux/x86/olpc/base-files/etc/config/network
new file mode 100644
index 000000000..faa8f0e78
--- /dev/null
+++ b/target/linux/x86/olpc/base-files/etc/config/network
@@ -0,0 +1,11 @@
+# Copyright (C) 2006 OpenWrt.org
+
+config interface loopback
+ option ifname lo
+ option proto static
+ option ipaddr 127.0.0.1
+ option netmask 255.0.0.0
+
+config interface wlan
+ option ifname eth0
+ option proto dhcp
diff --git a/target/linux/x86/olpc/base-files/lib/preinit/15_essential_fs_x86 b/target/linux/x86/olpc/base-files/lib/preinit/15_essential_fs_x86
new file mode 100644
index 000000000..be342433d
--- /dev/null
+++ b/target/linux/x86/olpc/base-files/lib/preinit/15_essential_fs_x86
@@ -0,0 +1,9 @@
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+do_mount_procfs() {
+ mount -t proc none /proc
+}
+
+
diff --git a/target/linux/x86/olpc/base-files/lib/preinit/45_failsafe_x86 b/target/linux/x86/olpc/base-files/lib/preinit/45_failsafe_x86
new file mode 100644
index 000000000..dd7330d5d
--- /dev/null
+++ b/target/linux/x86/olpc/base-files/lib/preinit/45_failsafe_x86
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+failsafe_wait() {
+ FAILSAFE=
+ grep -q 'failsafe=' /proc/cmdline && FAILSAFE=true && export FAILSAFE
+ if [ "$FAILSAFE" != "true" ]; then
+ preinit_net_echo "Please press button now to enter failsafe"
+ echo -n "Press "
+ fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true && export FAILSAFE
+ fi
+}
+
diff --git a/target/linux/x86/olpc/base-files/lib/upgrade/platform.sh b/target/linux/x86/olpc/base-files/lib/upgrade/platform.sh
new file mode 100644
index 000000000..ffd0b93ab
--- /dev/null
+++ b/target/linux/x86/olpc/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,27 @@
+platform_check_image() {
+ [ "$ARGC" -gt 1 ] && return 1
+
+ case "$(get_magic_word "$1")" in
+ 48eb) return 0;;
+ *)
+ echo "Invalid image type"
+ return 1
+ ;;
+ esac
+}
+
+platform_do_upgrade() {
+ get_image "$1" > /dev/hda
+ sync
+}
+
+x86_prepare_ext2() {
+ # if we're running from ext2, we need to make sure that we have a mtd
+ # partition that points to the active rootfs partition.
+ # however this only matters if we actually need to preserve the config files
+ [ "$SAVE_CONFIG" -eq 1 ] && return 0
+ grep rootfs /proc/mtd >/dev/null || {
+ echo /dev/hda2,65536,rootfs > /sys/module/block2mtd/parameters/block2mtd
+ }
+}
+append sysupgrade_pre_upgrade x86_prepare_ext2
diff --git a/target/linux/x86/olpc/config-3.3 b/target/linux/x86/olpc/config-3.3
new file mode 100644
index 000000000..41357e109
--- /dev/null
+++ b/target/linux/x86/olpc/config-3.3
@@ -0,0 +1,122 @@
+# CONFIG_APM is not set
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_GENERIC=y
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+# CONFIG_BACKLIGHT_PROGEAR is not set
+# CONFIG_BACKLIGHT_SAHARA is not set
+CONFIG_BATTERY_OLPC=y
+# CONFIG_BLK_DEV is not set
+CONFIG_BLK_DEV_SR=y
+CONFIG_BLK_DEV_SR_VENDOR=y
+# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set
+CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0
+CONFIG_CAN_PM_TRACE=y
+CONFIG_CHR_DEV_SG=y
+# CONFIG_CPU_FREQ_STAT_DETAILS is not set
+CONFIG_CPU_IDLE_GOV_MENU=y
+CONFIG_DECOMPRESS_LZO=y
+CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120
+CONFIG_DETECT_HUNG_TASK=y
+# CONFIG_EMBEDDED is not set
+CONFIG_FB=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+CONFIG_FB_GEODE=y
+# CONFIG_FB_GEODE_GX is not set
+# CONFIG_FB_GEODE_GX1 is not set
+CONFIG_FB_GEODE_LX=y
+# CONFIG_FB_OLPC_DCON is not set
+# CONFIG_FB_SM7XX is not set
+# CONFIG_FB_VESA is not set
+# CONFIG_FB_WMT_GE_ROPS is not set
+# CONFIG_FB_XGI is not set
+# CONFIG_FIRMWARE_EDID is not set
+CONFIG_FREEZER=y
+CONFIG_GENERIC_GPIO=y
+CONFIG_GPIOLIB=y
+# CONFIG_HAMRADIO is not set
+CONFIG_HIBERNATE_CALLBACKS=y
+CONFIG_HIBERNATION=y
+# CONFIG_HIGHMEM64G is not set
+# CONFIG_KEXEC_JUMP is not set
+CONFIG_LCD_CLASS_DEVICE=y
+# CONFIG_LCD_PLATFORM is not set
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
+# CONFIG_M486 is not set
+# CONFIG_MATH_EMULATION is not set
+CONFIG_MGEODE_LX=y
+CONFIG_MMC=y
+CONFIG_MMC_BLOCK=y
+CONFIG_MMC_SDHCI=y
+# CONFIG_MMC_SDHCI_PCI is not set
+# CONFIG_MMC_SDHCI_PLTFM is not set
+# CONFIG_MMC_TIFM_SD is not set
+# CONFIG_MMC_WBSD is not set
+CONFIG_MTD_CMDLINE_PARTS=y
+CONFIG_MTD_OF_PARTS=y
+# CONFIG_MTRR is not set
+# CONFIG_NETWORK_FILESYSTEMS is not set
+CONFIG_NLS=y
+CONFIG_NO_HZ=y
+CONFIG_OF=y
+CONFIG_OF_ADDRESS=y
+CONFIG_OF_DEVICE=y
+CONFIG_OF_GPIO=y
+CONFIG_OF_IRQ=y
+CONFIG_OF_NET=y
+CONFIG_OF_PCI=y
+CONFIG_OF_PCI_IRQ=y
+CONFIG_OF_PROMTREE=y
+CONFIG_OLPC=y
+CONFIG_OPROFILE=y
+# CONFIG_OPROFILE_EVENT_MULTIPLEX is not set
+# CONFIG_PARTITION_ADVANCED is not set
+# CONFIG_PCI_GOANY is not set
+CONFIG_PCI_GOOLPC=y
+CONFIG_PCI_OLPC=y
+CONFIG_PERF_COUNTERS=y
+CONFIG_PM=y
+# CONFIG_PM_ADVANCED_DEBUG is not set
+CONFIG_PM_DEBUG=y
+CONFIG_PM_SLEEP=y
+CONFIG_PM_STD_PARTITION=""
+# CONFIG_PM_TEST_SUSPEND is not set
+# CONFIG_PM_TRACE_RTC is not set
+# CONFIG_PREEMPT_NONE is not set
+CONFIG_PREEMPT_VOLUNTARY=y
+# CONFIG_PROC_DEVICETREE is not set
+CONFIG_PROFILING=y
+CONFIG_RD_LZO=y
+CONFIG_RELAY=y
+CONFIG_RING_BUFFER=y
+CONFIG_RING_BUFFER_ALLOW_SWAP=y
+CONFIG_SCHEDSTATS=y
+CONFIG_SCHED_DEBUG=y
+# CONFIG_SCx200 is not set
+CONFIG_SUSPEND=y
+CONFIG_SUSPEND_FREEZER=y
+CONFIG_TIMER_STATS=y
+CONFIG_USB=y
+CONFIG_USB_COMMON=y
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_EHCI_TT_NEWSCHED=y
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_STORAGE=y
+CONFIG_USB_UHCI_HCD=y
+CONFIG_VGA_ARB=y
+CONFIG_VGA_ARB_MAX_GPUS=16
+# CONFIG_WATCHDOG is not set
+CONFIG_X86_CMOV=y
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_X86_EXTENDED_PLATFORM=y
+# CONFIG_X86_MCE is not set
+# CONFIG_X86_RDC321X is not set
+# CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS is not set
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_3DNOW=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+# CONFIG_X86_WANT_INTEL_MID is not set
diff --git a/target/linux/x86/olpc/target.mk b/target/linux/x86/olpc/target.mk
new file mode 100644
index 000000000..9ed2edc9e
--- /dev/null
+++ b/target/linux/x86/olpc/target.mk
@@ -0,0 +1,2 @@
+BOARDNAME:=OLPC XO-1
+DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci kmod-libertas
diff --git a/target/linux/x86/patches-3.3/001-alix_platform.patch b/target/linux/x86/patches-3.3/001-alix_platform.patch
new file mode 100644
index 000000000..4a5f4f4cd
--- /dev/null
+++ b/target/linux/x86/patches-3.3/001-alix_platform.patch
@@ -0,0 +1,131 @@
+index dc5f1d3..a24bf8c 100644
+--- a/arch/x86/platform/geode/alix.c
++++ b/arch/x86/platform/geode/alix.c
+@@ -6,6 +6,7 @@
+ *
+ * Copyright (C) 2008 Constantin Baranov <const@mimas.ru>
+ * Copyright (C) 2011 Ed Wildgoose <kernel@wildgooses.com>
++ * and Philip Prindeville <philipp@redfish-solutions.com>
+ *
+ * TODO: There are large similarities with leds-net5501.c
+ * by Alessandro Zummo <a.zummo@towertech.it>
+@@ -24,14 +25,47 @@
+ #include <linux/leds.h>
+ #include <linux/platform_device.h>
+ #include <linux/gpio.h>
++#include <linux/input.h>
++#include <linux/gpio_keys.h>
++#include <linux/dmi.h>
+
+ #include <asm/geode.h>
+
++#define BIOS_SIGNATURE_TINYBIOS 0xf0000
++#define BIOS_SIGNATURE_COREBOOT 0x500
++#define BIOS_REGION_SIZE 0x10000
++
+ static bool force = 0;
+ module_param(force, bool, 0444);
+ /* FIXME: Award bios is not automatically detected as Alix platform */
+ MODULE_PARM_DESC(force, "Force detection as ALIX.2/ALIX.3 platform");
+
++static struct gpio_keys_button alix_gpio_buttons[] = {
++ {
++ .code = KEY_RESTART,
++ .gpio = 24,
++ .active_low = 1,
++ .desc = "Reset button",
++ .type = EV_KEY,
++ .wakeup = 0,
++ .debounce_interval = 100,
++ .can_disable = 0,
++ }
++};
++static struct gpio_keys_platform_data alix_buttons_data = {
++ .buttons = alix_gpio_buttons,
++ .nbuttons = ARRAY_SIZE(alix_gpio_buttons),
++ .poll_interval = 20,
++};
++
++static struct platform_device alix_buttons_dev = {
++ .name = "gpio-keys-polled",
++ .id = 1,
++ .dev = {
++ .platform_data = &alix_buttons_data,
++ }
++};
++
+ static struct gpio_led alix_leds[] = {
+ {
+ .name = "alix:1",
+@@ -64,17 +98,22 @@ static struct platform_device alix_leds_
+ .dev.platform_data = &alix_leds_data,
+ };
+
++static struct __initdata platform_device *alix_devs[] = {
++ &alix_buttons_dev,
++ &alix_leds_dev,
++};
++
+ static void __init register_alix(void)
+ {
+ /* Setup LED control through leds-gpio driver */
+- platform_device_register(&alix_leds_dev);
++ platform_add_devices(alix_devs, ARRAY_SIZE(alix_devs));
+ }
+
+ static int __init alix_present(unsigned long bios_phys,
+ const char *alix_sig,
+ size_t alix_sig_len)
+ {
+- const size_t bios_len = 0x00010000;
++ const size_t bios_len = BIOS_REGION_SIZE;
+ const char *bios_virt;
+ const char *scan_end;
+ const char *p;
+@@ -109,7 +148,8 @@ static int __init alix_present(unsigned
+ *a = '\0';
+
+ tail = p + alix_sig_len;
+- if ((tail[0] == '2' || tail[0] == '3')) {
++ if ((tail[0] == '2' || tail[0] == '3' || tail[0] == '6')) {
++
+ printk(KERN_INFO
+ "%s: system is recognized as \"%s\"\n",
+ KBUILD_MODNAME, name);
+@@ -120,6 +160,24 @@ static int __init alix_present(unsigned
+ return 0;
+ }
+
++static bool __init alix_present_dmi(void)
++{
++ const char *vendor, *product;
++
++ vendor = dmi_get_system_info(DMI_SYS_VENDOR);
++ if (!vendor || strcmp(vendor, "PC Engines"))
++ return false;
++
++ product = dmi_get_system_info(DMI_PRODUCT_NAME);
++ if (!product || (strcmp(product, "ALIX.2D") && strcmp(product, "ALIX.6")))
++ return false;
++
++ printk(KERN_INFO "%s: system is recognized as \"%s %s\"\n",
++ KBUILD_MODNAME, vendor, product);
++
++ return true;
++}
++
+ static int __init alix_init(void)
+ {
+ const char tinybios_sig[] = "PC Engines ALIX.";
+@@ -128,8 +186,9 @@ static int __init alix_init(void)
+ if (!is_geode())
+ return 0;
+
+- if (alix_present(0xf0000, tinybios_sig, sizeof(tinybios_sig) - 1) ||
+- alix_present(0x500, coreboot_sig, sizeof(coreboot_sig) - 1))
++ if (alix_present(BIOS_SIGNATURE_TINYBIOS, tinybios_sig, sizeof(tinybios_sig) - 1) ||
++ alix_present(BIOS_SIGNATURE_COREBOOT, coreboot_sig, sizeof(coreboot_sig) - 1) ||
++ alix_present_dmi())
+ register_alix();
+
+ return 0;
diff --git a/target/linux/x86/patches-3.3/002-geos_platform.patch b/target/linux/x86/patches-3.3/002-geos_platform.patch
new file mode 100644
index 000000000..50d8bb289
--- /dev/null
+++ b/target/linux/x86/patches-3.3/002-geos_platform.patch
@@ -0,0 +1,178 @@
+From 31bc84d45320dad2392384381ad4d818ab21087a Mon Sep 17 00:00:00 2001
+From: "Philip A. Prindeville" <philipp@redfish-solutions.com>
+Date: Wed, 18 Jan 2012 11:15:33 -0700
+Subject: [PATCH 1/1] geos: Platform driver for Geos and Geos2 single-board
+ computers.
+
+Trivial platform driver for Traverse Technologies Geos and Geos2
+single-board computers. Uses SMBIOS to identify platform.
+Based on progressive revisions of the leds-net5501 driver that
+was rewritten by Ed Wildgoose as a platform driver.
+
+Supports GPIO-based LEDs (3) and 1 polled button which is
+typically used for a soft reset.
+
+Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com>
+Reviewed-by: Ed Wildgoose <ed@wildgooses.com>
+Acked-by: Andres Salomon <dilinger@queued.net>
+Cc: Richard Purdie <rpurdie@rpsys.net>
+Cc: Andrew Morton <akpm@linux-foundation.org>
+---
+ arch/x86/Kconfig | 7 ++
+ arch/x86/platform/geode/Makefile | 1 +
+ arch/x86/platform/geode/geos.c | 128 ++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 136 insertions(+), 0 deletions(-)
+ create mode 100644 arch/x86/platform/geode/geos.c
+
+--- a/arch/x86/Kconfig
++++ b/arch/x86/Kconfig
+@@ -2133,6 +2133,13 @@ config ALIX
+
+ Note: You have to set alix.force=1 for boards with Award BIOS.
+
++config GEOS
++ bool "Traverse Technologies GEOS System Support (LEDS, GPIO, etc)"
++ select GPIOLIB
++ depends on DMI
++ ---help---
++ This option enables system support for the Traverse Technologies GEOS.
++
+ endif # X86_32
+
+ config AMD_NB
+--- a/arch/x86/platform/geode/Makefile
++++ b/arch/x86/platform/geode/Makefile
+@@ -1 +1,2 @@
+ obj-$(CONFIG_ALIX) += alix.o
++obj-$(CONFIG_GEOS) += geos.o
+--- /dev/null
++++ b/arch/x86/platform/geode/geos.c
+@@ -0,0 +1,128 @@
++/*
++ * System Specific setup for Traverse Technologies GEOS.
++ * At the moment this means setup of GPIO control of LEDs.
++ *
++ * Copyright (C) 2008 Constantin Baranov <const@mimas.ru>
++ * Copyright (C) 2011 Ed Wildgoose <kernel@wildgooses.com>
++ * and Philip Prindeville <philipp@redfish-solutions.com>
++ *
++ * TODO: There are large similarities with leds-net5501.c
++ * by Alessandro Zummo <a.zummo@towertech.it>
++ * In the future leds-net5501.c should be migrated over to platform
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License version 2
++ * as published by the Free Software Foundation.
++ */
++
++#include <linux/kernel.h>
++#include <linux/init.h>
++#include <linux/io.h>
++#include <linux/string.h>
++#include <linux/module.h>
++#include <linux/leds.h>
++#include <linux/platform_device.h>
++#include <linux/gpio.h>
++#include <linux/input.h>
++#include <linux/gpio_keys.h>
++#include <linux/dmi.h>
++
++#include <asm/geode.h>
++
++static struct gpio_keys_button geos_gpio_buttons[] = {
++ {
++ .code = KEY_RESTART,
++ .gpio = 3,
++ .active_low = 1,
++ .desc = "Reset button",
++ .type = EV_KEY,
++ .wakeup = 0,
++ .debounce_interval = 100,
++ .can_disable = 0,
++ }
++};
++static struct gpio_keys_platform_data geos_buttons_data = {
++ .buttons = geos_gpio_buttons,
++ .nbuttons = ARRAY_SIZE(geos_gpio_buttons),
++ .poll_interval = 20,
++};
++
++static struct platform_device geos_buttons_dev = {
++ .name = "gpio-keys-polled",
++ .id = 1,
++ .dev = {
++ .platform_data = &geos_buttons_data,
++ }
++};
++
++static struct gpio_led geos_leds[] = {
++ {
++ .name = "geos:1",
++ .gpio = 6,
++ .default_trigger = "default-on",
++ .active_low = 1,
++ },
++ {
++ .name = "geos:2",
++ .gpio = 25,
++ .default_trigger = "default-off",
++ .active_low = 1,
++ },
++ {
++ .name = "geos:3",
++ .gpio = 27,
++ .default_trigger = "default-off",
++ .active_low = 1,
++ },
++};
++
++static struct gpio_led_platform_data geos_leds_data = {
++ .num_leds = ARRAY_SIZE(geos_leds),
++ .leds = geos_leds,
++};
++
++static struct platform_device geos_leds_dev = {
++ .name = "leds-gpio",
++ .id = -1,
++ .dev.platform_data = &geos_leds_data,
++};
++
++static struct __initdata platform_device *geos_devs[] = {
++ &geos_buttons_dev,
++ &geos_leds_dev,
++};
++
++static void __init register_geos(void)
++{
++ /* Setup LED control through leds-gpio driver */
++ platform_add_devices(geos_devs, ARRAY_SIZE(geos_devs));
++}
++
++static int __init geos_init(void)
++{
++ const char *vendor, *product;
++
++ if (!is_geode())
++ return 0;
++
++ vendor = dmi_get_system_info(DMI_SYS_VENDOR);
++ if (!vendor || strcmp(vendor, "Traverse Technologies"))
++ return 0;
++
++ product = dmi_get_system_info(DMI_PRODUCT_NAME);
++ if (!product || strcmp(product, "Geos"))
++ return 0;
++
++ printk(KERN_INFO "%s: system is recognized as \"%s %s\"\n",
++ KBUILD_MODNAME, vendor, product);
++
++ register_geos();
++
++ return 0;
++}
++
++module_init(geos_init);
++
++MODULE_AUTHOR("Philip Prindeville <philipp@redfish-solutions.com>");
++MODULE_DESCRIPTION("Traverse Technologies Geos System Setup");
++MODULE_LICENSE("GPL");
diff --git a/target/linux/x86/patches-3.3/003-via-rhine-crash-fix.patch b/target/linux/x86/patches-3.3/003-via-rhine-crash-fix.patch
new file mode 100644
index 000000000..26bc380da
--- /dev/null
+++ b/target/linux/x86/patches-3.3/003-via-rhine-crash-fix.patch
@@ -0,0 +1,60 @@
+--- a/drivers/net/ethernet/via/via-rhine.c
++++ b/drivers/net/ethernet/via/via-rhine.c
+@@ -689,9 +689,12 @@ static void __devinit rhine_reload_eepro
+ #ifdef CONFIG_NET_POLL_CONTROLLER
+ static void rhine_poll(struct net_device *dev)
+ {
+- disable_irq(dev->irq);
+- rhine_interrupt(dev->irq, (void *)dev);
+- enable_irq(dev->irq);
++ struct rhine_private *rp = netdev_priv(dev);
++ const int irq = rp->pdev->irq;
++
++ disable_irq(irq);
++ rhine_interrupt(irq, dev);
++ enable_irq(irq);
+ }
+ #endif
+
+@@ -929,7 +932,6 @@ static int __devinit rhine_init_one(stru
+ dev = alloc_etherdev(sizeof(struct rhine_private));
+ if (!dev) {
+ rc = -ENOMEM;
+- dev_err(&pdev->dev, "alloc_etherdev failed\n");
+ goto err_out;
+ }
+ SET_NETDEV_DEV(dev, &pdev->dev);
+@@ -973,7 +975,6 @@ static int __devinit rhine_init_one(stru
+ }
+ #endif /* USE_MMIO */
+
+- dev->base_addr = (unsigned long)ioaddr;
+ rp->base = ioaddr;
+
+ /* Get chip registers into a sane state */
+@@ -996,8 +997,6 @@ static int __devinit rhine_init_one(stru
+ if (!phy_id)
+ phy_id = ioread8(ioaddr + 0x6C);
+
+- dev->irq = pdev->irq;
+-
+ spin_lock_init(&rp->lock);
+ mutex_init(&rp->task_lock);
+ INIT_WORK(&rp->reset_task, rhine_reset_task);
+@@ -1158,7 +1157,6 @@ static void alloc_rbufs(struct net_devic
+ rp->rx_skbuff[i] = skb;
+ if (skb == NULL)
+ break;
+- skb->dev = dev; /* Mark as being used by this device. */
+
+ rp->rx_skbuff_dma[i] =
+ pci_map_single(rp->pdev, skb->data, rp->rx_buf_sz,
+@@ -1943,7 +1941,6 @@ static int rhine_rx(struct net_device *d
+ rp->rx_skbuff[entry] = skb;
+ if (skb == NULL)
+ break; /* Better luck next round. */
+- skb->dev = dev; /* Mark as being used by this device. */
+ rp->rx_skbuff_dma[entry] =
+ pci_map_single(rp->pdev, skb->data,
+ rp->rx_buf_sz,
+
diff --git a/target/linux/x86/thincan/base-files/etc/init.d/alsa b/target/linux/x86/thincan/base-files/etc/init.d/alsa
new file mode 100644
index 000000000..94c6965e7
--- /dev/null
+++ b/target/linux/x86/thincan/base-files/etc/init.d/alsa
@@ -0,0 +1,9 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
+START=50
+
+start() {
+ amixer set PCM 50% unmute
+ amixer set Headphone 100% unmute
+}
+
diff --git a/target/linux/x86/thincan/config-3.3 b/target/linux/x86/thincan/config-3.3
new file mode 100644
index 000000000..405c65b5f
--- /dev/null
+++ b/target/linux/x86/thincan/config-3.3
@@ -0,0 +1,15 @@
+CONFIG_8139TOO=y
+# CONFIG_8139TOO_8129 is not set
+# CONFIG_8139TOO_PIO is not set
+# CONFIG_8139TOO_TUNE_TWISTER is not set
+# CONFIG_8139_OLD_RX_RESET is not set
+CONFIG_BLK_DEV_NBD=y
+# CONFIG_EMBEDDED is not set
+CONFIG_IP_PNP=y
+# CONFIG_IP_PNP_BOOTP is not set
+CONFIG_IP_PNP_DHCP=y
+# CONFIG_IP_PNP_RARP is not set
+CONFIG_LOCKD=y
+CONFIG_NFS_FS=y
+CONFIG_ROOT_NFS=y
+CONFIG_SUNRPC=y
diff --git a/target/linux/x86/thincan/profiles/dbe61.mk b/target/linux/x86/thincan/profiles/dbe61.mk
new file mode 100644
index 000000000..ee7c251a3
--- /dev/null
+++ b/target/linux/x86/thincan/profiles/dbe61.mk
@@ -0,0 +1,25 @@
+#
+# Copyright (C) 2006-2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/DBE61
+ NAME:=DBE61
+endef
+
+define Profile/DBE61/Description
+ Compile OpenWrt for Artec ThinCan DBE61
+
+ ThinCan DBE61 is a thin-client featuring:
+ * AMD Geode LX700
+ * AMD CS5535 companion device
+ * 64MB or 256MB NAND Flash or none
+ * 128MB or 256MB DDR SDRAM
+ * Realtek RTL8139
+
+ http://wiki.thincan.org/DBE61
+endef
+
+$(eval $(call Profile,DBE61))
diff --git a/target/linux/x86/thincan/target.mk b/target/linux/x86/thincan/target.mk
new file mode 100644
index 000000000..cd127a482
--- /dev/null
+++ b/target/linux/x86/thincan/target.mk
@@ -0,0 +1,37 @@
+DEVICE_TYPE:=terminal
+BOARDNAME:=Artec ThinCan
+
+CFLAGS := -O2 -pipe -march=geode -mtune=geode -funit-at-a-time
+
+DEFAULT_PACKAGES:=\
+ base-files \
+ busybox \
+ hotplug2 \
+ libc \
+ libgcc \
+ opkg \
+ uci \
+ udevtrigger \
+ kmod-fs-msdos \
+ kmod-fs-vfat \
+ kmod-fs-ext2 \
+ kmod-fs-ext3 \
+ kmod-fs-ext4 \
+ kmod-usb-core \
+ kmod-usb-ohci \
+ kmod-usb-hid \
+ kmod-usb-storage \
+ kmod-usb2 \
+ kmod-sound-core \
+ kmod-sound-cs5535audio \
+ kmod-crypto-core \
+ kmod-crypto-hw-geode \
+ kmod-crypto-ocf \
+ kmod-crypto-aes
+
+define Target/Description
+ Build firmware images for Artec ThinCan
+
+ Note that NBD, NFS, DHCP and ethernet module are built into kernel
+endef
+
diff --git a/target/linux/x86/xen_domu/base-files/etc/inittab b/target/linux/x86/xen_domu/base-files/etc/inittab
new file mode 100644
index 000000000..469b8a9a9
--- /dev/null
+++ b/target/linux/x86/xen_domu/base-files/etc/inittab
@@ -0,0 +1,5 @@
+::sysinit:/etc/init.d/rcS S boot
+::shutdown:/etc/init.d/rcS K stop
+tts/0::askfirst:/bin/ash --login
+hvc0::askfirst:/bin/ash --login
+tty1::askfirst:/bin/ash --login
diff --git a/target/linux/x86/xen_domu/base-files/lib/preinit/45_mount_xenfs b/target/linux/x86/xen_domu/base-files/lib/preinit/45_mount_xenfs
new file mode 100644
index 000000000..7eb8bf795
--- /dev/null
+++ b/target/linux/x86/xen_domu/base-files/lib/preinit/45_mount_xenfs
@@ -0,0 +1,11 @@
+#!/bin/sh
+# Copyright (C) 2010 OpenWrt.org
+
+do_mount_xenfs() {
+ [ -f /etc/modules.d/??-xenfs ] && {
+ insmod $(cat /etc/modules.d/??-xenfs)
+ mount none /proc/xen -t xenfs
+ }
+}
+
+boot_hook_add preinit_mount_root do_mount_xenfs
diff --git a/target/linux/x86/xen_domu/config-3.3 b/target/linux/x86/xen_domu/config-3.3
new file mode 100644
index 000000000..c34df71ad
--- /dev/null
+++ b/target/linux/x86/xen_domu/config-3.3
@@ -0,0 +1,77 @@
+# CONFIG_APM is not set
+CONFIG_ARCH_CPU_PROBE_RELEASE=y
+CONFIG_ARCH_PHYS_ADDR_T_64BIT=y
+# CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
+CONFIG_CPU_RMAP=y
+CONFIG_FREEZER=y
+CONFIG_GENERIC_PENDING_IRQ=y
+CONFIG_HIBERNATE_CALLBACKS=y
+# CONFIG_HIGHMEM64G is not set
+CONFIG_HOTPLUG_CPU=y
+CONFIG_HVC_DRIVER=y
+CONFIG_HVC_IRQ=y
+CONFIG_HVC_XEN=y
+CONFIG_IOMMU_HELPER=y
+CONFIG_KERNEL_GZIP=y
+# CONFIG_KERNEL_XZ is not set
+# CONFIG_KVM_CLOCK is not set
+# CONFIG_LGUEST_GUEST is not set
+# CONFIG_M486 is not set
+CONFIG_MMU_NOTIFIER=y
+CONFIG_MPENTIUM4=y
+CONFIG_MUTEX_SPIN_ON_OWNER=y
+CONFIG_NR_CPUS=4
+CONFIG_PARAVIRT=y
+CONFIG_PARAVIRT_CLOCK=y
+# CONFIG_PARAVIRT_DEBUG is not set
+CONFIG_PARAVIRT_GUEST=y
+CONFIG_PARAVIRT_SPINLOCKS=y
+# CONFIG_PARAVIRT_TIME_ACCOUNTING is not set
+CONFIG_PCI_XEN=y
+CONFIG_PHYS_ADDR_T_64BIT=y
+CONFIG_PM=y
+# CONFIG_PM_DEBUG is not set
+CONFIG_PM_SLEEP=y
+CONFIG_PM_SLEEP_SMP=y
+CONFIG_RFS_ACCEL=y
+CONFIG_RPS=y
+CONFIG_SCHED_MC=y
+CONFIG_SMP=y
+CONFIG_STOP_MACHINE=y
+CONFIG_SWIOTLB=y
+CONFIG_SWIOTLB_XEN=y
+CONFIG_SYS_HYPERVISOR=y
+CONFIG_TREE_RCU=y
+CONFIG_USE_GENERIC_SMP_HELPERS=y
+CONFIG_X86_32_SMP=y
+# CONFIG_X86_BIGSMP is not set
+CONFIG_X86_CMOV=y
+CONFIG_X86_CMPXCHG64=y
+CONFIG_X86_DEBUGCTLMSR=y
+CONFIG_X86_HT=y
+CONFIG_X86_INTERNODE_CACHE_SHIFT=7
+CONFIG_X86_L1_CACHE_SHIFT=7
+CONFIG_X86_MINIMUM_CPU_FAMILY=5
+CONFIG_X86_PAE=y
+CONFIG_X86_TSC=y
+CONFIG_X86_USE_PPRO_CHECKSUM=y
+CONFIG_XEN=y
+# CONFIG_XENFS is not set
+CONFIG_XEN_BALLOON=y
+CONFIG_XEN_BLKDEV_FRONTEND=y
+CONFIG_XEN_DEBUG_FS=y
+# CONFIG_XEN_DEV_EVTCHN is not set
+CONFIG_XEN_GNTDEV=m
+CONFIG_XEN_GRANT_DEV_ALLOC=m
+CONFIG_XEN_MAX_DOMAIN_MEMORY=64
+# CONFIG_XEN_NETDEV_FRONTEND is not set
+CONFIG_XEN_PCIDEV_FRONTEND=y
+CONFIG_XEN_PRIVCMD=m
+# CONFIG_XEN_PRIVILEGED_GUEST is not set
+CONFIG_XEN_PVHVM=y
+CONFIG_XEN_SAVE_RESTORE=y
+CONFIG_XEN_SCRUB_PAGES=y
+CONFIG_XEN_SYS_HYPERVISOR=y
+# CONFIG_XEN_WDT is not set
+CONFIG_XEN_XENBUS_FRONTEND=y
+CONFIG_XPS=y
diff --git a/target/linux/x86/xen_domu/target.mk b/target/linux/x86/xen_domu/target.mk
new file mode 100644
index 000000000..75f6e571c
--- /dev/null
+++ b/target/linux/x86/xen_domu/target.mk
@@ -0,0 +1,3 @@
+BOARDNAME:=Xen Paravirt Guest
+DEFAULT_PACKAGES += kmod-xen-fs kmod-xen-evtchn kmod-xen-netdev kmod-xen-kbddev
+FEATURES:==display