From ed6c530bc35a3366a04dcf77ec0fd456da5ce480 Mon Sep 17 00:00:00 2001
From: Milton Miller <miltonm@bga.com>
Date: Sat, 22 Sep 2007 09:08:31 +1000
Subject: [PATCH 1/3] qemu platform, v2

Here is the second rev of patches to boot a arch powerpc kernel on
qemu with the prep architecture.

The goal is to provide an environment for use with the existing qemu
hardware suppplied hardware, as oposed to changing the qemu
machine description.

This patch contains only the kernel portion.  While the diff was
generated against for-2.6.24, this first patch applies cleanly
to 2.6.23-rc7.  With the rom image created in the next patch,
a kernel built by this patch should boot when using qemu -kernel.

I debated putting this in the embedded6xx tree, especially when I
discovered that the bridge is suposedly a '105, but saw no advantage
in the end.

pci config space is now working, however cirrusfb causes crashes
and ohci times out, so at least pci memory is likely still broken.

ide and serial work, floppy and parallel are untested.

I added a defconfig based on chrp32; hardware options still need
tweaking (eg isa ne2k).

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig
index c33e3ad..a0d28dc 100644
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
@@ -636,7 +636,7 @@ menu "Bus options"
 
 config ISA
 	bool "Support for ISA-bus hardware"
-	depends on PPC_CHRP
+	depends on PPC_CHRP || PPC_QEMU
 	select PPC_I8259
 	help
 	  Find out whether you have ISA slots on your motherboard.  ISA is the
