summaryrefslogtreecommitdiffstats
path: root/sys/dev/mps/mps_table.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/dev/mps/mps_table.c')
-rw-r--r--sys/dev/mps/mps_table.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/sys/dev/mps/mps_table.c b/sys/dev/mps/mps_table.c
index c9acefe..e004f8d 100644
--- a/sys/dev/mps/mps_table.c
+++ b/sys/dev/mps/mps_table.c
@@ -463,10 +463,12 @@ mps_print_sgl(struct mps_softc *sc, struct mps_command *cm, int offset)
sge = (MPI2_SGE_SIMPLE64 *)&frame[offset * 4];
printf("SGL for command %p\n", cm);
+ hexdump(frame, 128, NULL, 0);
while (frame != NULL) {
- flags = sge->FlagsLength >> MPI2_SGE_FLAGS_SHIFT;
- printf("seg%d flags=0x%x len=0x%x addr=0x%jx\n", i, flags,
- sge->FlagsLength & 0xffffff, mps_to_u64(&sge->Address));
+ flags = le32toh(sge->FlagsLength) >> MPI2_SGE_FLAGS_SHIFT;
+ printf("seg%d flags=0x%02x len=0x%06x addr=0x%016jx\n",
+ i, flags, le32toh(sge->FlagsLength) & 0xffffff,
+ mps_to_u64(&sge->Address));
if (flags & (MPI2_SGE_FLAGS_END_OF_LIST |
MPI2_SGE_FLAGS_END_OF_BUFFER))
break;
@@ -475,8 +477,8 @@ mps_print_sgl(struct mps_softc *sc, struct mps_command *cm, int offset)
if (flags & MPI2_SGE_FLAGS_LAST_ELEMENT) {
sgc = (MPI2_SGE_CHAIN32 *)sge;
printf("chain flags=0x%x len=0x%x Offset=0x%x "
- "Address=0x%x\n", sgc->Flags, sgc->Length,
- sgc->NextChainOffset, sgc->Address);
+ "Address=0x%x\n", sgc->Flags, le16toh(sgc->Length),
+ sgc->NextChainOffset, le32toh(sgc->Address));
if (chain == NULL)
chain = TAILQ_FIRST(&cm->cm_chain_list);
else
OpenPOWER on IntegriCloud