Changeset afa6e74 in mainline
- Timestamp:
- 2006-05-16T23:37:58Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 04a73cdf
- Parents:
- 6efe0ddf
- Files:
-
- 9 added
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
Makefile
r6efe0ddf rafa6e74 38 38 libadt \ 39 39 init \ 40 ns 40 ns \ 41 fb 41 42 42 43 ifeq ($(ARCH), amd64) -
init/init.c
r6efe0ddf rafa6e74 43 43 #include <errno.h> 44 44 #include <kbd.h> 45 #include <ipc/fb.h> 45 46 46 47 int a; … … 349 350 } 350 351 352 static void test_fb() 353 { 354 int res; 355 ipcarg_t result; 356 int phoneid; 357 358 // printf("Test: Starting connect...\n"); 359 360 phoneid = ipc_connect_me_to(PHONE_NS, SERVICE_VIDEO, 0); 361 362 while ((phoneid = ipc_connect_me_to(PHONE_NS, SERVICE_VIDEO, 0)) < 0) { 363 volatile int a; 364 for(a=0;a<1048576;a++); 365 }; 366 367 // printf("Test: Connected: %d\n", res); 368 // printf("Test: pinging.\n"); 369 while (1) { 370 res = ipc_call_sync(phoneid, FB_GET_VFB, 0xbeef,&result); 371 // printf("Test: Retval: %d - received: %c\n", res, result); 372 // printf("%c", result); 373 } 374 375 // printf("Test: Hangin up\n"); 376 ipc_hangup(phoneid); 377 } 378 379 351 380 int main(int argc, char *argv[]) 352 381 { … … 354 383 int tid; 355 384 356 version_print();385 // version_print(); 357 386 358 387 // test_printf(); … … 366 395 // test_as_send(); 367 396 // test_pci(); 368 test_kbd(); 397 // test_kbd(); 398 // test_fb(); 399 400 printf("Hello\nThis is Init\n\nBye."); 401 369 402 370 403 /* -
libc/Makefile
r6efe0ddf rafa6e74 53 53 generic/io/io.c \ 54 54 generic/io/printf.c \ 55 generic/io/stream.c \ 55 56 generic/io/sprintf.c \ 56 57 generic/io/snprintf.c \ -
libc/Makefile.toolchain
r6efe0ddf rafa6e74 28 28 29 29 DEFS = -DARCH=$(ARCH) 30 CFLAGS = -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -Werror-O3 -nostdlib -nostdinc -I$(LIBC_PREFIX)/include30 CFLAGS = -fno-builtin -Werror-implicit-function-declaration -Wmissing-prototypes -O3 -nostdlib -nostdinc -I$(LIBC_PREFIX)/include 31 31 LFLAGS = -M -N $(SOFTINT_PREFIX)/softint.a 32 32 AFLAGS = 33 33 #-Werror 34 34 35 35 ## Setup platform configuration -
libc/generic/as.c
r6efe0ddf rafa6e74 70 70 71 71 static size_t heapsize = 0; 72 static size_t maxheapsize = (size_t)(-1); 72 73 /* Start of heap linker symbol */ 73 74 extern char _heap; … … 92 93 if (incr < 0 && incr+heapsize > heapsize) 93 94 return NULL; 95 /* Check for user limit */ 96 if ((maxheapsize!=(size_t)(-1)) && (heapsize + incr)>maxheapsize) return NULL; 94 97 95 98 rc = as_area_resize(&_heap, heapsize + incr,0); … … 104 107 return res; 105 108 } 109 110 void *set_maxheapsize(size_t mhs) 111 { 112 maxheapsize=mhs; 113 /* Return pointer to area not managed by sbrk */ 114 return (void *)&_heap + maxheapsize; 115 116 } -
libc/generic/io/io.c
r6efe0ddf rafa6e74 93 93 return EOF; 94 94 } 95 95 /* 96 96 ssize_t write(int fd, const void * buf, size_t count) 97 97 { 98 98 return (ssize_t) __SYSCALL3(SYS_IO, (sysarg_t) fd, (sysarg_t) buf, (sysarg_t) count); 99 } 99 }*/ 100 100 101 101 102 103 -
libc/generic/libc.c
r6efe0ddf rafa6e74 32 32 #include <malloc.h> 33 33 #include <psthread.h> 34 #include <io/stream.h> 35 36 int __DONT_OPEN_STDIO__; 34 37 35 38 /* We should probably merge libc and libipc together */ … … 42 45 void __main(void) { 43 46 tcb_t *tcb; 47 48 if(!__DONT_OPEN_STDIO__) 49 { 50 open("stdin",0); 51 open("stdout",0); 52 open("stderr",0); 53 } 44 54 45 55 tcb = __make_tls(); -
libc/include/as.h
r6efe0ddf rafa6e74 32 32 #include <types.h> 33 33 #include <task.h> 34 #include <kernel/arch/mm/as.h> 34 35 #include <kernel/mm/as.h> 36 37 #define USER_ADDRESS_SPACE_SIZE_ARCH (USER_ADDRESS_SPACE_END_ARCH-USER_ADDRESS_SPACE_START_ARCH+1) 35 38 36 39 extern void *as_area_create(void *address, size_t size, int flags); 37 40 extern int as_area_resize(void *address, size_t size, int flags); 38 41 extern int as_area_destroy(void *address); 42 extern void *set_maxheapsize(size_t mhs); 39 43 40 44 #endif -
libc/include/ipc/services.h
r6efe0ddf rafa6e74 38 38 #define SERVICE_FRAME_BUFFER 2 39 39 #define SERVICE_KEYBOARD 3 40 #define SERVICE_VIDEO 4 40 41 41 42 #endif -
ns/ns.c
r6efe0ddf rafa6e74 46 46 #define NS_HASH_TABLE_CHAINS 20 47 47 48 extern int __DONT_OPEN_STDIO__=1; 49 48 50 static int register_service(ipcarg_t service, ipcarg_t phone, ipc_call_t *call); 49 51 static int connect_to_service(ipcarg_t service, ipc_call_t *call, ipc_callid_t callid); … … 82 84 ipcarg_t retval, arg1, arg2; 83 85 84 printf("%s: Naming service started.\n", NAME);86 // printf("%s: Naming service started.\n", NAME); 85 87 86 88 if (!hash_table_create(&ns_hash_table, NS_HASH_TABLE_CHAINS, 3, &ns_hash_table_ops)) { 87 printf("%s: cannot create hash table\n", NAME);89 // printf("%s: cannot create hash table\n", NAME); 88 90 return ENOMEM; 89 91 } … … 95 97 case IPC_M_AS_AREA_SEND: 96 98 as_area = (char *)IPC_GET_ARG2(call); 97 printf("Received as_area: %P, size:%d\n", as_area, IPC_GET_ARG3(call));99 // printf("Received as_area: %P, size:%d\n", as_area, IPC_GET_ARG3(call)); 98 100 retval = ipc_answer_fast(callid, 0,(sysarg_t)(1024*1024), 0); 99 101 if (!retval) { 100 printf("Reading shared memory...");101 printf("Text: %s", as_area);102 // printf("Reading shared memory..."); 103 // printf("Text: %s", as_area); 102 104 } else 103 printf("Failed answer: %d\n", retval);105 // printf("Failed answer: %d\n", retval); 104 106 continue; 105 107 break; 106 108 case IPC_M_INTERRUPT: 107 printf("GOT INTERRUPT: %c\n", IPC_GET_ARG2(call));109 // printf("GOT INTERRUPT: %c\n", IPC_GET_ARG2(call)); 108 110 break; 109 111 case IPC_M_PHONE_HUNGUP: 110 printf("Phone hung up.\n");112 // printf("Phone hung up.\n"); 111 113 retval = 0; 112 114 break; … … 125 127 break; 126 128 case NS_HANGUP: 127 printf("Closing connection.\n");129 // printf("Closing connection.\n"); 128 130 retval = EHANGUP; 129 131 break; 130 132 case NS_PING: 131 printf("Ping...%P %P\n", IPC_GET_ARG1(call),132 IPC_GET_ARG2(call));133 // printf("Ping...%P %P\n", IPC_GET_ARG1(call), 134 // IPC_GET_ARG2(call)); 133 135 retval = 0; 134 136 arg1 = 0xdead; … … 136 138 break; 137 139 case NS_PING_SVC: 138 printf("NS:Pinging service %d\n", ping_phone);140 // printf("NS:Pinging service %d\n", ping_phone); 139 141 ipc_call_sync(ping_phone, NS_PING, 0xbeef, 0); 140 printf("NS:Got pong\n");142 // printf("NS:Got pong\n"); 141 143 break; 142 144 default: 143 printf("Unknown method: %zd\n", IPC_GET_METHOD(call));145 // printf("Unknown method: %zd\n", IPC_GET_METHOD(call)); 144 146 retval = ENOENT; 145 147 break; … … 165 167 hashed_service_t *hs; 166 168 167 printf("Registering service %d on phone %d...", service, phone);169 // printf("Registering service %d on phone %d...", service, phone); 168 170 169 171 if (hash_table_find(&ns_hash_table, keys)) { 170 printf("Service %d already registered.\n", service);172 // printf("Service %d already registered.\n", service); 171 173 return EEXISTS; 172 174 } … … 174 176 hs = (hashed_service_t *) malloc(sizeof(hashed_service_t)); 175 177 if (!hs) { 176 printf("Failed to register service %d.\n", service);178 // printf("Failed to register service %d.\n", service); 177 179 return ENOMEM; 178 180 } … … 207 209 } 208 210 hs = hash_table_get_instance(hlp, hashed_service_t, link); 209 printf("Connecting in_phone_hash=%lX to service at phone %d...", call->in_phone_hash, hs->phone);211 // printf("Connecting in_phone_hash=%lX to service at phone %d...", call->in_phone_hash, hs->phone); 210 212 return ipc_forward_fast(callid, hs->phone, 0, 0); 211 213 }
Note:
See TracChangeset
for help on using the changeset viewer.