]> Git Repo - linux.git/commitdiff
Merge tag 'stable/for-linus-3.7-arm-tag' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <[email protected]>
Sat, 6 Oct 2012 22:13:01 +0000 (07:13 +0900)
committerLinus Torvalds <[email protected]>
Sat, 6 Oct 2012 22:13:01 +0000 (07:13 +0900)
Pull ADM Xen support from Konrad Rzeszutek Wilk:

  Features:
   * Allow a Linux guest to boot as initial domain and as normal guests
     on Xen on ARM (specifically ARMv7 with virtualized extensions).  PV
     console, block and network frontend/backends are working.
  Bug-fixes:
   * Fix compile linux-next fallout.
   * Fix PVHVM bootup crashing.

  The Xen-unstable hypervisor (so will be 4.3 in a ~6 months), supports
  ARMv7 platforms.

  The goal in implementing this architecture is to exploit the hardware
  as much as possible.  That means use as little as possible of PV
  operations (so no PV MMU) - and use existing PV drivers for I/Os
  (network, block, console, etc).  This is similar to how PVHVM guests
  operate in X86 platform nowadays - except that on ARM there is no need
  for QEMU.  The end result is that we share a lot of the generic Xen
  drivers and infrastructure.

  Details on how to compile/boot/etc are available at this Wiki:

    http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions

  and this blog has links to a technical discussion/presentations on the
  overall architecture:

    http://blog.xen.org/index.php/2012/09/21/xensummit-sessions-new-pvh-virtualisation-mode-for-arm-cortex-a15arm-servers-and-x86/

* tag 'stable/for-linus-3.7-arm-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen: (21 commits)
  xen/xen_initial_domain: check that xen_start_info is initialized
  xen: mark xen_init_IRQ __init
  xen/Makefile: fix dom-y build
  arm: introduce a DTS for Xen unprivileged virtual machines
  MAINTAINERS: add myself as Xen ARM maintainer
  xen/arm: compile netback
  xen/arm: compile blkfront and blkback
  xen/arm: implement alloc/free_xenballooned_pages with alloc_pages/kfree
  xen/arm: receive Xen events on ARM
  xen/arm: initialize grant_table on ARM
  xen/arm: get privilege status
  xen/arm: introduce CONFIG_XEN on ARM
  xen: do not compile manage, balloon, pci, acpi, pcpu and cpu_hotplug on ARM
  xen/arm: Introduce xen_ulong_t for unsigned long
  xen/arm: Xen detection and shared_info page mapping
  docs: Xen ARM DT bindings
  xen/arm: empty implementation of grant_table arch specific functions
  xen/arm: sync_bitops
  xen/arm: page.h definitions
  xen/arm: hypercalls
  ...

12 files changed:
1  2 
MAINTAINERS
arch/arm/Kconfig
arch/arm/Makefile
arch/arm/boot/dts/Makefile
arch/arm/mach-vexpress/v2m.c
arch/x86/include/asm/xen/interface.h
arch/x86/xen/enlighten.c
drivers/block/xen-blkback/blkback.c
drivers/net/xen-netfront.c
drivers/xen/Makefile
include/xen/interface/physdev.h
include/xen/interface/version.h

diff --combined MAINTAINERS
index 0976bd1381b5088b021e1203d15429af9db45f38,3d38291a402f81f5a682baa59958cd4be54ebecd..42c2264a154c9b3497cda8f6488f6e1cfcddbc44
@@@ -572,7 -572,7 +572,7 @@@ F: drivers/net/appletalk
  F:    net/appletalk/
  
  ARASAN COMPACT FLASH PATA CONTROLLER
 -M:     Viresh Kumar <[email protected]>
 +M:    Viresh Kumar <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    include/linux/pata_arasan_cf_data.h
@@@ -595,6 -595,7 +595,6 @@@ M: Will Deacon <[email protected]
  S:    Maintained
  F:    arch/arm/kernel/perf_event*
  F:    arch/arm/oprofile/common.c
 -F:    arch/arm/kernel/pmu.c
  F:    arch/arm/include/asm/pmu.h
  F:    arch/arm/kernel/hw_breakpoint.c
  F:    arch/arm/include/asm/hw_breakpoint.h
@@@ -657,6 -658,22 +657,6 @@@ W:        http://www.linux4sam.or
  S:    Supported
  F:    arch/arm/mach-at91/
  
 -ARM/BCMRING ARM ARCHITECTURE
 -M:    Jiandong Zheng <[email protected]>
 -M:    Scott Branden <[email protected]>
 -L:    [email protected] (moderated for non-subscribers)
 -S:    Maintained
 -F:    arch/arm/mach-bcmring
 -
 -ARM/BCMRING MTD NAND DRIVER
 -M:    Jiandong Zheng <[email protected]>
 -M:    Scott Branden <[email protected]>
 -L:    [email protected]
 -S:    Maintained
 -F:    drivers/mtd/nand/bcm_umi_nand.c
 -F:    drivers/mtd/nand/bcm_umi_bch.c
 -F:    drivers/mtd/nand/nand_bcm_umi.h
 -
  ARM/CALXEDA HIGHBANK ARCHITECTURE
  M:    Rob Herring <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -760,7 -777,6 +760,7 @@@ S: Maintaine
  T:    git git://git.pengutronix.de/git/imx/linux-2.6.git
  F:    arch/arm/mach-imx/
  F:    arch/arm/plat-mxc/
 +F:    arch/arm/configs/imx*_defconfig
  
  ARM/FREESCALE IMX6
  M:    Shawn Guo <[email protected]>
@@@ -897,12 -913,6 +897,12 @@@ W:       http://www.digriz.org.uk/ts78xx/kern
  S:    Maintained
  F:    arch/arm/mach-orion5x/ts78xx-*
  
 +ARM/MICREL KS8695 ARCHITECTURE
 +M:    Greg Ungerer <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +F:    arch/arm/mach-ks8695
 +S:    Odd Fixes
 +
  ARM/MIOA701 MACHINE SUPPORT
  M:    Robert Jarzmik <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -1199,12 -1209,6 +1199,12 @@@ S:    Maintaine
  F:    arch/arm/mach-pxa/z2.c
  F:    arch/arm/mach-pxa/include/mach/z2.h
  
 +ARM64 PORT (AARCH64 ARCHITECTURE)
 +M:    Catalin Marinas <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Maintained
 +F:    arch/arm64/
 +
  ASC7621 HARDWARE MONITOR DRIVER
  M:    George Joseph <[email protected]>
  L:    [email protected]
