. added safecopies.c: these are library functions to maintain grant tables in own address space . sys_safecopy.c: interfaces to kernel calls to perform safe copy functions in from or to foreign process . changes in i/o fields (type merged with request) reflected in library functions (sys_out.c, sys_vinb.c, sys_vinl.c, sys_vinw.c, sys_voutb.c, sys_voutl.c, sys_voutw.c) . type merged with request in sys_sdevio, also now accepts offset which is used when a grant is specified (the _DIO_SAFE subtype) . system printf() function changed to send DIAGNOSTICS_S messages, which specify a grant id instead of a direct address for the buffer to be printed; tty and log can then safecopy the buffer
18 lines
580 B
C
18 lines
580 B
C
#include "syslib.h"
|
|
|
|
|
|
/*===========================================================================*
|
|
* sys_vinw *
|
|
*===========================================================================*/
|
|
PUBLIC int sys_vinw(pvw_pairs, nr_ports)
|
|
pvw_pair_t *pvw_pairs; /* (port,word-value)-pairs */
|
|
int nr_ports; /* nr of pairs to be processed */
|
|
{
|
|
message m_io;
|
|
|
|
m_io.DIO_REQUEST = _DIO_WORD | _DIO_INPUT;
|
|
m_io.DIO_VEC_ADDR = (char *) pvw_pairs;
|
|
m_io.DIO_VEC_SIZE = nr_ports;
|
|
return _taskcall(SYSTASK, SYS_VDEVIO, &m_io);
|
|
}
|
|
|