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 ---