@@@ -1246,7 -1250,7 +1246,7 @@@ F:      include/linux/i2c/at24.
  
  ATA OVER ETHERNET (AOE) DRIVER
  M:    "Ed L. Cashin" <[email protected]>
 -W:    http://www.coraid.com/support/linux
 +W:    http://support.coraid.com/support/linux
  S:    Supported
  F:    Documentation/aoe/
  F:    drivers/block/aoe/
  S:    Supported
  F:    drivers/net/ethernet/broadcom/bnx2x/
  
 +BROADCOM BCM2835 ARM ARCHICTURE
 +M:    Stephen Warren <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-rpi.git
 +S:    Maintained
 +F:    arch/arm/mach-bcm2835/
 +F:    arch/arm/boot/dts/bcm2835*
 +F:    arch/arm/configs/bcm2835_defconfig
 +F:    drivers/*/*bcm2835*
 +
  BROADCOM TG3 GIGABIT ETHERNET DRIVER
  M:    Matt Carlson <[email protected]>
  M:    Michael Chan <[email protected]>
@@@ -1651,6 -1645,7 +1651,6 @@@ F:      drivers/bcma
  F:    include/linux/bcma/
  
  BROCADE BFA FC SCSI DRIVER
 -M:    Jing Huang <[email protected]>
  M:    Krishna C Gudipati <[email protected]>
  L:    [email protected]
  S:    Supported
@@@ -2632,18 -2627,6 +2632,18 @@@ T:    git git://git.alsa-project.org/alsa-
  S:    Maintained
  F:    sound/usb/misc/ua101.c
  
 +EXTENSIBLE FIRMWARE INTERFACE (EFI)
 +M:    Matt Fleming <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    Documentation/x86/efi-stub.txt
 +F:    arch/ia64/kernel/efi.c
 +F:    arch/x86/boot/compressed/eboot.[ch]
 +F:    arch/x86/include/asm/efi.h
 +F:    arch/x86/platform/efi/*
 +F:    drivers/firmware/efivars.c
 +F:    include/linux/efi*.h
 +
  EFIFB FRAMEBUFFER DRIVER
  L:    [email protected]
  M:    Peter Jones <[email protected]>
@@@ -2876,9 -2859,7 +2876,9 @@@ F:      include/linux/firewire*.
  F:    tools/firewire/
  
  FIRMWARE LOADER (request_firmware)
 -S:    Orphan
 +M:    Ming Lei <[email protected]>
 +L:    [email protected]
 +S:    Maintained
  F:    Documentation/firmware_class/
  F:    drivers/base/firmware*.c
  F:    include/linux/firmware.h
@@@ -3124,7 -3105,6 +3124,7 @@@ T:      git git://git.secretlab.ca/git/linux
  F:    Documentation/gpio.txt
  F:    drivers/gpio/
  F:    include/linux/gpio*
 +F:    include/asm-generic/gpio.h
  
  GRE DEMULTIPLEXER DRIVER
  M:    Dmitry Kozlov <[email protected]>
@@@ -3408,7 -3388,7 +3408,7 @@@ M:      "Wolfram Sang (embedded platforms)" 
  L:    [email protected]
  W:    http://i2c.wiki.kernel.org/
  T:    quilt kernel.org/pub/linux/kernel/people/jdelvare/linux-2.6/jdelvare-i2c/
 -T:    git git://git.fluff.org/bjdooks/linux.git
 +T:    git git://git.pengutronix.de/git/wsa/linux.git
  S:    Maintained
  F:    Documentation/i2c/
  F:    drivers/i2c/
@@@ -3440,18 -3420,6 +3440,18 @@@ T:    git git://git.kernel.org/pub/scm/lin
  S:    Maintained
  F:    arch/ia64/
  
 +IBM Power in-Nest Crypto Acceleration
 +M:    Kent Yoder <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/crypto/nx/
 +
 +IBM Power 842 compression accelerator
 +M:    Robert Jennings <[email protected]>
 +S:    Supported
 +F:    drivers/crypto/nx/nx-842.c
 +F:    include/linux/nx842.h
 +
  IBM Power Linux RAID adapter
  M:    Brian King <[email protected]>
  S:    Supported
  S:    Supported
  F:    drivers/net/ethernet/ibm/ibmveth.*
  
 +IBM Power Virtual SCSI/FC Device Drivers
 +M:    Robert Jennings <[email protected]>
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/scsi/ibmvscsi/
 +X:    drivers/scsi/ibmvscsi/ibmvstgt.c
 +
  IBM ServeRAID RAID DRIVER
  P:    Jack Hammer
  M:    Dave Jeffery <[email protected]>
@@@ -3591,12 -3552,11 +3591,12 @@@ K:   \b(ABS|SYN)_MT
  
  INTEL C600 SERIES SAS CONTROLLER DRIVER
  M:    Intel SCU Linux support <[email protected]>
 +M:    Lukasz Dorau <[email protected]>
 +M:    Maciej Patelczyk <[email protected]>
  M:    Dave Jiang <[email protected]>
 -M:    Ed Nadolski <[email protected]>
  L:    [email protected]
 -T:    git git://git.kernel.org/pub/scm/linux/kernel/git/djbw/isci.git
 -S:    Maintained
 +T:    git git://git.code.sf.net/p/intel-sas/isci
 +S:    Supported
  F:    drivers/scsi/isci/
  F:    firmware/isci/
  
@@@ -3706,12 -3666,11 +3706,12 @@@ F:   Documentation/networking/README.ipw2
  F:    drivers/net/wireless/ipw2x00/
  
  INTEL(R) TRUSTED EXECUTION TECHNOLOGY (TXT)
 -M:    Joseph Cihula <[email protected]>
 +M:    Richard L Maliszewski <[email protected]>
 +M:    Gang Wei <[email protected]>
  M:    Shane Wang <[email protected]>
  L:    [email protected]
  W:    http://tboot.sourceforge.net
 -T:    Mercurial http://www.bughost.org/repos.hg/tboot.hg
 +T:    hg http://tboot.hg.sourceforge.net:8000/hgroot/tboot/tboot
  S:    Supported
  F:    Documentation/intel_txt.txt
  F:    include/linux/tboot.h
@@@ -4838,7 -4797,6 +4838,7 @@@ M:      Lauro Ramos Venancio <lauro.venancio
  M:    Aloisio Almeida Jr <[email protected]>
  M:    Samuel Ortiz <[email protected]>
  L:    [email protected]
 +L:    [email protected] (moderated for non-subscribers)
  S:    Maintained
  F:    net/nfc/
  F:    include/linux/nfc.h
@@@ -5081,7 -5039,6 +5081,7 @@@ S:      Maintaine
  F:    Documentation/devicetree
  F:    drivers/of
  F:    include/linux/of*.h
 +F:    scripts/dtc
  K:    of_get_property
  K:    of_match_table
  
@@@ -5267,7 -5224,7 +5267,7 @@@ F:      include/linux/i2c-algo-pca.
  F:    include/linux/i2c-pca-platform.h
  
  PCDP - PRIMARY CONSOLE AND DEBUG PORT
 -M:    Khalid Aziz <khalid[email protected]>
 +M:    Khalid Aziz <khalid@gonehiking.org>
  S:    Maintained
  F:    drivers/firmware/pcdp.*
  
  S:    Maintained
  F:    drivers/mtd/devices/phram.c
  
 +PICOLCD HID DRIVER
 +M:    Bruno PrĂ©mont <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/hid/hid-picolcd*
 +
  PICOXCELL SUPPORT
  M:    Jamie Iles <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
@@@ -5556,7 -5507,7 +5556,7 @@@ S:      Maintaine
  W:    http://linuxptp.sourceforge.net/
  F:    Documentation/ABI/testing/sysfs-ptp
  F:    Documentation/ptp/*
 -F:    drivers/net/gianfar_ptp.c
 +F:    drivers/net/ethernet/freescale/gianfar_ptp.c
  F:    drivers/net/phy/dp83640*
  F:    drivers/ptp/*
  F:    include/linux/ptp_cl*
@@@ -5592,8 -5543,6 +5592,8 @@@ F:      Documentation/devicetree/bindings/pw
  F:    include/linux/pwm.h
  F:    include/linux/of_pwm.h
  F:    drivers/pwm/
 +F:    drivers/video/backlight/pwm_bl.c
 +F:    include/linux/pwm_backlight.h
  
  PXA2xx/PXA3xx SUPPORT
  M:    Eric Miao <[email protected]>
@@@ -5988,7 -5937,7 +5988,7 @@@ S:      Maintaine
  F:    drivers/tty/serial
  
  SYNOPSYS DESIGNWARE DMAC DRIVER
 -M:     Viresh Kumar <[email protected]>
 +M:    Viresh Kumar <[email protected]>
  S:    Maintained
  F:    include/linux/dw_dmac.h
  F:    drivers/dma/dw_dmac_regs.h
@@@ -6136,7 -6085,7 +6136,7 @@@ S:      Maintaine
  F:    drivers/mmc/host/sdhci-s3c.c
  
  SECURE DIGITAL HOST CONTROLLER INTERFACE (SDHCI) ST SPEAR DRIVER
 -M:     Viresh Kumar <[email protected]>
 +M:    Viresh Kumar <[email protected]>
  L:    [email protected]
  L:    [email protected]
  S:    Maintained
@@@ -6501,7 -6450,7 +6501,7 @@@ S:      Maintaine
  F:    include/linux/compiler.h
  
  SPEAR PLATFORM SUPPORT
 -M:     Viresh Kumar <[email protected]>
 +M:    Viresh Kumar <[email protected]>
  M:    Shiraz Hashim <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
@@@ -6510,7 -6459,7 +6510,7 @@@ S:      Maintaine
  F:    arch/arm/plat-spear/
  
  SPEAR13XX MACHINE SUPPORT
 -M:     Viresh Kumar <[email protected]>
 +M:    Viresh Kumar <[email protected]>
  M:    Shiraz Hashim <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
@@@ -6519,7 -6468,7 +6519,7 @@@ S:      Maintaine
  F:    arch/arm/mach-spear13xx/
  
  SPEAR3XX MACHINE SUPPORT
 -M:     Viresh Kumar <[email protected]>
 +M:    Viresh Kumar <[email protected]>
  M:    Shiraz Hashim <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
@@@ -6530,7 -6479,7 +6530,7 @@@ F:      arch/arm/mach-spear3xx
  SPEAR6XX MACHINE SUPPORT
  M:    Rajeev Kumar <[email protected]>
  M:    Shiraz Hashim <[email protected]>
 -M:     Viresh Kumar <[email protected]>
 +M:    Viresh Kumar <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  W:    http://www.st.com/spear
@@@ -6538,7 -6487,7 +6538,7 @@@ S:      Maintaine
  F:    arch/arm/mach-spear6xx/
  
  SPEAR CLOCK FRAMEWORK SUPPORT
 -M:     Viresh Kumar <[email protected]>
 +M:    Viresh Kumar <[email protected]>
  L:    [email protected]
  L:    [email protected] (moderated for non-subscribers)
  W:    http://www.st.com/spear
@@@ -6827,14 -6776,14 +6827,14 @@@ F:   drivers/net/team
  F:    include/linux/if_team.h
  
  TEGRA SUPPORT
 -M:    Colin Cross <[email protected]>
 -M:    Olof Johansson <[email protected]>
  M:    Stephen Warren <[email protected]>
  L:    [email protected]
  Q:    http://patchwork.ozlabs.org/project/linux-tegra/list/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra.git
  S:    Supported
  F:    arch/arm/mach-tegra
 +F:    arch/arm/boot/dts/tegra*
 +F:    arch/arm/configs/tegra_defconfig
  
  TEHUTI ETHERNET DRIVER
  M:    Andy Gospodarek <[email protected]>
@@@ -7803,6 -7752,13 +7803,13 @@@ F:    drivers/xen
  F:    arch/x86/include/asm/xen/
  F:    include/xen/
  
+ XEN HYPERVISOR ARM
+ M:    Stefano Stabellini <[email protected]>
+ L:    [email protected] (moderated for non-subscribers)
+ S:    Supported
+ F:    arch/arm/xen/
+ F:    arch/arm/include/asm/xen/
  XEN NETWORK BACKEND DRIVER
  M:    Ian Campbell <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
diff --combined arch/arm/Kconfig
index 7bab17ed29729b84c464be57d6aa9e76a9c7369d,33614669a9a007714810f644c16d6c9f5ed4f662..3975d10cb3ed315490d0fbecf65c6e904793574a
@@@ -202,13 -202,6 +202,13 @@@ config ARM_PATCH_PHYS_VIR
          this feature (eg, building a kernel for a single machine) and
          you need to shrink the kernel to the minimal size.
  
 +config NEED_MACH_GPIO_H
 +      bool
 +      help
 +        Select this when mach/gpio.h is required to provide special
 +        definitions for this platform. The need for mach/gpio.h should
 +        be avoided when possible.
 +
  config NEED_MACH_IO_H
        bool
        help
@@@ -254,29 -247,39 +254,29 @@@ config MM
  #
  choice
        prompt "ARM system type"
 -      default ARCH_VERSATILE
 +      default ARCH_MULTIPLATFORM
  
 -config ARCH_SOCFPGA
 -      bool "Altera SOCFPGA family"
 -      select ARCH_WANT_OPTIONAL_GPIOLIB
 -      select ARM_AMBA
 -      select ARM_GIC
 -      select CACHE_L2X0
 -      select CLKDEV_LOOKUP
 +config ARCH_MULTIPLATFORM
 +      bool "Allow multiple platforms to be selected"
 +      select ARM_PATCH_PHYS_VIRT
 +      select AUTO_ZRELADDR
        select COMMON_CLK
 -      select CPU_V7
 -      select DW_APB_TIMER
 -      select DW_APB_TIMER_OF
 -      select GENERIC_CLOCKEVENTS
 -      select GPIO_PL061 if GPIOLIB
 -      select HAVE_ARM_SCU
 +      select MULTI_IRQ_HANDLER
        select SPARSE_IRQ
        select USE_OF
 -      help
 -        This enables support for Altera SOCFPGA Cyclone V platform
 +      depends on MMU
  
  config ARCH_INTEGRATOR
        bool "ARM Ltd. Integrator family"
        select ARM_AMBA
        select ARCH_HAS_CPUFREQ
        select COMMON_CLK
 -      select CLK_VERSATILE
 +      select COMMON_CLK_VERSATILE
        select HAVE_TCM
        select ICST
        select GENERIC_CLOCKEVENTS
        select PLAT_VERSATILE
        select PLAT_VERSATILE_FPGA_IRQ
 -      select NEED_MACH_IO_H
        select NEED_MACH_MEMORY_H
        select SPARSE_IRQ
        select MULTI_IRQ_HANDLER
  config ARCH_REALVIEW
        bool "ARM Ltd. RealView family"
        select ARM_AMBA
 -      select CLKDEV_LOOKUP
 -      select HAVE_MACH_CLKDEV
 +      select COMMON_CLK
 +      select COMMON_CLK_VERSATILE
        select ICST
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select PLAT_VERSATILE
 -      select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_CLCD
        select ARM_TIMER_SP804
        select GPIO_PL061 if GPIOLIB
@@@ -308,6 -312,7 +308,6 @@@ config ARCH_VERSATIL
        select ICST
        select GENERIC_CLOCKEVENTS
        select ARCH_WANT_OPTIONAL_GPIOLIB
 -      select NEED_MACH_IO_H if PCI
        select PLAT_VERSATILE
        select PLAT_VERSATILE_CLOCK
        select PLAT_VERSATILE_CLCD
        help
          This enables support for ARM Ltd Versatile board.
  
 -config ARCH_VEXPRESS
 -      bool "ARM Ltd. Versatile Express family"
 -      select ARCH_WANT_OPTIONAL_GPIOLIB
 -      select ARM_AMBA
 -      select ARM_TIMER_SP804
 -      select CLKDEV_LOOKUP
 -      select COMMON_CLK
 -      select GENERIC_CLOCKEVENTS
 -      select HAVE_CLK
 -      select HAVE_PATA_PLATFORM
 -      select ICST
 -      select NO_IOPORT
 -      select PLAT_VERSATILE
 -      select PLAT_VERSATILE_CLCD
 -      select REGULATOR_FIXED_VOLTAGE if REGULATOR
 -      help
 -        This enables support for the ARM Ltd Versatile Express boards.
 -
  config ARCH_AT91
        bool "Atmel AT91"
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_CLK
        select CLKDEV_LOOKUP
        select IRQ_DOMAIN
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H if PCCARD
        help
          This enables support for systems based on Atmel
          AT91RM9200 and AT91SAM9* processors.
  
 -config ARCH_BCMRING
 -      bool "Broadcom BCMRING"
 -      depends on MMU
 -      select CPU_V6
 -      select ARM_AMBA
 -      select ARM_TIMER_SP804
 -      select CLKDEV_LOOKUP
 -      select GENERIC_CLOCKEVENTS
 -      select ARCH_WANT_OPTIONAL_GPIOLIB
 -      help
 -        Support for Broadcom's BCMRing platform.
 -
 -config ARCH_HIGHBANK
 -      bool "Calxeda Highbank-based"
 +config ARCH_BCM2835
 +      bool "Broadcom BCM2835 family"
        select ARCH_WANT_OPTIONAL_GPIOLIB
        select ARM_AMBA
 -      select ARM_GIC
 +      select ARM_ERRATA_411920
        select ARM_TIMER_SP804
 -      select CACHE_L2X0
        select CLKDEV_LOOKUP
        select COMMON_CLK
 -      select CPU_V7
 +      select CPU_V6
        select GENERIC_CLOCKEVENTS
 -      select HAVE_ARM_SCU
 -      select HAVE_SMP
 +      select MULTI_IRQ_HANDLER
        select SPARSE_IRQ
        select USE_OF
        help
 -        Support for the Calxeda Highbank SoC based boards.
 +        This enables support for the Broadcom BCM2835 SoC. This SoC is
 +        use in the Raspberry Pi, and Roku 2 devices.
  
  config ARCH_CLPS711X
        bool "Cirrus Logic CLPS711x/EP721x/EP731x-based"
        select CPU_ARM720T
        select ARCH_USES_GETTIMEOFFSET
 +      select COMMON_CLK
 +      select CLKDEV_LOOKUP
        select NEED_MACH_MEMORY_H
        help
          Support for Cirrus Logic 711x/721x/731x based boards.
@@@ -374,19 -407,21 +374,19 @@@ config ARCH_GEMIN
        help
          Support for the Cortina Systems Gemini family SoCs
  
 -config ARCH_PRIMA2
 -      bool "CSR SiRFSoC PRIMA2 ARM Cortex A9 Platform"
 -      select CPU_V7
 +config ARCH_SIRF
 +      bool "CSR SiRF"
        select NO_IOPORT
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select CLKDEV_LOOKUP
 +      select COMMON_CLK
        select GENERIC_IRQ_CHIP
        select MIGHT_HAVE_CACHE_L2X0
        select PINCTRL
        select PINCTRL_SIRF
        select USE_OF
 -      select ZONE_DMA
        help
 -          Support for CSR SiRFSoC ARM Cortex A9 Platform
 +        Support for CSR SiRFprimaII/Marco/Polo platforms
  
  config ARCH_EBSA110
        bool "EBSA-110"
@@@ -421,7 -456,7 +421,7 @@@ config ARCH_FOOTBRIDG
        select FOOTBRIDGE
        select GENERIC_CLOCKEVENTS
        select HAVE_IDE
 -      select NEED_MACH_IO_H
 +      select NEED_MACH_IO_H if !MMU
        select NEED_MACH_MEMORY_H
        help
          Support for systems based on the DC21285 companion chip
@@@ -448,9 -483,7 +448,9 @@@ config ARCH_MX
        select CLKSRC_MMIO
        select COMMON_CLK
        select HAVE_CLK_PREPARE
 +      select MULTI_IRQ_HANDLER
        select PINCTRL
 +      select SPARSE_IRQ
        select USE_OF
        help
          Support for Freescale MXS-based family of processors
@@@ -480,6 -513,7 +480,6 @@@ config ARCH_IOP13X
        select PCI
        select ARCH_SUPPORTS_MSI
        select VMSPLIT_1G
 -      select NEED_MACH_IO_H
        select NEED_MACH_MEMORY_H
        select NEED_RET_TO_USER
        help
@@@ -489,7 -523,6 +489,7 @@@ config ARCH_IOP32
        bool "IOP32x-based"
        depends on MMU
        select CPU_XSCALE
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        select NEED_RET_TO_USER
        select PLAT_IOP
@@@ -503,7 -536,6 +503,7 @@@ config ARCH_IOP33
        bool "IOP33x-based"
        depends on MMU
        select CPU_XSCALE
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        select NEED_RET_TO_USER
        select PLAT_IOP
@@@ -526,12 -558,25 +526,12 @@@ config ARCH_IXP4X
        help
          Support for Intel's IXP4XX (XScale) family of processors.
  
 -config ARCH_MVEBU
 -      bool "Marvell SOCs with Device Tree support"
 -      select GENERIC_CLOCKEVENTS
 -      select MULTI_IRQ_HANDLER
 -      select SPARSE_IRQ
 -      select CLKSRC_MMIO
 -      select GENERIC_IRQ_CHIP
 -      select IRQ_DOMAIN
 -      select COMMON_CLK
 -      help
 -        Support for the Marvell SoC Family with device tree support
 -
  config ARCH_DOVE
        bool "Marvell Dove"
        select CPU_V7
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the Marvell Dove SoC 88AP510
@@@ -542,6 -587,7 +542,6 @@@ config ARCH_KIRKWOO
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the following Marvell Kirkwood series SoCs:
@@@ -568,6 -614,7 +568,6 @@@ config ARCH_MV78XX
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the following Marvell MV78xx0 series SoCs:
@@@ -580,6 -627,7 +580,6 @@@ config ARCH_ORION5
        select PCI
        select ARCH_REQUIRE_GPIOLIB
        select GENERIC_CLOCKEVENTS
 -      select NEED_MACH_IO_H
        select PLAT_ORION
        help
          Support for the following Marvell Orion 5x series SoCs:
@@@ -597,7 -645,6 +597,7 @@@ config ARCH_MM
        select PLAT_PXA
        select SPARSE_IRQ
        select GENERIC_ALLOCATOR
 +      select NEED_MACH_GPIO_H
        help
          Support for Marvell's PXA168/PXA910(MMP) and MMP2 processor line.
  
@@@ -605,9 -652,8 +605,9 @@@ config ARCH_KS869
        bool "Micrel/Kendin KS8695"
        select CPU_ARM922T
        select ARCH_REQUIRE_GPIOLIB
 -      select ARCH_USES_GETTIMEOFFSET
        select NEED_MACH_MEMORY_H
 +      select CLKSRC_MMIO
 +      select GENERIC_CLOCKEVENTS
        help
          Support for Micrel/Kendin KS8695 "Centaur" (ARM922T) based
          System-on-Chip devices.
@@@ -637,13 -683,40 +637,13 @@@ config ARCH_TEGR
        select HAVE_CLK
        select HAVE_SMP
        select MIGHT_HAVE_CACHE_L2X0
 -      select NEED_MACH_IO_H if PCI
        select ARCH_HAS_CPUFREQ
        select USE_OF
 +      select COMMON_CLK
        help
          This enables support for NVIDIA Tegra based systems (Tegra APX,
          Tegra 6xx and Tegra 2 series).
  
 -config ARCH_PICOXCELL
 -      bool "Picochip picoXcell"
 -      select ARCH_REQUIRE_GPIOLIB
 -      select ARM_PATCH_PHYS_VIRT
 -      select ARM_VIC
 -      select CPU_V6K
 -      select DW_APB_TIMER
 -      select DW_APB_TIMER_OF
 -      select GENERIC_CLOCKEVENTS
 -      select GENERIC_GPIO
 -      select HAVE_TCM
 -      select NO_IOPORT
 -      select SPARSE_IRQ
 -      select USE_OF
 -      help
 -        This enables support for systems based on the Picochip picoXcell
 -        family of Femtocell devices.  The picoxcell support requires device tree
 -        for all boards.
 -
 -config ARCH_PNX4008
 -      bool "Philips Nexperia PNX4008 Mobile"
 -      select CPU_ARM926T
 -      select CLKDEV_LOOKUP
 -      select ARCH_USES_GETTIMEOFFSET
 -      help
 -        This enables support for Philips PNX4008 mobile platform.
 -
  config ARCH_PXA
        bool "PXA2xx/PXA3xx-based"
        depends on MMU
        select MULTI_IRQ_HANDLER
        select ARM_CPU_SUSPEND if PM
        select HAVE_IDE
 +      select NEED_MACH_GPIO_H
        help
          Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
  
@@@ -723,7 -795,6 +723,7 @@@ config ARCH_SA110
        select CLKDEV_LOOKUP
        select ARCH_REQUIRE_GPIOLIB
        select HAVE_IDE
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        select SPARSE_IRQ
        help
@@@ -739,7 -810,6 +739,7 @@@ config ARCH_S3C24X
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_IO_H
        help
          Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
@@@ -767,7 -837,6 +767,7 @@@ config ARCH_S3C64X
        select SAMSUNG_GPIOLIB_4BIT
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        help
          Samsung S3C64XX series based systems
  
@@@ -782,7 -851,6 +782,7 @@@ config ARCH_S5P64X
        select GENERIC_CLOCKEVENTS
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C_RTC if RTC_CLASS
 +      select NEED_MACH_GPIO_H
        help
          Samsung S5P64X0 CPU based systems, such as the Samsung SMDK6440,
          SMDK6450.
@@@ -797,7 -865,6 +797,7 @@@ config ARCH_S5PC10
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        help
          Samsung S5PC100 series based systems
  
@@@ -815,7 -882,6 +815,7 @@@ config ARCH_S5PV21
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        help
          Samsung S5PV210/S5PC110 series based systems
@@@ -833,7 -899,6 +833,7 @@@ config ARCH_EXYNO
        select HAVE_S3C_RTC if RTC_CLASS
        select HAVE_S3C2410_I2C if I2C
        select HAVE_S3C2410_WATCHDOG if WATCHDOG
 +      select NEED_MACH_GPIO_H
        select NEED_MACH_MEMORY_H
        help
          Support for SAMSUNG's EXYNOS SoCs (EXYNOS4/5)
@@@ -847,6 -912,7 +847,6 @@@ config ARCH_SHAR
        select PCI
        select ARCH_USES_GETTIMEOFFSET
        select NEED_MACH_MEMORY_H
 -      select NEED_MACH_IO_H
        help
          Support for the StrongARM based Digital DNARD machine, also known
          as "Shark" (<http://www.shark-linux.de/shark.html>).
@@@ -865,7 -931,6 +865,7 @@@ config ARCH_U30
        select COMMON_CLK
        select GENERIC_GPIO
        select ARCH_REQUIRE_GPIOLIB
 +      select SPARSE_IRQ
        help
          Support for ST-Ericsson U300 series mobile platforms.
  
@@@ -891,7 -956,6 +891,7 @@@ config ARCH_NOMADI
        select COMMON_CLK
        select GENERIC_CLOCKEVENTS
        select PINCTRL
 +      select PINCTRL_STN8815
        select MIGHT_HAVE_CACHE_L2X0
        select ARCH_REQUIRE_GPIOLIB
        help
@@@ -907,7 -971,6 +907,7 @@@ config ARCH_DAVINC
        select GENERIC_ALLOCATOR
        select GENERIC_IRQ_CHIP
        select ARCH_HAS_HOLES_MEMORYMODEL
 +      select NEED_MACH_GPIO_H
        help
          Support for TI's DaVinci platform.
  
@@@ -920,7 -983,6 +920,7 @@@ config ARCH_OMA
        select CLKSRC_MMIO
        select GENERIC_CLOCKEVENTS
        select ARCH_HAS_HOLES_MEMORYMODEL
 +      select NEED_MACH_GPIO_H
        help
          Support for TI's OMAP platform (OMAP1/2/3/4).
  
@@@ -943,10 -1005,6 +943,10 @@@ config ARCH_VT850
        select ARCH_HAS_CPUFREQ
        select GENERIC_CLOCKEVENTS
        select ARCH_REQUIRE_GPIOLIB
 +      select USE_OF
 +      select COMMON_CLK
 +      select HAVE_CLK
 +      select CLKDEV_LOOKUP
        help
          Support for VIA/WonderMedia VT8500/WM85xx System-on-Chip.
  
@@@ -964,50 -1022,6 +964,50 @@@ config ARCH_ZYN
          Support for Xilinx Zynq ARM Cortex A9 Platform
  endchoice
  
 +menu "Multiple platform selection"
 +      depends on ARCH_MULTIPLATFORM
 +
 +comment "CPU Core family selection"
 +
 +config ARCH_MULTI_V4
 +      bool "ARMv4 based platforms (FA526, StrongARM)"
 +      select ARCH_MULTI_V4_V5
 +      depends on !ARCH_MULTI_V6_V7
 +
 +config ARCH_MULTI_V4T
 +      bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
 +      select ARCH_MULTI_V4_V5
 +      depends on !ARCH_MULTI_V6_V7
 +
 +config ARCH_MULTI_V5
 +      bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
 +      select ARCH_MULTI_V4_V5
 +      depends on !ARCH_MULTI_V6_V7
 +
 +config ARCH_MULTI_V4_V5
 +      bool
 +
 +config ARCH_MULTI_V6
 +      bool "ARMv6 based platforms (ARM11, Scorpion, ...)"
 +      select CPU_V6
 +      select ARCH_MULTI_V6_V7
 +
 +config ARCH_MULTI_V7
 +      bool "ARMv7 based platforms (Cortex-A, PJ4, Krait)"
 +      select CPU_V7
 +      select ARCH_VEXPRESS
 +      default y
 +      select ARCH_MULTI_V6_V7
 +
 +config ARCH_MULTI_V6_V7
 +      bool
 +
 +config ARCH_MULTI_CPU_AUTO
 +      def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
 +      select ARCH_MULTI_V5
 +
 +endmenu
 +
  #
  # This is sorted alphabetically by mach-* pathname.  However, plat-*
  # Kconfigs may be included either alphabetically (according to the
@@@ -1017,6 -1031,8 +1017,6 @@@ source "arch/arm/mach-mvebu/Kconfig
  
  source "arch/arm/mach-at91/Kconfig"
  
 -source "arch/arm/mach-bcmring/Kconfig"
 -
  source "arch/arm/mach-clps711x/Kconfig"
  
  source "arch/arm/mach-cns3xxx/Kconfig"
@@@ -1033,8 -1049,6 +1033,8 @@@ source "arch/arm/mach-gemini/Kconfig
  
  source "arch/arm/mach-h720x/Kconfig"
  
 +source "arch/arm/mach-highbank/Kconfig"
 +
  source "arch/arm/mach-integrator/Kconfig"
  
  source "arch/arm/mach-iop32x/Kconfig"
@@@ -1070,8 -1084,6 +1070,8 @@@ source "arch/arm/mach-omap2/Kconfig
  
  source "arch/arm/mach-orion5x/Kconfig"
  
 +source "arch/arm/mach-picoxcell/Kconfig"
 +
  source "arch/arm/mach-pxa/Kconfig"
  source "arch/arm/plat-pxa/Kconfig"
  
@@@ -1084,8 -1096,6 +1084,8 @@@ source "arch/arm/mach-sa1100/Kconfig
  source "arch/arm/plat-samsung/Kconfig"
  source "arch/arm/plat-s3c24xx/Kconfig"
  
 +source "arch/arm/mach-socfpga/Kconfig"
 +
  source "arch/arm/plat-spear/Kconfig"
  
  source "arch/arm/mach-s3c24xx/Kconfig"
@@@ -1108,8 -1118,6 +1108,8 @@@ source "arch/arm/mach-exynos/Kconfig
  
  source "arch/arm/mach-shmobile/Kconfig"
  
 +source "arch/arm/mach-prima2/Kconfig"
 +
  source "arch/arm/mach-tegra/Kconfig"
  
  source "arch/arm/mach-u300/Kconfig"
@@@ -1121,6 -1129,8 +1121,6 @@@ source "arch/arm/mach-versatile/Kconfig
  source "arch/arm/mach-vexpress/Kconfig"
  source "arch/arm/plat-versatile/Kconfig"
  
 -source "arch/arm/mach-vt8500/Kconfig"
 -
  source "arch/arm/mach-w90x900/Kconfig"
  
  # Definitions to make life easier
@@@ -1169,6 -1179,12 +1169,6 @@@ config XSCALE_PM
        depends on CPU_XSCALE
        default y
  
 -config CPU_HAS_PMU
 -      depends on (CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && \
 -                 (!ARCH_OMAP3 || OMAP3_EMU)
 -      default y
 -      bool
 -
  config MULTI_IRQ_HANDLER
        bool
        help
@@@ -1607,7 -1623,6 +1607,7 @@@ config ARCH_NR_GPI
        default 355 if ARCH_U8500
        default 264 if MACH_H4700
        default 512 if SOC_OMAP5
 +      default 288 if ARCH_VT8500
        default 0
        help
          Maximum number of GPIOs in the system.
@@@ -1742,7 -1757,7 +1742,7 @@@ config HIGHPT
  
  config HW_PERF_EVENTS
        bool "Enable hardware performance counter support for perf events"
 -      depends on PERF_EVENTS && CPU_HAS_PMU
 +      depends on PERF_EVENTS
        default y
        help
          Enable hardware performance counter support for perf events. If
@@@ -1766,6 -1781,59 +1766,6 @@@ config FORCE_MAX_ZONEORDE
          This config option is actually maximum order plus one. For example,
          a value of 11 means that the largest free memory block is 2^10 pages.
  
 -config LEDS
 -      bool "Timer and CPU usage LEDs"
 -      depends on ARCH_CDB89712 || ARCH_EBSA110 || \
 -                 ARCH_EBSA285 || ARCH_INTEGRATOR || \
 -                 ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
 -                 ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
 -                 ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
 -                 ARCH_AT91 || ARCH_DAVINCI || \
 -                 ARCH_KS8695 || MACH_RD88F5182 || ARCH_REALVIEW
 -      help
 -        If you say Y here, the LEDs on your machine will be used
 -        to provide useful information about your current system status.
 -
 -        If you are compiling a kernel for a NetWinder or EBSA-285, you will
 -        be able to select which LEDs are active using the options below. If
 -        you are compiling a kernel for the EBSA-110 or the LART however, the
 -        red LED will simply flash regularly to indicate that the system is
 -        still functional. It is safe to say Y here if you have a CATS
 -        system, but the driver will do nothing.
 -
 -config LEDS_TIMER
 -      bool "Timer LED" if (!ARCH_CDB89712 && !ARCH_OMAP) || \
 -                          OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
 -                          || MACH_OMAP_PERSEUS2
 -      depends on LEDS
 -      depends on !GENERIC_CLOCKEVENTS
 -      default y if ARCH_EBSA110
 -      help
 -        If you say Y here, one of the system LEDs (the green one on the
 -        NetWinder, the amber one on the EBSA285, or the red one on the LART)
 -        will flash regularly to indicate that the system is still
 -        operational. This is mainly useful to kernel hackers who are
 -        debugging unstable kernels.
 -
 -        The LART uses the same LED for both Timer LED and CPU usage LED
 -        functions. You may choose to use both, but the Timer LED function
 -        will overrule the CPU usage LED.
 -
 -config LEDS_CPU
 -      bool "CPU usage LED" if (!ARCH_CDB89712 && !ARCH_EBSA110 && \
 -                      !ARCH_OMAP) \
 -                      || OMAP_OSK_MISTRAL || MACH_OMAP_H2 \
 -                      || MACH_OMAP_PERSEUS2
 -      depends on LEDS
 -      help
 -        If you say Y here, the red LED will be used to give a good real
 -        time indication of CPU usage, by lighting whenever the idle task
 -        is not currently executing.
 -
 -        The LART uses the same LED for both Timer LED and CPU usage LED
 -        functions. You may choose to use both, but the Timer LED function
 -        will overrule the CPU usage LED.
 -
  config ALIGNMENT_TRAP
        bool
        depends on CPU_CP15_MMU
@@@ -1829,6 -1897,16 +1829,16 @@@ config DEPRECATED_PARAM_STRUC
          This was deprecated in 2001 and announced to live on for 5 years.
          Some old boot loaders still use this way.
  
+ config XEN_DOM0
+       def_bool y
+       depends on XEN
+ config XEN
+       bool "Xen guest support on ARM (EXPERIMENTAL)"
+       depends on EXPERIMENTAL && ARM && OF
+       help
+         Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
  endmenu
  
  menu "Boot options"
@@@ -1992,7 -2070,7 +2002,7 @@@ endchoic
  
  config XIP_KERNEL
        bool "Kernel Execute-In-Place from ROM"
 -      depends on !ZBOOT_ROM && !ARM_LPAE
 +      depends on !ZBOOT_ROM && !ARM_LPAE && !ARCH_MULTIPLATFORM
        help
          Execute-In-Place allows the kernel to run from non-volatile storage
          directly addressable by the CPU, such as NOR flash. This saves RAM
@@@ -2245,7 -2323,7 +2255,7 @@@ menu "Power management options
  source "kernel/power/Kconfig"
  
  config ARCH_SUSPEND_POSSIBLE
 -      depends on !ARCH_S5PC100 && !ARCH_TEGRA
 +      depends on !ARCH_S5PC100
        depends on CPU_ARM920T || CPU_ARM926T || CPU_SA1100 || \
                CPU_V6 || CPU_V6K || CPU_V7 || CPU_XSC3 || CPU_XSCALE || CPU_MOHAWK
        def_bool y
diff --combined arch/arm/Makefile
index b86e57ef146b0de3af0b41b0e21a8b5834dd0a65,f42968a9fca3d2b229ecc6729b79e525ae87aaa8..40ea991b67824e73b3409191e0f8767ad594f83e
@@@ -135,78 -135,84 +135,78 @@@ textofs-$(CONFIG_ARCH_MSM8960) := 0x002
  
  # Machine directory name.  This list is sorted alphanumerically
  # by CONFIG_* macro name.
 -machine-$(CONFIG_ARCH_AT91)           := at91
 -machine-$(CONFIG_ARCH_BCMRING)                := bcmring
 -machine-$(CONFIG_ARCH_CLPS711X)               := clps711x
 -machine-$(CONFIG_ARCH_CNS3XXX)                := cns3xxx
 -machine-$(CONFIG_ARCH_DAVINCI)                := davinci
 -machine-$(CONFIG_ARCH_DOVE)           := dove
 -machine-$(CONFIG_ARCH_EBSA110)                := ebsa110
 -machine-$(CONFIG_ARCH_EP93XX)         := ep93xx
 -machine-$(CONFIG_ARCH_GEMINI)         := gemini
 -machine-$(CONFIG_ARCH_H720X)          := h720x
 -machine-$(CONFIG_ARCH_HIGHBANK)               := highbank
 -machine-$(CONFIG_ARCH_INTEGRATOR)     := integrator
 -machine-$(CONFIG_ARCH_IOP13XX)                := iop13xx
 -machine-$(CONFIG_ARCH_IOP32X)         := iop32x
 -machine-$(CONFIG_ARCH_IOP33X)         := iop33x
 -machine-$(CONFIG_ARCH_IXP4XX)         := ixp4xx
 -machine-$(CONFIG_ARCH_KIRKWOOD)               := kirkwood
 -machine-$(CONFIG_ARCH_KS8695)         := ks8695
 -machine-$(CONFIG_ARCH_LPC32XX)                := lpc32xx
 -machine-$(CONFIG_ARCH_MMP)            := mmp
 -machine-$(CONFIG_ARCH_MSM)            := msm
 -machine-$(CONFIG_ARCH_MV78XX0)                := mv78xx0
 -machine-$(CONFIG_ARCH_IMX_V4_V5)      := imx
 -machine-$(CONFIG_ARCH_IMX_V6_V7)      := imx
 -machine-$(CONFIG_ARCH_MXS)            := mxs
 -machine-$(CONFIG_ARCH_MVEBU)          := mvebu
 -machine-$(CONFIG_ARCH_NETX)           := netx
 -machine-$(CONFIG_ARCH_NOMADIK)                := nomadik
 -machine-$(CONFIG_ARCH_OMAP1)          := omap1
 -machine-$(CONFIG_ARCH_OMAP2PLUS)      := omap2
 -machine-$(CONFIG_ARCH_ORION5X)                := orion5x
 -machine-$(CONFIG_ARCH_PICOXCELL)      := picoxcell
 -machine-$(CONFIG_ARCH_PNX4008)                := pnx4008
 -machine-$(CONFIG_ARCH_PRIMA2)         := prima2
 -machine-$(CONFIG_ARCH_PXA)            := pxa
 -machine-$(CONFIG_ARCH_REALVIEW)               := realview
 -machine-$(CONFIG_ARCH_RPC)            := rpc
 -machine-$(CONFIG_ARCH_S3C24XX)                := s3c24xx s3c2412 s3c2440
 -machine-$(CONFIG_ARCH_S3C64XX)                := s3c64xx
 -machine-$(CONFIG_ARCH_S5P64X0)                := s5p64x0
 -machine-$(CONFIG_ARCH_S5PC100)                := s5pc100
 -machine-$(CONFIG_ARCH_S5PV210)                := s5pv210
 -machine-$(CONFIG_ARCH_EXYNOS4)                := exynos
 -machine-$(CONFIG_ARCH_EXYNOS5)                := exynos
 -machine-$(CONFIG_ARCH_SA1100)         := sa1100
 -machine-$(CONFIG_ARCH_SHARK)          := shark
 -machine-$(CONFIG_ARCH_SHMOBILE)       := shmobile
 -machine-$(CONFIG_ARCH_TEGRA)          := tegra
 -machine-$(CONFIG_ARCH_U300)           := u300
 -machine-$(CONFIG_ARCH_U8500)          := ux500
 -machine-$(CONFIG_ARCH_VERSATILE)      := versatile
 -machine-$(CONFIG_ARCH_VEXPRESS)               := vexpress
 -machine-$(CONFIG_ARCH_VT8500)         := vt8500
 -machine-$(CONFIG_ARCH_W90X900)                := w90x900
 -machine-$(CONFIG_FOOTBRIDGE)          := footbridge
 -machine-$(CONFIG_ARCH_SOCFPGA)                := socfpga
 -machine-$(CONFIG_MACH_SPEAR1310)      := spear13xx
 -machine-$(CONFIG_MACH_SPEAR1340)      := spear13xx
 -machine-$(CONFIG_MACH_SPEAR300)               := spear3xx
 -machine-$(CONFIG_MACH_SPEAR310)               := spear3xx
 -machine-$(CONFIG_MACH_SPEAR320)               := spear3xx
 -machine-$(CONFIG_MACH_SPEAR600)               := spear6xx
 -machine-$(CONFIG_ARCH_ZYNQ)           := zynq
 +machine-$(CONFIG_ARCH_AT91)           += at91
 +machine-$(CONFIG_ARCH_BCM2835)                += bcm2835
 +machine-$(CONFIG_ARCH_CLPS711X)               += clps711x
 +machine-$(CONFIG_ARCH_CNS3XXX)                += cns3xxx
 +machine-$(CONFIG_ARCH_DAVINCI)                += davinci
 +machine-$(CONFIG_ARCH_DOVE)           += dove
 +machine-$(CONFIG_ARCH_EBSA110)                += ebsa110
 +machine-$(CONFIG_ARCH_EP93XX)         += ep93xx
 +machine-$(CONFIG_ARCH_GEMINI)         += gemini
 +machine-$(CONFIG_ARCH_H720X)          += h720x
 +machine-$(CONFIG_ARCH_HIGHBANK)               += highbank
 +machine-$(CONFIG_ARCH_INTEGRATOR)     += integrator
 +machine-$(CONFIG_ARCH_IOP13XX)                += iop13xx
 +machine-$(CONFIG_ARCH_IOP32X)         += iop32x
 +machine-$(CONFIG_ARCH_IOP33X)         += iop33x
 +machine-$(CONFIG_ARCH_IXP4XX)         += ixp4xx
 +machine-$(CONFIG_ARCH_KIRKWOOD)               += kirkwood
 +machine-$(CONFIG_ARCH_KS8695)         += ks8695
 +machine-$(CONFIG_ARCH_LPC32XX)                += lpc32xx
 +machine-$(CONFIG_ARCH_MMP)            += mmp
 +machine-$(CONFIG_ARCH_MSM)            += msm
 +machine-$(CONFIG_ARCH_MV78XX0)                += mv78xx0
 +machine-$(CONFIG_ARCH_MXC)            += imx
 +machine-$(CONFIG_ARCH_MXS)            += mxs
 +machine-$(CONFIG_ARCH_MVEBU)          += mvebu
 +machine-$(CONFIG_ARCH_NETX)           += netx
 +machine-$(CONFIG_ARCH_NOMADIK)                += nomadik
 +machine-$(CONFIG_ARCH_OMAP1)          += omap1
 +machine-$(CONFIG_ARCH_OMAP2PLUS)      += omap2
 +machine-$(CONFIG_ARCH_ORION5X)                += orion5x
 +machine-$(CONFIG_ARCH_PICOXCELL)      += picoxcell
 +machine-$(CONFIG_ARCH_PRIMA2)         += prima2
 +machine-$(CONFIG_ARCH_PXA)            += pxa
 +machine-$(CONFIG_ARCH_REALVIEW)               += realview
 +machine-$(CONFIG_ARCH_RPC)            += rpc
 +machine-$(CONFIG_ARCH_S3C24XX)                += s3c24xx s3c2412 s3c2440
 +machine-$(CONFIG_ARCH_S3C64XX)                += s3c64xx
 +machine-$(CONFIG_ARCH_S5P64X0)                += s5p64x0
 +machine-$(CONFIG_ARCH_S5PC100)                += s5pc100
 +machine-$(CONFIG_ARCH_S5PV210)                += s5pv210
 +machine-$(CONFIG_ARCH_EXYNOS)         += exynos
 +machine-$(CONFIG_ARCH_SA1100)         += sa1100
 +machine-$(CONFIG_ARCH_SHARK)          += shark
 +machine-$(CONFIG_ARCH_SHMOBILE)       += shmobile
 +machine-$(CONFIG_ARCH_TEGRA)          += tegra
 +machine-$(CONFIG_ARCH_U300)           += u300
 +machine-$(CONFIG_ARCH_U8500)          += ux500
 +machine-$(CONFIG_ARCH_VERSATILE)      += versatile
 +machine-$(CONFIG_ARCH_VEXPRESS)               += vexpress
 +machine-$(CONFIG_ARCH_VT8500)         += vt8500
 +machine-$(CONFIG_ARCH_W90X900)                += w90x900
 +machine-$(CONFIG_FOOTBRIDGE)          += footbridge
 +machine-$(CONFIG_ARCH_SOCFPGA)                += socfpga
 +machine-$(CONFIG_ARCH_SPEAR13XX)      += spear13xx
 +machine-$(CONFIG_ARCH_SPEAR3XX)               += spear3xx
 +machine-$(CONFIG_MACH_SPEAR600)               += spear6xx
 +machine-$(CONFIG_ARCH_ZYNQ)           += zynq
  
  # Platform directory name.  This list is sorted alphanumerically
  # by CONFIG_* macro name.
 -plat-$(CONFIG_ARCH_MXC)               := mxc
 -plat-$(CONFIG_ARCH_OMAP)      := omap
 -plat-$(CONFIG_ARCH_S3C64XX)   := samsung
 -plat-$(CONFIG_ARCH_ZYNQ)      := versatile
 -plat-$(CONFIG_PLAT_IOP)               := iop
 -plat-$(CONFIG_PLAT_NOMADIK)   := nomadik
 -plat-$(CONFIG_PLAT_ORION)     := orion
 -plat-$(CONFIG_PLAT_PXA)               := pxa
 -plat-$(CONFIG_PLAT_S3C24XX)   := s3c24xx samsung
 -plat-$(CONFIG_PLAT_S5P)               := samsung
 -plat-$(CONFIG_PLAT_SPEAR)     := spear
 -plat-$(CONFIG_PLAT_VERSATILE) := versatile
 +plat-$(CONFIG_ARCH_MXC)               += mxc
 +plat-$(CONFIG_ARCH_OMAP)      += omap
 +plat-$(CONFIG_ARCH_S3C64XX)   += samsung
 +plat-$(CONFIG_ARCH_ZYNQ)      += versatile
 +plat-$(CONFIG_PLAT_IOP)               += iop
 +plat-$(CONFIG_PLAT_NOMADIK)   += nomadik
 +plat-$(CONFIG_PLAT_ORION)     += orion
 +plat-$(CONFIG_PLAT_PXA)               += pxa
 +plat-$(CONFIG_PLAT_S3C24XX)   += s3c24xx samsung
 +plat-$(CONFIG_PLAT_S5P)               += samsung
 +plat-$(CONFIG_PLAT_SPEAR)     += spear
 +plat-$(CONFIG_PLAT_VERSATILE) += versatile
  
  ifeq ($(CONFIG_ARCH_EBSA110),y)
  # This is what happens if you forget the IOCS16 line.
@@@ -224,20 -230,15 +224,20 @@@ MACHINE  := arch/arm/mach-$(word 1,$(ma
  else
  MACHINE  :=
  endif
 +ifeq ($(CONFIG_ARCH_MULTIPLATFORM),y)
 +MACHINE  :=
 +endif
  
  machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
  platdirs := $(patsubst %,arch/arm/plat-%/,$(plat-y))
  
 +ifneq ($(CONFIG_ARCH_MULTIPLATFORM),y)
  ifeq ($(KBUILD_SRC),)
  KBUILD_CPPFLAGS += $(patsubst %,-I%include,$(machdirs) $(platdirs))
  else
  KBUILD_CPPFLAGS += $(patsubst %,-I$(srctree)/%include,$(machdirs) $(platdirs))
  endif
 +endif
  
  export        TEXT_OFFSET GZFLAGS MMUEXT
  
@@@ -250,11 -251,11 +250,12 @@@ endi
  core-$(CONFIG_FPE_NWFPE)      += arch/arm/nwfpe/
  core-$(CONFIG_FPE_FASTFPE)    += $(FASTFPE_OBJ)
  core-$(CONFIG_VFP)            += arch/arm/vfp/
+ core-$(CONFIG_XEN)            += arch/arm/xen/
  
  # If we have a machine-specific directory, then include it in the build.
  core-y                                += arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
  core-y                                += arch/arm/net/
 +core-y                                += arch/arm/crypto/
  core-y                                += $(machdirs) $(platdirs)
  
  drivers-$(CONFIG_OPROFILE)      += arch/arm/oprofile/
@@@ -284,10 -285,10 +285,10 @@@ zImage Image xipImage bootpImage uImage
  zinstall uinstall install: vmlinux
        $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $@
  
 -%.dtb:
 +%.dtb: scripts
        $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
  
 -dtbs:
 +dtbs: scripts
        $(Q)$(MAKE) $(build)=$(boot) MACHINE=$(MACHINE) $(boot)/$@
  
  # We use MRPROPER_FILES and CLEAN_FILES now
index 43c084c2cd6682074e45c57090c0d3ee4a2e38d0,0000000000000000000000000000000000000000..4745c1f68b4983468e2e23b724deffe0085afacb
mode 100644,000000..100644
--- /dev/null
@@@ -1,101 -1,0 +1,102 @@@
-       vexpress-v2p-ca15_a7.dtb
 +ifeq ($(CONFIG_OF),y)
 +
 +dtb-$(CONFIG_ARCH_AT91) += aks-cdu.dtb \
 +      at91sam9263ek.dtb \
 +      at91sam9g20ek_2mmc.dtb \
 +      at91sam9g20ek.dtb \
 +      at91sam9g25ek.dtb \
 +      at91sam9m10g45ek.dtb \
 +      at91sam9n12ek.dtb \
 +      ethernut5.dtb \
 +      evk-pro3.dtb \
 +      kizbox.dtb \
 +      tny_a9260.dtb \
 +      tny_a9263.dtb \
 +      tny_a9g20.dtb \
 +      usb_a9260.dtb \
 +      usb_a9263.dtb \
 +      usb_a9g20.dtb
 +dtb-$(CONFIG_ARCH_BCM2835) += bcm2835-rpi-b.dtb
 +dtb-$(CONFIG_ARCH_EXYNOS) += exynos4210-origen.dtb \
 +      exynos4210-smdkv310.dtb \
 +      exynos4210-trats.dtb \
 +      exynos5250-smdk5250.dtb
 +dtb-$(CONFIG_ARCH_HIGHBANK) += highbank.dtb
 +dtb-$(CONFIG_ARCH_IMX5) += imx51-babbage.dtb \
 +      imx53-ard.dtb \
 +      imx53-evk.dtb \
 +      imx53-qsb.dtb \
 +      imx53-smd.dtb
 +dtb-$(CONFIG_SOC_IMX6Q) += imx6q-arm2.dtb \
 +      imx6q-sabrelite.dtb \
 +      imx6q-sabresd.dtb
 +dtb-$(CONFIG_ARCH_LPC32XX) += ea3250.dtb phy3250.dtb
 +dtb-$(CONFIG_ARCH_KIRKWOOD) += kirkwood-dns320.dtb \
 +      kirkwood-dns325.dtb \
 +      kirkwood-dreamplug.dtb \
 +      kirkwood-goflexnet.dtb \
 +      kirkwood-ib62x0.dtb \
 +      kirkwood-iconnect.dtb \
 +      kirkwood-lschlv2.dtb \
 +      kirkwood-lsxhl.dtb \
 +      kirkwood-ts219-6281.dtb \
 +      kirkwood-ts219-6282.dtb
 +dtb-$(CONFIG_ARCH_MSM) += msm8660-surf.dtb \
 +      msm8960-cdp.dtb
 +dtb-$(CONFIG_ARCH_MVEBU) += armada-370-db.dtb \
 +      armada-xp-db.dtb
 +dtb-$(CONFIG_ARCH_MXC) += imx51-babbage.dtb \
 +      imx53-ard.dtb \
 +      imx53-evk.dtb \
 +      imx53-qsb.dtb \
 +      imx53-smd.dtb \
 +      imx6q-arm2.dtb \
 +      imx6q-sabrelite.dtb \
 +      imx6q-sabresd.dtb
 +dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
 +      imx23-olinuxino.dtb \
 +      imx23-stmp378x_devb.dtb \
 +      imx28-apx4devkit.dtb \
 +      imx28-cfa10036.dtb \
 +      imx28-cfa10049.dtb \
 +      imx28-evk.dtb \
 +      imx28-m28evk.dtb \
 +      imx28-tx28.dtb
 +dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
 +      omap3-beagle-xm.dtb \
 +      omap3-evm.dtb \
 +      omap3-tobi.dtb \
 +      omap4-panda.dtb \
 +      omap4-pandaES.dtb \
 +      omap4-var_som.dtb \
 +      omap4-sdp.dtb \
 +      omap5-evm.dtb
 +dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
 +dtb-$(CONFIG_ARCH_U8500) += snowball.dtb
 +dtb-$(CONFIG_ARCH_SHMOBILE) += emev2-kzm9d.dtb \
 +      r8a7740-armadillo800eva.dtb \
 +      sh73a0-kzm9g.dtb
 +dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
 +      spear1340-evb.dtb
 +dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
 +      spear310-evb.dtb \
 +      spear320-evb.dtb
 +dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
 +dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
 +      tegra20-medcom-wide.dtb \
 +      tegra20-paz00.dtb \
 +      tegra20-plutux.dtb \
 +      tegra20-seaboard.dtb \
 +      tegra20-tec.dtb \
 +      tegra20-trimslice.dtb \
 +      tegra20-ventana.dtb \
 +      tegra20-whistler.dtb \
 +      tegra30-cardhu-a02.dtb \
 +      tegra30-cardhu-a04.dtb
 +dtb-$(CONFIG_ARCH_VEXPRESS) += vexpress-v2p-ca5s.dtb \
 +      vexpress-v2p-ca9.dtb \
 +      vexpress-v2p-ca15-tc1.dtb \
++      vexpress-v2p-ca15_a7.dtb \
++      xenvm-4.2.dtb
 +
 +endif
index 5f6b7d543e55ffb5f519043a85466683b9557dd1,0a79b085ceafdbd84ceddd8ca76df63536e75923..560e0df728f89931826f080cfe87dda6abcec128
@@@ -5,7 -5,6 +5,7 @@@
  #include <linux/amba/bus.h>
  #include <linux/amba/mmci.h>
  #include <linux/io.h>
 +#include <linux/smp.h>
  #include <linux/init.h>
  #include <linux/of_address.h>
  #include <linux/of_fdt.h>
@@@ -39,7 -38,6 +39,7 @@@
  #include <mach/motherboard.h>
  
  #include <plat/sched_clock.h>
 +#include <plat/platsmp.h>
  
  #include "core.h"
  
@@@ -532,7 -530,6 +532,7 @@@ static void __init v2m_init(void
  
  MACHINE_START(VEXPRESS, "ARM-Versatile Express")
        .atag_offset    = 0x100,
 +      .smp            = smp_ops(vexpress_smp_ops),
        .map_io         = v2m_map_io,
        .init_early     = v2m_init_early,
        .init_irq       = v2m_init_irq,
        .restart        = v2m_restart,
  MACHINE_END
  
 -#if defined(CONFIG_ARCH_VEXPRESS_DT)
 -
  static struct map_desc v2m_rs1_io_desc __initdata = {
        .virtual        = V2M_PERIPH,
        .pfn            = __phys_to_pfn(0x1c000000),
@@@ -659,12 -658,12 +659,13 @@@ static void __init v2m_dt_init(void
  
  const static char *v2m_dt_match[] __initconst = {
        "arm,vexpress",
+       "xen,xenvm",
        NULL,
  };
  
  DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express")
        .dt_compat      = v2m_dt_match,
 +      .smp            = smp_ops(vexpress_smp_ops),
        .map_io         = v2m_dt_map_io,
        .init_early     = v2m_dt_init_early,
        .init_irq       = v2m_dt_init_irq,
        .handle_irq     = gic_handle_irq,
        .restart        = v2m_restart,
  MACHINE_END
 -
 -#endif
index 1707cfa928fbff64b74a85a2de28c345308353fc,28fc6211a79a158046f33c8e28652e2719963670..6d2f75a82a14bca62162f38cde9fff8e6404bec9
@@@ -51,6 -51,7 +51,7 @@@
   * with Xen so that on ARM we can have one ABI that works for 32 and 64
   * bit guests. */
  typedef unsigned long xen_pfn_t;
