Pull xpc-disengage into release branch
authorTony Luck <tony.luck@intel.com>
Fri, 28 Oct 2005 22:27:03 +0000 (15:27 -0700)
committerTony Luck <tony.luck@intel.com>
Fri, 28 Oct 2005 22:27:03 +0000 (15:27 -0700)
1  2 
arch/ia64/sn/kernel/xpc_main.c
arch/ia64/sn/kernel/xpc_partition.c
include/asm-ia64/sn/xp.h

index ed7c21586e98e44bcc3f815144c4bc40336c33b6,38f2c699192c053f60be99db9f58fbd0969a283a..cece3c7c69be399d39031ab80fcbe697a8b97b38
@@@ -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;
        }
index 72ef330fb78494922cc0dc7b6bf2c625a55aeff8,ce5a37ff4388f706cfa46ee746d261437dedbf24..581e113d2d375df458f40f9c60c9d4cd79d6c8b3
@@@ -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;
  
Simple merge