diff options
author | RajithaY <rajithax.yerrumsetty@intel.com> | 2017-04-25 03:31:15 -0700 |
---|---|---|
committer | Rajitha Yerrumchetty <rajithax.yerrumsetty@intel.com> | 2017-05-22 06:48:08 +0000 |
commit | bb756eebdac6fd24e8919e2c43f7d2c8c4091f59 (patch) | |
tree | ca11e03542edf2d8f631efeca5e1626d211107e3 /qemu/roms/openbios/arch/sparc64/call-client.S | |
parent | a14b48d18a9ed03ec191cf16b162206998a895ce (diff) |
Adding qemu as a submodule of KVMFORNFV
This Patch includes the changes to add qemu as a submodule to
kvmfornfv repo and make use of the updated latest qemu for the
execution of all testcase
Change-Id: I1280af507a857675c7f81d30c95255635667bdd7
Signed-off-by:RajithaY<rajithax.yerrumsetty@intel.com>
Diffstat (limited to 'qemu/roms/openbios/arch/sparc64/call-client.S')
-rw-r--r-- | qemu/roms/openbios/arch/sparc64/call-client.S | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/qemu/roms/openbios/arch/sparc64/call-client.S b/qemu/roms/openbios/arch/sparc64/call-client.S deleted file mode 100644 index a8c0348e4..000000000 --- a/qemu/roms/openbios/arch/sparc64/call-client.S +++ /dev/null @@ -1,118 +0,0 @@ -#include "cpustate.h" - - .globl sparc64_of_client_interface, client_tba - - -/* - * SAVE_WINDOW_STATE and RESTORE_WINDOW_STATE are used to ensure - * that the CPU window state is preserved across CIF calls. This is - * to workaround a *BSD restriction that window fill/spill traps must - * be minimised during trap table takeover, and likely emulates the - * behaviour of OBP. - */ - - .data - .align 8 - -client_stack: - .xword 0 -client_tba: - .xword 0 -client_window: - .skip 2048 - - - .text - .align 4 - .register %g2, #scratch - .register %g3, #scratch - .register %g6, #scratch - .register %g7, #scratch -/* - make some more space on stack since linux kernel only provides 128 bytes - without memory to spill registers (used by gcc in -O0 mode) -*/ - -sparc64_of_client_interface: - - /* Save globals on callers stack */ - add %sp, -248, %sp - - stx %g1, [%sp + 2047 + 192] - stx %g2, [%sp + 2047 + 200] - stx %g3, [%sp + 2047 + 208] - stx %g4, [%sp + 2047 + 216] - stx %g5, [%sp + 2047 + 224] - stx %g6, [%sp + 2047 + 232] - stx %g7, [%sp + 2047 + 240] - - /* Save client trap table */ - setx client_tba, %g6, %g7 - rdpr %tba, %g6 - stx %g6, [%g7] - - /* Save existing stack */ - setx client_stack, %g6, %g7 - stx %sp, [%g7] - - /* Save windows */ - setx _fcstack_ptr, %g6, %g7 - ldx [%g7], %g1 - add %g1, -CONTEXT_STATE_SIZE, %g1 - stx %g1, [%g7] - - SAVE_CPU_WINDOW_STATE(cif) - - /* Move to OpenBIOS context stack */ - setx _fcstack_ptr, %g6, %g7 - ldx [%g7], %g6 - setx CONTEXT_STACK_SIZE, %g4, %g5 - sub %g6, %g5, %g6 - stx %g6, [%g7] - - setx - 2047 - 192, %g6, %g7 - add %g1, %g7, %g7 - mov %g7, %sp - - /* Call client inteface */ - call of_client_interface - ldx [%g1 + 0x30], %o0 - - /* Restore windows */ - setx _fcstack_ptr, %g6, %g7 - ldx [%g7], %g1 - setx CONTEXT_STACK_SIZE, %g4, %g5 - add %g1, %g5, %g1 - stx %g1, [%g7] - - /* Return value */ - stx %o0, [%g1 + 0x30] - - RESTORE_CPU_WINDOW_STATE(cif) - - add %g1, CONTEXT_STATE_SIZE, %g1 - setx _fcstack_ptr, %g6, %g7 - stx %g1, [%g7] - - /* Restore stack */ - setx client_stack, %g6, %g7 - ldx [%g7], %sp - - /* Restore client trap table */ - setx client_tba, %g6, %g7 - ldx [%g7], %g6 - wrpr %g6, %tba - - /* Restore globals */ - ldx [%sp + 2047 + 192], %g1 - ldx [%sp + 2047 + 200], %g2 - ldx [%sp + 2047 + 208], %g3 - ldx [%sp + 2047 + 216], %g4 - ldx [%sp + 2047 + 224], %g5 - ldx [%sp + 2047 + 232], %g6 - ldx [%sp + 2047 + 240], %g7 - - add %sp, 248, %sp - - jmp %o7+8 - nop |