For our crash, v 1.4 of amd64errata.c is no-op unless we de-static functions' prototypes.
acpiprt0 at acpi0: bus 0 (PCI0) mpbios0 at bios0: Intel MP Specification 1.4 cpu0 at mainbus0: apid 0 (boot processor) cpu0: AMD Phenom(tm) 9550 Quad-Core Processor, 3600.54 MHz cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE, MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CF LUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,POPCHT,HXE,MMXX,FFXSR,LOHG,3DNOW2,3DNOW,LAHF,CM PLEG,SVM,AMCR8,ABM,SSE4A,MASSE,3DNOWP cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 1 6-way L2 cache cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped kernel: protection fault trap, code=0 Stopped at amd64_errata_setmsr()+0x10: rdmsr amd64_errata_setmsr() at amd64_errata_setmsr()+0x10 amd64_errata() at amd64 errata+0xc9 identifycpu() at identifycpu+0x729 cpu attach() at cpu_attach+0x2ce config_attach() at config_attach+0x1d4 mpbios_cpu() at mpbios_cpu+0x5b mpbios_scan() at mpbios_scan+0x355 config_attach() at config_attach+0x1d4 bios_attach() at bios_attach+0x296 config_attach() at config_attach+0x1d4 end trace frame: 0xffffffff81de9e30, count: 0 ddb{0}> ddb{0}> trace amd64_errata_setmsr() at amd64_errata_setmsr()+0x10 amd64_errata() at amd64_errata+0xc9 identifycpu() at identifycpu+0x729 cpu_attach() at cpu_attach+0x2ce config_attach() at config_attach+0x1d4 mpbios_cpu() at mpbios_cpu+0x5b mpbios_scan() at mpbios_scan+0x355 config_attach() at config_attach+0x1d4 bios_attach() at bios_attach+0x296 config_attach() at config_attach+0x1d4 mainbus_attach() at mainbus_attach+0x5b config_attach() at config_attach+0x1d4 cpu_configure() at cpu_configure+0x17 main() at main+0x3f5 end trace frame: 0x0, count: -14 ddb{0}> Index: arch/amd64/amd64/amd64errata.c =================================================================== RCS file: /cvs/src/sys/arch/amd64/amd64/amd64errata.c,v retrieving revision 1.4 diff -u -p -u -p -r1.4 amd64errata.c --- arch/amd64/amd64/amd64errata.c 20 May 2013 17:34:08 -0000 1.4 +++ arch/amd64/amd64/amd64errata.c 20 May 2013 20:17:00 -0000 @@ -129,8 +129,8 @@ static const uint8_t amd64_errata_set9[] DA_C3, HY_D0, HY_D1, HY_D1_G34R1, PH_E0, LN_B0, OINK }; -static int amd64_errata_setmsr(struct cpu_info *, errata_t *); -static int amd64_errata_testmsr(struct cpu_info *, errata_t *); +int amd64_errata_setmsr(struct cpu_info *, errata_t *); +int amd64_errata_testmsr(struct cpu_info *, errata_t *); static errata_t errata[] = { /* Index: arch/i386/i386/amd64errata.c =================================================================== RCS file: /cvs/src/sys/arch/i386/i386/amd64errata.c,v retrieving revision 1.4 diff -u -p -u -p -r1.4 amd64errata.c --- arch/i386/i386/amd64errata.c 20 May 2013 17:34:08 -0000 1.4 +++ arch/i386/i386/amd64errata.c 20 May 2013 20:17:01 -0000 @@ -129,8 +129,8 @@ static const uint8_t amd64_errata_set9[] DA_C3, HY_D0, HY_D1, HY_D1_G34R1, PH_E0, LN_B0, OINK }; -static int amd64_errata_setmsr(struct cpu_info *, errata_t *); -static int amd64_errata_testmsr(struct cpu_info *, errata_t *); +int amd64_errata_setmsr(struct cpu_info *, errata_t *); +int amd64_errata_testmsr(struct cpu_info *, errata_t *); static errata_t errata[] = { /*