Changes in / [bdbb6f6:0864122] in mainline
- Files:
-
- 5 added
- 4 deleted
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
HelenOS.config
rbdbb6f6 r0864122 528 528 ! [PLATFORM=sparc64&MACHINE=generic] CONFIG_AOUT_ISOFS_B (y) 529 529 530 % Run devman on startup531 ! CONFIG_START_DEVMAN (y/n)532 533 % Launch (devman) test drivers534 ! [CONFIG_START_DEVMAN=y&CONFIG_DEBUG=y] CONFIG_TEST_DRIVERS (y/n)535 536 530 % Load disk drivers on startup 537 531 ! CONFIG_START_BD (n/y) … … 554 548 % Line debugging information 555 549 ! [CONFIG_STRIP_BINARIES!=y] CONFIG_LINE_DEBUG (n/y) 550 551 % Launch (devman) test drivers 552 ! [CONFIG_DEBUG=y] CONFIG_TEST_DRIVERS (y/n) 553 -
kernel/generic/src/mm/backend_elf.c
rbdbb6f6 r0864122 91 91 if (!as_area_check_access(area, access)) 92 92 return AS_PF_FAULT; 93 94 if (addr < ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE)) 95 return AS_PF_FAULT; 96 97 if (addr >= entry->p_vaddr + entry->p_memsz) 98 return AS_PF_FAULT; 99 93 94 ASSERT((addr >= ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE)) && 95 (addr < entry->p_vaddr + entry->p_memsz)); 100 96 i = (addr - ALIGN_DOWN(entry->p_vaddr, PAGE_SIZE)) >> PAGE_WIDTH; 101 97 base = (uintptr_t) -
uspace/app/bdsh/cmds/modules/ls/ls.c
rbdbb6f6 r0864122 38 38 #include <dirent.h> 39 39 #include <fcntl.h> 40 #include <getopt.h>41 40 #include <sys/types.h> 42 41 #include <sys/stat.h> 43 42 #include <str.h> 44 #include <sort.h>45 43 46 44 #include "errors.h" … … 48 46 #include "util.h" 49 47 #include "entry.h" 48 #include "ls.h" 50 49 #include "cmds.h" 51 52 /* Various values that can be returned by ls_scope() */53 #define LS_BOGUS 054 #define LS_FILE 155 #define LS_DIR 256 57 /** Structure to represent a directory entry.58 *59 * Useful to keep together important information60 * for sorting directory entries.61 */62 struct dir_elem_t {63 char *name;64 struct stat s;65 };66 50 67 51 static const char *cmdname = "ls"; 68 52 69 static struct option const long_options[] = { 70 { "help", no_argument, 0, 'h' }, 71 { "unsort", no_argument, 0, 'u' }, 72 { 0, 0, 0, 0 } 73 }; 53 static void ls_scan_dir(const char *d, DIR *dirp) 54 { 55 struct dirent *dp; 56 char *buff; 74 57 75 /** Print an entry. 76 * 77 * ls_print currently does nothing more than print the entry. 78 * In the future, we will likely pass the absolute path, and 58 if (! dirp) 59 return; 60 61 buff = (char *)malloc(PATH_MAX); 62 if (NULL == buff) { 63 cli_error(CL_ENOMEM, "ls: failed to scan %s", d); 64 return; 65 } 66 67 while ((dp = readdir(dirp))) { 68 memset(buff, 0, sizeof(buff)); 69 /* Don't worry if inserting a double slash, this will be fixed by 70 * absolutize() later with subsequent calls to open() or readdir() */ 71 snprintf(buff, PATH_MAX - 1, "%s/%s", d, dp->d_name); 72 ls_print(dp->d_name, buff); 73 } 74 75 free(buff); 76 77 return; 78 } 79 80 /* ls_print currently does nothing more than print the entry. 81 * in the future, we will likely pass the absolute path, and 79 82 * some sort of ls_options structure that controls how each 80 83 * entry is printed and what is printed about it. 81 84 * 82 * Now we just print basic DOS style lists. 83 * 84 * @param de Directory element. 85 */ 86 static void ls_print(struct dir_elem_t *de) 85 * Now we just print basic DOS style lists */ 86 87 static void ls_print(const char *name, const char *pathname) 87 88 { 88 if (de->s.is_file) 89 printf("%-40s\t%llu\n", de->name, (long long) de->s.size); 90 else if (de->s.is_directory) 91 printf("%-40s\t<dir>\n", de->name); 92 else 93 printf("%-40s\n", de->name); 94 } 89 struct stat s; 90 int rc; 95 91 96 97 /** Compare 2 directory elements. 98 * 99 * It compares 2 elements of a directory : a file is considered 100 * as bigger than a directory, and if they have the same type, 101 * they are compared alphabetically. 102 * 103 * @param a Pointer to the structure of the first element. 104 * @param b Pointer to the structure of the second element. 105 * @param arg Pointer for an other and optionnal argument. 106 * 107 * @return -1 if a < b, 1 otherwise. 108 */ 109 static int ls_cmp(void *a, void *b, void *arg) 110 { 111 struct dir_elem_t *da = a; 112 struct dir_elem_t *db = b; 113 114 if ((da->s.is_directory && db->s.is_file) || 115 ((da->s.is_directory == db->s.is_directory) && 116 str_cmp(da->name, db->name) < 0)) 117 return -1; 118 else 119 return 1; 120 } 121 122 /** Scan a directory. 123 * 124 * Scan the content of a directory and print it. 125 * 126 * @param d Name of the directory. 127 * @param dirp Directory stream. 128 * @param sort 1 if the output must be sorted, 129 * 0 otherwise. 130 */ 131 static void ls_scan_dir(const char *d, DIR *dirp, int sort) 132 { 133 int alloc_blocks = 20; 134 int i; 135 int nbdirs = 0; 136 int rc; 137 int len; 138 char *buff; 139 struct dir_elem_t *tmp; 140 struct dir_elem_t *tosort; 141 struct dirent *dp; 142 143 if (!dirp) 144 return; 145 146 buff = (char *) malloc(PATH_MAX); 147 if (!buff) { 148 cli_error(CL_ENOMEM, "ls: failed to scan %s", d); 92 rc = stat(pathname, &s); 93 if (rc != 0) { 94 /* Odd chance it was deleted from the time readdir() found it */ 95 printf("ls: skipping bogus node %s\n", pathname); 96 printf("rc=%d\n", rc); 149 97 return; 150 98 } 151 99 152 tosort = (struct dir_elem_t *) malloc(alloc_blocks * sizeof(*tosort)); 153 if (!tosort) { 154 cli_error(CL_ENOMEM, "ls: failed to scan %s", d); 155 free(buff); 156 return; 157 } 158 159 while ((dp = readdir(dirp))) { 160 if (nbdirs + 1 > alloc_blocks) { 161 alloc_blocks += alloc_blocks; 162 163 tmp = (struct dir_elem_t *) realloc(tosort, 164 alloc_blocks * sizeof(struct dir_elem_t)); 165 if (!tmp) { 166 cli_error(CL_ENOMEM, "ls: failed to scan %s", d); 167 goto out; 168 } 169 tosort = tmp; 170 } 171 172 /* fill the name field */ 173 tosort[nbdirs].name = (char *) malloc(str_length(dp->d_name) + 1); 174 if (!tosort[nbdirs].name) { 175 cli_error(CL_ENOMEM, "ls: failed to scan %s", d); 176 goto out; 177 } 178 179 str_cpy(tosort[nbdirs].name, str_length(dp->d_name) + 1, dp->d_name); 180 len = snprintf(buff, PATH_MAX - 1, "%s/%s", d, tosort[nbdirs].name); 181 buff[len] = '\0'; 100 if (s.is_file) 101 printf("%-40s\t%llu\n", name, (long long) s.size); 102 else if (s.is_directory) 103 printf("%-40s\t<dir>\n", name); 104 else 105 printf("%-40s\n", name); 182 106 183 rc = stat(buff, &tosort[nbdirs++].s); 184 if (rc != 0) { 185 printf("ls: skipping bogus node %s\n", buff); 186 printf("rc=%d\n", rc); 187 goto out; 188 } 189 } 190 191 if (sort) { 192 if (!qsort(&tosort[0], nbdirs, sizeof(struct dir_elem_t), 193 ls_cmp, NULL)) { 194 printf("Sorting error.\n"); 195 } 196 } 197 198 for (i = 0; i < nbdirs; i++) 199 ls_print(&tosort[i]); 200 201 out: 202 for(i = 0; i < nbdirs; i++) 203 free(tosort[i].name); 204 free(tosort); 205 free(buff); 107 return; 206 108 } 207 109 … … 212 114 } else { 213 115 help_cmd_ls(HELP_SHORT); 214 printf( 215 "Usage: %s [options] [path]\n" 216 "If not path is given, the current working directory is used.\n" 217 "Options:\n" 218 " -h, --help A short option summary\n" 219 " -u, --unsort Do not sort directory entries\n", 220 cmdname); 116 printf(" `%s' [path], if no path is given the current " 117 "working directory is used.\n", cmdname); 221 118 } 222 119 … … 227 124 { 228 125 unsigned int argc; 229 struct dir_elem_t de; 126 struct stat s; 127 char *buff; 230 128 DIR *dirp; 231 int c, opt_ind;232 int sort = 1;233 129 234 130 argc = cli_count_args(argv); 235 236 for (c = 0, optind = 0, opt_ind = 0; c != -1;) { 237 c = getopt_long(argc, argv, "hu", long_options, &opt_ind); 238 switch (c) { 239 case 'h': 240 help_cmd_ls(HELP_LONG); 241 return CMD_SUCCESS; 242 case 'u': 243 sort = 0; 244 break; 245 } 246 } 247 248 argc -= optind; 249 250 de.name = (char *) malloc(PATH_MAX); 251 if (!de.name) { 131 132 buff = (char *) malloc(PATH_MAX); 133 if (NULL == buff) { 252 134 cli_error(CL_ENOMEM, "%s: ", cmdname); 253 135 return CMD_FAILURE; 254 136 } 255 memset( de.name, 0, sizeof(PATH_MAX));256 257 if (argc == 0)258 getcwd( de.name, PATH_MAX);137 memset(buff, 0, sizeof(buff)); 138 139 if (argc == 1) 140 getcwd(buff, PATH_MAX); 259 141 else 260 str_cpy( de.name, PATH_MAX, argv[optind]);261 262 if (stat( de.name, &de.s)) {263 cli_error(CL_ENOENT, de.name);264 free( de.name);142 str_cpy(buff, PATH_MAX, argv[1]); 143 144 if (stat(buff, &s)) { 145 cli_error(CL_ENOENT, buff); 146 free(buff); 265 147 return CMD_FAILURE; 266 148 } 267 149 268 if ( de.s.is_file) {269 ls_print( &de);150 if (s.is_file) { 151 ls_print(buff, buff); 270 152 } else { 271 dirp = opendir( de.name);153 dirp = opendir(buff); 272 154 if (!dirp) { 273 155 /* May have been deleted between scoping it and opening it */ 274 cli_error(CL_EFAIL, "Could not stat %s", de.name);275 free( de.name);156 cli_error(CL_EFAIL, "Could not stat %s", buff); 157 free(buff); 276 158 return CMD_FAILURE; 277 159 } 278 ls_scan_dir( de.name, dirp, sort);160 ls_scan_dir(buff, dirp); 279 161 closedir(dirp); 280 162 } 281 163 282 free( de.name);164 free(buff); 283 165 284 166 return CMD_SUCCESS; -
uspace/app/init/init.c
rbdbb6f6 r0864122 272 272 mount_tmpfs(); 273 273 274 #ifdef CONFIG_START_DEVMAN275 spawn("/srv/devman");276 #endif277 274 spawn("/srv/apic"); 278 275 spawn("/srv/i8259"); -
uspace/drv/isa/isa.c
rbdbb6f6 r0864122 53 53 54 54 #include <ddf/driver.h> 55 #include <ddf/log.h>56 55 #include <ops/hw_res.h> 57 56 … … 135 134 fd = open(conf_path, O_RDONLY); 136 135 if (fd < 0) { 137 ddf_msg(LVL_ERROR, "Unable to open %s\n", conf_path);136 printf(NAME ": unable to open %s\n", conf_path); 138 137 goto cleanup; 139 138 } … … 142 141 143 142 len = lseek(fd, 0, SEEK_END); 144 lseek(fd, 0, SEEK_SET); 143 lseek(fd, 0, SEEK_SET); 145 144 if (len == 0) { 146 ddf_msg(LVL_ERROR, "Configuration file '%s' is empty.\n",147 conf_path);145 printf(NAME ": fun_conf_read error: configuration file '%s' " 146 "is empty.\n", conf_path); 148 147 goto cleanup; 149 148 } … … 151 150 buf = malloc(len + 1); 152 151 if (buf == NULL) { 153 ddf_msg(LVL_ERROR, "Memory allocation failed.\n");152 printf(NAME ": fun_conf_read error: memory allocation failed.\n"); 154 153 goto cleanup; 155 154 } 156 155 157 156 if (0 >= read(fd, buf, len)) { 158 ddf_msg(LVL_ERROR, "Unable to read file '%s'.\n", conf_path); 157 printf(NAME ": fun_conf_read error: unable to read file '%s'.\n", 158 conf_path); 159 159 goto cleanup; 160 160 } … … 252 252 fun->hw_resources.count++; 253 253 254 ddf_msg(LVL_NOTE, "Added irq 0x%x to function %s\n", irq,254 printf(NAME ": added irq 0x%x to function %s\n", irq, 255 255 fun->fnode->name); 256 256 } … … 270 270 fun->hw_resources.count++; 271 271 272 ddf_msg(LVL_NOTE, "Added io range (addr=0x%x, size=0x%x) to "272 printf(NAME ": added io range (addr=0x%x, size=0x%x) to " 273 273 "function %s\n", (unsigned int) addr, (unsigned int) len, 274 274 fun->fnode->name); … … 331 331 score = (int)strtol(val, &end, 10); 332 332 if (val == end) { 333 ddf_msg(LVL_ERROR, "Cannot read match score for function"334 " %s.\n", fun->fnode->name);333 printf(NAME " : error - could not read match score for " 334 "function %s.\n", fun->fnode->name); 335 335 return; 336 336 } … … 339 339 get_match_id(&id, val); 340 340 if (id == NULL) { 341 ddf_msg(LVL_ERROR, "Cannot read match ID for function %s.\n",342 fun->fnode->name);341 printf(NAME " : error - could not read match id for " 342 "function %s.\n", fun->fnode->name); 343 343 return; 344 344 } 345 345 346 ddf_msg(LVL_DEBUG, "Adding match id '%s' with score %d to "347 "function %s\n", id,score, fun->fnode->name);346 printf(NAME ": adding match id '%s' with score %d to function %s\n", id, 347 score, fun->fnode->name); 348 348 349 349 rc = ddf_fun_add_match_id(fun->fnode, id, score); 350 if (rc != EOK) { 351 ddf_msg(LVL_ERROR, "Failed adding match ID: %s\n", 352 str_error(rc)); 353 } 350 if (rc != EOK) 351 printf(NAME ": error adding match ID: %s\n", str_error(rc)); 354 352 } 355 353 … … 377 375 if (!prop_parse(fun, line, "io_range", &fun_parse_io_range) && 378 376 !prop_parse(fun, line, "irq", &fun_parse_irq) && 379 !prop_parse(fun, line, "match", &fun_parse_match_id)) {380 381 ddf_msg(LVL_ERROR, "Undefined device property at line '%s'\n",382 377 !prop_parse(fun, line, "match", &fun_parse_match_id)) 378 { 379 printf(NAME " error undefined device property at line '%s'\n", 380 line); 383 381 } 384 382 } … … 441 439 fun->fnode->ops = &isa_fun_ops; 442 440 443 ddf_msg(LVL_DEBUG, "Binding function %s.\n", fun->fnode->name);441 printf(NAME ": Binding function %s.\n", fun->fnode->name); 444 442 445 443 /* XXX Handle error */ … … 469 467 static int isa_add_device(ddf_dev_t *dev) 470 468 { 471 ddf_msg(LVL_DEBUG, "isa_add_device, device handle = %d\n",469 printf(NAME ": isa_add_device, device handle = %d\n", 472 470 (int) dev->handle); 473 471 474 472 /* Make the bus device more visible. Does not do anything. */ 475 ddf_msg(LVL_DEBUG, "Adding a 'ctl' function\n");473 printf(NAME ": adding a 'ctl' function\n"); 476 474 477 475 ddf_fun_t *ctl = ddf_fun_create(dev, fun_exposed, "ctl"); 478 476 if (ctl == NULL) { 479 ddf_msg(LVL_ERROR, "Failedcreating control function.\n");477 printf(NAME ": Error creating control function.\n"); 480 478 return EXDEV; 481 479 } 482 480 483 481 if (ddf_fun_bind(ctl) != EOK) { 484 ddf_msg(LVL_ERROR, "Failedbinding control function.\n");482 printf(NAME ": Error binding control function.\n"); 485 483 return EXDEV; 486 484 } … … 488 486 /* Add functions as specified in the configuration file. */ 489 487 isa_functions_add(dev); 490 ddf_msg(LVL_NOTE, "Finished enumeratinglegacy functions\n");488 printf(NAME ": finished the enumeration of legacy functions\n"); 491 489 492 490 return EOK; … … 495 493 static void isa_init() 496 494 { 497 ddf_log_init(NAME, LVL_ERROR);498 495 isa_fun_ops.interfaces[HW_RES_DEV_IFACE] = &isa_fun_hw_res_ops; 499 496 } -
uspace/drv/ns8250/ns8250.c
rbdbb6f6 r0864122 55 55 #include <ddf/driver.h> 56 56 #include <ddf/interrupt.h> 57 #include <ddf/log.h>58 57 #include <ops/char_dev.h> 59 58 … … 276 275 static bool ns8250_pio_enable(ns8250_t *ns) 277 276 { 278 ddf_msg(LVL_DEBUG, "ns8250_pio_enable %s\n", ns->dev->name);277 printf(NAME ": ns8250_pio_enable %s\n", ns->dev->name); 279 278 280 279 /* Gain control over port's registers. */ 281 280 if (pio_enable((void *)(uintptr_t) ns->io_addr, REG_COUNT, 282 281 (void **) &ns->port)) { 283 ddf_msg(LVL_ERROR, "Cannot map the port %#" PRIx32284 " for device%s.\n", ns->io_addr, ns->dev->name);282 printf(NAME ": error - cannot gain the port %#" PRIx32 " for device " 283 "%s.\n", ns->io_addr, ns->dev->name); 285 284 return false; 286 285 } … … 296 295 static bool ns8250_dev_probe(ns8250_t *ns) 297 296 { 298 ddf_msg(LVL_DEBUG, "ns8250_dev_probe %s\n", ns->dev->name);297 printf(NAME ": ns8250_dev_probe %s\n", ns->dev->name); 299 298 300 299 ioport8_t *port_addr = ns->port; … … 314 313 pio_write_8(port_addr + 4, olddata); 315 314 316 if (!res) { 317 ddf_msg(LVL_DEBUG, "Device %s is not present.\n", 318 ns->dev->name); 319 } 315 if (!res) 316 printf(NAME ": device %s is not present.\n", ns->dev->name); 320 317 321 318 return res; … … 329 326 static int ns8250_dev_initialize(ns8250_t *ns) 330 327 { 331 ddf_msg(LVL_DEBUG, "ns8250_dev_initialize %s\n", ns->dev->name);328 printf(NAME ": ns8250_dev_initialize %s\n", ns->dev->name); 332 329 333 330 int ret = EOK; … … 340 337 IPC_FLAG_BLOCKING); 341 338 if (ns->dev->parent_phone < 0) { 342 ddf_msg(LVL_ERROR, "Failed to connect to parent driver of"339 printf(NAME ": failed to connect to the parent driver of the " 343 340 "device %s.\n", ns->dev->name); 344 341 ret = ns->dev->parent_phone; … … 349 346 ret = hw_res_get_resource_list(ns->dev->parent_phone, &hw_resources); 350 347 if (ret != EOK) { 351 ddf_msg(LVL_ERROR, "Failed to get HW resources fordevice "348 printf(NAME ": failed to get hw resources for the device " 352 349 "%s.\n", ns->dev->name); 353 350 goto failed; … … 365 362 ns->irq = res->res.interrupt.irq; 366 363 irq = true; 367 ddf_msg(LVL_NOTE, "Device %swas asigned irq = 0x%x.\n",364 printf(NAME ": the %s device was asigned irq = 0x%x.\n", 368 365 ns->dev->name, ns->irq); 369 366 break; … … 372 369 ns->io_addr = res->res.io_range.address; 373 370 if (res->res.io_range.size < REG_COUNT) { 374 ddf_msg(LVL_ERROR, "I/O range assigned to"375 " device%s is too small.\n", ns->dev->name);371 printf(NAME ": i/o range assigned to the device " 372 "%s is too small.\n", ns->dev->name); 376 373 ret = ELIMIT; 377 374 goto failed; 378 375 } 379 376 ioport = true; 380 ddf_msg(LVL_NOTE, "Device %s was asigned I/Oaddress = "377 printf(NAME ": the %s device was asigned i/o address = " 381 378 "0x%x.\n", ns->dev->name, ns->io_addr); 382 379 break; … … 388 385 389 386 if (!irq || !ioport) { 390 ddf_msg(LVL_ERROR, "Missing HW resource(s) fordevice %s.\n",387 printf(NAME ": missing hw resource(s) for the device %s.\n", 391 388 ns->dev->name); 392 389 ret = ENOENT; … … 473 470 474 471 if (baud_rate < 50 || MAX_BAUD_RATE % baud_rate != 0) { 475 ddf_msg(LVL_ERROR, "Invalid baud rate %d requested.\n",476 baud_rate);472 printf(NAME ": error - somebody tried to set invalid baud rate " 473 "%d\n", baud_rate); 477 474 return EINVAL; 478 475 } … … 657 654 if (ns->client_connected) { 658 655 if (!buf_push_back(&ns->input_buffer, val)) { 659 ddf_msg(LVL_WARN, "Buffer overflow on "656 printf(NAME ": buffer overflow on " 660 657 "%s.\n", ns->dev->name); 661 658 } else { 662 ddf_msg(LVL_DEBUG2, "Character %c saved "659 printf(NAME ": the character %c saved " 663 660 "to the buffer of %s.\n", 664 661 val, ns->dev->name); … … 717 714 int rc; 718 715 719 ddf_msg(LVL_DEBUG, "ns8250_add_device %s (handle = %d)\n",716 printf(NAME ": ns8250_add_device %s (handle = %d)\n", 720 717 dev->name, (int) dev->handle); 721 718 … … 752 749 /* Register interrupt handler. */ 753 750 if (ns8250_register_interrupt_handler(ns) != EOK) { 754 ddf_msg(LVL_ERROR, "Failed to register interrupt handler.\n");751 printf(NAME ": failed to register interrupt handler.\n"); 755 752 rc = EADDRNOTAVAIL; 756 753 goto fail; … … 760 757 rc = ns8250_interrupt_enable(ns); 761 758 if (rc != EOK) { 762 ddf_msg(LVL_ERROR, "Failed to enable the interrupt. Error code = "759 printf(NAME ": failed to enable the interrupt. Error code = " 763 760 "%d.\n", rc); 764 761 goto fail; … … 767 764 fun = ddf_fun_create(dev, fun_exposed, "a"); 768 765 if (fun == NULL) { 769 ddf_msg(LVL_ERROR, "Failedcreating function.\n");766 printf(NAME ": error creating function.\n"); 770 767 goto fail; 771 768 } … … 775 772 rc = ddf_fun_bind(fun); 776 773 if (rc != EOK) { 777 ddf_msg(LVL_ERROR, "Failedbinding function.\n");774 printf(NAME ": error binding function.\n"); 778 775 goto fail; 779 776 } … … 783 780 ddf_fun_add_to_class(fun, "serial"); 784 781 785 ddf_msg(LVL_NOTE, "Device %ssuccessfully initialized.\n",782 printf(NAME ": the %s device has been successfully initialized.\n", 786 783 dev->name); 787 784 … … 865 862 fibril_mutex_unlock(&data->mutex); 866 863 867 ddf_msg(LVL_DEBUG, "ns8250_get_props: baud rate %d, parity 0x%x, word "864 printf(NAME ": ns8250_get_props: baud rate %d, parity 0x%x, word " 868 865 "length %d, stop bits %d\n", *baud_rate, *parity, *word_length, 869 866 *stop_bits); … … 882 879 unsigned int parity, unsigned int word_length, unsigned int stop_bits) 883 880 { 884 ddf_msg(LVL_DEBUG, "ns8250_set_props: baud rate %d, parity 0x%x, word "881 printf(NAME ": ns8250_set_props: baud rate %d, parity 0x%x, word " 885 882 "length %d, stop bits %d\n", baud_rate, parity, word_length, 886 883 stop_bits); … … 943 940 static void ns8250_init(void) 944 941 { 945 ddf_log_init(NAME, LVL_ERROR);946 947 942 ns8250_dev_ops.open = &ns8250_open; 948 943 ns8250_dev_ops.close = &ns8250_close; -
uspace/drv/pciintel/pci.c
rbdbb6f6 r0864122 48 48 49 49 #include <ddf/driver.h> 50 #include <ddf/log.h>51 50 #include <devman.h> 52 51 #include <ipc/devman.h> … … 226 225 227 226 if (match_id_str == NULL) { 228 ddf_msg(LVL_ERROR, "Out of memory creating match ID.\n");227 printf(NAME ": out of memory creating match ID.\n"); 229 228 return; 230 229 } … … 232 231 rc = ddf_fun_add_match_id(fun->fnode, match_id_str, 90); 233 232 if (rc != EOK) { 234 ddf_msg(LVL_ERROR, "Failedadding match ID: %s\n",233 printf(NAME ": error adding match ID: %s\n", 235 234 str_error(rc)); 236 235 } … … 324 323 325 324 if (range_addr != 0) { 326 ddf_msg(LVL_DEBUG, "Function %s : address = %" PRIx64327 ", size = %x\n", fun->fnode->name, range_addr,328 325 printf(NAME ": function %s : ", fun->fnode->name); 326 printf("address = %" PRIx64, range_addr); 327 printf(", size = %x\n", (unsigned int) range_size); 329 328 } 330 329 … … 351 350 hw_res_list->count++; 352 351 353 ddf_msg(LVL_NOTE, "Function %s uses irq %x.\n", fun->fnode->name, irq);352 printf(NAME ": function %s uses irq %x.\n", fun->fnode->name, irq); 354 353 } 355 354 … … 407 406 char *fun_name = pci_fun_create_name(fun); 408 407 if (fun_name == NULL) { 409 ddf_msg(LVL_ERROR, "Out of memory.\n");408 printf(NAME ": out of memory.\n"); 410 409 return; 411 410 } … … 413 412 fnode = ddf_fun_create(bus->dnode, fun_inner, fun_name); 414 413 if (fnode == NULL) { 415 ddf_msg(LVL_ERROR, "Failedcreating function.\n");414 printf(NAME ": error creating function.\n"); 416 415 return; 417 416 } … … 427 426 fnode->driver_data = fun; 428 427 429 ddf_msg(LVL_DEBUG, "Adding new function %s.\n",428 printf(NAME ": adding new function %s.\n", 430 429 fnode->name); 431 430 … … 444 443 child_bus = pci_conf_read_8(fun, 445 444 PCI_BRIDGE_SEC_BUS_NUM); 446 ddf_msg(LVL_DEBUG, "Device is pci-to-pci " 447 "bridge, secondary bus number = %d.\n", 448 bus_num); 445 printf(NAME ": device is pci-to-pci bridge, " 446 "secondary bus number = %d.\n", bus_num); 449 447 if (child_bus > bus_num) 450 448 pci_bus_scan(bus, child_bus); … … 468 466 int rc; 469 467 470 ddf_msg(LVL_DEBUG, "pci_add_device\n");468 printf(NAME ": pci_add_device\n"); 471 469 dnode->parent_phone = -1; 472 470 473 471 bus = pci_bus_new(); 474 472 if (bus == NULL) { 475 ddf_msg(LVL_ERROR, "pci_add_device allocation failed.\n");473 printf(NAME ": pci_add_device allocation failed.\n"); 476 474 rc = ENOMEM; 477 475 goto fail; … … 483 481 IPC_FLAG_BLOCKING); 484 482 if (dnode->parent_phone < 0) { 485 ddf_msg(LVL_ERROR, "pci_add_device failed to connect to the "483 printf(NAME ": pci_add_device failed to connect to the " 486 484 "parent's driver.\n"); 487 485 rc = dnode->parent_phone; … … 493 491 rc = hw_res_get_resource_list(dnode->parent_phone, &hw_resources); 494 492 if (rc != EOK) { 495 ddf_msg(LVL_ERROR, "pci_add_device failed to get hw resources"496 " forthe device.\n");493 printf(NAME ": pci_add_device failed to get hw resources for " 494 "the device.\n"); 497 495 goto fail; 498 496 } 499 497 got_res = true; 500 498 501 ddf_msg(LVL_DEBUG, "conf_addr = %" PRIx64 ".\n",499 printf(NAME ": conf_addr = %" PRIx64 ".\n", 502 500 hw_resources.resources[0].res.io_range.address); 503 501 … … 511 509 if (pio_enable((void *)(uintptr_t)bus->conf_io_addr, 8, 512 510 &bus->conf_addr_port)) { 513 ddf_msg(LVL_ERROR, "Failed to enable configuration ports.\n");511 printf(NAME ": failed to enable configuration ports.\n"); 514 512 rc = EADDRNOTAVAIL; 515 513 goto fail; … … 518 516 519 517 /* Make the bus device more visible. It has no use yet. */ 520 ddf_msg(LVL_DEBUG, "Adding a 'ctl' function\n");518 printf(NAME ": adding a 'ctl' function\n"); 521 519 522 520 ctl = ddf_fun_create(bus->dnode, fun_exposed, "ctl"); … … 534 532 535 533 /* Enumerate functions. */ 536 ddf_msg(LVL_DEBUG, "Scanning the bus\n");534 printf(NAME ": scanning the bus\n"); 537 535 pci_bus_scan(bus, 0); 538 536 … … 556 554 static void pciintel_init(void) 557 555 { 558 ddf_log_init(NAME, LVL_ERROR);559 556 pci_fun_ops.interfaces[HW_RES_DEV_IFACE] = &pciintel_hw_res_ops; 560 557 } -
uspace/drv/root/root.c
rbdbb6f6 r0864122 52 52 53 53 #include <ddf/driver.h> 54 #include <ddf/log.h>55 54 #include <devman.h> 56 55 #include <ipc/devman.h> … … 90 89 int rc; 91 90 92 ddf_msg(LVL_DEBUG, "Adding new function for virtual devices. "93 "Function node is `%s' (%d %s)\n", name,91 printf(NAME ": adding new function for virtual devices.\n"); 92 printf(NAME ": function node is `%s' (%d %s)\n", name, 94 93 VIRTUAL_FUN_MATCH_SCORE, VIRTUAL_FUN_MATCH_ID); 95 94 96 95 fun = ddf_fun_create(dev, fun_inner, name); 97 96 if (fun == NULL) { 98 ddf_msg(LVL_ERROR, "Failedcreating function %s\n", name);97 printf(NAME ": error creating function %s\n", name); 99 98 return ENOMEM; 100 99 } … … 103 102 VIRTUAL_FUN_MATCH_SCORE); 104 103 if (rc != EOK) { 105 ddf_msg(LVL_ERROR, "Failedadding match IDs to function %s\n", name);104 printf(NAME ": error adding match IDs to function %s\n", name); 106 105 ddf_fun_destroy(fun); 107 106 return rc; … … 110 109 rc = ddf_fun_bind(fun); 111 110 if (rc != EOK) { 112 ddf_msg(LVL_ERROR, "Failedbinding function %s: %s\n", name,111 printf(NAME ": error binding function %s: %s\n", name, 113 112 str_error(rc)); 114 113 ddf_fun_destroy(fun); … … 137 136 platform = sysinfo_get_data("platform", &platform_size); 138 137 if (platform == NULL) { 139 ddf_msg(LVL_ERROR, "Failed to obtain platform name.\n");138 printf(NAME ": Failed to obtain platform name.\n"); 140 139 return ENOENT; 141 140 } … … 144 143 platform = realloc(platform, platform_size + 1); 145 144 if (platform == NULL) { 146 ddf_msg(LVL_ERROR, "Memory allocation failed.\n");145 printf(NAME ": Memory allocation failed.\n"); 147 146 return ENOMEM; 148 147 } … … 152 151 /* Construct match ID. */ 153 152 if (asprintf(&match_id, PLATFORM_FUN_MATCH_ID_FMT, platform) == -1) { 154 ddf_msg(LVL_ERROR, "Memory allocation failed.\n");153 printf(NAME ": Memory allocation failed.\n"); 155 154 return ENOMEM; 156 155 } 157 156 158 157 /* Add function. */ 159 ddf_msg(LVL_DEBUG, "Adding platform function. Function node is `%s' "160 " (%d %s)\n", PLATFORM_FUN_NAME, PLATFORM_FUN_MATCH_SCORE,161 match_id);158 printf(NAME ": adding platform function\n"); 159 printf(NAME ": function node is `%s' (%d %s)\n", PLATFORM_FUN_NAME, 160 PLATFORM_FUN_MATCH_SCORE, match_id); 162 161 163 162 fun = ddf_fun_create(dev, fun_inner, name); 164 163 if (fun == NULL) { 165 ddf_msg(LVL_ERROR, "Error creating function %s\n", name);164 printf(NAME ": error creating function %s\n", name); 166 165 return ENOMEM; 167 166 } … … 169 168 rc = ddf_fun_add_match_id(fun, match_id, PLATFORM_FUN_MATCH_SCORE); 170 169 if (rc != EOK) { 171 ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s\n", 172 name); 170 printf(NAME ": error adding match IDs to function %s\n", name); 173 171 ddf_fun_destroy(fun); 174 172 return rc; … … 177 175 rc = ddf_fun_bind(fun); 178 176 if (rc != EOK) { 179 ddf_msg(LVL_ERROR, "Failedbinding function %s: %s\n", name,177 printf(NAME ": error binding function %s: %s\n", name, 180 178 str_error(rc)); 181 179 ddf_fun_destroy(fun); … … 193 191 static int root_add_device(ddf_dev_t *dev) 194 192 { 195 ddf_msg(LVL_DEBUG, "root_add_device, device handle=%" PRIun "\n",193 printf(NAME ": root_add_device, device handle=%" PRIun "\n", 196 194 dev->handle); 197 195 … … 206 204 int res = add_platform_fun(dev); 207 205 if (EOK != res) 208 ddf_msg(LVL_ERROR, "Failed addingchild device for platform.\n");206 printf(NAME ": failed to add child device for platform.\n"); 209 207 210 208 return res; … … 214 212 { 215 213 printf(NAME ": HelenOS root device driver\n"); 216 217 ddf_log_init(NAME, LVL_ERROR);218 214 return ddf_driver_main(&root_driver); 219 215 } -
uspace/drv/rootpc/rootpc.c
rbdbb6f6 r0864122 47 47 48 48 #include <ddf/driver.h> 49 #include <ddf/log.h>50 49 #include <devman.h> 51 50 #include <ipc/devman.h> … … 120 119 rootpc_fun_t *fun) 121 120 { 122 ddf_msg(LVL_DEBUG, "Adding new function '%s'.\n", name);121 printf(NAME ": adding new function '%s'.\n", name); 123 122 124 123 ddf_fun_t *fnode = NULL; … … 146 145 /* Register function. */ 147 146 if (ddf_fun_bind(fnode) != EOK) { 148 ddf_msg(LVL_ERROR, "Failedbinding function %s.\n", name);147 printf(NAME ": error binding function %s.\n", name); 149 148 goto failure; 150 149 } … … 159 158 ddf_fun_destroy(fnode); 160 159 161 ddf_msg(LVL_ERROR, "Failed addingfunction '%s'.\n", name);160 printf(NAME ": failed to add function '%s'.\n", name); 162 161 163 162 return false; … … 177 176 static int rootpc_add_device(ddf_dev_t *dev) 178 177 { 179 ddf_msg(LVL_DEBUG, "rootpc_add_device, device handle = %d\n",178 printf(NAME ": rootpc_add_device, device handle = %d\n", 180 179 (int)dev->handle); 181 180 182 181 /* Register functions. */ 183 182 if (!rootpc_add_functions(dev)) { 184 ddf_msg(LVL_ERROR, "Failed to add functions for PC platform.\n");183 printf(NAME ": failed to add functions for PC platform.\n"); 185 184 } 186 185 … … 190 189 static void root_pc_init(void) 191 190 { 192 ddf_log_init(NAME, LVL_ERROR);193 191 rootpc_fun_ops.interfaces[HW_RES_DEV_IFACE] = &fun_hw_res_ops; 194 192 } -
uspace/drv/rootvirt/rootvirt.c
rbdbb6f6 r0864122 40 40 #include <str_error.h> 41 41 #include <ddf/driver.h> 42 #include <ddf/log.h>43 42 44 43 #define NAME "rootvirt" … … 84 83 int rc; 85 84 86 ddf_msg(LVL_DEBUG, "Registering function `%s' (match \"%s\")\n",85 printf(NAME ": registering function `%s' (match \"%s\")\n", 87 86 vfun->name, vfun->match_id); 88 87 89 88 fun = ddf_fun_create(vdev, fun_inner, vfun->name); 90 89 if (fun == NULL) { 91 ddf_msg(LVL_ERROR, "Failedcreating function %s\n", vfun->name);90 printf(NAME ": error creating function %s\n", vfun->name); 92 91 return ENOMEM; 93 92 } … … 95 94 rc = ddf_fun_add_match_id(fun, vfun->match_id, 10); 96 95 if (rc != EOK) { 97 ddf_msg(LVL_ERROR, "Failedadding match IDs to function %s\n",96 printf(NAME ": error adding match IDs to function %s\n", 98 97 vfun->name); 99 98 ddf_fun_destroy(fun); … … 103 102 rc = ddf_fun_bind(fun); 104 103 if (rc != EOK) { 105 ddf_msg(LVL_ERROR, "Failedbinding function %s: %s\n", vfun->name,104 printf(NAME ": error binding function %s: %s\n", vfun->name, 106 105 str_error(rc)); 107 106 ddf_fun_destroy(fun); … … 109 108 } 110 109 111 ddf_msg(LVL_NOTE, "Registered child device `%s'\n", vfun->name);110 printf(NAME ": registered child device `%s'\n", vfun->name); 112 111 return EOK; 113 112 } … … 125 124 } 126 125 127 ddf_msg(LVL_DEBUG, "add_device(handle=%d)\n", (int)dev->handle);126 printf(NAME ": add_device(handle=%d)\n", (int)dev->handle); 128 127 129 128 /* … … 143 142 { 144 143 printf(NAME ": HelenOS virtual devices root driver\n"); 145 146 ddf_log_init(NAME, LVL_ERROR);147 144 return ddf_driver_main(&rootvirt_driver); 148 145 } -
uspace/drv/test1/test1.c
rbdbb6f6 r0864122 35 35 #include <str_error.h> 36 36 #include <ddf/driver.h> 37 #include <ddf/log.h>38 37 39 38 #include "test1.h" … … 65 64 int rc; 66 65 67 ddf_msg(LVL_DEBUG, "Registering function `%s': %s.\n", name, message);66 printf(NAME ": registering function `%s': %s.\n", name, message); 68 67 69 68 fun = ddf_fun_create(parent, fun_inner, name); 70 69 if (fun == NULL) { 71 ddf_msg(LVL_ERROR, "Failedcreating function %s\n", name);70 printf(NAME ": error creating function %s\n", name); 72 71 rc = ENOMEM; 73 72 goto leave; … … 76 75 rc = ddf_fun_add_match_id(fun, str_dup(match_id), match_score); 77 76 if (rc != EOK) { 78 ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s\n", 79 name); 77 printf(NAME ": error adding match IDs to function %s\n", name); 80 78 goto leave; 81 79 } … … 83 81 rc = ddf_fun_bind(fun); 84 82 if (rc != EOK) { 85 ddf_msg(LVL_ERROR, "Failedbinding function %s: %s\n", name,83 printf(NAME ": error binding function %s: %s\n", name, 86 84 str_error(rc)); 87 85 goto leave; 88 86 } 89 87 90 ddf_msg(LVL_NOTE, "Registered child device `%s'\n", name);88 printf(NAME ": registered child device `%s'\n", name); 91 89 rc = EOK; 90 92 91 93 92 leave: 94 93 if (rc != expected_rc) { 95 94 fprintf(stderr, 96 NAME ": Unexpected error registering function `%s'.\n" 95 NAME ": Unexpected error registering function `%s'.\n" \ 97 96 NAME ": Expected \"%s\" but got \"%s\".\n", 98 97 name, str_error(expected_rc), str_error(rc)); … … 128 127 int rc; 129 128 130 ddf_msg(LVL_DEBUG, "add_device(name=\"%s\", handle=%d)\n",129 printf(NAME ": add_device(name=\"%s\", handle=%d)\n", 131 130 dev->name, (int) dev->handle); 132 131 133 132 fun_a = ddf_fun_create(dev, fun_exposed, "a"); 134 133 if (fun_a == NULL) { 135 ddf_msg(LVL_ERROR, "Failedcreating function 'a'.\n");134 printf(NAME ": error creating function 'a'.\n"); 136 135 return ENOMEM; 137 136 } … … 139 138 rc = ddf_fun_bind(fun_a); 140 139 if (rc != EOK) { 141 ddf_msg(LVL_ERROR, "Failedbinding function 'a'.\n");140 printf(NAME ": error binding function 'a'.\n"); 142 141 return rc; 143 142 } … … 161 160 } 162 161 163 ddf_msg(LVL_DEBUG, "Device `%s' accepted.\n", dev->name);162 printf(NAME ": device `%s' accepted.\n", dev->name); 164 163 165 164 return EOK; … … 169 168 { 170 169 printf(NAME ": HelenOS test1 virtual device driver\n"); 171 ddf_log_init(NAME, LVL_ERROR);172 170 return ddf_driver_main(&test1_driver); 173 171 } -
uspace/drv/test2/test2.c
rbdbb6f6 r0864122 36 36 #include <str_error.h> 37 37 #include <ddf/driver.h> 38 #include <ddf/log.h>39 38 40 39 #define NAME "test2" … … 65 64 int rc; 66 65 67 ddf_msg(LVL_DEBUG, "Registering function `%s': %s.\n", name, message);66 printf(NAME ": registering function `%s': %s.\n", name, message); 68 67 69 68 fun = ddf_fun_create(parent, fun_inner, name); 70 69 if (fun == NULL) { 71 ddf_msg(LVL_ERROR, "Failedcreating function %s\n", name);70 printf(NAME ": error creating function %s\n", name); 72 71 return ENOMEM; 73 72 } … … 75 74 rc = ddf_fun_add_match_id(fun, match_id, match_score); 76 75 if (rc != EOK) { 77 ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s\n", 78 name); 76 printf(NAME ": error adding match IDs to function %s\n", name); 79 77 ddf_fun_destroy(fun); 80 78 return rc; … … 83 81 rc = ddf_fun_bind(fun); 84 82 if (rc != EOK) { 85 ddf_msg(LVL_ERROR, "Failedbinding function %s: %s\n", name,83 printf(NAME ": error binding function %s: %s\n", name, 86 84 str_error(rc)); 87 85 ddf_fun_destroy(fun); … … 89 87 } 90 88 91 ddf_msg(LVL_NOTE, "Registered child device `%s'\n", name);89 printf(NAME ": registered child device `%s'\n", name); 92 90 return EOK; 93 91 } … … 113 111 fun_a = ddf_fun_create(dev, fun_exposed, "a"); 114 112 if (fun_a == NULL) { 115 ddf_msg(LVL_ERROR, "Failedcreating function 'a'.\n");113 printf(NAME ": error creating function 'a'.\n"); 116 114 return ENOMEM; 117 115 } … … 119 117 rc = ddf_fun_bind(fun_a); 120 118 if (rc != EOK) { 121 ddf_msg(LVL_ERROR, "Failedbinding function 'a'.\n");119 printf(NAME ": error binding function 'a'.\n"); 122 120 return rc; 123 121 } … … 130 128 static int test2_add_device(ddf_dev_t *dev) 131 129 { 132 ddf_msg(LVL_DEBUG, "test2_add_device(name=\"%s\", handle=%d)\n",130 printf(NAME ": test2_add_device(name=\"%s\", handle=%d)\n", 133 131 dev->name, (int) dev->handle); 134 132 … … 136 134 fid_t postpone = fibril_create(postponed_birth, dev); 137 135 if (postpone == 0) { 138 ddf_msg(LVL_ERROR, "fibril_create() failed.\n");136 printf(NAME ": fibril_create() error\n"); 139 137 return ENOMEM; 140 138 } … … 151 149 { 152 150 printf(NAME ": HelenOS test2 virtual device driver\n"); 153 ddf_log_init(NAME, LVL_ERROR);154 151 return ddf_driver_main(&test2_driver); 155 152 } -
uspace/lib/c/Makefile
rbdbb6f6 r0864122 76 76 generic/io/io.c \ 77 77 generic/io/printf.c \ 78 generic/io/log.c \79 78 generic/io/klog.c \ 80 79 generic/io/snprintf.c \ -
uspace/lib/drv/Makefile
rbdbb6f6 r0864122 35 35 generic/driver.c \ 36 36 generic/dev_iface.c \ 37 generic/log.c \38 37 generic/remote_hw_res.c \ 39 38 generic/remote_char_dev.c -
uspace/lib/drv/generic/driver.c
rbdbb6f6 r0864122 273 273 274 274 res = driver->driver_ops->add_device(dev); 275 if (res != EOK) 275 if (res == EOK) { 276 printf("%s: new device with handle=%" PRIun " was added.\n", 277 driver->name, dev_handle); 278 } else { 279 printf("%s: failed to add a new device with handle = %" PRIun ".\n", 280 driver->name, dev_handle); 276 281 delete_device(dev); 282 } 277 283 278 284 async_answer_0(iid, res); -
uspace/srv/devman/devman.c
rbdbb6f6 r0864122 34 34 #include <fcntl.h> 35 35 #include <sys/stat.h> 36 #include <io/log.h>37 36 #include <ipc/driver.h> 38 37 #include <ipc/devman.h> … … 147 146 fibril_mutex_unlock(&drivers_list->drivers_mutex); 148 147 149 log_msg(LVL_NOTE, "Driver `%s'was added to the list of available "148 printf(NAME": the '%s' driver was added to the list of available " 150 149 "drivers.\n", drv->name); 151 150 } … … 238 237 bool read_match_ids(const char *conf_path, match_id_list_t *ids) 239 238 { 240 log_msg(LVL_DEBUG, "read_match_ids(conf_path=\"%s\")\n", conf_path);239 printf(NAME ": read_match_ids conf_path = %s.\n", conf_path); 241 240 242 241 bool suc = false; … … 248 247 fd = open(conf_path, O_RDONLY); 249 248 if (fd < 0) { 250 log_msg(LVL_ERROR, "Unable to open `%s' for reading: %s.\n", 251 conf_path, str_error(fd)); 249 printf(NAME ": unable to open %s\n", conf_path); 252 250 goto cleanup; 253 251 } … … 257 255 lseek(fd, 0, SEEK_SET); 258 256 if (len == 0) { 259 log_msg(LVL_ERROR, "Configuration file '%s' is empty.\n", 260 conf_path); 257 printf(NAME ": configuration file '%s' is empty.\n", conf_path); 261 258 goto cleanup; 262 259 } … … 264 261 buf = malloc(len + 1); 265 262 if (buf == NULL) { 266 log_msg(LVL_ERROR, "Memory allocation failed when parsing file "263 printf(NAME ": memory allocation failed when parsing file " 267 264 "'%s'.\n", conf_path); 268 265 goto cleanup; … … 271 268 ssize_t read_bytes = safe_read(fd, buf, len); 272 269 if (read_bytes <= 0) { 273 log_msg(LVL_ERROR, "Unable to read file '%s'.\n", conf_path);270 printf(NAME ": unable to read file '%s'.\n", conf_path); 274 271 goto cleanup; 275 272 } … … 309 306 bool get_driver_info(const char *base_path, const char *name, driver_t *drv) 310 307 { 311 log_msg(LVL_DEBUG, "get_driver_info(base_path=\"%s\", name=\"%s\")\n",308 printf(NAME ": get_driver_info base_path = %s, name = %s.\n", 312 309 base_path, name); 313 310 … … 341 338 struct stat s; 342 339 if (stat(drv->binary_path, &s) == ENOENT) { /* FIXME!! */ 343 log_msg(LVL_ERROR, "Driver not found at path `%s'.", 344 drv->binary_path); 340 printf(NAME ": driver not found at path %s.", drv->binary_path); 345 341 goto cleanup; 346 342 } … … 369 365 int lookup_available_drivers(driver_list_t *drivers_list, const char *dir_path) 370 366 { 371 log_msg(LVL_DEBUG, "lookup_available_drivers(dir=\"%s\")\n", dir_path);367 printf(NAME ": lookup_available_drivers, dir = %s \n", dir_path); 372 368 373 369 int drv_cnt = 0; … … 403 399 dev_node_t *dev; 404 400 405 log_msg(LVL_DEBUG, "create_root_nodes()\n");401 printf(NAME ": create_root_nodes\n"); 406 402 407 403 fibril_rwlock_write_lock(&tree->rwlock); … … 488 484 void attach_driver(dev_node_t *dev, driver_t *drv) 489 485 { 490 log_msg(LVL_DEBUG, "attach_driver(dev=\"%s\",drv=\"%s\")\n",491 d ev->pfun->pathname, drv->name);486 printf(NAME ": attach_driver %s to device %s\n", 487 drv->name, dev->pfun->pathname); 492 488 493 489 fibril_mutex_lock(&drv->driver_mutex); … … 511 507 assert(fibril_mutex_is_locked(&drv->driver_mutex)); 512 508 513 log_msg(LVL_DEBUG, "start_driver(drv=\"%s\")\n", drv->name);509 printf(NAME ": start_driver '%s'\n", drv->name); 514 510 515 511 rc = task_spawnl(NULL, drv->binary_path, drv->binary_path, NULL); 516 512 if (rc != EOK) { 517 log_msg(LVL_ERROR, "Spawning driver `%s' (%s) failed: %s.\n",518 drv->name, drv->binary_path,str_error(rc));513 printf(NAME ": error spawning %s (%s)\n", 514 drv->name, str_error(rc)); 519 515 return false; 520 516 } … … 578 574 int phone; 579 575 580 log_msg(LVL_DEBUG, "pass_devices_to_driver(driver=\"%s\")\n", 581 driver->name); 576 printf(NAME ": pass_devices_to_driver(`%s')\n", driver->name); 582 577 583 578 fibril_mutex_lock(&driver->driver_mutex); … … 646 641 * immediately and possibly started here as well. 647 642 */ 648 log_msg(LVL_DEBUG, "Driver `%s' entersrunning state.\n", driver->name);643 printf(NAME ": driver %s goes into running state.\n", driver->name); 649 644 driver->state = DRIVER_RUNNING; 650 645 … … 663 658 void initialize_running_driver(driver_t *driver, dev_tree_t *tree) 664 659 { 665 log_msg(LVL_DEBUG, "initialize_running_driver(driver=\"%s\")\n", 666 driver->name); 660 printf(NAME ": initialize_running_driver (`%s')\n", driver->name); 667 661 668 662 /* … … 754 748 * access any structures that would affect driver_t. 755 749 */ 756 log_msg(LVL_DEBUG, "add_device(drv=\"%s\", dev=\"%s\")\n",757 d rv->name, dev->pfun->name);750 printf(NAME ": add_device (driver `%s', device `%s')\n", drv->name, 751 dev->pfun->name); 758 752 759 753 sysarg_t rc; … … 816 810 driver_t *drv = find_best_match_driver(drivers_list, dev); 817 811 if (drv == NULL) { 818 log_msg(LVL_ERROR, "No driver found for device `%s'.\n",812 printf(NAME ": no driver found for device '%s'.\n", 819 813 dev->pfun->pathname); 820 814 return false; … … 854 848 bool init_device_tree(dev_tree_t *tree, driver_list_t *drivers_list) 855 849 { 856 log_msg(LVL_DEBUG, "init_device_tree()\n");850 printf(NAME ": init_device_tree.\n"); 857 851 858 852 tree->current_handle = 0; … … 1033 1027 fun->pathname = (char *) malloc(pathsize); 1034 1028 if (fun->pathname == NULL) { 1035 log_msg(LVL_ERROR, "Failed to allocate device path.\n");1029 printf(NAME ": failed to allocate device path.\n"); 1036 1030 return false; 1037 1031 } … … 1064 1058 assert(fibril_rwlock_is_write_locked(&tree->rwlock)); 1065 1059 1066 log_msg(LVL_DEBUG, "insert_dev_node(dev=%p, pfun=%p [\"%s\"])\n",1067 dev, pfun, pfun->pathname);1068 1069 1060 /* Add the node to the handle-to-node map. */ 1070 1061 dev->handle = ++tree->current_handle; … … 1073 1064 1074 1065 /* Add the node to the list of its parent's children. */ 1066 printf("insert_dev_node: dev=%p, dev->pfun := %p\n", dev, pfun); 1075 1067 dev->pfun = pfun; 1076 1068 pfun->child = dev; -
uspace/srv/devman/main.c
rbdbb6f6 r0864122 43 43 #include <stdio.h> 44 44 #include <errno.h> 45 #include <str_error.h>46 45 #include <bool.h> 47 46 #include <fibril_synch.h> … … 52 51 #include <sys/stat.h> 53 52 #include <ctype.h> 54 #include <io/log.h>55 53 #include <ipc/devman.h> 56 54 #include <ipc/driver.h> … … 73 71 driver_t *driver = NULL; 74 72 75 log_msg(LVL_DEBUG, "devman_driver_register\n");73 printf(NAME ": devman_driver_register \n"); 76 74 77 75 iid = async_get_call(&icall); … … 90 88 } 91 89 92 log_msg(LVL_DEBUG, "The `%s' driver is trying to register.\n",90 printf(NAME ": the %s driver is trying to register by the service.\n", 93 91 drv_name); 94 92 … … 97 95 98 96 if (driver == NULL) { 99 log_msg(LVL_ERROR, "No driver named `%s'was found.\n", drv_name);97 printf(NAME ": no driver named %s was found.\n", drv_name); 100 98 free(drv_name); 101 99 drv_name = NULL; … … 108 106 109 107 /* Create connection to the driver. */ 110 log_msg(LVL_DEBUG, "Creating connection to the `%s' driver.\n", 111 driver->name); 108 printf(NAME ": creating connection to the %s driver.\n", driver->name); 112 109 ipc_call_t call; 113 110 ipc_callid_t callid = async_get_call(&call); … … 121 118 set_driver_phone(driver, IPC_GET_ARG5(call)); 122 119 123 log_msg(LVL_NOTE, 124 "The `%s' driver was successfully registered as running.\n", 120 printf(NAME ": the %s driver was successfully registered as running.\n", 125 121 driver->name); 126 122 … … 146 142 callid = async_get_call(&call); 147 143 if (DEVMAN_ADD_MATCH_ID != IPC_GET_IMETHOD(call)) { 148 log_msg(LVL_ERROR,149 " Invalid protocol when trying to receive match id.\n");144 printf(NAME ": ERROR: devman_receive_match_id - invalid " 145 "protocol.\n"); 150 146 async_answer_0(callid, EINVAL); 151 147 delete_match_id(match_id); … … 154 150 155 151 if (match_id == NULL) { 156 log_msg(LVL_ERROR, "Failed to allocate match id.\n"); 152 printf(NAME ": ERROR: devman_receive_match_id - failed to " 153 "allocate match id.\n"); 157 154 async_answer_0(callid, ENOMEM); 158 155 return ENOMEM; … … 168 165 if (rc != EOK) { 169 166 delete_match_id(match_id); 170 log_msg(LVL_ERROR, "Failed to receive match id string: %s.\n",171 str_error(rc));167 printf(NAME ": devman_receive_match_id - failed to receive " 168 "match id string.\n"); 172 169 return rc; 173 170 } … … 175 172 list_append(&match_id->link, &match_ids->ids); 176 173 177 log_msg(LVL_DEBUG, "Received match id `%s', score %d.\n",174 printf(NAME ": received match id '%s', score = %d \n", 178 175 match_id->id, match_id->score); 179 176 return rc; … … 231 228 if (ftype != fun_inner && ftype != fun_exposed) { 232 229 /* Unknown function type */ 233 log_msg(LVL_ERROR, 234 "Unknown function type %d provided by driver.\n", 235 (int) ftype); 230 printf(NAME ": Error, unknown function type provided by driver!\n"); 236 231 237 232 fibril_rwlock_write_unlock(&tree->rwlock); … … 280 275 fibril_rwlock_write_unlock(&tree->rwlock); 281 276 282 log_msg(LVL_DEBUG, "devman_add_function(fun=\"%s\")\n", fun->pathname);277 printf(NAME ": devman_add_function %s\n", fun->pathname); 283 278 284 279 devman_receive_match_ids(match_count, &fun->match_ids); … … 362 357 devmap_register_class_dev(class_info); 363 358 364 log_msg(LVL_NOTE, "Function `%s' added to class `%s' as `%s'.\n",365 fun->pathname, class_name, class_info->dev_name);359 printf(NAME ": function'%s' added to class '%s', class name '%s' was " 360 "asigned to it\n", fun->pathname, class_name, class_info->dev_name); 366 361 367 362 async_answer_0(callid, EOK); … … 378 373 379 374 initialize_running_driver(driver, &device_tree); 380 log_msg(LVL_DEBUG, "The `%s` driver was successfully initialized.\n",375 printf(NAME ": the %s driver was successfully initialized. \n", 381 376 driver->name); 382 377 return 0; … … 400 395 fid_t fid = fibril_create(init_running_drv, driver); 401 396 if (fid == 0) { 402 log_msg(LVL_ERROR, "Failed to create initialization fibril " \403 " for driver `%s' .\n", driver->name);397 printf(NAME ": Error creating fibril for the initialization of " 398 "the newly registered running driver.\n"); 404 399 return; 405 400 } … … 536 531 */ 537 532 if (dev == NULL) { 538 log_msg(LVL_ERROR, "IPC forwarding failed - no device or"539 " function withhandle %" PRIun " was found.\n", handle);533 printf(NAME ": devman_forward error - no device or function with " 534 "handle %" PRIun " was found.\n", handle); 540 535 async_answer_0(iid, ENOENT); 541 536 return; … … 543 538 544 539 if (fun == NULL && !drv_to_parent) { 545 log_msg(LVL_ERROR, NAME ": devman_forward error - cannot " 546 "connect to handle %" PRIun ", refers to a device.\n", 547 handle); 540 printf(NAME ": devman_forward error - cannot connect to " 541 "handle %" PRIun ", refers to a device.\n", handle); 548 542 async_answer_0(iid, ENOENT); 549 543 return; … … 566 560 567 561 if (driver == NULL) { 568 log_msg(LVL_ERROR, "IPC forwarding refused - " \569 " the device %" PRIun " is not inusable state.\n", handle);562 printf(NAME ": devman_forward error - the device is not in %" PRIun 563 " usable state.\n", handle); 570 564 async_answer_0(iid, ENOENT); 571 565 return; … … 579 573 580 574 if (driver->phone <= 0) { 581 log_msg(LVL_ERROR,582 "Could not forward to driver `%s' (phone is %d).\n",583 driver->name, (int)driver->phone);575 printf(NAME ": devman_forward: cound not forward to driver %s ", 576 driver->name); 577 printf("the driver's phone is %" PRIun ").\n", driver->phone); 584 578 async_answer_0(iid, EINVAL); 585 579 return; … … 587 581 588 582 if (fun != NULL) { 589 log_msg(LVL_DEBUG, 590 "Forwarding request for `%s' function to driver `%s'.\n", 591 fun->pathname, driver->name); 583 printf(NAME ": devman_forward: forward connection to function %s to " 584 "driver %s.\n", fun->pathname, driver->name); 592 585 } else { 593 log_msg(LVL_DEBUG, 594 "Forwarding request for `%s' device to driver `%s'.\n", 595 dev->pfun->pathname, driver->name); 586 printf(NAME ": devman_forward: forward connection to device %s to " 587 "driver %s.\n", dev->pfun->pathname, driver->name); 596 588 } 597 589 … … 625 617 async_forward_fast(iid, dev->drv->phone, DRIVER_CLIENT, fun->handle, 0, 626 618 IPC_FF_NONE); 627 log_msg(LVL_DEBUG, 628 "Forwarding devmapper request for `%s' function to driver `%s'.\n", 629 fun->pathname, dev->drv->name); 619 printf(NAME ": devman_connection_devmapper: forwarded connection to " 620 "device %s to driver %s.\n", fun->pathname, dev->drv->name); 630 621 } 631 622 … … 662 653 static bool devman_init(void) 663 654 { 664 log_msg(LVL_DEBUG, "devman_init - looking for available drivers.\n");655 printf(NAME ": devman_init - looking for available drivers.\n"); 665 656 666 657 /* Initialize list of available drivers. */ … … 668 659 if (lookup_available_drivers(&drivers_list, 669 660 DRIVER_DEFAULT_STORE) == 0) { 670 log_msg(LVL_FATAL, "no drivers found.");661 printf(NAME " no drivers found."); 671 662 return false; 672 663 } 673 664 674 log_msg(LVL_DEBUG, "devman_init- list of drivers has been initialized.\n");665 printf(NAME ": devman_init - list of drivers has been initialized.\n"); 675 666 676 667 /* Create root device node. */ 677 668 if (!init_device_tree(&device_tree, &drivers_list)) { 678 log_msg(LVL_FATAL, "Failed to initialize device tree.");669 printf(NAME " failed to initialize device tree."); 679 670 return false; 680 671 } … … 697 688 printf(NAME ": HelenOS Device Manager\n"); 698 689 699 if (log_init(NAME, LVL_ERROR) != EOK) {700 printf(NAME ": Error initializing logging subsystem.\n");701 return -1;702 }703 704 690 if (!devman_init()) { 705 log_msg(LVL_ERROR, "Error while initializing service.\n");691 printf(NAME ": Error while initializing service\n"); 706 692 return -1; 707 693 } … … 711 697 712 698 /* Register device manager at naming service. */ 713 if (service_register(SERVICE_DEVMAN) != EOK) { 714 log_msg(LVL_ERROR, "Failed registering as a service.\n"); 699 if (service_register(SERVICE_DEVMAN) != EOK) 715 700 return -1; 716 } 717 718 printf(NAME ": Accepting connections.\n"); 701 702 printf(NAME ": Accepting connections\n"); 719 703 async_manager(); 720 704
Note:
See TracChangeset
for help on using the changeset viewer.