> So it appears to be dying here: > > (gdb) l *madt_probe+0x119 > 0xc06e7c69 is in madt_probe (/usr/src/sys/i386/acpica/madt.c:241). > 236 if (xsdt == NULL) { > 237 if (bootverbose) > 238 printf("MADT: Failed to map XSDT\n"); > 239 return (ENXIO); > 240 } > 241 count = (xsdt->Length - sizeof(ACPI_TABLE_HEADER)) / > 242 sizeof(UINT64); > 243 for (i = 0; i < count; i++) > 244 if > (madt_probe_table(xsdt->TableOffsetEntry[i])) > 245 break;
Turns out that it isn't - it's in the other branch of the if using the RSDT instead of the XSDT. Not sure why the debugger was giving misleading information. I added prints to find out which path it was taking and to print out some values after the line "rsdt = madt_map_table(rsdp->RsdtPhysicalAddress, 1, ACPI_SIG_RSDT);" The value of rsdtl is 0x800e7610, but the value of rsdp->XsdtPhysicalAddress is zero! So I guess that is where the panic is comming from. So where now ? Is there an equivalent patch to the one you emailed earlier for this branch of the if ? I wont have access to the machine over the weekend, but I can make more tests on monday morning. thanks for the help, -pete. _______________________________________________ freebsd-stable@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-stable To unsubscribe, send any mail to "[EMAIL PROTECTED]"