]> git.neil.brown.name Git - history.git/commitdiff
ia64: Various small fixes.
authorDavid Mosberger <davidm@tiger.hpl.hp.com>
Thu, 23 May 2002 10:20:52 +0000 (03:20 -0700)
committerDavid Mosberger <davidm@tiger.hpl.hp.com>
Thu, 23 May 2002 10:20:52 +0000 (03:20 -0700)
arch/ia64/kernel/pal.S
arch/ia64/kernel/setup.c
arch/ia64/kernel/signal.c
include/asm-ia64/unistd.h

index aaaa0352b91f10c9befb3cfe56903ef739e3051f..a60bd219f431653178fc100b57bc6fd17abdbefd 100644 (file)
@@ -216,7 +216,7 @@ GLOBAL_ENTRY(ia64_pal_call_phys_stacked)
        mov out3 = in3          // copy arg3
        ;;
        mov loc3 = psr          // save psr
-       ;; 
+       ;;
        mov loc4=ar.rsc                 // save RSE configuration
        dep.z loc2=loc2,0,61            // convert pal entry point to physical
        ;;
index ee6c8af1714ed9c6fedcc6053ad29ade22278685..e74a939363af8604442c387961c2fff4dc7c0012 100644 (file)
@@ -559,6 +559,24 @@ cpu_init (void)
         */
        identify_cpu(my_cpu_info);
 
+#ifdef CONFIG_MCKINLEY
+       {
+#define FEATURE_SET 16
+               struct ia64_pal_retval iprv;
+
+               if (my_cpu_data->family == 0x1f) {
+
+                       PAL_CALL_PHYS(iprv, PAL_PROC_GET_FEATURES, 0, FEATURE_SET, 0);
+
+                       if ((iprv.status == 0) && (iprv.v0 & 0x80) && (iprv.v2 & 0x80)) {
+
+                               PAL_CALL_PHYS(iprv, PAL_PROC_SET_FEATURES,
+                                             (iprv.v1 | 0x80), FEATURE_SET, 0);
+                       }
+               }
+       }
+#endif
+
        /* Clear the stack memory reserved for pt_regs: */
        memset(ia64_task_regs(current), 0, sizeof(struct pt_regs));
 
@@ -570,7 +588,7 @@ cpu_init (void)
         * shouldn't be affected by this (moral: keep your ia32 locks aligned and you'll
         * be fine).
         */
-       ia64_set_dcr(  IA64_DCR_DM | IA64_DCR_DP | IA64_DCR_DK | IA64_DCR_DX | IA64_DCR_DR
+       ia64_set_dcr(  IA64_DCR_DP | IA64_DCR_DK | IA64_DCR_DX | IA64_DCR_DR
                     | IA64_DCR_DA | IA64_DCR_DD | IA64_DCR_LC);
 #ifndef CONFIG_SMP
        ia64_set_fpu_owner(0);
index 852d9d4557b79f37d8531e442d9b8953cab5e9ce..603200a1d0c0465c3374c313b0d5d5b2c1117b83 100644 (file)
@@ -143,9 +143,10 @@ copy_siginfo_to_user (siginfo_t *to, siginfo_t *from)
 {
        if (!access_ok(VERIFY_WRITE, to, sizeof(siginfo_t)))
                return -EFAULT;
-       if (from->si_code < 0)
-               return __copy_to_user(to, from, sizeof(siginfo_t));
-       else {
+       if (from->si_code < 0) {
+               if (__copy_to_user(to, from, sizeof(siginfo_t)))
+                       return -EFAULT;
+       } else {
                int err;
 
                /*
index 48b175af1b08ab9241afcf3f2c66152cbc948c64..3da9c7abd276c97aa3c14e1d7f02b364efe416d8 100644 (file)
 #define __NR_futex                     1230
 #define __NR_sched_setaffinity         1231
 #define __NR_sched_getaffinity         1232
+#define __NR_security                  1233
 
 #if !defined(__ASSEMBLY__) && !defined(ASSEMBLER)