Deleted Added
full compact
trap_subr32.S (209975) trap_subr32.S (214574)
1/* $FreeBSD: head/sys/powerpc/aim/trap_subr32.S 209975 2010-07-13 05:32:19Z nwhitehorn $ */
1/* $FreeBSD: head/sys/powerpc/aim/trap_subr32.S 214574 2010-10-30 23:07:30Z nwhitehorn $ */
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

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

49 lwz sr,4*4(pmap); mtsr 4,sr; \
50 lwz sr,5*4(pmap); mtsr 5,sr; \
51 lwz sr,6*4(pmap); mtsr 6,sr; \
52 lwz sr,7*4(pmap); mtsr 7,sr; \
53 lwz sr,8*4(pmap); mtsr 8,sr; \
54 lwz sr,9*4(pmap); mtsr 9,sr; \
55 lwz sr,10*4(pmap); mtsr 10,sr; \
56 lwz sr,11*4(pmap); mtsr 11,sr; \
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

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

49 lwz sr,4*4(pmap); mtsr 4,sr; \
50 lwz sr,5*4(pmap); mtsr 5,sr; \
51 lwz sr,6*4(pmap); mtsr 6,sr; \
52 lwz sr,7*4(pmap); mtsr 7,sr; \
53 lwz sr,8*4(pmap); mtsr 8,sr; \
54 lwz sr,9*4(pmap); mtsr 9,sr; \
55 lwz sr,10*4(pmap); mtsr 10,sr; \
56 lwz sr,11*4(pmap); mtsr 11,sr; \
57 lwz sr,12*4(pmap); mtsr 12,sr; \
57 /* Skip segment 12 (USER_SR), which is restored differently */ \
58 lwz sr,13*4(pmap); mtsr 13,sr; \
59 lwz sr,14*4(pmap); mtsr 14,sr; \
60 lwz sr,15*4(pmap); mtsr 15,sr; isync;
61
62/*
63 * User SRs are loaded through a pointer to the current pmap.
64 */
65#define RESTORE_USER_SRS(pmap,sr) \
66 GET_CPUINFO(pmap); \
67 lwz pmap,PC_CURPMAP(pmap); \
68 lwzu sr,PM_SR(pmap); \
58 lwz sr,13*4(pmap); mtsr 13,sr; \
59 lwz sr,14*4(pmap); mtsr 14,sr; \
60 lwz sr,15*4(pmap); mtsr 15,sr; isync;
61
62/*
63 * User SRs are loaded through a pointer to the current pmap.
64 */
65#define RESTORE_USER_SRS(pmap,sr) \
66 GET_CPUINFO(pmap); \
67 lwz pmap,PC_CURPMAP(pmap); \
68 lwzu sr,PM_SR(pmap); \
69 RESTORE_SRS(pmap,sr)
69 RESTORE_SRS(pmap,sr) \
70 /* Restore SR 12 */ \
71 lwz sr,12*4(pmap); mtsr 12,sr
70
71/*
72 * Kernel SRs are loaded directly from kernel_pmap_
73 */
74#define RESTORE_KERN_SRS(pmap,sr) \
75 lis pmap,CNAME(kernel_pmap_store)@ha; \
76 lwzu sr,CNAME(kernel_pmap_store)+PM_SR@l(pmap); \
77 RESTORE_SRS(pmap,sr)

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

532 lwz %r1,PC_CURPCB(%r1)
533 RESTORE_KERN_SRS(%r30,%r31) /* enable kernel mapping */
534
535/*
536 * Now the common trap catching code.
537 */
538k_trap:
539 FRAME_SETUP(PC_TEMPSAVE)
72
73/*
74 * Kernel SRs are loaded directly from kernel_pmap_
75 */
76#define RESTORE_KERN_SRS(pmap,sr) \
77 lis pmap,CNAME(kernel_pmap_store)@ha; \
78 lwzu sr,CNAME(kernel_pmap_store)+PM_SR@l(pmap); \
79 RESTORE_SRS(pmap,sr)

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

534 lwz %r1,PC_CURPCB(%r1)
535 RESTORE_KERN_SRS(%r30,%r31) /* enable kernel mapping */
536
537/*
538 * Now the common trap catching code.
539 */
540k_trap:
541 FRAME_SETUP(PC_TEMPSAVE)
542 /* Restore USER_SR */
543 GET_CPUINFO(%r30)
544 lwz %r30,PC_CURPCB(%r30)
545 lwz %r30,PCB_AIM_USR_VSID(%r30)
546 mtsr USER_SR,%r30; sync; isync
540/* Call C interrupt dispatcher: */
541trapagain:
542 addi %r3,%r1,8
543 bl CNAME(powerpc_interrupt)
544 .globl CNAME(trapexit) /* backtrace code sentinel */
545CNAME(trapexit):
546
547/* Disable interrupts: */

--- 131 unchanged lines hidden ---
547/* Call C interrupt dispatcher: */
548trapagain:
549 addi %r3,%r1,8
550 bl CNAME(powerpc_interrupt)
551 .globl CNAME(trapexit) /* backtrace code sentinel */
552CNAME(trapexit):
553
554/* Disable interrupts: */

--- 131 unchanged lines hidden ---