dmp_eaddr, dmp_context, dmp_tid, dmp_pid, dmp_errbuf, dmp_mtrc, dmp_systrace y dmp_ct Kernel Services

Finalidad

Proporciona funciones para tareas de volcado comunes.

Sintaxis

#include <sys/dump.h>
kerrno_t dmp_eaddr (flags, anchor, name, addr, sz)
long flags;
void *anchor;
char *name;
long addr;
long sz;

kerrno_t dmp_context (flags, anchor, name, ctx_type, p2)
long flags;
void *anchor;
char *name;
long ctx_type;
long p2;

kerrno_t dmp_tid (flags, anchor, name, tid, unused)
long flags;
void *anchor;
char *name;
tid_t tid;
void *unused;

kerrno_t dmp_pid (flags, anchor, name, pid, unused)
long flags;
void *anchor;
char *name;
pid_t pid;
void *unused;

kerrno_t dmp_errbuf (flags, anchor, name, erridx, unused)
long flags;
void *anchor;
char *name;
ulong erridx;
long unused;

kerrno_t dmp_mtrc (flags, anchor, name, com_sz, rare_sz)
long flags;
void *anchor;
char *name;
size_t com_sz;
size_t rare_sz;

kerrno_t dmp_systrace (flags, anchor, name, sz, unused)
long flags;
void *anchor;
char *name;
long sz;
long unused;

kerrno_t dmp_ct (flags, anchor, name, rasb, sz)
long flags;
void *anchor;
char *name;
ras_block_t rasb;
size_t sz;

Parámetros

Elemento Descripción
ancla Apunta a la estructura de datos ldmp_parms_t asociada o a una estructura de datos ldmp_prepare_t .
distintivos El parámetro Banderas puede ser uno o más de los siguientes valores:
DCF_PRIMERO
Especifica que este componente se va a volcar primero. Normalmente los componentes se vuelcan en el orden especificado.
Nota: El último componente especificado para volcarse primero es el primero que se vuelca.
DCF_LEVEL0 - DCF_LEVEL9
Vuelca el componente en el nivel de detalle especificado, de 0 a 9. Si no se establece ninguno de estos distintivos, el componente se vuelca en CD_LVL_NORMAL, nivel de detalle 3.
Nombre Especifica el nombre de la tabla de volcado del pseudo componente en el vuelco. El parámetro Nombre sólo es válido para el servicio de kernel de dmp_eaddr . Debe especificar el parámetro Nombre en NULL para los servicios de kernel de dmp_context, dmp_tid, dmp_pid, dmp_errbuf, dmp_mtrc, dmp_systracey dmp_ct .
unused Debe especificar este parámetro en NULL o 0.
Los parámetros restantes dependen de un pseudo componente: dmp_eaddradr Especifica la dirección efectiva de la memoria que se va a volcar.
SZ Especifica la longitud de la memoria en bytes.
dmp_contextctx_type Especifica el contexto que se debe volcar. Puede ser uno de los siguientes valores:
DMP_CTX_CUR
Para volcar el contexto actual.
DMP_CTX_PREV
Para volcar el contexto anterior.
DMP_CTX_SPEC
Para volcar el contexto especificado por el parámetro p2 . El parámetro p2 debe contener la dirección de la estructura ksmtsave para el contexto.
DMP_CTX_RWA
Para volcar el contexto del área de trabajo de recuperación proporcionada. El parámetro p2 debe contener la dirección del área de trabajo de recuperación, rwa.
DMP_CTX_BID o DMP_CTX_LCPUID
Para volcar el contexto para el procesador especificado por el parámetro p2 . Puede especificar el procesador por el ID de enlace o por el ID lógico.
DMP_CTX_TID
Para volcar el contexto de la hebra especificada por el parámetro p2 , que debe contener el ID de hebra.
p2 Especifica la dirección del contexto, el ID de procesador lógico, el ID de enlace o el ID de hebra dependiente del valor del parámetro ctx_type .
dmp_tidtid Especifica el ID de la hebra que se debe volcar.
dmp_pidPid Especifica el ID del proceso que se debe volcar.
dmp_errbuferidx Especifica el ID de kernel partición de carga (WPAR) del almacenamiento intermedio de registro de errores de la partición que se debe volcar. El valor de 0 representa el almacenamiento intermedio global.
dmp_mtrccom_sz Especifica la cantidad de común que se debe volcar.
rre_sz Especifica la cantidad de datos raros que se deben volcar.
dmp_systracesz Especifica la cantidad de datos de rastreo del sistema para el volcado dump.If el parámetro sz se establece en 0, se vuelcan todos los datos de rastreo almacenados en almacenamiento intermedio, hasta la cantidad permitida por el nivel de detalle.
dmp_ctrasb Especifica ras_block_t del componente cuyo rastreo de componente se va a volcar.
SZ Especifica la cantidad de datos que se deben volcar. Si el parámetro sz se establece en 0, se vuelcan todos los datos de rastreo de los componentes, hasta el límite del nivel de detalle.

