Ignore:
Timestamp:
Nov 11, 2014, 4:18:38 PM (10 years ago)
Author:
alain
Message:

1) Introducing an explicit channel initialisation function in the MWMR library.
2) Defining new system calls in stdio.c to support user access to the NIC.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • soft/giet_vm/giet_libs/stdio.c

    r438 r450  
    541541//////////////////////////////////////////////////////////////////////////////////
    542542
    543 /////////////////////
    544 void giet_nic_alloc()
    545 {
    546     if ( sys_call( SYSCALL_NIC_ALLOC,
    547                    0, 0, 0, 0 ) ) giet_exit("error in giet_nic_alloc()");
    548 }
    549 
    550 ///////////////////////////////////////
    551 void giet_nic_sync_send( void* buffer )
    552 {
    553     if ( sys_call( SYSCALL_NIC_SYNC_SEND,
     543////////////////////////
     544void giet_nic_rx_alloc()
     545{
     546    if ( sys_call( SYSCALL_NIC_RX_ALLOC,
     547                   0, 0, 0, 0 ) ) giet_exit("error in giet_nic_rx_alloc()");
     548}
     549
     550////////////////////////
     551void giet_nic_tx_alloc()
     552{
     553    if ( sys_call( SYSCALL_NIC_TX_ALLOC,
     554                   0, 0, 0, 0 ) ) giet_exit("error in giet_nic_tx_alloc()");
     555}
     556
     557////////////////////////
     558void giet_nic_rx_start()
     559{
     560    if ( sys_call( SYSCALL_NIC_RX_START,
     561                   0, 0, 0, 0 ) ) giet_exit("error in giet_nic_rx_start()");
     562}
     563
     564////////////////////////
     565void giet_nic_tx_start()
     566{
     567    if ( sys_call( SYSCALL_NIC_TX_START,
     568                   0, 0, 0, 0 ) ) giet_exit("error in giet_nic_tx_start()");
     569}
     570
     571/////////////////////////////////////
     572void giet_nic_rx_move( void* buffer )
     573{
     574    if ( sys_call( SYSCALL_NIC_RX_MOVE,
    554575                   (unsigned int)buffer,
    555                    0, 0, 0 ) )  giet_exit("error in giet_nic_sync_send()");
    556 }
    557 
    558 //////////////////////////////////////////
    559 void giet_nic_sync_receive( void* buffer )
    560 {
    561     if ( sys_call( SYSCALL_NIC_SYNC_RECEIVE,
     576                   0, 0, 0 ) )  giet_exit("error in giet_nic_rx_move()");
     577}
     578
     579/////////////////////////////////////
     580void giet_nic_tx_move( void* buffer )
     581{
     582    if ( sys_call( SYSCALL_NIC_TX_MOVE,
    562583                   (unsigned int)buffer,
    563                    0, 0, 0 ) )  giet_exit("error in giet_nic_sync_receive()");
    564 }
     584                   0, 0, 0 ) )  giet_exit("error in giet_nic_tx_move()");
     585}
     586
     587////////////////////////
     588void giet_nic_rx_stop()
     589{
     590    if ( sys_call( SYSCALL_NIC_RX_STOP,
     591                   0, 0, 0, 0 ) ) giet_exit("error in giet_nic_rx_start()");
     592}
     593
     594////////////////////////
     595void giet_nic_tx_stop()
     596{
     597    if ( sys_call( SYSCALL_NIC_TX_STOP,
     598                   0, 0, 0, 0 ) ) giet_exit("error in giet_nic_tx_start()");
     599}
     600
    565601
    566602///////////////////////////////////////////////////////////////////////////////////
Note: See TracChangeset for help on using the changeset viewer.