|
|
1.1 ! root 1: #define _ASM ! 2: #define __ASSEMBLY__ ! 3: #include "macros.h" ! 4: #include "libhvcall.h" ! 5: ! 6: #define HVCALL .long 0x44000022 ! 7: ! 8: .text ! 9: .align 3 ! 10: ! 11: ENTRY(hv_generic) ! 12: HVCALL ! 13: blr ! 14: ! 15: ENTRY(hv_putchar) ! 16: sldi r6,r3,(24+32) ! 17: li r3,H_PUT_TERM_CHAR ! 18: li r4,0 ! 19: li r5,1 ! 20: HVCALL ! 21: blr ! 22: ! 23: ENTRY(hv_getchar) ! 24: mflr r10 ! 25: bl .hv_haschar ! 26: mtlr r10 ! 27: cmpwi cr0,r3,0 ! 28: beqlr ! 29: lis r9,inbuf@h ! 30: ori r9,r9,inbuf@l ! 31: lwz r4,20(r9) ! 32: lbzx r3,r4,r9 ! 33: addi r4,r4,1 ! 34: stw r4,20(r9) ! 35: blr ! 36: ! 37: ENTRY(hv_haschar) ! 38: li r3,-1 ! 39: lis r9,inbuf@h ! 40: ori r9,r9,inbuf@l ! 41: lwz r5,16(r9) ! 42: lwz r6,20(r9) ! 43: cmplw cr0,r5,r6 ! 44: bnelr ! 45: li r3,H_GET_TERM_CHAR ! 46: li r4,0 ! 47: HVCALL ! 48: lis r9,inbuf@h ! 49: ori r9,r9,inbuf@l ! 50: stw r4,16(r9) ! 51: li r3,0 ! 52: stw r3,20(r9) ! 53: cmplwi cr0,r4,0 ! 54: beqlr ! 55: li r3,-1 ! 56: std r5,0(r9) ! 57: std r6,8(r9) ! 58: blr ! 59: ! 60: ENTRY(hv_send_crq) ! 61: ld r5,0(r4) ! 62: ld r6,8(r4) ! 63: mr r4,r3 ! 64: li r3,H_SEND_CRQ ! 65: HVCALL ! 66: blr ! 67: ! 68: ENTRY(hv_send_logical_lan) ! 69: li r11,0 /* no continue token for now */ ! 70: mr r10,r9 ! 71: mr r9,r8 ! 72: mr r8,r7 ! 73: mr r7,r6 ! 74: mr r6,r5 ! 75: mr r5,r4 ! 76: mr r4,r3 ! 77: li r3,H_SEND_LOGICAL_LAN ! 78: HVCALL ! 79: blr ! 80: ! 81: .section ".bss" ! 82: inbuf: .space 16 ! 83: inlen: .space 4 ! 84: inpos: .space 4 ! 85: .text ! 86:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.