Descripción

El servicio de kernel de dmp_eaddr vuelca la memoria por dirección efectiva.

El servicio de kernel de dmp_context vuelca el contexto de hebra especificado.

El servicio de kernel de dmp_tid vuelca los datos del kernel para una hebra.

El servicio de kernel de dmp_pid vuelca los datos del kernel para un proceso.

El servicio de kernel de dmp_errbuf vuelca el almacenamiento intermedio de registro de errores para la partición especificada.

El servicio de kernel de dmp_mtrc vuelca las entradas de los almacenamientos intermedios de rastreo de memoria ligera.

El dmp_systrace vuelca las entradas de los almacenamientos intermedios de rastreo del sistema.

El dmp_ct vuelca las entradas de rastreo de componentes.

Entorno de ejecución

Los servicios dmp_eaddr, dmp_context, dmp_tid, dmp_pid, dmp_errbuf, dmp_mtrc, dmp_systracey dmp_ct se pueden llamar desde el entorno proceso o interrupción .

Valores de retorno

Elemento Descripción
0 Indica una finalización satisfactoria.
EINVAL_DMP_SEUDO Indica que el parámetro de nombre no es válido.
EINVAL_DMP_CHECK_ANCHOR Indica que no se ha especificado ningún ancla, o que el parámetro ancla no apunta a un área de tipo ldmp_parms_t o ldmp_prepare_t .
EFAULT_DMP_CHECK_ANCHOR Indica que el almacenamiento especificado por el parámetro ancla no es válido.
EINVAL_RAS_DMP_COMPSPEC_FLAGS Indica que la especificación de distintivos no es válida. Este error también se produce si se especifica el distintivo DCF_PRIMERO cuando el ancla es un elemento de datos ldmp_prepare_t .
EINVAL_RAS_DMP_COMPSPEC_NOADD Indica que los componentes no se pueden añadir a este vuelco.
ENOMM_RAS_DMP_COMPSPEC Indica que el almacenamiento no es suficiente.
EINVAL_RAS_DMP_EADDR Indica que el parámetro flags no es válido.
EINVAL_RAS_DMP_CONTEXT Indica que el parámetro del servicio de kernel de dmp_context no es válido. También se devuelve si el parámetro p2 no se utiliza, pero no es NULL.
ENOENT_RAS_DMP_CONTEXT_CTX_NOTFOUND Indica que no se ha encontrado el contexto especificado.
EFAULT_RAS_DMP_CONTEXT Indica que el almacenamiento al que apunta el puntero de contexto especificado no es válido.
EINVAL_RAS_DMP_TID Indica que el parámetro del servicio de kernel de dmp_tid no es válido.
EINVAL_RAS_DMP_PID Indica que el parámetro del servicio de kernel de dmp_pid no es válido.
EINVAL_RAS_DMP_ERRBUF Indica que el parámetro del servicio de kernel de dmp_errbuf no es válido.
ECHRNG_RAS_DMP_ERRBUF Indica que el parámetro eridx está fuera de rango.
EINVAL_RAS_DMP_MTRC Indica que el parámetro del servicio de kernel de dmp_mtrc no es válido.
ENOENT_RAS_DMP_MTRC Indica que el rastreo de memoria ligero no está activo.
EINVAL_RAS_DMP_SYSTRACE Indica que el parámetro del servicio de kernel de dmp_systrace no es válido.
ENOENT_RAS_DMP_SYSTRACE Indica que el rastreo del sistema no está activo.
EINVAL_RAS_DMP_CT Indica que el parámetro del servicio de kernel de dmp_ct no es válido.
ENOMM_RAS_DMP_CT Indica que el almacenamiento no es suficiente.
EINVAL_RAS_DMP_CT_GETPATH Indica que el componente especificado no es válido.
EINVAL_RAS_DMP_CT_LOOKUP Indica que se ha producido un error mientras se validaba este componente.
ENOTSUP_RAS_DMP_CT Indica que el componente especificado no tiene un rastreo de componente.

Información relacionada

Servicio de kernel de livedump y servicio de kernel de dmp_kernext .