aboutsummaryrefslogtreecommitdiff
path: root/usr.sbin/acpi/acpidump/acpi.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/acpi/acpidump/acpi.c')
-rw-r--r--usr.sbin/acpi/acpidump/acpi.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/usr.sbin/acpi/acpidump/acpi.c b/usr.sbin/acpi/acpidump/acpi.c
index a8a3c953d72d..026795118832 100644
--- a/usr.sbin/acpi/acpidump/acpi.c
+++ b/usr.sbin/acpi/acpidump/acpi.c
@@ -1764,7 +1764,7 @@ acpi_handle_ivrs_ivhd_devs(ACPI_IVRS_DE_HEADER *d, char *de)
d8b = (ACPI_IVRS_DEVICE8B *)db;
len = sizeof(*d8b);
printf("\t\tDev Type=%#x Id=%#06x",
- d8a->Header.Type, d8a->Header.Id);
+ d8b->Header.Type, d8b->Header.Id);
acpi_handle_ivrs_ivhd_dte(d8b->Header.DataSetting);
printf("\t\t");
acpi_handle_ivrs_ivhd_edte(d8b->ExtendedData);
@@ -1774,7 +1774,7 @@ acpi_handle_ivrs_ivhd_devs(ACPI_IVRS_DE_HEADER *d, char *de)
d4 = (ACPI_IVRS_DEVICE4 *)(db + sizeof(*d8b));
len = sizeof(*d8b) + sizeof(*d4);
printf("\t\tDev Type=%#x Id=%#06x-%#06x",
- d8a->Header.Type, d8a->Header.Id, d4->Header.Id);
+ d8b->Header.Type, d8b->Header.Id, d4->Header.Id);
acpi_handle_ivrs_ivhd_dte(d8b->Header.DataSetting);
acpi_handle_ivrs_ivhd_edte(d8b->ExtendedData);
} else if (d->Type == ACPI_IVRS_TYPE_SPECIAL) {
@@ -1913,16 +1913,19 @@ acpi_handle_ivrs_ivmd_type(ACPI_IVRS_MEMORY *addr)
static void
acpi_handle_ivrs_ivmd(ACPI_IVRS_MEMORY *addr)
{
+ UINT16 x16;
+
printf("\tMem Type=%#x(%s) ",
addr->Header.Type, acpi_handle_ivrs_ivmd_type(addr));
switch (addr->Header.Type) {
case ACPI_IVRS_TYPE_MEMORY2:
- printf("Id=%#06x PCISeg=%#x ", addr->Header.DeviceId,
- *(UINT16 *)&addr->Reserved);
+ memcpy(&x16, &addr->Reserved, sizeof(x16));
+ printf("Id=%#06x PCISeg=%#x ", addr->Header.DeviceId, x16);
break;
case ACPI_IVRS_TYPE_MEMORY3:
+ memcpy(&x16, &addr->Reserved, sizeof(x16));
printf("Id=%#06x-%#06x PCISeg=%#x", addr->Header.DeviceId,
- addr->AuxData, *(UINT16 *)&addr->Reserved);
+ addr->AuxData, x16);
break;
}
printf("Start=%#18jx Length=%#jx Flags=",