18fdc9ce9SDmitry Chagin/* 28fdc9ce9SDmitry Chagin * This file is in public domain. 38fdc9ce9SDmitry Chagin * Written by Dmitry Chagin <dchagin@FreeBSD.org> 48fdc9ce9SDmitry Chagin */ 58fdc9ce9SDmitry Chagin 60be13a45SDmitry Chagin .text 70be13a45SDmitry Chagin 8*c8dbef44SDmitry Chagin .globl xregs_banks_max 9*c8dbef44SDmitry Chagin .type xregs_banks_max, @function 10*c8dbef44SDmitry Chaginxregs_banks_max: 11*c8dbef44SDmitry Chagin mov x0, #0 12*c8dbef44SDmitry Chagin ret 13*c8dbef44SDmitry Chagin 14*c8dbef44SDmitry Chagin .size xregs_banks_max, . - xregs_banks_max 15*c8dbef44SDmitry Chagin 16*c8dbef44SDmitry Chagin 170be13a45SDmitry Chagin .globl cpu_to_vfp 180be13a45SDmitry Chagin .type cpu_to_vfp, @function 190be13a45SDmitry Chagincpu_to_vfp: 208fdc9ce9SDmitry Chagin stp q0, q1, [x0, #( 0 * 16)] 218fdc9ce9SDmitry Chagin stp q2, q3, [x0, #( 2 * 16)] 228fdc9ce9SDmitry Chagin stp q4, q5, [x0, #( 4 * 16)] 238fdc9ce9SDmitry Chagin stp q6, q7, [x0, #( 6 * 16)] 248fdc9ce9SDmitry Chagin stp q8, q9, [x0, #( 8 * 16)] 258fdc9ce9SDmitry Chagin stp q10, q11, [x0, #(10 * 16)] 268fdc9ce9SDmitry Chagin stp q12, q13, [x0, #(12 * 16)] 278fdc9ce9SDmitry Chagin stp q14, q15, [x0, #(14 * 16)] 288fdc9ce9SDmitry Chagin stp q16, q17, [x0, #(16 * 16)] 298fdc9ce9SDmitry Chagin stp q18, q19, [x0, #(18 * 16)] 308fdc9ce9SDmitry Chagin stp q20, q21, [x0, #(20 * 16)] 318fdc9ce9SDmitry Chagin stp q22, q23, [x0, #(22 * 16)] 328fdc9ce9SDmitry Chagin stp q24, q25, [x0, #(24 * 16)] 338fdc9ce9SDmitry Chagin stp q26, q27, [x0, #(26 * 16)] 348fdc9ce9SDmitry Chagin stp q28, q29, [x0, #(28 * 16)] 358fdc9ce9SDmitry Chagin stp q30, q31, [x0, #(30 * 16)] 368fdc9ce9SDmitry Chagin ret 378fdc9ce9SDmitry Chagin 380be13a45SDmitry Chagin .size cpu_to_vfp, . - cpu_to_vfp 398fdc9ce9SDmitry Chagin 408fdc9ce9SDmitry Chagin 410be13a45SDmitry Chagin .globl vfp_to_cpu 420be13a45SDmitry Chagin .type vfp_to_cpu, @function 430be13a45SDmitry Chaginvfp_to_cpu: 448fdc9ce9SDmitry Chagin ldp q0, q1, [x0, #( 0 * 16)] 458fdc9ce9SDmitry Chagin ldp q2, q3, [x0, #( 2 * 16)] 468fdc9ce9SDmitry Chagin ldp q4, q5, [x0, #( 4 * 16)] 478fdc9ce9SDmitry Chagin ldp q6, q7, [x0, #( 6 * 16)] 488fdc9ce9SDmitry Chagin ldp q8, q9, [x0, #( 8 * 16)] 498fdc9ce9SDmitry Chagin ldp q10, q11, [x0, #(10 * 16)] 508fdc9ce9SDmitry Chagin ldp q12, q13, [x0, #(12 * 16)] 518fdc9ce9SDmitry Chagin ldp q14, q15, [x0, #(14 * 16)] 528fdc9ce9SDmitry Chagin ldp q16, q17, [x0, #(16 * 16)] 538fdc9ce9SDmitry Chagin ldp q18, q19, [x0, #(18 * 16)] 548fdc9ce9SDmitry Chagin ldp q20, q21, [x0, #(20 * 16)] 558fdc9ce9SDmitry Chagin ldp q22, q23, [x0, #(22 * 16)] 568fdc9ce9SDmitry Chagin ldp q24, q25, [x0, #(24 * 16)] 578fdc9ce9SDmitry Chagin ldp q26, q27, [x0, #(26 * 16)] 588fdc9ce9SDmitry Chagin ldp q28, q29, [x0, #(28 * 16)] 598fdc9ce9SDmitry Chagin ldp q30, q31, [x0, #(30 * 16)] 608fdc9ce9SDmitry Chagin ret 618fdc9ce9SDmitry Chagin 620be13a45SDmitry Chagin .size vfp_to_cpu, . - vfp_to_cpu 638fdc9ce9SDmitry Chagin 648fdc9ce9SDmitry Chagin .section .note.GNU-stack,"",@progbits 65