/kernel/linux/linux-5.10/arch/ia64/include/uapi/asm/ |
H A D | rse.h | 46 ia64_rse_num_regs (unsigned long *bspstore, unsigned long *bsp) in ia64_rse_num_regs() argument 48 unsigned long slots = (bsp - bspstore); in ia64_rse_num_regs() 50 return slots - (ia64_rse_slot_num(bspstore) + slots)/0x40; in ia64_rse_num_regs() 54 * The inverse of the above: given bspstore and the number of
|
/kernel/linux/linux-6.6/arch/ia64/include/uapi/asm/ |
H A D | rse.h | 46 ia64_rse_num_regs (unsigned long *bspstore, unsigned long *bsp) in ia64_rse_num_regs() argument 48 unsigned long slots = (bsp - bspstore); in ia64_rse_num_regs() 50 return slots - (ia64_rse_slot_num(bspstore) + slots)/0x40; in ia64_rse_num_regs() 54 * The inverse of the above: given bspstore and the number of
|
/kernel/linux/linux-5.10/arch/ia64/include/asm/ |
H A D | mca_asm.h | 91 mov temp2 = ar.bspstore; \ 97 mov ar.bspstore = temp2; \ 175 mov temp2 = ar.bspstore; \ 181 mov ar.bspstore = temp2; \
|
/kernel/linux/linux-6.6/arch/ia64/include/asm/ |
H A D | mca_asm.h | 91 mov temp2 = ar.bspstore; \ 97 mov ar.bspstore = temp2; \ 175 mov temp2 = ar.bspstore; \ 181 mov ar.bspstore = temp2; \
|
/kernel/linux/linux-5.10/arch/ia64/kernel/ |
H A D | minstate.h | 78 (pUStk) mov r23=ar.bspstore; /* save ar.bspstore */ \ 80 (pUStk) mov ar.bspstore=r22; /* switch to kernel RBS */ \ 122 (pUStk) st8 [r16]=r23,16; /* save ar.bspstore */ \ 242 mov ar.bspstore=r22 \
|
H A D | ptrace.c | 381 on_kernel_rbs (unsigned long addr, unsigned long bspstore, in on_kernel_rbs() argument 386 return (addr >= bspstore && addr <= (unsigned long) rnat_addr); in on_kernel_rbs() 404 unsigned long *bspstore, *krbs, regnum, *laddr, *urbs_end, *rnat_addr; in ia64_peek() local 412 bspstore = (unsigned long *) child_regs->ar_bspstore; in ia64_peek() 414 if (on_kernel_rbs(addr, (unsigned long) bspstore, in ia64_peek() 450 regnum = ia64_rse_num_regs(bspstore, laddr); in ia64_peek() 466 unsigned long *bspstore, *krbs, regnum, *laddr; in ia64_poke() local 472 bspstore = (unsigned long *) child_regs->ar_bspstore; in ia64_poke() 474 if (on_kernel_rbs(addr, (unsigned long) bspstore, in ia64_poke() 487 regnum = ia64_rse_num_regs(bspstore, ladd in ia64_poke() 510 unsigned long *krbs, *bspstore, cfm = pt->cr_ifs; ia64_get_user_rbs_end() local [all...] |
H A D | gate.S | 204 mov r18=ar.bspstore 205 mov ar.bspstore=r15 // switch over to new register backing store area 211 mov.m r16=ar.bsp // sc_loadrs <- (new bsp - new bspstore) << 16 223 (p8) st8 [r18]=r19 // if bspstore points at RNaT slot, store RNaT there now 236 // Here, we need to calculate bspstore0, the value that ar.bspstore needs 292 mov ar.bspstore=r15 // switch back to old register backing store area
|
H A D | unaligned.c | 311 unsigned long *bsp, *bspstore, *addr, *rnat_addr, *ubs_end; in set_rse_reg() local 329 DPRINT("r%lu, sw.bspstore=%lx pt.bspstore=%lx sof=%ld sol=%ld ridx=%ld\n", in set_rse_reg() 354 bspstore = (unsigned long *)regs->ar_bspstore; in set_rse_reg() 355 ubs_end = ia64_rse_skip_regs(bspstore, on_kbs); in set_rse_reg() 384 unsigned long *bsp, *addr, *rnat_addr, *ubs_end, *bspstore; in get_rse_reg() local 402 DPRINT("r%lu, sw.bspstore=%lx pt.bspstore=%lx sof=%ld sol=%ld ridx=%ld\n", in get_rse_reg() 425 bspstore = (unsigned long *)regs->ar_bspstore; in get_rse_reg() 426 ubs_end = ia64_rse_skip_regs(bspstore, on_kb in get_rse_reg() [all...] |
H A D | entry.h | 63 .spillsp ar.bspstore,SW(AR_BSPSTORE)+16+(off); \
|
H A D | relocate_kernel.S | 45 mov ar.bspstore=r8 266 mov r5=ar.bspstore 269 st8 [loc1]=r5, 8 // ar.bspstore
|
H A D | mca_asm.S | 537 mov temp4=ar.bspstore 540 st8 [temp2]=temp4,PT(AR_FPSR)-PT(AR_BSPSTORE) // save ar.bspstore 543 sub temp3=temp3, temp4 // ar.bsp - ar.bspstore 802 // ar.rnat, ar.bspstore, loadrs are restore in ia64_old_stack. 935 add temp4=temp3, regs // start of bspstore on new stack 937 mov ar.bspstore=temp4 // switch RBS to MCA/INIT stack 967 // before reverting to the previous bspstore. 990 ld8 temp3=[temp1],PT(AR_RNAT)-PT(AR_BSPSTORE) // restore ar.bspstore 996 mov ar.bspstore=temp3 // back to old stack 1081 // address of an rnat slot, if that address is below the current ar.bspstore [all...] |
H A D | fsys.S | 493 mov r23=ar.bspstore // M2 (12 cyc) save ar.bspstore 497 mov ar.bspstore=r22 // M2 (6 cyc) switch to kernel RBS
|
H A D | head.S | 123 SAVE_FROM_REG(ar.bspstore,_reg1,_reg2);; \ 391 mov ar.bspstore=r2 // establish the new RSE stack 918 mov ar.bspstore=r17 // this steps on ar.rnat 934 * r19 = new bspstore to establish 969 mov ar.bspstore=r19 // this steps on ar.rnat 1123 RESTORE_REG(ar.bspstore, r25, r17);;
|
H A D | ivt.S | 720 * AR registers: ar.unat, ar.pfs, ar.rsc, ar.rnat, ar.bspstore, ar.fpsr 741 mov.m r23=ar.bspstore // M2 (12 cyc) 781 mov.m ar.bspstore=r22 // M2 switch to kernel RBS 871 mov ar.bspstore=r23 // M2 restore kernel's AR.BSPSTORE 919 * - r23: saved ar.bspstore 992 (pUStk) st8 [r17]=r23,PT(B0)-PT(AR_BSPSTORE) // save ar.bspstore
|
H A D | entry.S | 223 * ar.bspstore is still pointing to the old kernel backing store area. Since ar.rsc, 224 * ar.rnat, ar.bsp, and ar.bspstore are all preserved by interrupts, this is not a 291 mov.m r20=ar.bspstore 347 st8 [r2]=r20 // save ar.bspstore 371 ld8 r27=[r2],(SW(B0)-SW(AR_BSPSTORE)) // bspstore 419 mov ar.bspstore=r27 447 mov ar.rnat=r30 // must restore after bspstore but before rsc! 635 * r23: user-level ar.bspstore 653 * ar.bspstore: restored (user-level ar.bspstore) [all...] |
/kernel/linux/linux-6.6/arch/ia64/kernel/ |
H A D | minstate.h | 78 (pUStk) mov r23=ar.bspstore; /* save ar.bspstore */ \ 80 (pUStk) mov ar.bspstore=r22; /* switch to kernel RBS */ \ 122 (pUStk) st8 [r16]=r23,16; /* save ar.bspstore */ \ 242 mov ar.bspstore=r22 \
|
H A D | ptrace.c | 381 on_kernel_rbs (unsigned long addr, unsigned long bspstore, in on_kernel_rbs() argument 386 return (addr >= bspstore && addr <= (unsigned long) rnat_addr); in on_kernel_rbs() 404 unsigned long *bspstore, *krbs, regnum, *laddr, *urbs_end, *rnat_addr; in ia64_peek() local 412 bspstore = (unsigned long *) child_regs->ar_bspstore; in ia64_peek() 414 if (on_kernel_rbs(addr, (unsigned long) bspstore, in ia64_peek() 450 regnum = ia64_rse_num_regs(bspstore, laddr); in ia64_peek() 466 unsigned long *bspstore, *krbs, regnum, *laddr; in ia64_poke() local 472 bspstore = (unsigned long *) child_regs->ar_bspstore; in ia64_poke() 474 if (on_kernel_rbs(addr, (unsigned long) bspstore, in ia64_poke() 487 regnum = ia64_rse_num_regs(bspstore, ladd in ia64_poke() 510 unsigned long *krbs, *bspstore, cfm = pt->cr_ifs; ia64_get_user_rbs_end() local [all...] |
H A D | gate.S | 204 mov r18=ar.bspstore 205 mov ar.bspstore=r15 // switch over to new register backing store area 211 mov.m r16=ar.bsp // sc_loadrs <- (new bsp - new bspstore) << 16 223 (p8) st8 [r18]=r19 // if bspstore points at RNaT slot, store RNaT there now 236 // Here, we need to calculate bspstore0, the value that ar.bspstore needs 292 mov ar.bspstore=r15 // switch back to old register backing store area
|
H A D | unaligned.c | 311 unsigned long *bsp, *bspstore, *addr, *rnat_addr, *ubs_end; in set_rse_reg() local 329 DPRINT("r%lu, sw.bspstore=%lx pt.bspstore=%lx sof=%ld sol=%ld ridx=%ld\n", in set_rse_reg() 354 bspstore = (unsigned long *)regs->ar_bspstore; in set_rse_reg() 355 ubs_end = ia64_rse_skip_regs(bspstore, on_kbs); in set_rse_reg() 384 unsigned long *bsp, *addr, *rnat_addr, *ubs_end, *bspstore; in get_rse_reg() local 402 DPRINT("r%lu, sw.bspstore=%lx pt.bspstore=%lx sof=%ld sol=%ld ridx=%ld\n", in get_rse_reg() 425 bspstore = (unsigned long *)regs->ar_bspstore; in get_rse_reg() 426 ubs_end = ia64_rse_skip_regs(bspstore, on_kb in get_rse_reg() [all...] |
H A D | entry.h | 63 .spillsp ar.bspstore,SW(AR_BSPSTORE)+16+(off); \
|
H A D | relocate_kernel.S | 45 mov ar.bspstore=r8 266 mov r5=ar.bspstore 269 st8 [loc1]=r5, 8 // ar.bspstore
|
H A D | mca_asm.S | 537 mov temp4=ar.bspstore 540 st8 [temp2]=temp4,PT(AR_FPSR)-PT(AR_BSPSTORE) // save ar.bspstore 543 sub temp3=temp3, temp4 // ar.bsp - ar.bspstore 802 // ar.rnat, ar.bspstore, loadrs are restore in ia64_old_stack. 935 add temp4=temp3, regs // start of bspstore on new stack 937 mov ar.bspstore=temp4 // switch RBS to MCA/INIT stack 967 // before reverting to the previous bspstore. 990 ld8 temp3=[temp1],PT(AR_RNAT)-PT(AR_BSPSTORE) // restore ar.bspstore 996 mov ar.bspstore=temp3 // back to old stack 1081 // address of an rnat slot, if that address is below the current ar.bspstore [all...] |
H A D | fsys.S | 493 mov r23=ar.bspstore // M2 (12 cyc) save ar.bspstore 497 mov ar.bspstore=r22 // M2 (6 cyc) switch to kernel RBS
|
H A D | head.S | 121 SAVE_FROM_REG(ar.bspstore,_reg1,_reg2);; \ 389 mov ar.bspstore=r2 // establish the new RSE stack 911 mov ar.bspstore=r17 // this steps on ar.rnat 927 * r19 = new bspstore to establish 962 mov ar.bspstore=r19 // this steps on ar.rnat 1116 RESTORE_REG(ar.bspstore, r25, r17);;
|
H A D | entry.S | 222 * ar.bspstore is still pointing to the old kernel backing store area. Since ar.rsc, 223 * ar.rnat, ar.bsp, and ar.bspstore are all preserved by interrupts, this is not a 290 mov.m r20=ar.bspstore 346 st8 [r2]=r20 // save ar.bspstore 370 ld8 r27=[r2],(SW(B0)-SW(AR_BSPSTORE)) // bspstore 418 mov ar.bspstore=r27 446 mov ar.rnat=r30 // must restore after bspstore but before rsc! 634 * r23: user-level ar.bspstore 652 * ar.bspstore: restored (user-level ar.bspstore) [all...] |