Lines Matching full:area
40 /* PACA save area offsets (exgen, exmc, etc) */
66 * in the save area so it's not necessary to overlap them. Could be used
192 #define EXCEPTION_RELON_PROLOG(area, label, h, extra, vec) \ argument
194 EXCEPTION_PROLOG_0(area); \
195 EXCEPTION_PROLOG_1(area, extra, vec); \
232 #define SAVE_CTR(reg, area) mfctr reg ; std reg,area+EX_CTR(r13) argument
233 #define GET_CTR(reg, area) ld reg,area+EX_CTR(r13) argument
234 #define RESTORE_CTR(reg, area) ld reg,area+EX_CTR(r13) ; mtctr reg argument
237 #define SAVE_CTR(reg, area) argument
238 #define GET_CTR(reg, area) mfctr reg argument
239 #define RESTORE_CTR(reg, area) argument
246 #define SAVE_PPR(area, ra, rb) \ argument
249 ld rb,area+EX_PPR(r13); /* Read PPR from paca */ \
253 #define RESTORE_PPR_PACA(area, ra) \ argument
255 ld ra,area+EX_PPR(r13); \
283 #define EXCEPTION_PROLOG_0(area) \ argument
285 std r9,area+EX_R9(r13); /* save r9 */ \
288 std r10,area+EX_R10(r13); /* save r10 - r12 */ \
291 #define __EXCEPTION_PROLOG_1_PRE(area) \ argument
292 OPT_SAVE_REG_TO_PACA(area+EX_PPR, r9, CPU_FTR_HAS_PPR); \
293 OPT_SAVE_REG_TO_PACA(area+EX_CFAR, r10, CPU_FTR_CFAR); \
295 SAVE_CTR(r10, area); \
298 #define __EXCEPTION_PROLOG_1_POST(area) \ argument
299 std r11,area+EX_R11(r13); \
300 std r12,area+EX_R12(r13); \
302 std r10,area+EX_R13(r13)
310 #define MASKABLE_EXCEPTION_PROLOG_1(area, extra, vec, bitmask) \ argument
311 __EXCEPTION_PROLOG_1_PRE(area); \
313 __EXCEPTION_PROLOG_1_POST(area);
319 #define _EXCEPTION_PROLOG_1(area, extra, vec) \ argument
320 __EXCEPTION_PROLOG_1_PRE(area); \
322 __EXCEPTION_PROLOG_1_POST(area);
324 #define EXCEPTION_PROLOG_1(area, extra, vec) \ argument
325 _EXCEPTION_PROLOG_1(area, extra, vec)
354 #define EXCEPTION_PROLOG(area, label, h, extra, vec) \ argument
356 EXCEPTION_PROLOG_0(area); \
357 EXCEPTION_PROLOG_1(area, extra, vec); \
407 #define __BRANCH_TO_KVM_EXIT(area, label) \ argument
412 ld r9,area+EX_R9(r13); \
422 #define __BRANCH_TO_KVM_EXIT(area, label) \ argument
423 ld r9,area+EX_R9(r13); \
429 #define EXCEPTION_PROLOG_NORI(area, label, h, extra, vec) \ argument
430 EXCEPTION_PROLOG_0(area); \
431 EXCEPTION_PROLOG_1(area, extra, vec); \
435 #define __KVM_HANDLER(area, h, n) \ argument
437 ld r10,area+EX_CFAR(r13); \
441 ld r10,area+EX_PPR(r13); \
444 ld r10,area+EX_R10(r13); \
449 __BRANCH_TO_KVM_EXIT(area, kvmppc_interrupt)
451 #define __KVM_HANDLER_SKIP(area, h, n) \ argument
455 ld r10,area+EX_PPR(r13); \
458 ld r10,area+EX_R10(r13); \
463 __BRANCH_TO_KVM_EXIT(area, kvmppc_interrupt); \
465 ld r9,area+EX_R9(r13); \
466 ld r10,area+EX_R10(r13); \
471 #define KVM_HANDLER(area, h, n) __KVM_HANDLER(area, h, n) argument
472 #define KVM_HANDLER_SKIP(area, h, n) __KVM_HANDLER_SKIP(area, h, n) argument
476 #define KVM_HANDLER(area, h, n) argument
477 #define KVM_HANDLER_SKIP(area, h, n) argument
501 #define EXCEPTION_PROLOG_COMMON(n, area) \ argument
511 std r3,area+EX_R3(r13); \
512 addi r3,r13,area; /* r3 -> where regs are saved*/ \
513 RESTORE_CTR(r1, area); \
518 SAVE_PPR(area, r9, r10); \
519 4: EXCEPTION_PROLOG_COMMON_2(area) \
523 /* Save original regs values from save area to stack frame. */
524 #define EXCEPTION_PROLOG_COMMON_2(area) \ argument
525 ld r9,area+EX_R9(r13); /* move r9, r10 to stackframe */ \
526 ld r10,area+EX_R10(r13); \
529 ld r9,area+EX_R11(r13); /* move r11 - r13 to stackframe */ \
530 ld r10,area+EX_R12(r13); \
531 ld r11,area+EX_R13(r13); \
536 ld r10,area+EX_CFAR(r13); \
539 GET_CTR(r10, area); \
696 #define EXCEPTION_COMMON(area, trap, label, hdlr, ret, additions) \ argument
697 EXCEPTION_PROLOG_COMMON(trap, area); \
708 #define EXCEPTION_COMMON_NORET_STACK(area, trap, label, hdlr, additions) \ argument
710 EXCEPTION_PROLOG_COMMON_2(area); \