Пример #1
0
int do_env_print (cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
	int i;
	int rcode = 0;

	if (argc == 1) {
		/* print all env vars */
		rcode = env_print(NULL);
		if (!rcode)
			return 1;
		printf("\nEnvironment size: %d/%ld bytes\n",
			rcode, (ulong)ENV_SIZE);
		return 0;
	}

	/* print selected env vars */
	for (i = 1; i < argc; ++i) {
		int rc = env_print(argv[i]);
		if (!rc) {
			printf("## Error: \"%s\" not defined\n", argv[i]);
			++rcode;
		}
	}

	return rcode;
}
Пример #2
0
static int do_env_print(cmd_tbl_t *cmdtp, int flag, int argc,
			char * const argv[])
{
	int i;
	int rcode = 0;
	int env_flag = H_HIDE_DOT;

	if (argc > 1 && argv[1][0] == '-' && argv[1][1] == 'a') {
		argc--;
		argv++;
		env_flag &= ~H_HIDE_DOT;
	}

	if (argc == 1) {
		/* print all env vars */
		rcode = env_print(NULL, env_flag);
		if (!rcode)
			return 1;
		printf("\nEnvironment size: %d/%ld bytes\n",
			rcode, (ulong)ENV_SIZE);
		return 0;
	}

	/* print selected env vars */
	env_flag &= ~H_HIDE_DOT;
	for (i = 1; i < argc; ++i) {
		int rc = env_print(argv[i], env_flag);
		if (!rc) {
			printf("## Error: \"%s\" not defined\n", argv[i]);
			++rcode;
		}
	}

	return rcode;
}
Пример #3
0
int do_printfac(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
{
	char v[] = "vendor";
	char d[] = "device";
	env_print(v);
	env_print(d);
	//printf("vendor = %s\n", "huahuan");
	return 0;
}
Пример #4
0
Файл: env.c Проект: darius/ung
void real_main (int argc, char *const argv[]) {
  int i;
  /* TODO: handle -i */
  env_import ();
  for (i = 1; i < argc && is_assignment (argv[i]); ++i)
    env_parse_assignment (argv[i]);
  if (i == argc)
    env_print ();
  else {
    env_export ();
    must_execvp (argv + i);
  }
}
Пример #5
0
/**
 * virtqueue_dump Dumps important virtqueue fields , use for debugging purposes
 *
 * @param vq - Pointer to VirtIO queue control block
 */
void virtqueue_dump(struct virtqueue *vq)
{

	if (vq == VQ_NULL)
		return;

	env_print("VQ: %s - size=%d; free=%d; used=%d; queued=%d; "
		  "desc_head_idx=%d; avail.idx=%d; used_cons_idx=%d; "
		  "used.idx=%d; avail.flags=0x%x; used.flags=0x%x\r\n",
		  vq->vq_name, vq->vq_nentries, vq->vq_free_cnt,
		  virtqueue_nused(vq), vq->vq_queued_cnt, vq->vq_desc_head_idx,
		  vq->vq_ring.avail->idx, vq->vq_used_cons_idx,
		  vq->vq_ring.used->idx, vq->vq_ring.avail->flags,
		  vq->vq_ring.used->flags);
}
Пример #6
0
/**
 * virtqueue_free   - Frees VirtIO queue resources
 *
 * @param vq        - Pointer to VirtIO queue control block
 *
 */
void virtqueue_free(struct virtqueue *vq)
{

	if (vq != VQ_NULL) {

		if (vq->vq_free_cnt != vq->vq_nentries) {
			env_print
			    ("\r\nWARNING %s: freeing non-empty virtqueue\r\n",
			     vq->vq_name);
		}
		//TODO : Need to free indirect buffers here

		if (vq->vq_ring_mem != VQ_NULL) {
			vq->vq_ring_size = 0;
			vq->vq_ring_mem = VQ_NULL;
		}

		env_free_memory(vq);
	}
}