diff --git a/arch/powerpc/configs/qemu_defconfig b/arch/powerpc/configs/qemu_defconfig
new file mode 100644
index 0000000..a6d6721
--- /dev/null
+++ b/arch/powerpc/configs/qemu_defconfig
@@ -0,0 +1,1217 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.23-rc6
+# Tue Sep 18 15:18:32 2007
+#
+CONFIG_PPC64=n
+
+#
+# Processor support
+#
+CONFIG_6xx=y
+CONFIG_PPC_85xx=n
+CONFIG_PPC_8xx=n
+CONFIG_40x=n
+CONFIG_44x=n
+CONFIG_E200=n
+CONFIG_PPC_FPU=y
+CONFIG_ALTIVEC=n
+CONFIG_PPC_STD_MMU=y
+CONFIG_PPC_STD_MMU_32=y
+CONFIG_PPC_MM_SLICES=n
+CONFIG_SMP=n
+CONFIG_PPC32=y
+CONFIG_PPC_MERGE=y
+CONFIG_MMU=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_IRQ_PER_CPU=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+CONFIG_ARCH_HAS_ILOG2_U32=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_ARCH_NO_VIRT_TO_BUS=n
+CONFIG_PPC=y
+CONFIG_EARLY_PRINTK=y
+CONFIG_GENERIC_NVRAM=y
+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_PPC_OF=y
+CONFIG_OF=y
+CONFIG_PPC_UDBG_16550=y
+CONFIG_GENERIC_TBSYNC=n
+CONFIG_AUDIT_ARCH=y
+CONFIG_GENERIC_BUG=y
+CONFIG_DEFAULT_UIMAGE=n
+CONFIG_PPC_DCR_NATIVE=n
+CONFIG_PPC_DCR_MMIO=n
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# General setup
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=y
+CONFIG_INIT_ENV_ARG_LIMIT=32
+CONFIG_LOCALVERSION=""
+CONFIG_LOCALVERSION_AUTO=n
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+CONFIG_SYSVIPC_SYSCTL=y
+CONFIG_POSIX_MQUEUE=y
+CONFIG_BSD_PROCESS_ACCT=n
+CONFIG_TASKSTATS=n
+CONFIG_USER_NS=n
+CONFIG_AUDIT=n
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_LOG_BUF_SHIFT=15
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_RELAY=n
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_CC_OPTIMIZE_FOR_SIZE=n
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=n
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+CONFIG_KALLSYMS_ALL=n
+CONFIG_KALLSYMS_EXTRA_PASS=n
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_ANON_INODES=y
+CONFIG_EPOLL=y
+CONFIG_SIGNALFD=y
+CONFIG_TIMERFD=y
+CONFIG_EVENTFD=y
+CONFIG_SHMEM=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_SLAB=y
+CONFIG_SLUB=n
+CONFIG_SLOB=n
+CONFIG_RT_MUTEXES=y
+CONFIG_TINY_SHMEM=n
+CONFIG_BASE_SMALL=0
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+CONFIG_MODVERSIONS=n
+CONFIG_MODULE_SRCVERSION_ALL=n
+CONFIG_KMOD=y
+CONFIG_BLOCK=y
+CONFIG_LBD=y
+CONFIG_BLK_DEV_IO_TRACE=n
+CONFIG_LSF=n
+CONFIG_BLK_DEV_BSG=n
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+CONFIG_DEFAULT_AS=y
+CONFIG_DEFAULT_DEADLINE=n
+CONFIG_DEFAULT_CFQ=n
+CONFIG_DEFAULT_NOOP=n
+CONFIG_DEFAULT_IOSCHED="anticipatory"
+
+#
+# Platform support
+#
+CONFIG_PPC_MULTIPLATFORM=y
+CONFIG_EMBEDDED6xx=n
+CONFIG_PPC_82xx=n
+CONFIG_PPC_83xx=n
+CONFIG_PPC_86xx=n
+CONFIG_CLASSIC32=y
+CONFIG_PPC_CHRP=n
+CONFIG_PPC_MPC52xx=n
+CONFIG_PPC_MPC5200=n
+CONFIG_PPC_EFIKA=n
+CONFIG_PPC_LITE5200=n
+CONFIG_PPC_PMAC=n
+CONFIG_PPC_QEMU=y
+CONFIG_PPC_CELL=n
+CONFIG_PPC_CELL_NATIVE=n
+CONFIG_PQ2ADS=n
+CONFIG_PPC_NATIVE=y
+CONFIG_MPIC=n
+CONFIG_MPIC_WEIRD=n
+CONFIG_PPC_I8259=y
+CONFIG_PPC_RTAS=n
+CONFIG_MMIO_NVRAM=n
+CONFIG_PPC_MPC106=n
+CONFIG_PPC_970_NAP=n
+CONFIG_PPC_INDIRECT_IO=n
+CONFIG_GENERIC_IOMAP=n
+CONFIG_CPU_FREQ=n
+CONFIG_TAU=n
+CONFIG_CPM2=n
+CONFIG_FSL_ULI1575=n
+
+#
+# Kernel options
+#
+CONFIG_HIGHMEM=y
+CONFIG_HZ_100=n
+CONFIG_HZ_250=y
+CONFIG_HZ_300=n
+CONFIG_HZ_1000=n
+CONFIG_HZ=250
+CONFIG_PREEMPT_NONE=y
+CONFIG_PREEMPT_VOLUNTARY=n
+CONFIG_PREEMPT=n
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=y
+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
+CONFIG_KEXEC=n
+CONFIG_ARCH_FLATMEM_ENABLE=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+CONFIG_DISCONTIGMEM_MANUAL=n
+CONFIG_SPARSEMEM_MANUAL=n
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+CONFIG_SPARSEMEM_STATIC=n
+CONFIG_SPLIT_PTLOCK_CPUS=4
+CONFIG_RESOURCES_64BIT=n
+CONFIG_ZONE_DMA_FLAG=1
+CONFIG_BOUNCE=y
+CONFIG_VIRT_TO_BUS=y
+CONFIG_PROC_DEVICETREE=y
+CONFIG_CMDLINE_BOOL=n
+CONFIG_PM=n
+CONFIG_SUSPEND_UP_POSSIBLE=y
+CONFIG_HIBERNATION_UP_POSSIBLE=y
+CONFIG_SECCOMP=y
+CONFIG_WANT_DEVICE_TREE=y
+CONFIG_DEVICE_TREE="qemu.dts"
+CONFIG_ISA_DMA_API=y
+
+#
+# Bus options
+#
+CONFIG_ZONE_DMA=y
+CONFIG_GENERIC_ISA_DMA=y
+CONFIG_PPC_INDIRECT_PCI=y
+CONFIG_PCI=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_SYSCALL=y
+CONFIG_PCIEPORTBUS=n
+CONFIG_ARCH_SUPPORTS_MSI=y
+CONFIG_PCI_MSI=n
+CONFIG_PCI_DEBUG=n
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=n
+CONFIG_HOTPLUG_PCI=n
+
+#
+# Advanced setup
+#
+CONFIG_ADVANCED_OPTIONS=n
+
+#
+# Default settings for advanced configuration options are used
+#
+CONFIG_HIGHMEM_START=0xfe000000
+CONFIG_LOWMEM_SIZE=0x30000000
+CONFIG_KERNEL_START=0xc0000000
+CONFIG_TASK_SIZE=0x80000000
+CONFIG_BOOT_LOAD=0x00800000
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=n
+CONFIG_UNIX=y
+CONFIG_NET_KEY=n
+CONFIG_INET=y
+CONFIG_IP_MULTICAST=y
+CONFIG_IP_ADVANCED_ROUTER=n
+CONFIG_IP_FIB_HASH=y
+CONFIG_IP_PNP=n
+CONFIG_NET_IPIP=n
+CONFIG_NET_IPGRE=n
+CONFIG_IP_MROUTE=n
+CONFIG_ARPD=n
+CONFIG_SYN_COOKIES=y
+CONFIG_INET_AH=n
+CONFIG_INET_ESP=n
+CONFIG_INET_IPCOMP=n
+CONFIG_INET_XFRM_TUNNEL=n
+CONFIG_INET_TUNNEL=n
+CONFIG_INET_XFRM_MODE_TRANSPORT=n
+CONFIG_INET_XFRM_MODE_TUNNEL=n
+CONFIG_INET_XFRM_MODE_BEET=n
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+CONFIG_TCP_CONG_ADVANCED=n
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+CONFIG_TCP_MD5SIG=n
+CONFIG_IP_VS=n
+CONFIG_IPV6=n
+CONFIG_INET6_XFRM_TUNNEL=n
+CONFIG_INET6_TUNNEL=n
+CONFIG_NETWORK_SECMARK=n
+CONFIG_NETFILTER=y
+CONFIG_NETFILTER_DEBUG=n
+
+#
+# Core Netfilter Configuration
+#
+CONFIG_NETFILTER_NETLINK=n
+CONFIG_NF_CONNTRACK_ENABLED=m
+CONFIG_NF_CONNTRACK=m
+CONFIG_NF_CT_ACCT=n
+CONFIG_NF_CONNTRACK_MARK=n
+CONFIG_NF_CONNTRACK_EVENTS=n
+CONFIG_NF_CT_PROTO_SCTP=n
+CONFIG_NF_CT_PROTO_UDPLITE=n
+CONFIG_NF_CONNTRACK_AMANDA=n
+CONFIG_NF_CONNTRACK_FTP=m
+CONFIG_NF_CONNTRACK_H323=n
+CONFIG_NF_CONNTRACK_IRC=m
+CONFIG_NF_CONNTRACK_NETBIOS_NS=n
+CONFIG_NF_CONNTRACK_PPTP=n
+CONFIG_NF_CONNTRACK_SANE=n
+CONFIG_NF_CONNTRACK_SIP=m
+CONFIG_NF_CONNTRACK_TFTP=m
+CONFIG_NETFILTER_XTABLES=m
+CONFIG_NETFILTER_XT_TARGET_CLASSIFY=n
+CONFIG_NETFILTER_XT_TARGET_MARK=n
+CONFIG_NETFILTER_XT_TARGET_NFQUEUE=n
+CONFIG_NETFILTER_XT_TARGET_NFLOG=n
+CONFIG_NETFILTER_XT_TARGET_TCPMSS=n
+CONFIG_NETFILTER_XT_MATCH_COMMENT=n
+CONFIG_NETFILTER_XT_MATCH_CONNBYTES=n
+CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=n
+CONFIG_NETFILTER_XT_MATCH_CONNMARK=n
+CONFIG_NETFILTER_XT_MATCH_CONNTRACK=n
+CONFIG_NETFILTER_XT_MATCH_DCCP=n
+CONFIG_NETFILTER_XT_MATCH_DSCP=n
+CONFIG_NETFILTER_XT_MATCH_ESP=n
+CONFIG_NETFILTER_XT_MATCH_HELPER=n
+CONFIG_NETFILTER_XT_MATCH_LENGTH=n
+CONFIG_NETFILTER_XT_MATCH_LIMIT=n
+CONFIG_NETFILTER_XT_MATCH_MAC=n
+CONFIG_NETFILTER_XT_MATCH_MARK=n
+CONFIG_NETFILTER_XT_MATCH_MULTIPORT=n
+CONFIG_NETFILTER_XT_MATCH_PKTTYPE=n
+CONFIG_NETFILTER_XT_MATCH_QUOTA=n
+CONFIG_NETFILTER_XT_MATCH_REALM=n
+CONFIG_NETFILTER_XT_MATCH_SCTP=n
+CONFIG_NETFILTER_XT_MATCH_STATE=n
+CONFIG_NETFILTER_XT_MATCH_STATISTIC=n
+CONFIG_NETFILTER_XT_MATCH_STRING=n
+CONFIG_NETFILTER_XT_MATCH_TCPMSS=n
+CONFIG_NETFILTER_XT_MATCH_U32=n
+CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=n
+
+#
+# IP: Netfilter Configuration
+#
+CONFIG_NF_CONNTRACK_IPV4=m
+CONFIG_NF_CONNTRACK_PROC_COMPAT=y
+CONFIG_IP_NF_QUEUE=n
+CONFIG_IP_NF_IPTABLES=m
+CONFIG_IP_NF_MATCH_IPRANGE=n
+CONFIG_IP_NF_MATCH_TOS=n
+CONFIG_IP_NF_MATCH_RECENT=n
+CONFIG_IP_NF_MATCH_ECN=n
+CONFIG_IP_NF_MATCH_AH=n
+CONFIG_IP_NF_MATCH_TTL=n
+CONFIG_IP_NF_MATCH_OWNER=n
+CONFIG_IP_NF_MATCH_ADDRTYPE=n
+CONFIG_IP_NF_FILTER=m
+CONFIG_IP_NF_TARGET_REJECT=m
+CONFIG_IP_NF_TARGET_LOG=m
+CONFIG_IP_NF_TARGET_ULOG=n
+CONFIG_NF_NAT=m
+CONFIG_NF_NAT_NEEDED=y
+CONFIG_IP_NF_TARGET_MASQUERADE=m
+CONFIG_IP_NF_TARGET_REDIRECT=m
+CONFIG_IP_NF_TARGET_NETMAP=n
+CONFIG_IP_NF_TARGET_SAME=n
+CONFIG_NF_NAT_SNMP_BASIC=n
+CONFIG_NF_NAT_FTP=m
+CONFIG_NF_NAT_IRC=m
+CONFIG_NF_NAT_TFTP=m
+CONFIG_NF_NAT_AMANDA=n
+CONFIG_NF_NAT_PPTP=n
+CONFIG_NF_NAT_H323=n
+CONFIG_NF_NAT_SIP=m
+CONFIG_IP_NF_MANGLE=n
+CONFIG_IP_NF_RAW=n
+CONFIG_IP_NF_ARPTABLES=n
+CONFIG_IP_DCCP=n
+CONFIG_IP_SCTP=n
+CONFIG_TIPC=n
+CONFIG_ATM=n
+CONFIG_BRIDGE=n
+CONFIG_VLAN_8021Q=n
+CONFIG_DECNET=n
+CONFIG_LLC2=n
+CONFIG_IPX=n
+CONFIG_ATALK=n
+CONFIG_X25=n
+CONFIG_LAPB=n
+CONFIG_ECONET=n
+CONFIG_WAN_ROUTER=n
+
+#
+# QoS and/or fair queueing
+#
+CONFIG_NET_SCHED=n
+
+#
+# Network testing
+#
+CONFIG_NET_PKTGEN=n
+CONFIG_HAMRADIO=n
+CONFIG_IRDA=n
+CONFIG_BT=n
+CONFIG_AF_RXRPC=n
+
+#
+# Wireless
+#
+CONFIG_CFG80211=n
+CONFIG_WIRELESS_EXT=n
+CONFIG_MAC80211=n
+CONFIG_IEEE80211=n
+CONFIG_RFKILL=n
+CONFIG_NET_9P=n
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=n
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=n
+CONFIG_DEBUG_DRIVER=n
+CONFIG_DEBUG_DEVRES=n
+CONFIG_SYS_HYPERVISOR=n
+CONFIG_CONNECTOR=n
+CONFIG_MTD=n
+CONFIG_OF_DEVICE=y
+CONFIG_PARPORT=n
+CONFIG_BLK_DEV=y
+CONFIG_BLK_DEV_FD=y
+CONFIG_BLK_CPQ_DA=n
+CONFIG_BLK_CPQ_CISS_DA=n
+CONFIG_BLK_DEV_DAC960=n
+CONFIG_BLK_DEV_UMEM=n
+CONFIG_BLK_DEV_COW_COMMON=n
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_CRYPTOLOOP=n
+CONFIG_BLK_DEV_NBD=n
+CONFIG_BLK_DEV_SX8=n
+CONFIG_BLK_DEV_UB=n
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
+CONFIG_CDROM_PKTCDVD=n
+CONFIG_ATA_OVER_ETH=n
+CONFIG_MISC_DEVICES=y
+CONFIG_PHANTOM=n
+CONFIG_EEPROM_93CX6=n
+CONFIG_SGI_IOC4=n
+CONFIG_TIFM_CORE=n
+CONFIG_IDE=y
+CONFIG_BLK_DEV_IDE=y
+
+#
+# Please see Documentation/ide.txt for help/info on IDE drives
+#
+CONFIG_BLK_DEV_IDE_SATA=n
+CONFIG_BLK_DEV_IDEDISK=y
+CONFIG_IDEDISK_MULTI_MODE=y
+CONFIG_BLK_DEV_IDECD=y
+CONFIG_BLK_DEV_IDETAPE=n
+CONFIG_BLK_DEV_IDEFLOPPY=n
+CONFIG_IDE_TASK_IOCTL=n
+CONFIG_IDE_PROC_FS=y
+
+#
+# IDE chipset support/bugfixes
+#
+CONFIG_IDE_GENERIC=y
+CONFIG_BLK_DEV_IDEPCI=y
+CONFIG_IDEPCI_SHARE_IRQ=y
+CONFIG_IDEPCI_PCIBUS_ORDER=y
+CONFIG_BLK_DEV_OFFBOARD=n
+CONFIG_BLK_DEV_GENERIC=y
+CONFIG_BLK_DEV_OPTI621=n
+CONFIG_BLK_DEV_IDEDMA_PCI=y
+CONFIG_BLK_DEV_IDEDMA_FORCED=n
+CONFIG_IDEDMA_ONLYDISK=n
+CONFIG_BLK_DEV_AEC62XX=n
+CONFIG_BLK_DEV_ALI15X3=n
+CONFIG_BLK_DEV_AMD74XX=n
+CONFIG_BLK_DEV_CMD64X=n
+CONFIG_BLK_DEV_TRIFLEX=n
+CONFIG_BLK_DEV_CY82C693=n
+CONFIG_BLK_DEV_CS5520=n
+CONFIG_BLK_DEV_CS5530=n
+CONFIG_BLK_DEV_HPT34X=n
+CONFIG_BLK_DEV_HPT366=n
+CONFIG_BLK_DEV_JMICRON=n
+CONFIG_BLK_DEV_SC1200=n
+CONFIG_BLK_DEV_PIIX=n
+CONFIG_BLK_DEV_IT8213=n
+CONFIG_BLK_DEV_IT821X=n
+CONFIG_BLK_DEV_NS87415=n
+CONFIG_BLK_DEV_PDC202XX_OLD=n
+CONFIG_BLK_DEV_PDC202XX_NEW=n
+CONFIG_BLK_DEV_SVWKS=n
+CONFIG_BLK_DEV_SIIMAGE=n
+CONFIG_BLK_DEV_SL82C105=n
+CONFIG_BLK_DEV_SLC90E66=n
+CONFIG_BLK_DEV_TRM290=n
+CONFIG_BLK_DEV_VIA82CXXX=n
+CONFIG_BLK_DEV_TC86C001=n
+CONFIG_IDE_ARM=n
+CONFIG_BLK_DEV_IDEDMA=y
+CONFIG_IDEDMA_IVB=n
+CONFIG_BLK_DEV_HD=n
+
+#
+# SCSI device support
+#
+CONFIG_RAID_ATTRS=n
+CONFIG_SCSI=n
+CONFIG_SCSI_DMA=n
+CONFIG_SCSI_NETLINK=n
+CONFIG_ATA=n
+CONFIG_MD=n
+
+#
+# Fusion MPT device support
+#
+CONFIG_FUSION=n
+
+#
+# IEEE 1394 (FireWire) support
+#
+CONFIG_FIREWIRE=n
+CONFIG_IEEE1394=n
+CONFIG_I2O=n
+CONFIG_MACINTOSH_DRIVERS=n
+CONFIG_NETDEVICES=y
+CONFIG_NETDEVICES_MULTIQUEUE=n
+CONFIG_DUMMY=n
+CONFIG_BONDING=n
+CONFIG_MACVLAN=n
+CONFIG_EQUALIZER=n
+CONFIG_TUN=n
+CONFIG_ARCNET=n
+CONFIG_PHYLIB=n
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+CONFIG_HAPPYMEAL=n
+CONFIG_SUNGEM=n
+CONFIG_CASSINI=n
+CONFIG_NET_VENDOR_3COM=n
+CONFIG_NET_TULIP=n
+CONFIG_HP100=n
+CONFIG_NET_PCI=y
+CONFIG_PCNET32=y
+CONFIG_PCNET32_NAPI=n
+CONFIG_AMD8111_ETH=n
+CONFIG_ADAPTEC_STARFIRE=n
+CONFIG_B44=n
+CONFIG_FORCEDETH=n
+CONFIG_DGRS=n
+CONFIG_EEPRO100=n
+CONFIG_E100=n
+CONFIG_FEALNX=n
+CONFIG_NATSEMI=n
+CONFIG_NE2K_PCI=m
+CONFIG_8139CP=y
+CONFIG_8139TOO=y
+CONFIG_8139TOO_PIO=n
+CONFIG_8139TOO_TUNE_TWISTER=n
+CONFIG_8139TOO_8129=n
+CONFIG_8139_OLD_RX_RESET=n
+CONFIG_SIS900=n
+CONFIG_EPIC100=n
+CONFIG_SUNDANCE=n
+CONFIG_TLAN=n
+CONFIG_VIA_RHINE=n
+CONFIG_SC92031=n
+CONFIG_NETDEV_1000=n
+CONFIG_NETDEV_10000=n
+CONFIG_TR=n
+
+#
+# Wireless LAN
+#
+CONFIG_WLAN_PRE80211=n
+CONFIG_WLAN_80211=n
+
+#
+# USB Network Adapters
+#
+CONFIG_USB_CATC=n
+CONFIG_USB_KAWETH=n
+CONFIG_USB_PEGASUS=n
+CONFIG_USB_RTL8150=n
+CONFIG_USB_USBNET_MII=n
+CONFIG_USB_USBNET=n
+CONFIG_WAN=n
+CONFIG_FDDI=n
+CONFIG_HIPPI=n
+CONFIG_PPP=m
+CONFIG_PPP_MULTILINK=y
+CONFIG_PPP_FILTER=y
+CONFIG_PPP_ASYNC=m
+CONFIG_PPP_SYNC_TTY=m
+CONFIG_PPP_DEFLATE=m
+CONFIG_PPP_BSDCOMP=m
+CONFIG_PPP_MPPE=m
+CONFIG_PPPOE=m
+CONFIG_PPPOL2TP=n
+CONFIG_SLIP=n
+CONFIG_SLHC=m
+CONFIG_SHAPER=n
+CONFIG_NETCONSOLE=n
+CONFIG_NETPOLL=n
+CONFIG_NET_POLL_CONTROLLER=n
+CONFIG_ISDN=n
+CONFIG_PHONE=n
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+CONFIG_INPUT_FF_MEMLESS=n
+CONFIG_INPUT_POLLDEV=n
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+CONFIG_INPUT_JOYDEV=n
+CONFIG_INPUT_TSDEV=m
+CONFIG_INPUT_TSDEV_SCREEN_X=240
+CONFIG_INPUT_TSDEV_SCREEN_Y=320
+CONFIG_INPUT_EVDEV=y
+CONFIG_INPUT_EVBUG=n
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+CONFIG_KEYBOARD_SUNKBD=n
+CONFIG_KEYBOARD_LKKBD=n
+CONFIG_KEYBOARD_XTKBD=n
+CONFIG_KEYBOARD_NEWTON=n
+CONFIG_KEYBOARD_STOWAWAY=n
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+CONFIG_MOUSE_PS2_ALPS=y
+CONFIG_MOUSE_PS2_LOGIPS2PP=y
+CONFIG_MOUSE_PS2_SYNAPTICS=y
+CONFIG_MOUSE_PS2_LIFEBOOK=y
+CONFIG_MOUSE_PS2_TRACKPOINT=y
+CONFIG_MOUSE_PS2_TOUCHKIT=n
+CONFIG_MOUSE_SERIAL=n
+CONFIG_MOUSE_APPLETOUCH=n
+CONFIG_MOUSE_VSXXXAA=n
+CONFIG_INPUT_JOYSTICK=n
+CONFIG_INPUT_TABLET=y
+CONFIG_TABLET_USB_ACECAD=n
+CONFIG_TABLET_USB_AIPTEK=n
+CONFIG_TABLET_USB_GTCO=n
+CONFIG_TABLET_USB_KBTAB=n
+CONFIG_TABLET_USB_WACOM=n
+CONFIG_INPUT_TOUCHSCREEN=n
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_ATI_REMOTE=n
+CONFIG_INPUT_ATI_REMOTE2=n
+CONFIG_INPUT_KEYSPAN_REMOTE=n
+CONFIG_INPUT_POWERMATE=n
+CONFIG_INPUT_YEALINK=n
+CONFIG_INPUT_UINPUT=y
+
+#
+# Hardware I/O ports
+#
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=n
+CONFIG_SERIO_PCIPS2=n
+CONFIG_SERIO_LIBPS2=y
+CONFIG_SERIO_RAW=n
+CONFIG_GAMEPORT=n
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_VT_HW_CONSOLE_BINDING=n
+CONFIG_SERIAL_NONSTANDARD=n
+
+#
+# Serial drivers
+#
+CONFIG_SERIAL_8250=y
+CONFIG_SERIAL_8250_CONSOLE=y
+CONFIG_SERIAL_8250_PCI=y
+CONFIG_SERIAL_8250_NR_UARTS=4
+CONFIG_SERIAL_8250_RUNTIME_UARTS=4
+CONFIG_SERIAL_8250_EXTENDED=n
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_UARTLITE=n
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_SERIAL_JSM=n
+CONFIG_SERIAL_OF_PLATFORM=n
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+CONFIG_IPMI_HANDLER=n
+CONFIG_WATCHDOG=n
+CONFIG_HW_RANDOM=m
+CONFIG_NVRAM=y
+CONFIG_GEN_RTC=y
+CONFIG_GEN_RTC_X=n
+CONFIG_R3964=n
+CONFIG_APPLICOM=n
+CONFIG_AGP=n
+CONFIG_DRM=n
+CONFIG_RAW_DRIVER=n
+CONFIG_TCG_TPM=n
+CONFIG_DEVPORT=y
+CONFIG_I2C=y
+CONFIG_I2C_BOARDINFO=y
+CONFIG_I2C_CHARDEV=n
+
+#
+# I2C Algorithms
+#
+CONFIG_I2C_ALGOBIT=y
+CONFIG_I2C_ALGOPCF=n
+CONFIG_I2C_ALGOPCA=n
+
+#
+# I2C Hardware Bus support
+#
+CONFIG_I2C_ALI1535=n
+CONFIG_I2C_ALI1563=n
+CONFIG_I2C_ALI15X3=n
+CONFIG_I2C_AMD756=n
+CONFIG_I2C_AMD8111=n
+CONFIG_I2C_I801=n
+CONFIG_I2C_I810=n
+CONFIG_I2C_PIIX4=n
+CONFIG_I2C_MPC=n
+CONFIG_I2C_NFORCE2=n
+CONFIG_I2C_OCORES=n
+CONFIG_I2C_PARPORT_LIGHT=n
+CONFIG_I2C_PROSAVAGE=n
+CONFIG_I2C_SAVAGE4=n
+CONFIG_I2C_SIMTEC=n
+CONFIG_I2C_SIS5595=n
+CONFIG_I2C_SIS630=n
+CONFIG_I2C_SIS96X=n
+CONFIG_I2C_TAOS_EVM=n
+CONFIG_I2C_STUB=n
+CONFIG_I2C_TINY_USB=n
+CONFIG_I2C_VIA=n
+CONFIG_I2C_VIAPRO=n
+CONFIG_I2C_VOODOO3=n
+
+#
+# Miscellaneous I2C Chip support
+#
+CONFIG_SENSORS_DS1337=n
+CONFIG_SENSORS_DS1374=n
+CONFIG_DS1682=n
+CONFIG_SENSORS_EEPROM=n
+CONFIG_SENSORS_PCF8574=n
+CONFIG_SENSORS_PCA9539=n
+CONFIG_SENSORS_PCF8591=n
+CONFIG_SENSORS_M41T00=n
+CONFIG_SENSORS_MAX6875=n
+CONFIG_SENSORS_TSL2550=n
+CONFIG_I2C_DEBUG_CORE=n
+CONFIG_I2C_DEBUG_ALGO=n
+CONFIG_I2C_DEBUG_BUS=n
+CONFIG_I2C_DEBUG_CHIP=n
+
+#
+# SPI support
+#
+CONFIG_SPI=n
+CONFIG_SPI_MASTER=n
+CONFIG_W1=n
+CONFIG_POWER_SUPPLY=n
+CONFIG_HWMON=n
+
+#
+# Multifunction device drivers
+#
+CONFIG_MFD_SM501=n
+
+#
+# Multimedia devices
+#
+CONFIG_VIDEO_DEV=n
+CONFIG_DVB_CORE=n
+CONFIG_DAB=n
+
+#
+# Graphics support
+#
+CONFIG_BACKLIGHT_LCD_SUPPORT=n
+
+#
+# Display device support
+#
+CONFIG_DISPLAY_SUPPORT=m
+
+#
+# Display hardware drivers
+#
+CONFIG_VGASTATE=n
+CONFIG_VIDEO_OUTPUT_CONTROL=n
+CONFIG_FB=n
+CONFIG_FB_IBM_GXT4500=n
+
+#
+# Console display driver support
+#
+CONFIG_VGA_CONSOLE=y
+CONFIG_VGACON_SOFT_SCROLLBACK=n
+CONFIG_DUMMY_CONSOLE=y
+
+#
+# Sound
+#
+CONFIG_SOUND=n
+CONFIG_HID_SUPPORT=y
+CONFIG_HID=y
+CONFIG_HID_DEBUG=n
+
+#
+# USB Input Devices
+#
+CONFIG_USB_HID=y
+CONFIG_USB_HIDINPUT_POWERBOOK=n
+CONFIG_HID_FF=n
+CONFIG_USB_HIDDEV=n
+CONFIG_USB_SUPPORT=y
+CONFIG_USB_ARCH_HAS_HCD=y
+CONFIG_USB_ARCH_HAS_OHCI=y
+CONFIG_USB_ARCH_HAS_EHCI=y
+CONFIG_USB=y
+CONFIG_USB_DEBUG=n
+
+#
+# Miscellaneous USB options
+#
+CONFIG_USB_DEVICEFS=y
+CONFIG_USB_DEVICE_CLASS=y
+CONFIG_USB_DYNAMIC_MINORS=n
+CONFIG_USB_OTG=n
+
+#
+# USB Host Controller Drivers
+#
+CONFIG_USB_EHCI_HCD=n
+CONFIG_USB_ISP116X_HCD=n
+CONFIG_USB_OHCI_HCD=y
+CONFIG_USB_OHCI_HCD_PPC_OF=n
+CONFIG_USB_OHCI_BIG_ENDIAN_DESC=n
+CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=n
+CONFIG_USB_OHCI_LITTLE_ENDIAN=y
+CONFIG_USB_UHCI_HCD=n
+CONFIG_USB_SL811_HCD=n
+CONFIG_USB_R8A66597_HCD=n
+
+#
+# USB Device Class drivers
+#
+CONFIG_USB_ACM=n
+CONFIG_USB_PRINTER=n
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# may also be needed; see USB_STORAGE Help for more information
+#
+CONFIG_USB_LIBUSUAL=n
+
+#
+# USB Imaging devices
+#
+CONFIG_USB_MDC800=n
+CONFIG_USB_MON=y
+
+#
+# USB port drivers
+#
+
+#
+# USB Serial Converter support
+#
+CONFIG_USB_SERIAL=n
+
+#
+# USB Miscellaneous drivers
+#
+CONFIG_USB_EMI62=n
+CONFIG_USB_EMI26=n
+CONFIG_USB_ADUTUX=n
+CONFIG_USB_AUERSWALD=n
+CONFIG_USB_RIO500=n
+CONFIG_USB_LEGOTOWER=n
+CONFIG_USB_LCD=n
+CONFIG_USB_BERRY_CHARGE=n
+CONFIG_USB_LED=n
+CONFIG_USB_CYPRESS_CY7C63=n
+CONFIG_USB_CYTHERM=n
+CONFIG_USB_PHIDGET=n
+CONFIG_USB_IDMOUSE=n
+CONFIG_USB_FTDI_ELAN=n
+CONFIG_USB_APPLEDISPLAY=n
+CONFIG_USB_LD=n
+CONFIG_USB_TRANCEVIBRATOR=n
+CONFIG_USB_IOWARRIOR=n
+CONFIG_USB_TEST=n
+
+#
+# USB DSL modem support
+#
+
+#
+# USB Gadget Support
+#
+CONFIG_USB_GADGET=n
+CONFIG_MMC=n
+CONFIG_NEW_LEDS=n
+CONFIG_INFINIBAND=n
+CONFIG_EDAC=n
+CONFIG_RTC_CLASS=n
+
+#
+# DMA Engine support
+#
+CONFIG_DMA_ENGINE=n
+
+#
+# DMA Clients
+#
+
+#
+# DMA Devices
+#
+
+#
+# Userspace I/O
+#
+CONFIG_UIO=n
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+CONFIG_EXT2_FS_XATTR=n
+CONFIG_EXT2_FS_XIP=n
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+CONFIG_EXT3_FS_POSIX_ACL=n
+CONFIG_EXT3_FS_SECURITY=n
+CONFIG_EXT4DEV_FS=n
+CONFIG_JBD=y
+CONFIG_JBD_DEBUG=n
+CONFIG_FS_MBCACHE=y
+CONFIG_REISERFS_FS=n
+CONFIG_JFS_FS=n
+CONFIG_FS_POSIX_ACL=n
+CONFIG_XFS_FS=n
+CONFIG_GFS2_FS=n
+CONFIG_OCFS2_FS=n
+CONFIG_MINIX_FS=n
+CONFIG_ROMFS_FS=n
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+CONFIG_QUOTA=n
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=n
+CONFIG_AUTOFS4_FS=n
+CONFIG_FUSE_FS=n
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+CONFIG_JOLIET=n
+CONFIG_ZISOFS=n
+CONFIG_UDF_FS=n
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=m
+CONFIG_MSDOS_FS=m
+CONFIG_VFAT_FS=m
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+CONFIG_NTFS_FS=n
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+CONFIG_TMPFS_POSIX_ACL=n
+CONFIG_HUGETLB_PAGE=n
+CONFIG_RAMFS=y
+CONFIG_CONFIGFS_FS=n
+
+#
+# Miscellaneous filesystems
+#
+CONFIG_ADFS_FS=n
+CONFIG_AFFS_FS=n
+CONFIG_HFS_FS=n
+CONFIG_HFSPLUS_FS=n
+CONFIG_BEFS_FS=n
+CONFIG_BFS_FS=n
+CONFIG_EFS_FS=n
+CONFIG_CRAMFS=n
+CONFIG_VXFS_FS=n
+CONFIG_HPFS_FS=n
+CONFIG_QNX4FS_FS=n
+CONFIG_SYSV_FS=n
+CONFIG_UFS_FS=n
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=n
+CONFIG_NFSD=n
+CONFIG_SMB_FS=n
+CONFIG_CIFS=n
+CONFIG_NCP_FS=n
+CONFIG_CODA_FS=n
+CONFIG_AFS_FS=n
+
+#
+# Partition Types
+#
+CONFIG_PARTITION_ADVANCED=y
+CONFIG_ACORN_PARTITION=n
+CONFIG_OSF_PARTITION=n
+CONFIG_AMIGA_PARTITION=n
+CONFIG_ATARI_PARTITION=n
+CONFIG_MAC_PARTITION=y
+CONFIG_MSDOS_PARTITION=y
+CONFIG_BSD_DISKLABEL=n
+CONFIG_MINIX_SUBPARTITION=n
+CONFIG_SOLARIS_X86_PARTITION=n
+CONFIG_UNIXWARE_DISKLABEL=n
+CONFIG_LDM_PARTITION=n
+CONFIG_SGI_PARTITION=n
+CONFIG_ULTRIX_PARTITION=n
+CONFIG_SUN_PARTITION=n
+CONFIG_KARMA_PARTITION=n
+CONFIG_EFI_PARTITION=n
+CONFIG_SYSV68_PARTITION=n
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=n
+CONFIG_NLS_CODEPAGE_737=n
+CONFIG_NLS_CODEPAGE_775=n
+CONFIG_NLS_CODEPAGE_850=n
+CONFIG_NLS_CODEPAGE_852=n
+CONFIG_NLS_CODEPAGE_855=n
+CONFIG_NLS_CODEPAGE_857=n
+CONFIG_NLS_CODEPAGE_860=n
+CONFIG_NLS_CODEPAGE_861=n
+CONFIG_NLS_CODEPAGE_862=n
+CONFIG_NLS_CODEPAGE_863=n
+CONFIG_NLS_CODEPAGE_864=n
+CONFIG_NLS_CODEPAGE_865=n
+CONFIG_NLS_CODEPAGE_866=n
+CONFIG_NLS_CODEPAGE_869=n
+CONFIG_NLS_CODEPAGE_936=n
+CONFIG_NLS_CODEPAGE_950=n
+CONFIG_NLS_CODEPAGE_932=n
+CONFIG_NLS_CODEPAGE_949=n
+CONFIG_NLS_CODEPAGE_874=n
+CONFIG_NLS_ISO8859_8=n
+CONFIG_NLS_CODEPAGE_1250=n
+CONFIG_NLS_CODEPAGE_1251=n
+CONFIG_NLS_ASCII=y
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=n
+CONFIG_NLS_ISO8859_3=n
+CONFIG_NLS_ISO8859_4=n
+CONFIG_NLS_ISO8859_5=n
+CONFIG_NLS_ISO8859_6=n
+CONFIG_NLS_ISO8859_7=n
+CONFIG_NLS_ISO8859_9=n
+CONFIG_NLS_ISO8859_13=n
+CONFIG_NLS_ISO8859_14=n
+CONFIG_NLS_ISO8859_15=n
+CONFIG_NLS_KOI8_R=n
+CONFIG_NLS_KOI8_U=n
+CONFIG_NLS_UTF8=n
+
+#
+# Distributed Lock Manager
+#
+CONFIG_DLM=n
+CONFIG_UCC_SLOW=n
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=n
+CONFIG_CRC_ITU_T=n
+CONFIG_CRC32=y
+CONFIG_CRC7=n
+CONFIG_LIBCRC32C=n
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAS_DMA=y
+
+#
+# Instrumentation Support
+#
+CONFIG_PROFILING=n
+CONFIG_KPROBES=n
+
+#
+# Kernel hacking
+#
+CONFIG_PRINTK_TIME=n
+CONFIG_ENABLE_MUST_CHECK=y
+CONFIG_MAGIC_SYSRQ=y
+CONFIG_UNUSED_SYMBOLS=n
+CONFIG_DEBUG_FS=n
+CONFIG_HEADERS_CHECK=n
+CONFIG_DEBUG_KERNEL=y
+CONFIG_DEBUG_SHIRQ=n
+CONFIG_DETECT_SOFTLOCKUP=y
+CONFIG_SCHED_DEBUG=y
+CONFIG_SCHEDSTATS=n
+CONFIG_TIMER_STATS=n
+CONFIG_DEBUG_SLAB=n
+CONFIG_DEBUG_RT_MUTEXES=n
+CONFIG_RT_MUTEX_TESTER=n
+CONFIG_DEBUG_SPINLOCK=n
+CONFIG_DEBUG_MUTEXES=y
+CONFIG_DEBUG_SPINLOCK_SLEEP=y
+CONFIG_DEBUG_LOCKING_API_SELFTESTS=n
+CONFIG_DEBUG_KOBJECT=n
+CONFIG_DEBUG_HIGHMEM=n
+CONFIG_DEBUG_BUGVERBOSE=y
+CONFIG_DEBUG_INFO=n
+CONFIG_DEBUG_VM=n
+CONFIG_DEBUG_LIST=n
+CONFIG_FORCED_INLINING=y
+CONFIG_RCU_TORTURE_TEST=n
+CONFIG_FAULT_INJECTION=n
+CONFIG_DEBUG_STACKOVERFLOW=n
+CONFIG_DEBUG_STACK_USAGE=n
+CONFIG_DEBUG_PAGEALLOC=n
+CONFIG_DEBUGGER=y
+CONFIG_XMON=y
+CONFIG_XMON_DEFAULT=y
+CONFIG_XMON_DISASSEMBLY=y
+CONFIG_BDI_SWITCH=n
+CONFIG_BOOTX_TEXT=n
+CONFIG_PPC_EARLY_DEBUG=n
+
+#
+# Security options
+#
+CONFIG_KEYS=n
+CONFIG_SECURITY=n
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=m
+CONFIG_CRYPTO_BLKCIPHER=m
+CONFIG_CRYPTO_MANAGER=m
+CONFIG_CRYPTO_HMAC=n
+CONFIG_CRYPTO_XCBC=n
+CONFIG_CRYPTO_NULL=n
+CONFIG_CRYPTO_MD4=n
+CONFIG_CRYPTO_MD5=n
+CONFIG_CRYPTO_SHA1=m
+CONFIG_CRYPTO_SHA256=n
+CONFIG_CRYPTO_SHA512=n
+CONFIG_CRYPTO_WP512=n
+CONFIG_CRYPTO_TGR192=n
+CONFIG_CRYPTO_GF128MUL=n
+CONFIG_CRYPTO_ECB=m
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+CONFIG_CRYPTO_LRW=n
+CONFIG_CRYPTO_CRYPTD=n
+CONFIG_CRYPTO_DES=n
+CONFIG_CRYPTO_FCRYPT=n
+CONFIG_CRYPTO_BLOWFISH=n
+CONFIG_CRYPTO_TWOFISH=n
+CONFIG_CRYPTO_SERPENT=n
+CONFIG_CRYPTO_AES=n
+CONFIG_CRYPTO_CAST5=n
+CONFIG_CRYPTO_CAST6=n
+CONFIG_CRYPTO_TEA=n
+CONFIG_CRYPTO_ARC4=m
+CONFIG_CRYPTO_KHAZAD=n
+CONFIG_CRYPTO_ANUBIS=n
+CONFIG_CRYPTO_DEFLATE=n
+CONFIG_CRYPTO_MICHAEL_MIC=n
+CONFIG_CRYPTO_CRC32C=n
+CONFIG_CRYPTO_CAMELLIA=n
+CONFIG_CRYPTO_TEST=n
+CONFIG_CRYPTO_HW=n
diff --git a/arch/powerpc/platforms/Kconfig b/arch/powerpc/platforms/Kconfig
index b62aab3..572132c 100644
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
@@ -6,6 +6,7 @@ source "arch/powerpc/platforms/chrp/Kconfig"
 source "arch/powerpc/platforms/512x/Kconfig"
 source "arch/powerpc/platforms/52xx/Kconfig"
 source "arch/powerpc/platforms/powermac/Kconfig"