+ typedef unsigned long xen_ulong_t;
  /* Guest handles for primitive C types. */
  __DEFINE_GUEST_HANDLE(uchar, unsigned char);
  __DEFINE_GUEST_HANDLE(uint,  unsigned int);
@@@ -121,9 -122,9 +122,9 @@@ struct arch_shared_info 
  #endif        /* !__ASSEMBLY__ */
  
  #ifdef CONFIG_X86_32
 -#include "interface_32.h"
 +#include <asm/xen/interface_32.h>
  #else
 -#include "interface_64.h"
 +#include <asm/xen/interface_64.h>
  #endif
  
  #include <asm/pvclock-abi.h>
diff --combined arch/x86/xen/enlighten.c
index 2d932c351f91fec22daa30d1a1aabe20a772a2bb,70f140447a28e1cc27ae87540659abc43d67219d..bf788d34530df5fbb93e60bb64023d80f7bbedf3
@@@ -33,6 -33,7 +33,7 @@@
  #include <linux/memblock.h>
  
  #include <xen/xen.h>
+ #include <xen/events.h>
  #include <xen/interface/xen.h>
  #include <xen/interface/version.h>
  #include <xen/interface/physdev.h>
@@@ -1459,10 -1460,6 +1460,10 @@@ asmlinkage void __init xen_start_kernel
                pci_request_acs();
  
                xen_acpi_sleep_register();
 +
 +              /* Avoid searching for BIOS MP tables */
 +              x86_init.mpparse.find_smp_config = x86_init_noop;
 +              x86_init.mpparse.get_smp_config = x86_init_uint_noop;
        }
  #ifdef CONFIG_PCI
        /* PCI BIOS service won't work from a PV guest. */
