2014-11-07 82 views
3

說我有一個簡單的aarch64功能,可通過SVC系統調用,看起來像這樣(的iOS目標):ARMv8 AArch64 SVC保存寄存器

make_syscall: 
    stp fp, lr, [sp, #-16]! 
    add fp, sp, #0    
    mov x16, SYSCALL_NUM  
    svC#128     
    ldp fp, lr, [sp], #16  
    ret       

問題:因爲函數只修改X16,這是調用者保存,是否有任何需要保存/恢復除幀指針和鏈接寄存器以外的任何其他寄存器?換句話說,是否可以假定SVC處理程序遵守ABI過程調用約定?

感謝

回答