diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index c94fa3da63c7..0e5b0e14e58f 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -1953,6 +1953,12 @@ init386(first) isa_defaultirq(); #endif + /* + * Giant is used early for at least debugger traps, unexpected traps, + * and vm86bios initialization. + */ + mtx_init(&Giant, "Giant", MTX_DEF); + #ifdef DDB kdb_init(); if (boothowto & RB_KDB) @@ -1987,12 +1993,6 @@ init386(first) dblfault_tss.tss_cs = GSEL(GCODE_SEL, SEL_KPL); dblfault_tss.tss_ldt = GSEL(GLDT_SEL, SEL_KPL); - /* - * We grab Giant during the vm86bios routines, so we need to ensure - * that it is up and running before we use vm86. - */ - mtx_init(&Giant, "Giant", MTX_DEF); - vm86_initialize(); getmemsize(first); diff --git a/sys/amd64/amd64/trap.c b/sys/amd64/amd64/trap.c index d49327fa9816..f32dfaeeddc0 100644 --- a/sys/amd64/amd64/trap.c +++ b/sys/amd64/amd64/trap.c @@ -279,8 +279,7 @@ trap(frame) enable_intr(); } - if (p != NULL || !cold) - mtx_enter(&Giant, MTX_DEF); + mtx_enter(&Giant, MTX_DEF); #if defined(I586_CPU) && !defined(NO_F00F_HACK) restart: @@ -640,8 +639,7 @@ trap(frame) user: userret(p, &frame, sticks, 1); out: - if (p != NULL || !cold) - mtx_exit(&Giant, MTX_DEF); + mtx_exit(&Giant, MTX_DEF); } #ifdef notyet diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index c94fa3da63c7..0e5b0e14e58f 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -1953,6 +1953,12 @@ init386(first) isa_defaultirq(); #endif + /* + * Giant is used early for at least debugger traps, unexpected traps, + * and vm86bios initialization. + */ + mtx_init(&Giant, "Giant", MTX_DEF); + #ifdef DDB kdb_init(); if (boothowto & RB_KDB) @@ -1987,12 +1993,6 @@ init386(first) dblfault_tss.tss_cs = GSEL(GCODE_SEL, SEL_KPL); dblfault_tss.tss_ldt = GSEL(GLDT_SEL, SEL_KPL); - /* - * We grab Giant during the vm86bios routines, so we need to ensure - * that it is up and running before we use vm86. - */ - mtx_init(&Giant, "Giant", MTX_DEF); - vm86_initialize(); getmemsize(first); diff --git a/sys/i386/i386/trap.c b/sys/i386/i386/trap.c index d49327fa9816..f32dfaeeddc0 100644 --- a/sys/i386/i386/trap.c +++ b/sys/i386/i386/trap.c @@ -279,8 +279,7 @@ trap(frame) enable_intr(); } - if (p != NULL || !cold) - mtx_enter(&Giant, MTX_DEF); + mtx_enter(&Giant, MTX_DEF); #if defined(I586_CPU) && !defined(NO_F00F_HACK) restart: @@ -640,8 +639,7 @@ trap(frame) user: userret(p, &frame, sticks, 1); out: - if (p != NULL || !cold) - mtx_exit(&Giant, MTX_DEF); + mtx_exit(&Giant, MTX_DEF); } #ifdef notyet diff --git a/sys/kern/subr_trap.c b/sys/kern/subr_trap.c index d49327fa9816..f32dfaeeddc0 100644 --- a/sys/kern/subr_trap.c +++ b/sys/kern/subr_trap.c @@ -279,8 +279,7 @@ trap(frame) enable_intr(); } - if (p != NULL || !cold) - mtx_enter(&Giant, MTX_DEF); + mtx_enter(&Giant, MTX_DEF); #if defined(I586_CPU) && !defined(NO_F00F_HACK) restart: @@ -640,8 +639,7 @@ trap(frame) user: userret(p, &frame, sticks, 1); out: - if (p != NULL || !cold) - mtx_exit(&Giant, MTX_DEF); + mtx_exit(&Giant, MTX_DEF); } #ifdef notyet