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
This commit is contained in:
commit
a5e7536388
|
@ -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
|
||||||
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
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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)
|
||||||
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)
|
||||||
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
|
||||||
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)
|
||||||
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)
|
||||||
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,
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue