/kernel/linux/linux-5.10/arch/riscv/net/ |
H A D | bpf_jit.h | 225 static inline u32 rv_r_insn(u8 funct7, u8 rs2, u8 rs1, u8 funct3, u8 rd, in rv_r_insn() argument 228 return (funct7 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_r_insn() 232 static inline u32 rv_i_insn(u16 imm11_0, u8 rs1, u8 funct3, u8 rd, u8 opcode) in rv_i_insn() argument 234 return (imm11_0 << 20) | (rs1 << 15) | (funct3 << 12) | (rd << 7) | in rv_i_insn() 238 static inline u32 rv_s_insn(u16 imm11_0, u8 rs2, u8 rs1, u8 funct3, u8 opcode) in rv_s_insn() argument 242 return (imm11_5 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_s_insn() 246 static inline u32 rv_b_insn(u16 imm12_1, u8 rs2, u8 rs1, u8 funct3, u8 opcode) in rv_b_insn() argument 251 return (imm12 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_b_insn() 270 static inline u32 rv_amo_insn(u8 funct5, u8 aq, u8 rl, u8 rs2, u8 rs1, in rv_amo_insn() argument 275 return rv_r_insn(funct7, rs2, rs1, funct in rv_amo_insn() 303 rv_cl_insn(u8 funct3, u32 imm_hi, u8 rs1, u32 imm_lo, u8 rd, u8 op) rv_cl_insn() argument 310 rv_cs_insn(u8 funct3, u32 imm_hi, u8 rs1, u32 imm_lo, u8 rs2, u8 op) rv_cs_insn() argument 333 rv_addi(u8 rd, u8 rs1, u16 imm11_0) rv_addi() argument 338 rv_andi(u8 rd, u8 rs1, u16 imm11_0) rv_andi() argument 343 rv_ori(u8 rd, u8 rs1, u16 imm11_0) rv_ori() argument 348 rv_xori(u8 rd, u8 rs1, u16 imm11_0) rv_xori() argument 353 rv_slli(u8 rd, u8 rs1, u16 imm11_0) rv_slli() argument 358 rv_srli(u8 rd, u8 rs1, u16 imm11_0) rv_srli() argument 363 rv_srai(u8 rd, u8 rs1, u16 imm11_0) rv_srai() argument 378 rv_add(u8 rd, u8 rs1, u8 rs2) rv_add() argument 383 rv_sub(u8 rd, u8 rs1, u8 rs2) rv_sub() argument 388 rv_sltu(u8 rd, u8 rs1, u8 rs2) rv_sltu() argument 393 rv_and(u8 rd, u8 rs1, u8 rs2) rv_and() argument 398 rv_or(u8 rd, u8 rs1, u8 rs2) rv_or() argument 403 rv_xor(u8 rd, u8 rs1, u8 rs2) rv_xor() argument 408 rv_sll(u8 rd, u8 rs1, u8 rs2) rv_sll() argument 413 rv_srl(u8 rd, u8 rs1, u8 rs2) rv_srl() argument 418 rv_sra(u8 rd, u8 rs1, u8 rs2) rv_sra() argument 423 rv_mul(u8 rd, u8 rs1, u8 rs2) rv_mul() argument 428 rv_mulhu(u8 rd, u8 rs1, u8 rs2) rv_mulhu() argument 433 rv_divu(u8 rd, u8 rs1, u8 rs2) rv_divu() argument 438 rv_remu(u8 rd, u8 rs1, u8 rs2) rv_remu() argument 448 rv_jalr(u8 rd, u8 rs1, u16 imm11_0) rv_jalr() argument 453 rv_beq(u8 rs1, u8 rs2, u16 imm12_1) rv_beq() argument 458 rv_bne(u8 rs1, u8 rs2, u16 imm12_1) rv_bne() argument 463 rv_bltu(u8 rs1, u8 rs2, u16 imm12_1) rv_bltu() argument 468 rv_bgtu(u8 rs1, u8 rs2, u16 imm12_1) rv_bgtu() argument 473 rv_bgeu(u8 rs1, u8 rs2, u16 imm12_1) rv_bgeu() argument 478 rv_bleu(u8 rs1, u8 rs2, u16 imm12_1) rv_bleu() argument 483 rv_blt(u8 rs1, u8 rs2, u16 imm12_1) rv_blt() argument 488 rv_bgt(u8 rs1, u8 rs2, u16 imm12_1) rv_bgt() argument 493 rv_bge(u8 rs1, u8 rs2, u16 imm12_1) rv_bge() argument 498 rv_ble(u8 rs1, u8 rs2, u16 imm12_1) rv_ble() argument 503 rv_lw(u8 rd, u16 imm11_0, u8 rs1) rv_lw() argument 508 rv_lbu(u8 rd, u16 imm11_0, u8 rs1) rv_lbu() argument 513 rv_lhu(u8 rd, u16 imm11_0, u8 rs1) rv_lhu() argument 518 rv_sb(u8 rs1, u16 imm11_0, u8 rs2) rv_sb() argument 523 rv_sh(u8 rs1, u16 imm11_0, u8 rs2) rv_sh() argument 528 rv_sw(u8 rs1, u16 imm11_0, u8 rs2) rv_sw() argument 533 rv_amoadd_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoadd_w() argument 549 rvc_lw(u8 rd, u32 imm7, u8 rs1) rvc_lw() argument 558 rvc_sw(u8 rs1, u32 imm7, u8 rs2) rvc_sw() argument 639 rvc_jr(u8 rs1) rvc_jr() argument 649 rvc_jalr(u8 rs1) rvc_jalr() argument 676 rv_addiw(u8 rd, u8 rs1, u16 imm11_0) rv_addiw() argument 681 rv_slliw(u8 rd, u8 rs1, u16 imm11_0) rv_slliw() argument 686 rv_srliw(u8 rd, u8 rs1, u16 imm11_0) rv_srliw() argument 691 rv_sraiw(u8 rd, u8 rs1, u16 imm11_0) rv_sraiw() argument 696 rv_addw(u8 rd, u8 rs1, u8 rs2) rv_addw() argument 701 rv_subw(u8 rd, u8 rs1, u8 rs2) rv_subw() argument 706 rv_sllw(u8 rd, u8 rs1, u8 rs2) rv_sllw() argument 711 rv_srlw(u8 rd, u8 rs1, u8 rs2) rv_srlw() argument 716 rv_sraw(u8 rd, u8 rs1, u8 rs2) rv_sraw() argument 721 rv_mulw(u8 rd, u8 rs1, u8 rs2) rv_mulw() argument 726 rv_divuw(u8 rd, u8 rs1, u8 rs2) rv_divuw() argument 731 rv_remuw(u8 rd, u8 rs1, u8 rs2) rv_remuw() argument 736 rv_ld(u8 rd, u16 imm11_0, u8 rs1) rv_ld() argument 741 rv_lwu(u8 rd, u16 imm11_0, u8 rs1) rv_lwu() argument 746 rv_sd(u8 rs1, u16 imm11_0, u8 rs2) rv_sd() argument 751 rv_amoadd_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoadd_d() argument 758 rvc_ld(u8 rd, u32 imm8, u8 rs1) rvc_ld() argument 767 rvc_sd(u8 rs1, u32 imm8, u8 rs2) rvc_sd() argument 824 emit_add(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_add() argument 893 emit_sub(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_sub() argument 901 emit_or(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_or() argument 909 emit_and(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_and() argument 917 emit_xor(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_xor() argument 925 emit_lw(u8 rd, s32 off, u8 rs1, struct rv_jit_context *ctx) emit_lw() argument 935 emit_sw(u8 rs1, s32 off, u8 rs2, struct rv_jit_context *ctx) emit_sw() argument 956 emit_ld(u8 rd, s32 off, u8 rs1, struct rv_jit_context *ctx) emit_ld() argument 966 emit_sd(u8 rs1, s32 off, u8 rs2, struct rv_jit_context *ctx) emit_sd() argument 976 emit_subw(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_subw() argument [all...] |
H A D | bpf_jit_comp32.c | 571 const s8 *rs1 = bpf_get_reg64(src1, tmp1, ctx); in emit_branch_r64() local 587 emit(rv_bne(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 588 emit(rv_bne(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 591 emit(rv_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 592 emit(rv_bltu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 593 emit(rv_bleu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 596 emit(rv_bltu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 597 emit(rv_bgtu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 598 emit(rv_bgeu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 601 emit(rv_bgtu(hi(rs1), h in emit_branch_r64() 729 const s8 *rs1 = bpf_get_reg32(src1, tmp1, ctx); emit_branch_r32() local [all...] |
/kernel/linux/linux-6.6/arch/riscv/net/ |
H A D | bpf_jit.h | 229 static inline u32 rv_r_insn(u8 funct7, u8 rs2, u8 rs1, u8 funct3, u8 rd, in rv_r_insn() argument 232 return (funct7 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_r_insn() 236 static inline u32 rv_i_insn(u16 imm11_0, u8 rs1, u8 funct3, u8 rd, u8 opcode) in rv_i_insn() argument 238 return (imm11_0 << 20) | (rs1 << 15) | (funct3 << 12) | (rd << 7) | in rv_i_insn() 242 static inline u32 rv_s_insn(u16 imm11_0, u8 rs2, u8 rs1, u8 funct3, u8 opcode) in rv_s_insn() argument 246 return (imm11_5 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_s_insn() 250 static inline u32 rv_b_insn(u16 imm12_1, u8 rs2, u8 rs1, u8 funct3, u8 opcode) in rv_b_insn() argument 255 return (imm12 << 25) | (rs2 << 20) | (rs1 << 15) | (funct3 << 12) | in rv_b_insn() 274 static inline u32 rv_amo_insn(u8 funct5, u8 aq, u8 rl, u8 rs2, u8 rs1, in rv_amo_insn() argument 279 return rv_r_insn(funct7, rs2, rs1, funct in rv_amo_insn() 307 rv_cl_insn(u8 funct3, u32 imm_hi, u8 rs1, u32 imm_lo, u8 rd, u8 op) rv_cl_insn() argument 314 rv_cs_insn(u8 funct3, u32 imm_hi, u8 rs1, u32 imm_lo, u8 rs2, u8 op) rv_cs_insn() argument 337 rv_addi(u8 rd, u8 rs1, u16 imm11_0) rv_addi() argument 342 rv_andi(u8 rd, u8 rs1, u16 imm11_0) rv_andi() argument 347 rv_ori(u8 rd, u8 rs1, u16 imm11_0) rv_ori() argument 352 rv_xori(u8 rd, u8 rs1, u16 imm11_0) rv_xori() argument 357 rv_slli(u8 rd, u8 rs1, u16 imm11_0) rv_slli() argument 362 rv_srli(u8 rd, u8 rs1, u16 imm11_0) rv_srli() argument 367 rv_srai(u8 rd, u8 rs1, u16 imm11_0) rv_srai() argument 382 rv_add(u8 rd, u8 rs1, u8 rs2) rv_add() argument 387 rv_sub(u8 rd, u8 rs1, u8 rs2) rv_sub() argument 392 rv_sltu(u8 rd, u8 rs1, u8 rs2) rv_sltu() argument 397 rv_and(u8 rd, u8 rs1, u8 rs2) rv_and() argument 402 rv_or(u8 rd, u8 rs1, u8 rs2) rv_or() argument 407 rv_xor(u8 rd, u8 rs1, u8 rs2) rv_xor() argument 412 rv_sll(u8 rd, u8 rs1, u8 rs2) rv_sll() argument 417 rv_srl(u8 rd, u8 rs1, u8 rs2) rv_srl() argument 422 rv_sra(u8 rd, u8 rs1, u8 rs2) rv_sra() argument 427 rv_mul(u8 rd, u8 rs1, u8 rs2) rv_mul() argument 432 rv_mulhu(u8 rd, u8 rs1, u8 rs2) rv_mulhu() argument 437 rv_div(u8 rd, u8 rs1, u8 rs2) rv_div() argument 442 rv_divu(u8 rd, u8 rs1, u8 rs2) rv_divu() argument 447 rv_rem(u8 rd, u8 rs1, u8 rs2) rv_rem() argument 452 rv_remu(u8 rd, u8 rs1, u8 rs2) rv_remu() argument 462 rv_jalr(u8 rd, u8 rs1, u16 imm11_0) rv_jalr() argument 467 rv_beq(u8 rs1, u8 rs2, u16 imm12_1) rv_beq() argument 472 rv_bne(u8 rs1, u8 rs2, u16 imm12_1) rv_bne() argument 477 rv_bltu(u8 rs1, u8 rs2, u16 imm12_1) rv_bltu() argument 482 rv_bgtu(u8 rs1, u8 rs2, u16 imm12_1) rv_bgtu() argument 487 rv_bgeu(u8 rs1, u8 rs2, u16 imm12_1) rv_bgeu() argument 492 rv_bleu(u8 rs1, u8 rs2, u16 imm12_1) rv_bleu() argument 497 rv_blt(u8 rs1, u8 rs2, u16 imm12_1) rv_blt() argument 502 rv_bgt(u8 rs1, u8 rs2, u16 imm12_1) rv_bgt() argument 507 rv_bge(u8 rs1, u8 rs2, u16 imm12_1) rv_bge() argument 512 rv_ble(u8 rs1, u8 rs2, u16 imm12_1) rv_ble() argument 517 rv_lb(u8 rd, u16 imm11_0, u8 rs1) rv_lb() argument 522 rv_lh(u8 rd, u16 imm11_0, u8 rs1) rv_lh() argument 527 rv_lw(u8 rd, u16 imm11_0, u8 rs1) rv_lw() argument 532 rv_lbu(u8 rd, u16 imm11_0, u8 rs1) rv_lbu() argument 537 rv_lhu(u8 rd, u16 imm11_0, u8 rs1) rv_lhu() argument 542 rv_sb(u8 rs1, u16 imm11_0, u8 rs2) rv_sb() argument 547 rv_sh(u8 rs1, u16 imm11_0, u8 rs2) rv_sh() argument 552 rv_sw(u8 rs1, u16 imm11_0, u8 rs2) rv_sw() argument 557 rv_amoadd_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoadd_w() argument 562 rv_amoand_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoand_w() argument 567 rv_amoor_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoor_w() argument 572 rv_amoxor_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoxor_w() argument 577 rv_amoswap_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoswap_w() argument 582 rv_lr_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_lr_w() argument 587 rv_sc_w(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_sc_w() argument 615 rvc_lw(u8 rd, u32 imm7, u8 rs1) rvc_lw() argument 624 rvc_sw(u8 rs1, u32 imm7, u8 rs2) rvc_sw() argument 705 rvc_jr(u8 rs1) rvc_jr() argument 715 rvc_jalr(u8 rs1) rvc_jalr() argument 742 rv_addiw(u8 rd, u8 rs1, u16 imm11_0) rv_addiw() argument 747 rv_slliw(u8 rd, u8 rs1, u16 imm11_0) rv_slliw() argument 752 rv_srliw(u8 rd, u8 rs1, u16 imm11_0) rv_srliw() argument 757 rv_sraiw(u8 rd, u8 rs1, u16 imm11_0) rv_sraiw() argument 762 rv_addw(u8 rd, u8 rs1, u8 rs2) rv_addw() argument 767 rv_subw(u8 rd, u8 rs1, u8 rs2) rv_subw() argument 772 rv_sllw(u8 rd, u8 rs1, u8 rs2) rv_sllw() argument 777 rv_srlw(u8 rd, u8 rs1, u8 rs2) rv_srlw() argument 782 rv_sraw(u8 rd, u8 rs1, u8 rs2) rv_sraw() argument 787 rv_mulw(u8 rd, u8 rs1, u8 rs2) rv_mulw() argument 792 rv_divw(u8 rd, u8 rs1, u8 rs2) rv_divw() argument 797 rv_divuw(u8 rd, u8 rs1, u8 rs2) rv_divuw() argument 802 rv_remw(u8 rd, u8 rs1, u8 rs2) rv_remw() argument 807 rv_remuw(u8 rd, u8 rs1, u8 rs2) rv_remuw() argument 812 rv_ld(u8 rd, u16 imm11_0, u8 rs1) rv_ld() argument 817 rv_lwu(u8 rd, u16 imm11_0, u8 rs1) rv_lwu() argument 822 rv_sd(u8 rs1, u16 imm11_0, u8 rs2) rv_sd() argument 827 rv_amoadd_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoadd_d() argument 832 rv_amoand_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoand_d() argument 837 rv_amoor_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoor_d() argument 842 rv_amoxor_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoxor_d() argument 847 rv_amoswap_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_amoswap_d() argument 852 rv_lr_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_lr_d() argument 857 rv_sc_d(u8 rd, u8 rs2, u8 rs1, u8 aq, u8 rl) rv_sc_d() argument 864 rvc_ld(u8 rd, u32 imm8, u8 rs1) rvc_ld() argument 873 rvc_sd(u8 rs1, u32 imm8, u8 rs2) rvc_sd() argument 930 emit_add(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_add() argument 999 emit_sub(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_sub() argument 1007 emit_or(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_or() argument 1015 emit_and(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_and() argument 1023 emit_xor(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_xor() argument 1031 emit_lw(u8 rd, s32 off, u8 rs1, struct rv_jit_context *ctx) emit_lw() argument 1041 emit_sw(u8 rs1, s32 off, u8 rs2, struct rv_jit_context *ctx) emit_sw() argument 1062 emit_ld(u8 rd, s32 off, u8 rs1, struct rv_jit_context *ctx) emit_ld() argument 1072 emit_sd(u8 rs1, s32 off, u8 rs2, struct rv_jit_context *ctx) emit_sd() argument 1082 emit_subw(u8 rd, u8 rs1, u8 rs2, struct rv_jit_context *ctx) emit_subw() argument [all...] |
H A D | bpf_jit_comp32.c | 571 const s8 *rs1 = bpf_get_reg64(src1, tmp1, ctx); in emit_branch_r64() local 587 emit(rv_bne(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 588 emit(rv_bne(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 591 emit(rv_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 592 emit(rv_bltu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 593 emit(rv_bleu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 596 emit(rv_bltu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 597 emit(rv_bgtu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 598 emit(rv_bgeu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 601 emit(rv_bgtu(hi(rs1), h in emit_branch_r64() 729 const s8 *rs1 = bpf_get_reg32(src1, tmp1, ctx); emit_branch_r32() local [all...] |
/kernel/linux/linux-5.10/arch/sparc/kernel/ |
H A D | visemul.c | 140 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 143 if (rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 296 unsigned long orig_rs1, rs1, orig_rs2, rs2, rd_val; in edge() local 300 orig_rs1 = rs1 = fetch_reg(RS1(insn), regs); in edge() 304 rs1 = rs1 & 0xffffffff; in edge() 311 left = edge8_tab[rs1 & 0x7].left; in edge() 316 left = edge8_tab_l[rs1 & 0x7].left; in edge() 322 left = edge16_tab[(rs1 >> 1) & 0x3].left; in edge() 328 left = edge16_tab_l[(rs1 >> in edge() 374 unsigned long rs1, rs2, rd_val; array() local 408 unsigned long rs1, rs2, rd_val, gsr; bmask() local 425 unsigned long rs1, rs2, rd_val; bshuffle() local 451 unsigned long rs1, rs2, *rd, rd_val; pdist() local 480 unsigned long rs1, rs2, gsr, scale, rd_val; pformat() local 592 unsigned long rs1, rs2, rd_val; pmul() local 708 unsigned long rs1, rs2, rd_val, i; pcmp() local [all...] |
H A D | unaligned_32.c | 71 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 74 if(rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 138 unsigned int rs1 = (insn >> 14) & 0x1f; in compute_effective_address() local 143 maybe_flush_windows(rs1, 0, rd); in compute_effective_address() 144 return (fetch_reg(rs1, regs) + sign_extend_imm13(insn)); in compute_effective_address() 146 maybe_flush_windows(rs1, rs2, rd); in compute_effective_address() 147 return (fetch_reg(rs1, regs) + fetch_reg(rs2, regs)); in compute_effective_address() 154 unsigned int rs1 = (insn >> 14) & 0x1f; in safe_compute_effective_address() local 159 maybe_flush_windows(rs1, 0, rd); in safe_compute_effective_address() 160 return (safe_fetch_reg(rs1, reg in safe_compute_effective_address() [all...] |
H A D | unaligned_64.c | 104 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 107 if (rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 173 unsigned int rs1 = (insn >> 14) & 0x1f; in compute_effective_address() local 178 maybe_flush_windows(rs1, 0, rd, from_kernel); in compute_effective_address() 179 addr = (fetch_reg(rs1, regs) + sign_extend_imm13(insn)); in compute_effective_address() 181 maybe_flush_windows(rs1, rs2, rd, from_kernel); in compute_effective_address() 182 addr = (fetch_reg(rs1, regs) + fetch_reg(rs2, regs)); in compute_effective_address()
|
/kernel/linux/linux-6.6/arch/sparc/kernel/ |
H A D | visemul.c | 140 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 143 if (rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 296 unsigned long orig_rs1, rs1, orig_rs2, rs2, rd_val; in edge() local 300 orig_rs1 = rs1 = fetch_reg(RS1(insn), regs); in edge() 304 rs1 = rs1 & 0xffffffff; in edge() 311 left = edge8_tab[rs1 & 0x7].left; in edge() 316 left = edge8_tab_l[rs1 & 0x7].left; in edge() 322 left = edge16_tab[(rs1 >> 1) & 0x3].left; in edge() 328 left = edge16_tab_l[(rs1 >> in edge() 374 unsigned long rs1, rs2, rd_val; array() local 408 unsigned long rs1, rs2, rd_val, gsr; bmask() local 425 unsigned long rs1, rs2, rd_val; bshuffle() local 451 unsigned long rs1, rs2, *rd, rd_val; pdist() local 480 unsigned long rs1, rs2, gsr, scale, rd_val; pformat() local 592 unsigned long rs1, rs2, rd_val; pmul() local 708 unsigned long rs1, rs2, rd_val, i; pcmp() local [all...] |
H A D | unaligned_32.c | 72 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 75 if(rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 139 unsigned int rs1 = (insn >> 14) & 0x1f; in compute_effective_address() local 144 maybe_flush_windows(rs1, 0, rd); in compute_effective_address() 145 return (fetch_reg(rs1, regs) + sign_extend_imm13(insn)); in compute_effective_address() 147 maybe_flush_windows(rs1, rs2, rd); in compute_effective_address() 148 return (fetch_reg(rs1, regs) + fetch_reg(rs2, regs)); in compute_effective_address() 155 unsigned int rs1 = (insn >> 14) & 0x1f; in safe_compute_effective_address() local 160 maybe_flush_windows(rs1, 0, rd); in safe_compute_effective_address() 161 return (safe_fetch_reg(rs1, reg in safe_compute_effective_address() [all...] |
H A D | unaligned_64.c | 104 static inline void maybe_flush_windows(unsigned int rs1, unsigned int rs2, in maybe_flush_windows() argument 107 if (rs2 >= 16 || rs1 >= 16 || rd >= 16) { in maybe_flush_windows() 173 unsigned int rs1 = (insn >> 14) & 0x1f; in compute_effective_address() local 178 maybe_flush_windows(rs1, 0, rd, from_kernel); in compute_effective_address() 179 addr = (fetch_reg(rs1, regs) + sign_extend_imm13(insn)); in compute_effective_address() 181 maybe_flush_windows(rs1, rs2, rd, from_kernel); in compute_effective_address() 182 addr = (fetch_reg(rs1, regs) + fetch_reg(rs2, regs)); in compute_effective_address()
|
/kernel/linux/linux-6.6/arch/riscv/include/asm/ |
H A D | insn-def.h | 25 .macro insn_r, opcode, func3, func7, rd, rs1, rs2 variable 26 .insn r \opcode, \func3, \func7, \rd, \rs1, \rs2 variable 29 .macro insn_i, opcode, func3, rd, rs1, simm12 variable 30 .insn i \opcode, \func3, \rd, \rs1, \simm12 variable 37 .macro insn_r, opcode, func3, func7, rd, rs1, rs2 42 (.L__gpr_num_\rs1 << INSN_R_RS1_SHIFT) | \ 46 .macro insn_i, opcode, func3, rd, rs1, simm12 50 (.L__gpr_num_\rs1 << INSN_I_RS1_SHIFT) | \ 63 #define __INSN_R(opcode, func3, func7, rd, rs1, rs2) \ 64 ".insn r " opcode ", " func3 ", " func7 ", " rd ", " rs1 ", " rs [all...] |
/kernel/linux/linux-6.6/arch/riscv/kernel/probes/ |
H A D | simulate-insn.c | 65 * offset[11:0] | rs1 | 010 | rd | opcode in simulate_jalr() 144 * | imm[12] | imm[10:5] | rs2 | rs1 | funct3 | imm[4:1] | imm[11] | opcode | in simulate_branch() 146 * imm[12|10:5] rs2 rs1 000 imm[4:1|11] 1100011 BEQ in simulate_branch() 147 * imm[12|10:5] rs2 rs1 001 imm[4:1|11] 1100011 BNE in simulate_branch() 148 * imm[12|10:5] rs2 rs1 100 imm[4:1|11] 1100011 BLT in simulate_branch() 149 * imm[12|10:5] rs2 rs1 101 imm[4:1|11] 1100011 BGE in simulate_branch() 150 * imm[12|10:5] rs2 rs1 110 imm[4:1|11] 1100011 BLTU in simulate_branch() 151 * imm[12|10:5] rs2 rs1 111 imm[4:1|11] 1100011 BGEU in simulate_branch() 221 * | funct4 | rs1 | rs2 | op | in simulate_c_jr_jalr() 227 u32 rs1 in simulate_c_jr_jalr() local 263 u32 rs1; simulate_c_bnez_beqz() local [all...] |
/kernel/linux/linux-5.10/arch/arm/kernel/ |
H A D | sleep.S | 16 * @rs1: register containing affinity level 1 bit shift 25 *compute_mpidr_hash(u32 rs0, u32 rs1, u32 rs2, u32 mpidr, u32 mask) { 31 * dst = (aff0 >> rs0 | aff1 >> rs1 | aff2 >> rs2); 33 * Input registers: rs0, rs1, rs2, mpidr, mask 38 .macro compute_mpidr_hash dst, rs0, rs1, rs2, mpidr, mask 44 ARM( orr \dst, \dst, \mask, lsr \rs1 ) @ dst|=(aff1>>rs1) 45 THUMB( lsr \mask, \mask, \rs1 )
|
/kernel/linux/linux-6.6/arch/parisc/net/ |
H A D | bpf_jit_comp32.c | 706 const s8 *rs1 = bpf_get_reg64(src1, tmp1, ctx); in emit_branch_r64() local 722 emit(hppa_bne(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 723 emit(hppa_bne(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 726 emit(hppa_bgtu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 727 emit(hppa_bltu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 728 emit(hppa_bleu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 731 emit(hppa_bltu(hi(rs1), hi(rs2), JUMP(2)), ctx); in emit_branch_r64() 732 emit(hppa_bgtu(hi(rs1), hi(rs2), NO_JUMP(1)), ctx); in emit_branch_r64() 733 emit(hppa_bgeu(lo(rs1), lo(rs2), NO_JUMP(0)), ctx); in emit_branch_r64() 736 emit(hppa_bgtu(hi(rs1), h in emit_branch_r64() 873 const s8 *rs1 = bpf_get_reg32(src1, tmp1, ctx); emit_branch_r32() local [all...] |
/kernel/linux/linux-6.6/arch/arm/kernel/ |
H A D | sleep.S | 16 * @rs1: register containing affinity level 1 bit shift 25 *compute_mpidr_hash(u32 rs0, u32 rs1, u32 rs2, u32 mpidr, u32 mask) { 31 * dst = (aff0 >> rs0 | aff1 >> rs1 | aff2 >> rs2); 33 * Input registers: rs0, rs1, rs2, mpidr, mask 38 .macro compute_mpidr_hash dst, rs0, rs1, rs2, mpidr, mask 44 ARM( orr \dst, \dst, \mask, lsr \rs1 ) @ dst|=(aff1>>rs1) 45 THUMB( lsr \mask, \mask, \rs1 )
|
/kernel/linux/linux-5.10/arch/sparc/math-emu/ |
H A D | math_64.c | 173 /* ftt tells which ftt it may happen in, r is rd, b is rs2 and a is rs1. The *u arg tells in do_mathemu() 359 argp rs1 = NULL, rs2 = NULL, rd = NULL; in do_mathemu() local 380 case 1: rs1 = (argp)&f->regs[freg]; in do_mathemu() 383 rs1 = (argp)&zero; in do_mathemu() 387 case 7: FP_UNPACK_QP (QA, rs1); break; in do_mathemu() 388 case 6: FP_UNPACK_DP (DA, rs1); break; in do_mathemu() 389 case 5: FP_UNPACK_SP (SA, rs1); break; in do_mathemu()
|
H A D | math_32.c | 279 /* r is rd, b is rs2 and a is rs1. The *u arg tells in do_one_mathemu() 284 argp rs1 = NULL, rs2 = NULL, rd = NULL; in do_one_mathemu() local 355 switch (type & 0x3) { /* is rs1 single, double or quad? */ in do_one_mathemu() 369 rs1 = (argp)&fregs[freg]; in do_one_mathemu() 371 case 7: FP_UNPACK_QP (QA, rs1); break; in do_one_mathemu() 372 case 6: FP_UNPACK_DP (DA, rs1); break; in do_one_mathemu() 373 case 5: FP_UNPACK_SP (SA, rs1); break; in do_one_mathemu()
|
/kernel/linux/linux-6.6/arch/sparc/math-emu/ |
H A D | math_64.c | 173 /* ftt tells which ftt it may happen in, r is rd, b is rs2 and a is rs1. The *u arg tells in do_mathemu() 359 argp rs1 = NULL, rs2 = NULL, rd = NULL; in do_mathemu() local 380 case 1: rs1 = (argp)&f->regs[freg]; in do_mathemu() 383 rs1 = (argp)&zero; in do_mathemu() 387 case 7: FP_UNPACK_QP (QA, rs1); break; in do_mathemu() 388 case 6: FP_UNPACK_DP (DA, rs1); break; in do_mathemu() 389 case 5: FP_UNPACK_SP (SA, rs1); break; in do_mathemu()
|
H A D | math_32.c | 279 /* r is rd, b is rs2 and a is rs1. The *u arg tells in do_one_mathemu() 284 argp rs1 = NULL, rs2 = NULL, rd = NULL; in do_one_mathemu() local 355 switch (type & 0x3) { /* is rs1 single, double or quad? */ in do_one_mathemu() 369 rs1 = (argp)&fregs[freg]; in do_one_mathemu() 371 case 7: FP_UNPACK_QP (QA, rs1); break; in do_one_mathemu() 372 case 6: FP_UNPACK_DP (DA, rs1); break; in do_one_mathemu() 373 case 5: FP_UNPACK_SP (SA, rs1); break; in do_one_mathemu()
|
/kernel/linux/linux-5.10/arch/mips/crypto/ |
H A D | poly1305-mips.pl | 226 my ($h0,$h1,$h2,$r0,$r1,$rs1,$d0,$d1,$d2) = 283 ld $rs1,40($ctx) 380 dmultu ($rs1,$d1) # h1*5*r1 383 mflo ($tmp0,$rs1,$d1) 384 mfhi ($tmp1,$rs1,$d1) 399 dmultu ($rs1,$d2) # h2*5*r1 402 mflo ($tmp2,$rs1,$d2) 733 my ($h0,$h1,$h2,$h3,$h4, $r0,$r1,$r2,$r3, $rs1,$rs2,$rs3) = 787 lw $rs1,36($ctx) 927 maddu $rs1, [all...] |
/kernel/linux/linux-6.6/arch/mips/crypto/ |
H A D | poly1305-mips.pl | 226 my ($h0,$h1,$h2,$r0,$r1,$rs1,$d0,$d1,$d2) = 283 ld $rs1,40($ctx) 380 dmultu ($rs1,$d1) # h1*5*r1 383 mflo ($tmp0,$rs1,$d1) 384 mfhi ($tmp1,$rs1,$d1) 399 dmultu ($rs1,$d2) # h2*5*r1 402 mflo ($tmp2,$rs1,$d2) 733 my ($h0,$h1,$h2,$h3,$h4, $r0,$r1,$r2,$r3, $rs1,$rs2,$rs3) = 787 lw $rs1,36($ctx) 927 maddu $rs1, [all...] |
/kernel/linux/linux-5.10/drivers/edac/ |
H A D | pnd2_edac.h | 224 u32 rs1 : 5; member
|
H A D | pnd2_edac.c | 1002 daddr->rank |= dnv_get_bit(pmiaddr, dmap[pmiidx].rs1 + 13, 1); in dnv_pmi2mem()
|
/kernel/linux/linux-6.6/drivers/edac/ |
H A D | pnd2_edac.h | 224 u32 rs1 : 5; member
|
H A D | pnd2_edac.c | 980 daddr->rank |= dnv_get_bit(pmiaddr, dmap[pmiidx].rs1 + 13, 1); in dnv_pmi2mem()
|