Annotation of qemu/roms/openbios/arch/sparc64/call-client.S, revision 1.1

1.1     ! root        1:        .globl  sparc64_of_client_interface
        !             2: 
        !             3:        .data
        !             4:        .align  8
        !             5: client_globals:
        !             6:        .skip 64
        !             7: 
        !             8:        .text
        !             9:        .align  4
        !            10:         .register %g2, #scratch
        !            11:         .register %g3, #scratch
        !            12:         .register %g6, #scratch
        !            13:         .register %g7, #scratch
        !            14: /*
        !            15:        make some more space on stack since linux kernel only provides 128 bytes
        !            16:        without memory to spill registers (used by gcc in -O0 mode)
        !            17: */
        !            18: 
        !            19: sparc64_of_client_interface:
        !            20:        /* make sure caller's windows are on caller's stack */
        !            21:        flushw
        !            22:        save %sp, -248, %sp
        !            23:        stx         %g1, [%sp + 2047 + 192 +  0]
        !            24:        stx         %g2, [%sp + 2047 + 192 +  8]
        !            25:        stx         %g3, [%sp + 2047 + 192 + 16]
        !            26:        stx         %g4, [%sp + 2047 + 192 + 24]
        !            27:        stx         %g5, [%sp + 2047 + 192 + 32]
        !            28:        stx         %g6, [%sp + 2047 + 192 + 40]
        !            29:        stx         %g7, [%sp + 2047 + 192 + 48]
        !            30: 
        !            31:        call of_client_interface
        !            32:         mov %i0, %o0
        !            33:        mov %o0, %i0
        !            34: 
        !            35:        ldx         [%sp + 2047 + 192 +  0], %g1
        !            36:        ldx         [%sp + 2047 + 192 +  8], %g2
        !            37:        ldx         [%sp + 2047 + 192 + 16], %g3
        !            38:        ldx         [%sp + 2047 + 192 + 24], %g4
        !            39:        ldx         [%sp + 2047 + 192 + 32], %g5
        !            40:        ldx         [%sp + 2047 + 192 + 40], %g6
        !            41:        ldx         [%sp + 2047 + 192 + 48], %g7
        !            42:        return  %i7+8
        !            43:         nop
        !            44: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.