Esempio n. 1
0
/* ARGSUSED */
int
os_op_switch2llcallchain(cmd_t *cmd1, boolean_t smpl)
{
	cmd_llcallchain_t *cmd = (cmd_llcallchain_t *)cmd1;
	page_t *cur = page_current_get();
	dyn_lat_t *dyn;
	win_reg_t *data_reg;
	lat_line_t *lines;
	int i;

	dyn = (dyn_lat_t *)(cur->dyn_win.dyn);
	data_reg = &dyn->data;
	if ((lines = (lat_line_t *)(data_reg->buf)) == NULL) {
		return (-1);
	}
		
	if ((i = data_reg->scroll.highlight) == -1) {
		return (-1);
	}
		
	cmd->pid = dyn->pid;
	cmd->lwpid = dyn->lwpid;
	cmd->addr = lines[i].bufaddr.addr;
	cmd->size = lines[i].bufaddr.size;
	
	return (op_page_next(cmd1, smpl));
}
Esempio n. 2
0
int
os_op_switch2ll(cmd_t *cmd, boolean_t smpl)
{
	page_t *cur = page_current_get();
	int type = PAGE_WIN_TYPE(cur);

	switch (type) {
	case WIN_TYPE_MONIPROC:
		CMD_LAT(cmd)->pid = DYN_MONI_PROC(cur)->pid;
		CMD_LAT(cmd)->lwpid = 0;
		break;
		
	case WIN_TYPE_MONILWP:
		CMD_LAT(cmd)->pid = DYN_MONI_LWP(cur)->pid;
		CMD_LAT(cmd)->lwpid = DYN_MONI_LWP(cur)->lwpid;
		break;

	default:
		return (-1);
	}

	return (op_page_next(cmd, smpl));
}
Esempio n. 3
0
static int
op_home(cmd_t *cmd, boolean_t smpl)
{
	page_list_fini();
	return (op_page_next(cmd, smpl));
}