|
|
1.1 ! root 1: /****************************************************************************** ! 2: * Copyright (c) 2004, 2008 IBM Corporation ! 3: * All rights reserved. ! 4: * This program and the accompanying materials ! 5: * are made available under the terms of the BSD License ! 6: * which accompanies this distribution, and is available at ! 7: * http://www.opensource.org/licenses/bsd-license.php ! 8: * ! 9: * Contributors: ! 10: * IBM Corporation - initial implementation ! 11: *****************************************************************************/ ! 12: #include <libhvcall.h> ! 13: ! 14: // : hv-putchar ( char -- ) ! 15: PRIM(hv_X2d_putchar) ! 16: char c = TOS.n; POP; ! 17: hv_putchar(c); ! 18: MIRP ! 19: ! 20: // : hv-getchar ( -- char ) ! 21: PRIM(hv_X2d_getchar) ! 22: PUSH; ! 23: TOS.n = hv_getchar(); ! 24: MIRP ! 25: ! 26: // : hv-haschar ( -- res ) ! 27: PRIM(hv_X2d_haschar) ! 28: PUSH; ! 29: TOS.n = hv_haschar(); ! 30: MIRP ! 31: ! 32: // : hv-reg-crq ( unit qaddr qsize -- res ) ! 33: PRIM(hv_X2d_reg_X2d_crq) ! 34: unsigned long qsize = TOS.u; POP; ! 35: unsigned long qaddr = TOS.u; POP; ! 36: unsigned int unit = TOS.u; ! 37: TOS.n = hv_reg_crq(unit, qaddr, qsize); ! 38: MIRP ! 39: ! 40: // : hv-free-crq ( unit -- ) ! 41: PRIM(hv_X2d_free_X2d_crq) ! 42: unsigned int unit = TOS.u; POP; ! 43: hv_free_crq(unit); ! 44: MIRP ! 45: ! 46: // : hv-send-crq ( unit msgaddr -- rc ) ! 47: PRIM(hv_X2d_send_X2d_crq) ! 48: uint64_t *msgaddr = (uint64_t *)TOS.u; POP; ! 49: unsigned int unit = TOS.u; ! 50: TOS.n = hv_send_crq(unit, msgaddr); ! 51: MIRP
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.