fault.c (1ec2772e0c3ca3159035c03165355e355efc326b) | fault.c (e22cf8ca6f75a6c4fccf2d6ee818bdb1205f32e6) |
---|---|
1/* 2 * S390 version 3 * Copyright IBM Corp. 1999 4 * Author(s): Hartmut Penner (hp@de.ibm.com) 5 * Ulrich Weigand (uweigand@de.ibm.com) 6 * 7 * Derived from "arch/i386/mm/fault.c" 8 * Copyright (C) 1995 Linus Torvalds --- 576 unchanged lines hidden (view full) --- 585 586int pfault_init(void) 587{ 588 struct pfault_refbk refbk = { 589 .refdiagc = 0x258, 590 .reffcode = 0, 591 .refdwlen = 5, 592 .refversn = 2, | 1/* 2 * S390 version 3 * Copyright IBM Corp. 1999 4 * Author(s): Hartmut Penner (hp@de.ibm.com) 5 * Ulrich Weigand (uweigand@de.ibm.com) 6 * 7 * Derived from "arch/i386/mm/fault.c" 8 * Copyright (C) 1995 Linus Torvalds --- 576 unchanged lines hidden (view full) --- 585 586int pfault_init(void) 587{ 588 struct pfault_refbk refbk = { 589 .refdiagc = 0x258, 590 .reffcode = 0, 591 .refdwlen = 5, 592 .refversn = 2, |
593 .refgaddr = __LC_CURRENT_PID, | 593 .refgaddr = __LC_LPP, |
594 .refselmk = 1ULL << 48, 595 .refcmpmk = 1ULL << 48, 596 .reserved = __PF_RES_FIELD }; 597 int rc; 598 599 if (pfault_disable) 600 return -1; 601 diag_stat_inc(DIAG_STAT_X258); --- 42 unchanged lines hidden (view full) --- 644 * in the 'cpu address' field associated with the 645 * external interrupt. 646 */ 647 subcode = ext_code.subcode; 648 if ((subcode & 0xff00) != __SUBCODE_MASK) 649 return; 650 inc_irq_stat(IRQEXT_PFL); 651 /* Get the token (= pid of the affected task). */ | 594 .refselmk = 1ULL << 48, 595 .refcmpmk = 1ULL << 48, 596 .reserved = __PF_RES_FIELD }; 597 int rc; 598 599 if (pfault_disable) 600 return -1; 601 diag_stat_inc(DIAG_STAT_X258); --- 42 unchanged lines hidden (view full) --- 644 * in the 'cpu address' field associated with the 645 * external interrupt. 646 */ 647 subcode = ext_code.subcode; 648 if ((subcode & 0xff00) != __SUBCODE_MASK) 649 return; 650 inc_irq_stat(IRQEXT_PFL); 651 /* Get the token (= pid of the affected task). */ |
652 pid = param64; | 652 pid = param64 & LPP_PFAULT_PID_MASK; |
653 rcu_read_lock(); 654 tsk = find_task_by_pid_ns(pid, &init_pid_ns); 655 if (tsk) 656 get_task_struct(tsk); 657 rcu_read_unlock(); 658 if (!tsk) 659 return; 660 spin_lock(&pfault_lock); --- 101 unchanged lines hidden --- | 653 rcu_read_lock(); 654 tsk = find_task_by_pid_ns(pid, &init_pid_ns); 655 if (tsk) 656 get_task_struct(tsk); 657 rcu_read_unlock(); 658 if (!tsk) 659 return; 660 spin_lock(&pfault_lock); --- 101 unchanged lines hidden --- |