Lines Matching full:words
328 static bool (*process_command_cb)(CharBackend *chr, gchar **words);
330 void qtest_set_command_cb(bool (*pc_cb)(CharBackend *chr, gchar **words)) in qtest_set_command_cb() argument
346 static void qtest_process_command(CharBackend *chr, gchar **words) in qtest_process_command() argument
350 g_assert(words); in qtest_process_command()
352 command = words[0]; in qtest_process_command()
358 for (i = 0; words[i]; i++) { in qtest_process_command()
359 fprintf(qtest_log_fp, " %s", words[i]); in qtest_process_command()
365 if (strcmp(words[0], "irq_intercept_out") == 0 in qtest_process_command()
366 || strcmp(words[0], "irq_intercept_in") == 0) { in qtest_process_command()
373 g_assert(words[1]); in qtest_process_command()
374 is_named = words[2] != NULL; in qtest_process_command()
375 is_outbound = words[0][14] == 'o'; in qtest_process_command()
376 dev = DEVICE(object_resolve_path(words[1], NULL)); in qtest_process_command()
403 if (g_strcmp0(ngl->name, words[2]) == 0) { in qtest_process_command()
424 } else if (strcmp(words[0], "set_irq_in") == 0) { in qtest_process_command()
432 g_assert(words[1] && words[2] && words[3] && words[4]); in qtest_process_command()
434 dev = DEVICE(object_resolve_path(words[1], NULL)); in qtest_process_command()
441 if (strcmp(words[2], "unnamed-gpio-in") == 0) { in qtest_process_command()
444 name = words[2]; in qtest_process_command()
447 ret = qemu_strtoi(words[3], NULL, 0, &num); in qtest_process_command()
449 ret = qemu_strtoi(words[4], NULL, 0, &level); in qtest_process_command()
457 } else if (strcmp(words[0], "outb") == 0 || in qtest_process_command()
458 strcmp(words[0], "outw") == 0 || in qtest_process_command()
459 strcmp(words[0], "outl") == 0) { in qtest_process_command()
464 g_assert(words[1] && words[2]); in qtest_process_command()
465 ret = qemu_strtoul(words[1], NULL, 0, &addr); in qtest_process_command()
467 ret = qemu_strtoul(words[2], NULL, 0, &value); in qtest_process_command()
471 if (words[0][3] == 'b') { in qtest_process_command()
473 } else if (words[0][3] == 'w') { in qtest_process_command()
475 } else if (words[0][3] == 'l') { in qtest_process_command()
480 } else if (strcmp(words[0], "inb") == 0 || in qtest_process_command()
481 strcmp(words[0], "inw") == 0 || in qtest_process_command()
482 strcmp(words[0], "inl") == 0) { in qtest_process_command()
487 g_assert(words[1]); in qtest_process_command()
488 ret = qemu_strtoul(words[1], NULL, 0, &addr); in qtest_process_command()
492 if (words[0][2] == 'b') { in qtest_process_command()
494 } else if (words[0][2] == 'w') { in qtest_process_command()
496 } else if (words[0][2] == 'l') { in qtest_process_command()
501 } else if (strcmp(words[0], "writeb") == 0 || in qtest_process_command()
502 strcmp(words[0], "writew") == 0 || in qtest_process_command()
503 strcmp(words[0], "writel") == 0 || in qtest_process_command()
504 strcmp(words[0], "writeq") == 0) { in qtest_process_command()
509 g_assert(words[1] && words[2]); in qtest_process_command()
510 ret = qemu_strtou64(words[1], NULL, 0, &addr); in qtest_process_command()
512 ret = qemu_strtou64(words[2], NULL, 0, &value); in qtest_process_command()
515 if (words[0][5] == 'b') { in qtest_process_command()
519 } else if (words[0][5] == 'w') { in qtest_process_command()
524 } else if (words[0][5] == 'l') { in qtest_process_command()
529 } else if (words[0][5] == 'q') { in qtest_process_command()
537 } else if (strcmp(words[0], "readb") == 0 || in qtest_process_command()
538 strcmp(words[0], "readw") == 0 || in qtest_process_command()
539 strcmp(words[0], "readl") == 0 || in qtest_process_command()
540 strcmp(words[0], "readq") == 0) { in qtest_process_command()
545 g_assert(words[1]); in qtest_process_command()
546 ret = qemu_strtou64(words[1], NULL, 0, &addr); in qtest_process_command()
549 if (words[0][4] == 'b') { in qtest_process_command()
554 } else if (words[0][4] == 'w') { in qtest_process_command()
559 } else if (words[0][4] == 'l') { in qtest_process_command()
564 } else if (words[0][4] == 'q') { in qtest_process_command()
571 } else if (strcmp(words[0], "read") == 0) { in qtest_process_command()
577 g_assert(words[1] && words[2]); in qtest_process_command()
578 ret = qemu_strtou64(words[1], NULL, 0, &addr); in qtest_process_command()
580 ret = qemu_strtou64(words[2], NULL, 0, &len); in qtest_process_command()
595 } else if (strcmp(words[0], "b64read") == 0) { in qtest_process_command()
601 g_assert(words[1] && words[2]); in qtest_process_command()
602 ret = qemu_strtou64(words[1], NULL, 0, &addr); in qtest_process_command()
604 ret = qemu_strtou64(words[2], NULL, 0, &len); in qtest_process_command()
616 } else if (strcmp(words[0], "write") == 0) { in qtest_process_command()
622 g_assert(words[1] && words[2] && words[3]); in qtest_process_command()
623 ret = qemu_strtou64(words[1], NULL, 0, &addr); in qtest_process_command()
625 ret = qemu_strtou64(words[2], NULL, 0, &len); in qtest_process_command()
628 data_len = strlen(words[3]); in qtest_process_command()
637 data[i] = hex2nib(words[3][i * 2 + 2]) << 4; in qtest_process_command()
638 data[i] |= hex2nib(words[3][i * 2 + 3]); in qtest_process_command()
649 } else if (strcmp(words[0], "memset") == 0) { in qtest_process_command()
655 g_assert(words[1] && words[2] && words[3]); in qtest_process_command()
656 ret = qemu_strtou64(words[1], NULL, 0, &addr); in qtest_process_command()
658 ret = qemu_strtou64(words[2], NULL, 0, &len); in qtest_process_command()
660 ret = qemu_strtoul(words[3], NULL, 0, &pattern); in qtest_process_command()
673 } else if (strcmp(words[0], "b64write") == 0) { in qtest_process_command()
680 g_assert(words[1] && words[2] && words[3]); in qtest_process_command()
681 ret = qemu_strtou64(words[1], NULL, 0, &addr); in qtest_process_command()
683 ret = qemu_strtou64(words[2], NULL, 0, &len); in qtest_process_command()
686 data_len = strlen(words[3]); in qtest_process_command()
692 data = g_base64_decode_inplace(words[3], &out_len); in qtest_process_command()
705 } else if (strcmp(words[0], "endianness") == 0) { in qtest_process_command()
712 } else if (qtest_enabled() && strcmp(words[0], "clock_step") == 0) { in qtest_process_command()
715 if (words[1]) { in qtest_process_command()
716 int ret = qemu_strtoi64(words[1], NULL, 0, &ns); in qtest_process_command()
727 } else if (strcmp(words[0], "module_load") == 0) { in qtest_process_command()
730 g_assert(words[1] && words[2]); in qtest_process_command()
733 rv = module_load(words[1], words[2], &local_err); in qtest_process_command()
742 } else if (qtest_enabled() && strcmp(words[0], "clock_set") == 0) { in qtest_process_command()
746 g_assert(words[1]); in qtest_process_command()
747 ret = qemu_strtoi64(words[1], NULL, 0, &ns); in qtest_process_command()
753 } else if (process_command_cb && process_command_cb(chr, words)) { in qtest_process_command()
757 qtest_sendf(chr, "FAIL Unknown command '%s'\n", words[0]); in qtest_process_command()
768 gchar **words; in qtest_process_inbuf() local
775 words = g_strsplit(cmd->str, " ", 0); in qtest_process_inbuf()
776 qtest_process_command(chr, words); in qtest_process_inbuf()
777 g_strfreev(words); in qtest_process_inbuf()