Esempio n. 1
0
File: kmem.c Progetto: taysom/tau
int main(int argc, char *argv[])
{
	int		fd;
	int		bytesRead;
	int		longsToRead = 16;
	ulong buffer[1024] = {0};
	ulong address, seekAdd;

	if (argc < 2) {
		printf("Usage:  memread  <address> [countLongs]\n");
		printf("    <address>    : Memory Address to read from\n");
		printf("    [countLongs] : Number of LONGS to read, default=16\n");
		printf("                   Maximum = 1024, (4096 bytes) \n");
		return 1;
	}

	if (argc > 2) {
		longsToRead = atoi(argv[2]);
	}
	if (longsToRead > 1024) {
		longsToRead = 1024;
	}

	address = strtoul(argv[1], NULL, 16);
	if (Debug) printf("Address = %lx, longstoread =%u\n", address, longsToRead);
	if (read_kmem(address, longsToRead * sizeof(ulong))) {
		fprintf(stderr, "read_kmem failed at %ulx\n", address);
		return errno;
	}

	prmem(Address, Length / sizeof(ulong));
	return 0;
}
Esempio n. 2
0
mem0 ()
{
	register i;
	register long a;
	long l, r;

	funcpgup = pgup;
	funcpgdn = pgdn;
	funcup = up;
	funcdown = down;
	Jmprintf (2, 4, "Память %c", addr==&addr1 ? '1' : '2');
	if ((memreg & (MCMD|MBIN)) == MBIN) {
		Jmove (1, 18);
		Jprintf ("6         5         4");
		Jprintf ("         3         2         1         ");
		Jmove (2, 14);
		Jprintf ("4321098765432109876543210");
		Jprintf ("987654321098765432109876543210987654321");
	}
	for (i=0, a= *addr; i<19; ++i, ++a) {
		Jmove (i+4, 5);
		ptload (&l, &r, a);
		prmem (l, r, a & ADDRMASK);
	}
}
Esempio n. 3
0
static down ()
{
	long l, r;

	*addr = (*addr + 1) & ADDRMASK;
	ptload (&l, &r, *addr + 18);
	Jscrool (4, 22, -1);
	Jmove (22, 5);
	prmem (l, r, *addr + 18);
}
Esempio n. 4
0
static up ()
{
	long l, r;

	*addr = (*addr - 1) & ADDRMASK;
	ptload (&l, &r, *addr);
	Jscrool (4, 22, 1);
	Jmove (4, 5);
	prmem (l, r, *addr);
}
Esempio n. 5
0
File: cmd_dir.c Progetto: taysom/tau
static void pr_node (u64 id, unint indent)
{
	unint	i;
	dir_s	dir;
	dname_s	*dn;
	int	rc;

	rc = read_dir(id, &dir);
	if (rc) {
		printf("%8lld not found because %d\n", id, rc);
		return;
	}
prmem("dir", &dir, sizeof(dir));
	for (i = 0; i < DIR_SZ; i++) {
		dn = &dir.dr_n[i];
		if (dn->dn_num) {
			pr_indent(indent);
			printf("  %8lld %.*s\n", dn->dn_num,
					DIR_SZ, dn->dn_name);
			pr_node(dn->dn_num, indent + 1);
		}
	}
prmem("dir", &dir, sizeof(dir));
}
Esempio n. 6
0
File: mtree.c Progetto: wtaysom/tau
void dump_node (
	tree_s	*tree,
	void	*node,
	unint	depth)
{
	head_s	*h = node;

	printf("node=%p\n", node);
	switch (h->h_magic) {
	case LEAF:	dump_leaf(tree, (leaf_s *)h, depth);
			break;
	case BRANCH:	dump_branch(tree, (branch_s *)h, depth);
			break;
	default:	prmem("Unknown block magic", h, PAGE_SIZE);
			break;
	}
}
Esempio n. 7
0
File: btree.c Progetto: taysom/tau
void dump_block (
	tree_s	*tree,
	u64	blkno,
	unint	indent)
{
	void	*data;

//FN;
	data = bget(tree->t_dev, blkno);
	if (!data) return;

	switch (type(data)) {
	case LEAF:	dump_leaf(tree, data, indent);
			break;
	case BRANCH:	dump_branch(tree, data, indent);
			break;
	default:	prmem("Unknown block type", data, BLK_SIZE);
			break;
	}
	bput(data);
}