Move closer to supporting VM86 under SMP.
LINT now compiles but doesn't link. Other link-time breakage for LINT is now visible (SMP is incompatible with SIMPLELOCK_DEBUG). Submitted by: jlemon
This commit is contained in:
parent
a367bd9e25
commit
e28b96049b
@ -35,7 +35,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)machdep.c 7.4 (Berkeley) 6/3/91
|
||||
* $Id: machdep.c,v 1.258 1997/08/26 18:10:30 peter Exp $
|
||||
* $Id: machdep.c,v 1.259 1997/08/31 23:08:27 bde Exp $
|
||||
*/
|
||||
|
||||
#include "apm.h"
|
||||
@ -847,6 +847,9 @@ struct region_descriptor r_gdt, r_idt;
|
||||
|
||||
#ifdef SMP
|
||||
extern struct i386tss common_tss; /* One tss per cpu */
|
||||
#ifdef VM86
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
#else
|
||||
struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
|
@ -22,7 +22,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: mp_machdep.c,v 1.34 1997/08/31 03:05:56 smp Exp smp $
|
||||
* $Id: mp_machdep.c,v 1.49 1997/08/31 03:17:47 fsmp Exp $
|
||||
*/
|
||||
|
||||
#include "opt_smp.h"
|
||||
@ -241,6 +241,10 @@ extern pt_entry_t *KPTphys;
|
||||
|
||||
/* Virtual address of per-cpu common_tss */
|
||||
extern struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
extern u_int private_tss; /* flag indicating private tss */
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
|
||||
/* IdlePTD per cpu */
|
||||
pd_entry_t *IdlePTDS[NCPU];
|
||||
@ -408,6 +412,10 @@ init_secondary(void)
|
||||
common_tss.tss_esp0 = 0; /* not used until after switch */
|
||||
common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL);
|
||||
common_tss.tss_ioopt = (sizeof common_tss) << 16;
|
||||
#ifdef VM86
|
||||
common_tssd = gdt[slot].sd;
|
||||
private_tss = 0;
|
||||
#endif /* VM86 */
|
||||
ltr(gsel_tss);
|
||||
|
||||
load_cr0(0x8005003b); /* XXX! */
|
||||
|
@ -22,7 +22,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: mp_machdep.c,v 1.34 1997/08/31 03:05:56 smp Exp smp $
|
||||
* $Id: mp_machdep.c,v 1.49 1997/08/31 03:17:47 fsmp Exp $
|
||||
*/
|
||||
|
||||
#include "opt_smp.h"
|
||||
@ -241,6 +241,10 @@ extern pt_entry_t *KPTphys;
|
||||
|
||||
/* Virtual address of per-cpu common_tss */
|
||||
extern struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
extern u_int private_tss; /* flag indicating private tss */
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
|
||||
/* IdlePTD per cpu */
|
||||
pd_entry_t *IdlePTDS[NCPU];
|
||||
@ -408,6 +412,10 @@ init_secondary(void)
|
||||
common_tss.tss_esp0 = 0; /* not used until after switch */
|
||||
common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL);
|
||||
common_tss.tss_ioopt = (sizeof common_tss) << 16;
|
||||
#ifdef VM86
|
||||
common_tssd = gdt[slot].sd;
|
||||
private_tss = 0;
|
||||
#endif /* VM86 */
|
||||
ltr(gsel_tss);
|
||||
|
||||
load_cr0(0x8005003b); /* XXX! */
|
||||
|
@ -22,7 +22,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: mp_machdep.c,v 1.34 1997/08/31 03:05:56 smp Exp smp $
|
||||
* $Id: mp_machdep.c,v 1.49 1997/08/31 03:17:47 fsmp Exp $
|
||||
*/
|
||||
|
||||
#include "opt_smp.h"
|
||||
@ -241,6 +241,10 @@ extern pt_entry_t *KPTphys;
|
||||
|
||||
/* Virtual address of per-cpu common_tss */
|
||||
extern struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
extern u_int private_tss; /* flag indicating private tss */
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
|
||||
/* IdlePTD per cpu */
|
||||
pd_entry_t *IdlePTDS[NCPU];
|
||||
@ -408,6 +412,10 @@ init_secondary(void)
|
||||
common_tss.tss_esp0 = 0; /* not used until after switch */
|
||||
common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL);
|
||||
common_tss.tss_ioopt = (sizeof common_tss) << 16;
|
||||
#ifdef VM86
|
||||
common_tssd = gdt[slot].sd;
|
||||
private_tss = 0;
|
||||
#endif /* VM86 */
|
||||
ltr(gsel_tss);
|
||||
|
||||
load_cr0(0x8005003b); /* XXX! */
|
||||
|
@ -35,7 +35,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* from: @(#)machdep.c 7.4 (Berkeley) 6/3/91
|
||||
* $Id: machdep.c,v 1.258 1997/08/26 18:10:30 peter Exp $
|
||||
* $Id: machdep.c,v 1.259 1997/08/31 23:08:27 bde Exp $
|
||||
*/
|
||||
|
||||
#include "apm.h"
|
||||
@ -847,6 +847,9 @@ struct region_descriptor r_gdt, r_idt;
|
||||
|
||||
#ifdef SMP
|
||||
extern struct i386tss common_tss; /* One tss per cpu */
|
||||
#ifdef VM86
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
#else
|
||||
struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
|
@ -22,7 +22,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: mp_machdep.c,v 1.34 1997/08/31 03:05:56 smp Exp smp $
|
||||
* $Id: mp_machdep.c,v 1.49 1997/08/31 03:17:47 fsmp Exp $
|
||||
*/
|
||||
|
||||
#include "opt_smp.h"
|
||||
@ -241,6 +241,10 @@ extern pt_entry_t *KPTphys;
|
||||
|
||||
/* Virtual address of per-cpu common_tss */
|
||||
extern struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
extern u_int private_tss; /* flag indicating private tss */
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
|
||||
/* IdlePTD per cpu */
|
||||
pd_entry_t *IdlePTDS[NCPU];
|
||||
@ -408,6 +412,10 @@ init_secondary(void)
|
||||
common_tss.tss_esp0 = 0; /* not used until after switch */
|
||||
common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL);
|
||||
common_tss.tss_ioopt = (sizeof common_tss) << 16;
|
||||
#ifdef VM86
|
||||
common_tssd = gdt[slot].sd;
|
||||
private_tss = 0;
|
||||
#endif /* VM86 */
|
||||
ltr(gsel_tss);
|
||||
|
||||
load_cr0(0x8005003b); /* XXX! */
|
||||
|
@ -22,7 +22,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: mp_machdep.c,v 1.34 1997/08/31 03:05:56 smp Exp smp $
|
||||
* $Id: mp_machdep.c,v 1.49 1997/08/31 03:17:47 fsmp Exp $
|
||||
*/
|
||||
|
||||
#include "opt_smp.h"
|
||||
@ -241,6 +241,10 @@ extern pt_entry_t *KPTphys;
|
||||
|
||||
/* Virtual address of per-cpu common_tss */
|
||||
extern struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
extern u_int private_tss; /* flag indicating private tss */
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
|
||||
/* IdlePTD per cpu */
|
||||
pd_entry_t *IdlePTDS[NCPU];
|
||||
@ -408,6 +412,10 @@ init_secondary(void)
|
||||
common_tss.tss_esp0 = 0; /* not used until after switch */
|
||||
common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL);
|
||||
common_tss.tss_ioopt = (sizeof common_tss) << 16;
|
||||
#ifdef VM86
|
||||
common_tssd = gdt[slot].sd;
|
||||
private_tss = 0;
|
||||
#endif /* VM86 */
|
||||
ltr(gsel_tss);
|
||||
|
||||
load_cr0(0x8005003b); /* XXX! */
|
||||
|
@ -22,7 +22,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: mp_machdep.c,v 1.34 1997/08/31 03:05:56 smp Exp smp $
|
||||
* $Id: mp_machdep.c,v 1.49 1997/08/31 03:17:47 fsmp Exp $
|
||||
*/
|
||||
|
||||
#include "opt_smp.h"
|
||||
@ -241,6 +241,10 @@ extern pt_entry_t *KPTphys;
|
||||
|
||||
/* Virtual address of per-cpu common_tss */
|
||||
extern struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
extern u_int private_tss; /* flag indicating private tss */
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
|
||||
/* IdlePTD per cpu */
|
||||
pd_entry_t *IdlePTDS[NCPU];
|
||||
@ -408,6 +412,10 @@ init_secondary(void)
|
||||
common_tss.tss_esp0 = 0; /* not used until after switch */
|
||||
common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL);
|
||||
common_tss.tss_ioopt = (sizeof common_tss) << 16;
|
||||
#ifdef VM86
|
||||
common_tssd = gdt[slot].sd;
|
||||
private_tss = 0;
|
||||
#endif /* VM86 */
|
||||
ltr(gsel_tss);
|
||||
|
||||
load_cr0(0x8005003b); /* XXX! */
|
||||
|
@ -22,7 +22,7 @@
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $Id: mp_machdep.c,v 1.34 1997/08/31 03:05:56 smp Exp smp $
|
||||
* $Id: mp_machdep.c,v 1.49 1997/08/31 03:17:47 fsmp Exp $
|
||||
*/
|
||||
|
||||
#include "opt_smp.h"
|
||||
@ -241,6 +241,10 @@ extern pt_entry_t *KPTphys;
|
||||
|
||||
/* Virtual address of per-cpu common_tss */
|
||||
extern struct i386tss common_tss;
|
||||
#ifdef VM86
|
||||
extern u_int private_tss; /* flag indicating private tss */
|
||||
extern struct segment_descriptor common_tssd;
|
||||
#endif /* VM86 */
|
||||
|
||||
/* IdlePTD per cpu */
|
||||
pd_entry_t *IdlePTDS[NCPU];
|
||||
@ -408,6 +412,10 @@ init_secondary(void)
|
||||
common_tss.tss_esp0 = 0; /* not used until after switch */
|
||||
common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL);
|
||||
common_tss.tss_ioopt = (sizeof common_tss) << 16;
|
||||
#ifdef VM86
|
||||
common_tssd = gdt[slot].sd;
|
||||
private_tss = 0;
|
||||
#endif /* VM86 */
|
||||
ltr(gsel_tss);
|
||||
|
||||
load_cr0(0x8005003b); /* XXX! */
|
||||
|
Loading…
x
Reference in New Issue
Block a user