index c6decb901e5e16f4ba09ccef7db33675aeecb189,63dd5b96b65a75b68896570344971211584f98f4..280a13846e6cb06e1f774dd927598c1f3bfa5a8c
@@@ -42,6 -42,7 +42,7 @@@
  
  #include <xen/events.h>
  #include <xen/page.h>
+ #include <xen/xen.h>
  #include <asm/xen/hypervisor.h>
  #include <asm/xen/hypercall.h>
  #include "common.h"
@@@ -337,7 -338,7 +338,7 @@@ static void xen_blkbk_unmap(struct pend
                invcount++;
        }
  
 -      ret = gnttab_unmap_refs(unmap, pages, invcount, false);
 +      ret = gnttab_unmap_refs(unmap, NULL, pages, invcount);
        BUG_ON(ret);
  }
  
index c934fe8583f5f17c33a577993a934205db2d3609,24d968ddb543935532113b1d03821c6a0f85661e..caa011008cd0c9fe11b38507e7f550552bd93170
@@@ -43,6 -43,7 +43,7 @@@
  #include <linux/slab.h>
  #include <net/ip.h>
  
+ #include <asm/xen/page.h>
  #include <xen/xen.h>
  #include <xen/xenbus.h>
  #include <xen/events.h>
@@@ -1712,7 -1713,7 +1713,7 @@@ static void netback_changed(struct xenb
                break;
  
        case XenbusStateConnected:
 -              netif_notify_peers(netdev);
 +              netdev_notify_peers(netdev);
                break;
  
        case XenbusStateClosing:
diff --combined drivers/xen/Makefile
index a4a3cab2f4596c4f1681a999bebf6353307d5084,275abfc615cb399199aa9426725c2840c723d92b..0e86370354572ac7d4116eb70cf6e41d1a52cf35
@@@ -1,11 -1,18 +1,19 @@@
- obj-y += grant-table.o features.o events.o manage.o balloon.o
+ ifneq ($(CONFIG_ARM),y)
+ obj-y += manage.o balloon.o
+ obj-$(CONFIG_HOTPLUG_CPU)             += cpu_hotplug.o
+ endif
+ obj-y += grant-table.o features.o events.o
  obj-y += xenbus/
  
  nostackp := $(call cc-option, -fno-stack-protector)
  CFLAGS_features.o                     := $(nostackp)
  
+ dom0-$(CONFIG_PCI) += pci.o
++dom0-$(CONFIG_USB_SUPPORT) += dbgp.o
+ dom0-$(CONFIG_ACPI) += acpi.o
+ dom0-$(CONFIG_X86) += pcpu.o
+ obj-$(CONFIG_XEN_DOM0)                        += $(dom0-y)
  obj-$(CONFIG_BLOCK)                   += biomerge.o
- obj-$(CONFIG_HOTPLUG_CPU)             += cpu_hotplug.o
  obj-$(CONFIG_XEN_XENCOMM)             += xencomm.o
  obj-$(CONFIG_XEN_BALLOON)             += xen-balloon.o
  obj-$(CONFIG_XEN_SELFBALLOONING)      += xen-selfballoon.o
@@@ -17,8 -24,6 +25,6 @@@ obj-$(CONFIG_XEN_SYS_HYPERVISOR)      += sys
  obj-$(CONFIG_XEN_PVHVM)                       += platform-pci.o
  obj-$(CONFIG_XEN_TMEM)                        += tmem.o
  obj-$(CONFIG_SWIOTLB_XEN)             += swiotlb-xen.o
- obj-$(CONFIG_XEN_DOM0)                        += pcpu.o
- obj-$(CONFIG_XEN_DOM0)                        += pci.o dbgp.o acpi.o
  obj-$(CONFIG_XEN_MCE_LOG)             += mcelog.o
  obj-$(CONFIG_XEN_PCIDEV_BACKEND)      += xen-pciback/
  obj-$(CONFIG_XEN_PRIVCMD)             += xen-privcmd.o
index bfa1d50fe15bed0c5d2b37d392454ce5e6d56d02,f616514f781b756d6a5828bea9a169e70852ed45..1844d31f45520fef57c93be90ba7e247e1a0b042
@@@ -56,7 -56,7 +56,7 @@@ struct physdev_eoi 
  #define PHYSDEVOP_pirq_eoi_gmfn_v2       28
  struct physdev_pirq_eoi_gmfn {
      /* IN */
-     unsigned long gmfn;
+     xen_ulong_t gmfn;
  };
  
  /*
@@@ -258,22 -258,6 +258,22 @@@ struct physdev_pci_device 
      uint8_t devfn;
  };
  
 +#define PHYSDEVOP_DBGP_RESET_PREPARE    1
 +#define PHYSDEVOP_DBGP_RESET_DONE       2
 +
 +#define PHYSDEVOP_DBGP_BUS_UNKNOWN      0
 +#define PHYSDEVOP_DBGP_BUS_PCI          1
 +
 +#define PHYSDEVOP_dbgp_op               29
 +struct physdev_dbgp_op {
 +    /* IN */
 +    uint8_t op;
 +    uint8_t bus;
 +    union {
 +        struct physdev_pci_device pci;
 +    } u;
 +};
 +
  /*
   * Notify that some PIRQ-bound event channels have been unmasked.
   * ** This command is obsolete since interface version 0x00030202 and is **
index 5f5e551cf546548a034e7423387a1a2e8e2f09db,3030c81c09cec133e467500db5f96fc973888ec2..7ff6498679a371e218137b3b5d2e6f1691304795
@@@ -45,7 -45,7 +45,7 @@@ struct xen_changeset_info 
  
  #define XENVER_platform_parameters 5
  struct xen_platform_parameters {
-     unsigned long virt_start;
+     xen_ulong_t virt_start;
  };
  
  #define XENVER_get_features 6
@@@ -55,7 -55,7 +55,7 @@@ struct xen_feature_info 
  };
  
  /* Declares the features reported by XENVER_get_features. */
 -#include "features.h"
 +#include <xen/interface/features.h>
  
  /* arg == NULL; returns host memory page size. */
  #define XENVER_pagesize 7
This page took 0.141435 seconds and 4 git commands to generate.