Deleted Added
full compact
trap_subr64.S (256281) trap_subr64.S (260670)
1/* $FreeBSD: stable/10/sys/powerpc/aim/trap_subr64.S 248457 2013-03-18 05:30:18Z jhibbits $ */
1/* $FreeBSD: stable/10/sys/powerpc/aim/trap_subr64.S 260670 2014-01-15 05:19:37Z jhibbits $ */
2/* $NetBSD: trap_subr.S,v 1.20 2002/04/22 23:20:08 kleink Exp $ */
3
4/*-
5 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
6 * Copyright (C) 1995, 1996 TooLs GmbH.
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without

--- 773 unchanged lines hidden (view full) ---

783 */
784 .globl CNAME(dblow),CNAME(dbsize)
785CNAME(dblow):
786 mtsprg1 %r1 /* save SP */
787 mtsprg2 %r29 /* save r29 */
788 mfcr %r29 /* save CR in r29 */
789 mfsrr1 %r1
790 mtcr %r1
2/* $NetBSD: trap_subr.S,v 1.20 2002/04/22 23:20:08 kleink Exp $ */
3
4/*-
5 * Copyright (C) 1995, 1996 Wolfgang Solfrank.
6 * Copyright (C) 1995, 1996 TooLs GmbH.
7 * All rights reserved.
8 *
9 * Redistribution and use in source and binary forms, with or without

--- 773 unchanged lines hidden (view full) ---

783 */
784 .globl CNAME(dblow),CNAME(dbsize)
785CNAME(dblow):
786 mtsprg1 %r1 /* save SP */
787 mtsprg2 %r29 /* save r29 */
788 mfcr %r29 /* save CR in r29 */
789 mfsrr1 %r1
790 mtcr %r1
791 bf 17,1f /* branch if privileged */
791 bf 17,2f /* branch if privileged */
792
792
7931:
793 /* Unprivileged case */
794 mtcr %r29 /* put the condition register back */
795 mfsprg2 %r29 /* ... and r29 */
796 mflr %r1 /* save LR */
797 mtsprg2 %r1 /* And then in SPRG2 */
798 li %r1, 0 /* How to get the vector from LR */
799
800 bla generictrap /* and we look like a generic trap */
794 /* Unprivileged case */
795 mtcr %r29 /* put the condition register back */
796 mfsprg2 %r29 /* ... and r29 */
797 mflr %r1 /* save LR */
798 mtsprg2 %r1 /* And then in SPRG2 */
799 li %r1, 0 /* How to get the vector from LR */
800
801 bla generictrap /* and we look like a generic trap */
8011:
8022:
803#ifdef KDTRACE_HOOKS
802 /* Privileged, so drop to KDB */
804 /* Privileged, so drop to KDB */
805 mfsrr0 %r1
806 mtsprg3 %r3
807 lwz %r1,0(%r1)
808 /* Check if it's a DTrace trap. */
809 li %r3,0x0808
810 addis %r3,%r3,0x7c81
811 cmplw %cr0,%r3,%r1
812 mfsprg3 %r3
813 beq %cr0,1b
814#endif
803 GET_CPUINFO(%r1)
804 std %r27,(PC_DBSAVE+CPUSAVE_R27)(%r1) /* free r27 */
805 std %r28,(PC_DBSAVE+CPUSAVE_R28)(%r1) /* free r28 */
806 mfsprg2 %r28 /* r29 holds cr... */
807 std %r28,(PC_DBSAVE+CPUSAVE_R29)(%r1) /* free r29 */
808 std %r30,(PC_DBSAVE+CPUSAVE_R30)(%r1) /* free r30 */
809 std %r31,(PC_DBSAVE+CPUSAVE_R31)(%r1) /* free r31 */
810 mflr %r28 /* save LR */
811 bla dbtrap
812CNAME(dbsize) = .-CNAME(dblow)
813#endif /* KDB */
815 GET_CPUINFO(%r1)
816 std %r27,(PC_DBSAVE+CPUSAVE_R27)(%r1) /* free r27 */
817 std %r28,(PC_DBSAVE+CPUSAVE_R28)(%r1) /* free r28 */
818 mfsprg2 %r28 /* r29 holds cr... */
819 std %r28,(PC_DBSAVE+CPUSAVE_R29)(%r1) /* free r29 */
820 std %r30,(PC_DBSAVE+CPUSAVE_R30)(%r1) /* free r30 */
821 std %r31,(PC_DBSAVE+CPUSAVE_R31)(%r1) /* free r31 */
822 mflr %r28 /* save LR */
823 bla dbtrap
824CNAME(dbsize) = .-CNAME(dblow)
825#endif /* KDB */