[Bug 225450] 11.1-* panics on AMD Opteron 2k due to EARLY_AP_STARTUP

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Sun Feb 11 03:01:38 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225450

--- Comment #14 from Pablo Ruiz <pablo.ruiz at gmail.com> ---
I've tried moving the while loop a bit down at mp_x86, and I got a db prompt
too:

diff --git a/sys/x86/x86/mp_x86.c b/sys/x86/x86/mp_x86.c
index 3cca61ca72e..1c257d87e58 100644
--- a/sys/x86/x86/mp_x86.c
+++ b/sys/x86/x86/mp_x86.c
@@ -925,7 +925,6 @@ init_secondary_tail(void)

        CTR1(KTR_SMP, "SMP: AP CPU #%d Launched", cpuid);
        printf("SMP: AP CPU #%d Launched!\n", cpuid);
-while(1);

        /* Determine if we are a logical CPU. */
        if (cpu_info[PCPU_GET(apic_id)].cpu_hyperthread)
@@ -951,6 +950,7 @@ while(1);
        load_es(_udatasel);
        load_fs(_ufssel);
 #endif
+while(1);

        mtx_unlock_spin(&ap_boot_mtx);

This is the relevant boot output:

[...]
cpu0 BSP:
     ID: 0x00000000   VER: 0x80050010 LDR: 0x00000000 DFR: 0xffffffff
  lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff
  timer: 0x000100ef therm: 0x00010000 err: 0x000000f0 pmc: 0x00010400
   AMD ext features: 0x00010003
   AMD elvt0: 0x00010000
SMP: AP CPU #1 Launched!
cpu1 AP:

Fa
kFernel trap 12 with interrupts disabled


Fatal trap 12: page fault while in kernel mode
cpuid = 2; apic id = 02
fault virtual address   = 0x441
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff80ffb704
stack pointer           = 0x28:0xfffffe001b979d00
frame pointer           = 0x28:0xfffffe001b979d10
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = resume, IOPL = 0
current process         = 11 (idle: cpu2)
[ thread pid 11 tid 100005 ]
Stopped at      spinlock_exit+0x14:     movq    0x440(%rbx),%rax
db> bt
Tracing pid 11 tid 100005 td 0xfffff8000332c000
spinlock_exit() at spinlock_exit+0x14/frame 0xfffffe001b979d10
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0xa5/frame 0xfffffe001b979d80
i8254_delay() at i8254_delay+0x143/frame 0xfffffe001b979dc0
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0xa5/frame 0xfffffe001b979e30
i8254_delay() at i8254_delay+0x143/frame 0xfffffe001b979e70
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0xa5/frame 0xfffffe001b979ee0
i8254_delay() at i8254_delay+0x143/frame 0xfffffe001b979f20
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0xa5/frame 0xfffffe001b979f90
i8254_delay() at i8254_delay+0x143/frame 0xfffffe001b979fd0
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0xa5/frame 0xfffffe001b97a040
i8254_delay() at i8254_delay+0x143/frame 0xfffffe001b97a080
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0xa5/frame 0xfffffe001b97a0f0
i8254_delay() at i8254_delay+0x143/frame 0xfffffe001b97a130
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0xa5/frame 0xfffffe001b97a1a0
i8254_delay() at i8254_delay+0x143/frame 0xfffffe001b97a1e0
[... repeates quite a lot ....]
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0x14a/frame 0xfffffe001b97cb90
i8254_delay() at i8254_delay+0x3a/frame 0xfffffe001b97cbd0
ns8250_putc() at ns8250_putc+0x2a/frame 0xfffffe001b97cc00
uart_cnputc() at uart_cnputc+0x47/frame 0xfffffe001b97cc20
cnputc() at cnputc+0x7d/frame 0xfffffe001b97cc50
cnputs() at cnputs+0x68/frame 0xfffffe001b97cc70
putchar() at putchar+0x14d/frame 0xfffffe001b97ccf0
kvprintf() at kvprintf+0x103d/frame 0xfffffe001b97cde0
vprintf() at vprintf+0x87/frame 0xfffffe001b97ceb0
printf() at printf+0x43/frame 0xfffffe001b97cf10
dblfault_handler() at dblfault_handler+0x26/frame 0xfffffe001b97cf30
Xdblfault() at Xdblfault+0xac/frame 0xfffffe001b97cf30
--- trap 0x17, rip = 0xffffffff81159ea5, rsp = 0xfffffe001b978000, rbp =
0xfffffe001b978030 ---
i8254_delay() at i8254_delay+0x35/frame 0xfffffe001b978030
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0x14a/frame 0xfffffe001b9780a0
i8254_delay() at i8254_delay+0x3a/frame 0xfffffe001b9780e0
_mtx_lock_spin_cookie() at _mtx_lock_spin_cookie+0x14a/frame 0xfffffe001b978150
[... more similar calls repeating omitted ...]
spinlock_exit() at spinlock_exit+0x14/frame 0xfffffe001b9785d0
[... more _mtx_lock_spin_cookie calls ...]

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list