rem: static void dump_cache_ref(int argc, char **argv)
add: static int dump_cache_ref(int argc, char **argv)
context: static void dump_cache_ref(int argc, char **argv){	addr address;	vm_region *region;	vm_cache_ref *cache_ref;	if(argc < 2) {		dprintf("cache_ref: not enough arguments\n");		return;	}	if(strlen(argv[1]) < 2 || argv[1][0] != '0' || argv[1][1] != 'x') {		dprintf("cache_ref: invalid argument, pass address\n");		return;	}	address = atoul(argv[1]);	cache_ref = (vm_cache_ref *)address;	dprintf("cache_ref at %p:\n", cache_ref);	dprintf("cache: %p\n", cache_ref->cache);	dprintf("lock.count: %d\n", cache_ref->lock.count);	dprintf("lock.sem: 0x%x\n", cache_ref->lock.sem);	dprintf("region_list:\n");	for(region = cache_ref->region_list; region != NULL; region = region->cache_next) {		dprintf(" region 0x%x: ", region->id);		dprintf("base_addr = 0x%lx ", region->base);		dprintf("size = 0x%lx ", region->size);		dprintf("name = '%s' ", region->name);		dprintf("lock = 0x%x\n", region->lock);	}	dprintf("ref_count: %d\n", cache_ref->ref_count);}