From: Tony Luck Date: Fri, 28 Oct 2005 22:27:03 +0000 (-0700) Subject: Pull xpc-disengage into release branch X-Git-Url: https://git.stricted.de/?p=GitHub%2Fmt8127%2Fandroid_kernel_alcatel_ttab.git;a=commitdiff_plain;h=fac84ef26759a3725bfc53ae3abf21976360aff3 Pull xpc-disengage into release branch --- fac84ef26759a3725bfc53ae3abf21976360aff3 diff --cc arch/ia64/sn/kernel/xpc_main.c index ed7c21586e98,38f2c699192c..cece3c7c69be --- a/arch/ia64/sn/kernel/xpc_main.c +++ b/arch/ia64/sn/kernel/xpc_main.c @@@ -885,17 -1047,13 +1047,17 @@@ xpc_init(void pid_t pid; + if (!ia64_platform_is("sn2")) { + return -ENODEV; + } + /* * xpc_remote_copy_buffer is used as a temporary buffer for bte_copy'ng - * both a partition's reserved page and its XPC variables. Its size was - * based on the size of a reserved page. So we need to ensure that the - * XPC variables will fit as well. + * various portions of a partition's reserved page. Its size is based + * on the size of the reserved page header and part_nasids mask. So we + * need to ensure that the other items will fit as well. */ - if (XPC_VARS_ALIGNED_SIZE > XPC_RSVD_PAGE_ALIGNED_SIZE) { + if (XPC_RP_VARS_SIZE > XPC_RP_HEADER_SIZE + XP_NASID_MASK_BYTES) { dev_err(xpc_part, "xpc_remote_copy_buffer is not big enough\n"); return -EPERM; } diff --cc arch/ia64/sn/kernel/xpc_partition.c index 72ef330fb784,ce5a37ff4388..581e113d2d37 --- a/arch/ia64/sn/kernel/xpc_partition.c +++ b/arch/ia64/sn/kernel/xpc_partition.c @@@ -44,13 -44,13 +44,13 @@@ static u64 xpc_sh2_IPI_access3 /* original protection values for each node */ -u64 xpc_prot_vec[MAX_COMPACT_NODES]; +u64 xpc_prot_vec[MAX_NUMNODES]; - /* this partition's reserved page */ + /* this partition's reserved page pointers */ struct xpc_rsvd_page *xpc_rsvd_page; - - /* this partition's XPC variables (within the reserved page) */ + static u64 *xpc_part_nasids; + static u64 *xpc_mach_nasids; struct xpc_vars *xpc_vars; struct xpc_vars_part *xpc_vars_part;