Subversion Repositories HelenOS

Compare Revisions

Ignore whitespace Rev 1546 → Rev 1547

//uspace/trunk/libc/include/async.h
46,6 → 46,8
 
aid_t async_send_2(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2,
ipc_call_t *dataptr);
aid_t async_send_3(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2,
ipcarg_t arg3, ipc_call_t *dataptr);
void async_wait_for(aid_t amsgid, ipcarg_t *result);
int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, suseconds_t timeout);
 
68,8 → 70,25
*r2 = IPC_GET_ARG2(result);
return rc;
}
static inline ipcarg_t sync_send_3(int phoneid, ipcarg_t method, ipcarg_t arg1,
ipcarg_t arg2, ipcarg_t arg3, ipcarg_t *r1,
ipcarg_t *r2, ipcarg_t *r3)
{
ipc_call_t result;
ipcarg_t rc;
 
aid_t eid = async_send_3(phoneid, method, arg1, arg2, arg3, &result);
async_wait_for(eid, &rc);
if (r1)
*r1 = IPC_GET_ARG1(result);
if (r2)
*r2 = IPC_GET_ARG2(result);
if (r3)
*r3 = IPC_GET_ARG3(result);
return rc;
}
 
 
pstid_t async_new_connection(ipcarg_t in_phone_hash,ipc_callid_t callid,
ipc_call_t *call,
void (*cthread)(ipc_callid_t,ipc_call_t *));
//uspace/trunk/libc/include/ipc/fb.h
20,4 → 20,8
#define FB_DRAW_TEXT_DATA 1036
#define FB_FLUSH 1037
 
#define FB_DRAW_PPM 1038
#define FB_PREPARE_SHM 1039
#define FB_DROP_SHM 1040
 
#endif
//uspace/trunk/libc/include/sys/mman.h
31,6 → 31,8
 
#include <as.h>
 
#define MAP_FAILED ((void *) -1)
 
#define MAP_SHARED (1 << 0)
#define MAP_PRIVATE (1 << 1)
#define MAP_FIXED (1 << 2)
//uspace/trunk/libc/generic/time.c
73,7 → 73,7
printf("Failed to initialize timeofday memarea\n");
_exit(1);
}
if (rights != (AS_AREA_READ | AS_AREA_CACHEABLE)) {
if (! (rights & AS_AREA_READ)) {
printf("Received bad rights on time area: %X\n",
rights);
as_area_destroy(mapping);
//uspace/trunk/libc/generic/async.c
623,6 → 623,27
return (aid_t) msg;
}
 
/** Send message and return id of the sent message
*
* The return value can be used as input for async_wait() to wait
* for completion.
*/
aid_t async_send_3(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2,
ipcarg_t arg3, ipc_call_t *dataptr)
{
amsg_t *msg;
 
msg = malloc(sizeof(*msg));
msg->done = 0;
msg->dataptr = dataptr;
 
msg->wdata.active = 1; /* We may sleep in next method, but it
* will use it's own mechanism */
ipc_call_async_3(phoneid,method,arg1,arg2,arg3, msg,reply_received,1);
 
return (aid_t) msg;
}
 
/** Wait for a message sent by async framework
*
* @param amsgid Message ID to wait for
//uspace/trunk/libc/generic/mmap.c
33,15 → 33,15
void *mmap(void *start, size_t length, int prot, int flags, int fd,
off_t offset)
{
int rc;
 
if (!start)
start = as_get_mappable_page(length);
prot |= AS_AREA_CACHEABLE;
// if (! ((flags & MAP_SHARED) ^ (flags & MAP_PRIVATE)))
// return NULL;
// return MAP_FAILED;
if (! (flags & MAP_ANONYMOUS))
return NULL;
return MAP_FAILED;
 
return as_area_create(start, length, prot);
}
//uspace/trunk/libc/arch/ia64/Makefile.inc
38,3 → 38,6
ARCH_SOURCES += arch/$(ARCH)/src/syscall.S \
arch/$(ARCH)/src/psthread.S \
arch/$(ARCH)/src/thread.c
 
BFD_NAME = elf64-little
BFD_ARCH = ia64-elf64
//uspace/trunk/libc/arch/mips32eb/Makefile.inc
31,9 → 31,13
 
TARGET = mips-sgi-irix5
TOOLCHAIN_DIR = /usr/local/mips/bin
CFLAGS += -mno-abicalls -mips3
CFLAGS += -mips3
 
ARCH_SOURCES += arch/$(ARCH)/src/syscall.c
ARCH_SOURCES += arch/$(ARCH)/src/syscall.c \
arch/$(ARCH)/src/psthread.S \
arch/$(ARCH)/src/thread.c
 
LFLAGS += -N
 
BFD_ARCH = mips
BFD_NAME = elf32-big
//uspace/trunk/libc/arch/ppc32/Makefile.inc
39,3 → 39,6
CFLAGS += -mcpu=powerpc -msoft-float -m32
AFLAGS += -a32
LFLAGS += -N
 
BFD_NAME = elf32-powerpc
BFD_ARCH = powerpc:common
//uspace/trunk/libc/arch/amd64/Makefile.inc
37,3 → 37,6
arch/$(ARCH)/src/thread.c
 
LFLAGS += -N
 
BFD_NAME = elf64-x86-64
BFD_ARCH = i386:x86-64
//uspace/trunk/libc/arch/mips32/Makefile.inc
37,4 → 37,5
arch/$(ARCH)/src/psthread.S \
arch/$(ARCH)/src/thread.c
 
 
BFD_ARCH = mips
BFD_NAME = elf32-little
//uspace/trunk/libc/arch/ia32/Makefile.inc
37,3 → 37,6
arch/$(ARCH)/src/thread.c
 
LFLAGS += -N
 
BFD_NAME = elf32-i386
BFD_ARCH = i386