PERFORCE change 41554 for review
Peter Wemm
peter at FreeBSD.org
Wed Nov 5 20:19:24 PST 2003
http://perforce.freebsd.org/chv.cgi?CH=41554
Change 41554 by peter at peter_daintree on 2003/11/05 20:18:27
note that the gdt allocation still needs to be resolved. The tss
needs to be per-cpu still. note to self: ltr appears to load
the address of the tss into the hidden tss register. we may not
need a per-cpu gdt just to load a tss.
Affected files ...
.. //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#25 edit
Differences ...
==== //depot/projects/hammer/sys/amd64/amd64/mp_machdep.c#25 (text+ko) ====
@@ -32,7 +32,6 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
-#include <sys/cons.h> /* cngetc() */
#ifdef GPROF
#include <sys/gmon.h>
#endif
@@ -490,6 +489,7 @@
common_tss[cpu] = common_tss[0];
common_tss[cpu].tss_rsp0 = 0; /* not used until after switch */
+ /* XXX not so fast there sonny! */
gdt_segs[GPROC0_SEL].ssd_base = (long) &common_tss[cpu];
for (x = 0; x < NGDT; x++)
@@ -517,13 +517,8 @@
bootAP = cpu;
/* attempt to start the Application Processor */
- if (!start_ap(apic_id)) {
- printf("AP #%d (PHY# %d) failed!\n", cpu, apic_id);
- /* better panic as the AP may be running loose */
- printf("panic y/n? [y] ");
- if (cngetc() != 'n')
- panic("bye-bye");
- }
+ if (!start_ap(apic_id))
+ panic("AP #%d (PHY# %d) failed!", cpu, apic_id);
all_cpus |= (1 << cpu); /* record AP in CPU map */
}
More information about the p4-projects
mailing list