* Print the modinfo value, depending on type. */
| 436 | * Print the modinfo value, depending on type. |
| 437 | */ |
| 438 | static void |
| 439 | preload_modinfo_value(struct sbuf *sbp, uint32_t *bptr, int type, int len) |
| 440 | { |
| 441 | #ifdef __LP64__ |
| 442 | #define sbuf_print_vmoffset(sb, o) sbuf_printf(sb, "0x%016lx", o); |
| 443 | #else |
| 444 | #define sbuf_print_vmoffset(sb, o) sbuf_printf(sb, "0x%08x", o); |
| 445 | #endif |
| 446 | |
| 447 | switch (type) { |
| 448 | case MODINFO_NAME: |
| 449 | case MODINFO_TYPE: |
| 450 | case MODINFO_ARGS: |
| 451 | sbuf_printf(sbp, "%s", (char *)bptr); |
| 452 | break; |
| 453 | case MODINFO_SIZE: |
| 454 | case MODINFO_METADATA | MODINFOMD_CTORS_SIZE: |
| 455 | sbuf_printf(sbp, "%lu", *(u_long *)bptr); |
| 456 | break; |
| 457 | case MODINFO_ADDR: |
| 458 | case MODINFO_METADATA | MODINFOMD_SSYM: |
| 459 | case MODINFO_METADATA | MODINFOMD_ESYM: |
| 460 | case MODINFO_METADATA | MODINFOMD_DYNAMIC: |
| 461 | case MODINFO_METADATA | MODINFOMD_KERNEND: |
| 462 | case MODINFO_METADATA | MODINFOMD_ENVP: |
| 463 | case MODINFO_METADATA | MODINFOMD_CTORS_ADDR: |
| 464 | #ifdef MODINFOMD_SMAP |
| 465 | case MODINFO_METADATA | MODINFOMD_SMAP: |
| 466 | #endif |
| 467 | #ifdef MODINFOMD_SMAP_XATTR |
| 468 | case MODINFO_METADATA | MODINFOMD_SMAP_XATTR: |
| 469 | #endif |
| 470 | #ifdef MODINFOMD_DTBP |
| 471 | case MODINFO_METADATA | MODINFOMD_DTBP: |
| 472 | #endif |
| 473 | #ifdef MODINFOMD_EFI_FB |
| 474 | case MODINFO_METADATA | MODINFOMD_EFI_FB: |
| 475 | #endif |
| 476 | #ifdef MODINFOMD_VBE_FB |
| 477 | case MODINFO_METADATA | MODINFOMD_VBE_FB: |
| 478 | #endif |
| 479 | #ifdef MODINFOMD_FONT |
| 480 | case MODINFO_METADATA | MODINFOMD_FONT: |
| 481 | #endif |
| 482 | sbuf_print_vmoffset(sbp, *(vm_offset_t *)bptr); |
| 483 | break; |
| 484 | case MODINFO_METADATA | MODINFOMD_HOWTO: |
| 485 | sbuf_printf(sbp, "0x%08x", *bptr); |
| 486 | break; |
| 487 | case MODINFO_METADATA | MODINFOMD_SHDR: |
| 488 | case MODINFO_METADATA | MODINFOMD_ELFHDR: |
| 489 | case MODINFO_METADATA | MODINFOMD_FW_HANDLE: |
| 490 | case MODINFO_METADATA | MODINFOMD_KEYBUF: |
| 491 | #ifdef MODINFOMD_EFI_MAP |
| 492 | case MODINFO_METADATA | MODINFOMD_EFI_MAP: |
| 493 | #endif |
| 494 | /* Don't print data buffers. */ |
| 495 | sbuf_cat(sbp, "buffer contents omitted"); |
no test coverage detected