+source "arch/powerpc/platforms/qemu/Kconfig"
 source "arch/powerpc/platforms/maple/Kconfig"
 source "arch/powerpc/platforms/pasemi/Kconfig"
 source "arch/powerpc/platforms/ps3/Kconfig"
diff --git a/arch/powerpc/platforms/Makefile b/arch/powerpc/platforms/Makefile
index 879b4a4..946ba60 100644
--- a/arch/powerpc/platforms/Makefile
+++ b/arch/powerpc/platforms/Makefile
@@ -15,6 +15,7 @@ obj-$(CONFIG_PPC_83xx)		+= 83xx/
 obj-$(CONFIG_FSL_SOC_BOOKE)	+= 85xx/
 obj-$(CONFIG_PPC_86xx)		+= 86xx/
 obj-$(CONFIG_PPC_POWERNV)	+= powernv/
+obj-$(CONFIG_PPC_QEMU)		+= qemu/
 obj-$(CONFIG_PPC_PSERIES)	+= pseries/
 obj-$(CONFIG_PPC_MAPLE)		+= maple/
 obj-$(CONFIG_PPC_PASEMI)	+= pasemi/
diff --git a/arch/powerpc/platforms/qemu/Kconfig b/arch/powerpc/platforms/qemu/Kconfig
new file mode 100644
index 0000000..d64ed92
--- /dev/null
+++ b/arch/powerpc/platforms/qemu/Kconfig
@@ -0,0 +1,10 @@
+config PPC_QEMU
+	bool "QEMU emulated PowerPC Reference Platform (PReP) system"
+	depends on PPC_MULTIPLATFORM && PPC32
+	select PPC_I8259
+	select PPC_INDIRECT_PCI
+	select PPC_UDBG_16550
+	select PPC_NATIVE
+	select WANT_DEVICE_TREE
+	default n
+
diff --git a/arch/powerpc/platforms/qemu/Makefile b/arch/powerpc/platforms/qemu/Makefile
new file mode 100644
index 0000000..b7288e8
--- /dev/null
+++ b/arch/powerpc/platforms/qemu/Makefile
@@ -0,0 +1,2 @@
+obj-y			+= setup.o
+obj-$(CONFIG_PCI)	+= pci.o
diff --git a/arch/powerpc/platforms/qemu/pci.c b/arch/powerpc/platforms/qemu/pci.c
new file mode 100644
index 0000000..2bd3b00
--- /dev/null
+++ b/arch/powerpc/platforms/qemu/pci.c
@@ -0,0 +1,133 @@
+/*
+ * prep Port to arch/powerpc:
+ * Copyright 2007 David Gibson, IBM Corporation.
+ *
+ * prep Port to qemu:
+ * Copyright 2007 Milton Miller, IBM Corporation.
+ *
+ * Based on OpenHackware 0.4
+ * Copyright (c) 2004-2005 Jocelyn Mayer
+ *
+ * pci config based on arch/powerpc/platforms/chrp/pci.c GoldenGate code
+ *
+ */
+
+#include <linux/init.h>
+
+#include <asm/io.h>
+#include <asm/prom.h>
+#include <asm/pci-bridge.h>
+#include <asm/udbg.h>
+
+static volatile void __iomem *qemu_config_addr(struct pci_bus *bus,
+	unsigned int devfn, int off)
+{
+	int dev, fn;
+	struct pci_controller *hose = bus->sysdata;
+
+	if (!hose->cfg_data)
+		return NULL;
+
+	if (bus->number != 0)
+		return NULL;
+
+	dev = devfn >> 3;
+	fn = devfn & 7;
+
+	if (dev < 11 || dev > 21)
+		return NULL;
+
+	return hose->cfg_data + ((1 << dev) | (fn << 8) | off);
+}
+
+int qemu_read_config(struct pci_bus *bus, unsigned int devfn, int off,
+			   int len, u32 *val)
+{
+	volatile void __iomem *cfg_data = qemu_config_addr(bus, devfn, off);
+
+	if (cfg_data == NULL)
+		return PCIBIOS_DEVICE_NOT_FOUND;
+
+	/*
+	 * Note: the caller has already checked that off is
+	 * suitably aligned and that len is 1, 2 or 4.
+	 */
+	switch (len) {
+	case 1:
+		*val =  in_8(cfg_data);
+		break;
+	case 2:
+		*val = in_le16(cfg_data);
+		break;
+	default:
+		*val = in_le32(cfg_data);
+		break;
+	}
+	return PCIBIOS_SUCCESSFUL;
+}
+
+int qemu_write_config(struct pci_bus *bus, unsigned int devfn, int off,
+			    int len, u32 val)
+{
+	volatile void __iomem *cfg_data = qemu_config_addr(bus, devfn, off);
+
+	if (cfg_data == NULL)
+		return PCIBIOS_DEVICE_NOT_FOUND;
+
+	/*
+	 * Note: the caller has already checked that off is
+	 * suitably aligned and that len is 1, 2 or 4.
+	 */
+	switch (len) {
+	case 1:
+		out_8(cfg_data, val);
+		break;
+	case 2:
+		out_le16(cfg_data, val);
+		break;
+	default:
+		out_le32(cfg_data, val);
+		break;
+	}
+	return PCIBIOS_SUCCESSFUL;
+}
+
+static struct pci_ops qemu_pci_ops =
+{
+	qemu_read_config,
+	qemu_write_config
+};
+
+void __init qemu_find_bridges(void)
+{
+	struct device_node *phb;
+	struct pci_controller *hose;
+
+	phb = of_find_node_by_type(NULL, "pci");
+	if (!phb) {
+		printk(KERN_ERR "PReP: Cannot find PCI bridge OF node\n");
+		return;
+	}
+
+	hose = pcibios_alloc_controller(phb);
+	if (!hose)
+		return;
+
+	pci_process_bridge_OF_ranges(hose, phb, 1);
+
+#define PREP_PCI_DRAM_OFFSET 	0x80000000
+
+	pci_dram_offset = PREP_PCI_DRAM_OFFSET;
+	ISA_DMA_THRESHOLD = 0x00ffffff;
+	DMA_MODE_READ = 0x44;
+	DMA_MODE_WRITE = 0x48;
+
+	hose->cfg_data = ioremap(0x80800000, 1 << 22);
+
+	hose->ops = &qemu_pci_ops;
+
+	udbg_init_uart(hose->io_base_virt + 0x3f8, 0, 0);
+	register_early_udbg_console();
+	printk(KERN_INFO "qemu_find_bridges: config at %p\n", hose->cfg_data);
+}
+
diff --git a/arch/powerpc/platforms/qemu/setup.c b/arch/powerpc/platforms/qemu/setup.c
new file mode 100644
index 0000000..2d1ecf2
--- /dev/null
+++ b/arch/powerpc/platforms/qemu/setup.c
@@ -0,0 +1,180 @@
+/*
+ * Copyright (C) 1995  Linus Torvalds
+ * Adapted from 'alpha' version by Gary Thomas
+ * Modified by Cort Dougan (cort@cs.nmt.edu)
+ *
+ * Support for PReP (Motorola MTX/MVME)
+ * by Troy Benjegerdes (hozer@drgw.net)
+ *
+ * Port to arch/powerpc:
+ * Copyright 2007 David Gibson, IBM Corporation.
+ *
+ * Port to qemu:
+ * Copyright 2007 Milton Miller, IBM Corporation.
+ *
+ * Some information based on OpenHackware 0.4
+ * Copyright (c) 2004-2005 Jocelyn Mayer
+ *
+ */
+
+#include <linux/init.h>
+#include <linux/seq_file.h>
+#include <linux/initrd.h>
+#include <linux/ide.h>
+
+#include <asm/io.h>
+#include <asm/prom.h>
+#include <asm/pci-bridge.h>
+/* #include <asm/mpic.h> */
+#include <asm/i8259.h>
+#include <asm/time.h>
+#include <asm/udbg.h>
+
+static const char *qemu_model = "(unknown)";
+
+extern void qemu_find_bridges(void);
+
+/* cpuinfo code common to all IBM PReP */
+static void qemu_ibm_cpuinfo(struct seq_file *m)
+{
+	seq_printf(m, "machine\t\t: PReP %s\n", qemu_model);
+}
+
+#define NVRAM_AS0 0x74
+#define NVRAM_AS1 0x75
+#define NVRAM_DAT 0x77
+
+static unsigned char qemu_nvram_read_val(int addr)
+{
+	outb(NVRAM_AS0, addr & 0xff);
+	outb(NVRAM_AS1, (addr >> 8) & 0xff);
+	return inb(NVRAM_DAT);
+}
+
+
+static void qemu_nvram_write_val(int addr, unsigned char val)
+{
+	outb(NVRAM_AS0, addr & 0xff);
+	outb(NVRAM_AS1, (addr >> 8) & 0xff);
+	outb(NVRAM_DAT, val);
+}
+
+
+static void __init qemu_setup_arch(void)
+{
+	struct device_node *root;
+	const char *model;
+
+	root = of_find_node_by_path("/");
+	model = of_get_property(root, "model", NULL);
+	of_node_put(root);
+	if (model)
+		qemu_model = model;
+
+	/* Lookup PCI host bridges */
+	qemu_find_bridges();
+
+	/* Read in NVRAM data */
+/* 	init_qemu_nvram(); */
+}
+
+static void __init qemu_init_IRQ(void)
+{
+	struct device_node *pic = NULL;
+	unsigned long int_ack = 0;
+
+	pic = of_find_node_by_type(NULL, "i8259");
+	if (!pic) {
+		printk(KERN_ERR "No interrupt controller found!\n");
+		return;
+	}
+
+	/* polling */
+	i8259_init(pic, int_ack);
+	ppc_md.get_irq = i8259_irq;
+
+	/* set default host */
+	irq_set_default_host(i8259_get_host());
+}
+
+#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
+/*
+ * IDE stuff.
+ */
+static int qemu_ide_default_irq(unsigned long base)
+{
+	switch (base) {
+	case 0x1f0: return 13;
+	case 0x170: return 13;
+	case 0x1e8: return 11;
+	case 0x168: return 10;
+	case 0xfff0: return 14;		/* MCP(N)750 ide0 */
+	case 0xffe0: return 15;		/* MCP(N)750 ide1 */
+	default: return 0;
+	}
+}
+
+static unsigned long qemu_ide_default_io_base(int index)
+{
+	switch (index) {
+	case 0: return 0x1f0;
+	case 1: return 0x170;
+	case 2: return 0x1e8;
+	case 3: return 0x168;
+	default:
+		return 0;
+	}
+}
+#endif
+
+#if 0
+static int __init prep_request_io(void)
+{
+#ifdef CONFIG_NVRAM
+	request_region(PREP_NVRAM_AS0, 0x8, "nvram");
+#endif
+	request_region(0x00,0x20,"dma1");
+	request_region(0x40,0x20,"timer");
+	request_region(0x80,0x10,"dma page reg");
+	request_region(0xc0,0x20,"dma2");
+
+	return 0;
+}
+device_initcall(prep_request_io);
+#endif
+
+
+static int __init qemu_probe(void)
+{
+	if (!of_flat_dt_is_compatible(of_get_flat_dt_root(), "qemu-prep"))
+		return 0;
+
+#if 0
+#if defined(CONFIG_BLK_DEV_IDE) || defined(CONFIG_BLK_DEV_IDE_MODULE)
+	ppc_ide_md.default_irq = qemu_ide_default_irq;
+	ppc_ide_md.default_io_base = qemu_ide_default_io_base;
+#endif
+#endif
+
+	return 1;
+}
+
+define_machine(qemu) {
+	.name			= "QEMU",
+	.probe			= qemu_probe,
+	.setup_arch		= qemu_setup_arch,
+	.progress		= udbg_progress,
+	.show_cpuinfo		= qemu_ibm_cpuinfo,
+	.init_IRQ		= qemu_init_IRQ,
+/* 	.pcibios_fixup		= qemu_pcibios_fixup, */
+/*	.restart		= qemu_restart, */
+/*	.power_off		= qemu_halt, */
+/*	.halt			= qemu_halt, */
+/* 	.time_init		= todc_time_init, */
+/* 	.set_rtc_time		= todc_set_rtc_time, */
+/* 	.get_rtc_time		= todc_get_rtc_time, */
+	.calibrate_decr		= generic_calibrate_decr,
+	.nvram_read_val		= qemu_nvram_read_val,
+	.nvram_write_val	= qemu_nvram_write_val,
+	.phys_mem_access_prot	= pci_phys_mem_access_prot,
+};
