Revision 4e17eae9 tcg/arm/tcg-target.c
b/tcg/arm/tcg-target.c | ||
---|---|---|
1752 | 1752 |
|
1753 | 1753 |
void tcg_target_qemu_prologue(TCGContext *s) |
1754 | 1754 |
{ |
1755 |
/* stmdb sp!, { r9 - r11, lr } */ |
|
1756 |
tcg_out32(s, (COND_AL << 28) | 0x092d4e00); |
|
1755 |
/* Theoretically there is no need to save r12, but an |
|
1756 |
even number of registers to be saved as per EABI */ |
|
1757 |
|
|
1758 |
/* stmdb sp!, { r4 - r12, lr } */ |
|
1759 |
tcg_out32(s, (COND_AL << 28) | 0x092d5ff0); |
|
1757 | 1760 |
|
1758 | 1761 |
tcg_out_bx(s, COND_AL, TCG_REG_R0); |
1759 | 1762 |
tb_ret_addr = s->code_ptr; |
1760 | 1763 |
|
1761 |
/* ldmia sp!, { r9 - r11, pc } */
|
|
1762 |
tcg_out32(s, (COND_AL << 28) | 0x08bd8e00);
|
|
1764 |
/* ldmia sp!, { r4 - r12, pc } */
|
|
1765 |
tcg_out32(s, (COND_AL << 28) | 0x08bd9ff0);
|
|
1763 | 1766 |
} |
Also available in: Unified diff