提交 a5e75363 编写于 作者: L Linus Torvalds

Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6

* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
  [IA64] xen_domu build fix
  [IA64] fixes configs and add default config for ia64 xen domU
  [IA64] Remove redundant cpu_clear() in __cpu_disable path
  [IA64] Revert "prevent ia64 from invoking irq handlers on offline CPUs"
  [IA64] bte_copy of BTE_MAX_XFER trips BUG_ON.
  [IA64] Build fix for __early_pfn_to_nid() undefined link error
...@@ -221,7 +221,11 @@ config IA64_HP_SIM ...@@ -221,7 +221,11 @@ config IA64_HP_SIM
config IA64_XEN_GUEST config IA64_XEN_GUEST
bool "Xen guest" bool "Xen guest"
select SWIOTLB
depends on XEN depends on XEN
help
Build a kernel that runs on Xen guest domain. At this moment only
16KB page size in supported.
endchoice endchoice
...@@ -479,8 +483,7 @@ config HOLES_IN_ZONE ...@@ -479,8 +483,7 @@ config HOLES_IN_ZONE
default y if VIRTUAL_MEM_MAP default y if VIRTUAL_MEM_MAP
config HAVE_ARCH_EARLY_PFN_TO_NID config HAVE_ARCH_EARLY_PFN_TO_NID
def_bool y def_bool NUMA && SPARSEMEM
depends on NEED_MULTIPLE_NODES
config HAVE_ARCH_NODEDATA_EXTENSION config HAVE_ARCH_NODEDATA_EXTENSION
def_bool y def_bool y
......
此差异已折叠。
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
/* BTE status register only supports 16 bits for length field */ /* BTE status register only supports 16 bits for length field */
#define BTE_LEN_BITS (16) #define BTE_LEN_BITS (16)
#define BTE_LEN_MASK ((1 << BTE_LEN_BITS) - 1) #define BTE_LEN_MASK ((1 << BTE_LEN_BITS) - 1)
#define BTE_MAX_XFER ((1 << BTE_LEN_BITS) * L1_CACHE_BYTES) #define BTE_MAX_XFER (BTE_LEN_MASK << L1_CACHE_SHIFT)
/* Define hardware */ /* Define hardware */
......
...@@ -736,14 +736,15 @@ int __cpu_disable(void) ...@@ -736,14 +736,15 @@ int __cpu_disable(void)
return -EBUSY; return -EBUSY;
} }
cpu_clear(cpu, cpu_online_map);
if (migrate_platform_irqs(cpu)) { if (migrate_platform_irqs(cpu)) {
cpu_set(cpu, cpu_online_map); cpu_set(cpu, cpu_online_map);
return (-EBUSY); return -EBUSY;
} }
remove_siblinginfo(cpu); remove_siblinginfo(cpu);
fixup_irqs(); fixup_irqs();
cpu_clear(cpu, cpu_online_map);
local_flush_tlb_all(); local_flush_tlb_all();
cpu_clear(cpu, cpu_callin_map); cpu_clear(cpu, cpu_callin_map);
return 0; return 0;
......
...@@ -97,9 +97,10 @@ bte_result_t bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification) ...@@ -97,9 +97,10 @@ bte_result_t bte_copy(u64 src, u64 dest, u64 len, u64 mode, void *notification)
return BTE_SUCCESS; return BTE_SUCCESS;
} }
BUG_ON((len & L1_CACHE_MASK) || BUG_ON(len & L1_CACHE_MASK);
(src & L1_CACHE_MASK) || (dest & L1_CACHE_MASK)); BUG_ON(src & L1_CACHE_MASK);
BUG_ON(!(len < ((BTE_LEN_MASK + 1) << L1_CACHE_SHIFT))); BUG_ON(dest & L1_CACHE_MASK);
BUG_ON(len > BTE_MAX_XFER);
/* /*
* Start with interface corresponding to cpu number * Start with interface corresponding to cpu number
......
...@@ -8,8 +8,7 @@ config XEN ...@@ -8,8 +8,7 @@ config XEN
depends on PARAVIRT && MCKINLEY && IA64_PAGE_SIZE_16KB && EXPERIMENTAL depends on PARAVIRT && MCKINLEY && IA64_PAGE_SIZE_16KB && EXPERIMENTAL
select XEN_XENCOMM select XEN_XENCOMM
select NO_IDLE_HZ select NO_IDLE_HZ
# followings are required to save/restore.
# those are required to save/restore.
select ARCH_SUSPEND_POSSIBLE select ARCH_SUSPEND_POSSIBLE
select SUSPEND select SUSPEND
select PM_SLEEP select PM_SLEEP
......
...@@ -153,7 +153,7 @@ xen_post_smp_prepare_boot_cpu(void) ...@@ -153,7 +153,7 @@ xen_post_smp_prepare_boot_cpu(void)
xen_setup_vcpu_info_placement(); xen_setup_vcpu_info_placement();
} }
static const struct pv_init_ops xen_init_ops __initdata = { static const struct pv_init_ops xen_init_ops __initconst = {
.banner = xen_banner, .banner = xen_banner,
.reserve_memory = xen_reserve_memory, .reserve_memory = xen_reserve_memory,
...@@ -337,7 +337,7 @@ xen_iosapic_write(char __iomem *iosapic, unsigned int reg, u32 val) ...@@ -337,7 +337,7 @@ xen_iosapic_write(char __iomem *iosapic, unsigned int reg, u32 val)
HYPERVISOR_physdev_op(PHYSDEVOP_apic_write, &apic_op); HYPERVISOR_physdev_op(PHYSDEVOP_apic_write, &apic_op);
} }
static const struct pv_iosapic_ops xen_iosapic_ops __initdata = { static const struct pv_iosapic_ops xen_iosapic_ops __initconst = {
.pcat_compat_init = xen_pcat_compat_init, .pcat_compat_init = xen_pcat_compat_init,
.__get_irq_chip = xen_iosapic_get_irq_chip, .__get_irq_chip = xen_iosapic_get_irq_chip,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册