cpu_machdep.c (46539) | cpu_machdep.c (47081) |
---|---|
1/*- 2 * Copyright (c) 1992 Terrence R. Lambert. 3 * Copyright (c) 1982, 1987, 1990 The Regents of the University of California. 4 * All rights reserved. 5 * 6 * This code is derived from software contributed to Berkeley by 7 * William Jolitz. 8 * --- 21 unchanged lines hidden (view full) --- 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 | 1/*- 2 * Copyright (c) 1992 Terrence R. Lambert. 3 * Copyright (c) 1982, 1987, 1990 The Regents of the University of California. 4 * All rights reserved. 5 * 6 * This code is derived from software contributed to Berkeley by 7 * William Jolitz. 8 * --- 21 unchanged lines hidden (view full) --- 30 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 31 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 32 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 34 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 35 * SUCH DAMAGE. 36 * 37 * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 |
38 * $Id: machdep.c,v 1.333 1999/05/06 00:38:41 luoqi Exp $ | 38 * $Id: machdep.c,v 1.334 1999/05/06 00:54:44 luoqi Exp $ |
39 */ 40 41#include "apm.h" 42#include "ether.h" 43#include "npx.h" 44#include "opt_atalk.h" 45#include "opt_cpu.h" 46#include "opt_ddb.h" --- 852 unchanged lines hidden (view full) --- 899union descriptor ldt[NLDT]; /* local descriptor table */ 900#ifdef SMP 901/* table descriptors - used to load tables by microp */ 902struct region_descriptor r_gdt, r_idt; 903#endif 904 905#ifdef VM86 906#ifndef SMP | 39 */ 40 41#include "apm.h" 42#include "ether.h" 43#include "npx.h" 44#include "opt_atalk.h" 45#include "opt_cpu.h" 46#include "opt_ddb.h" --- 852 unchanged lines hidden (view full) --- 899union descriptor ldt[NLDT]; /* local descriptor table */ 900#ifdef SMP 901/* table descriptors - used to load tables by microp */ 902struct region_descriptor r_gdt, r_idt; 903#endif 904 905#ifdef VM86 906#ifndef SMP |
907extern struct segment_descriptor common_tssd; | 907extern struct segment_descriptor common_tssd, *tss_gdt; |
908#endif 909int private_tss; /* flag indicating private tss */ 910#endif /* VM86 */ 911 912#if defined(I586_CPU) && !defined(NO_F00F_HACK) 913struct gate_descriptor *t_idt; 914extern int has_f00f_bug; 915#endif --- 376 unchanged lines hidden (view full) --- 1292 common_tss.tss_esp0 = (int) proc0.p_addr + UPAGES*PAGE_SIZE; 1293#endif /* VM86 */ 1294 common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL) ; 1295 common_tss.tss_ioopt = (sizeof common_tss) << 16; 1296 gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); 1297 ltr(gsel_tss); 1298#ifdef VM86 1299 private_tss = 0; | 908#endif 909int private_tss; /* flag indicating private tss */ 910#endif /* VM86 */ 911 912#if defined(I586_CPU) && !defined(NO_F00F_HACK) 913struct gate_descriptor *t_idt; 914extern int has_f00f_bug; 915#endif --- 376 unchanged lines hidden (view full) --- 1292 common_tss.tss_esp0 = (int) proc0.p_addr + UPAGES*PAGE_SIZE; 1293#endif /* VM86 */ 1294 common_tss.tss_ss0 = GSEL(GDATA_SEL, SEL_KPL) ; 1295 common_tss.tss_ioopt = (sizeof common_tss) << 16; 1296 gsel_tss = GSEL(GPROC0_SEL, SEL_KPL); 1297 ltr(gsel_tss); 1298#ifdef VM86 1299 private_tss = 0; |
1300 common_tssd = gdt[GPROC0_SEL].sd; | 1300 tss_gdt = &gdt[GPROC0_SEL].sd; 1301 common_tssd = *tss_gdt; |
1301#endif 1302 1303 dblfault_tss.tss_esp = dblfault_tss.tss_esp0 = dblfault_tss.tss_esp1 = 1304 dblfault_tss.tss_esp2 = (int) &dblfault_stack[sizeof(dblfault_stack)]; 1305 dblfault_tss.tss_ss = dblfault_tss.tss_ss0 = dblfault_tss.tss_ss1 = 1306 dblfault_tss.tss_ss2 = GSEL(GDATA_SEL, SEL_KPL); 1307 dblfault_tss.tss_cr3 = (int)IdlePTD; 1308 dblfault_tss.tss_eip = (int) dblfault_handler; --- 617 unchanged lines hidden --- | 1302#endif 1303 1304 dblfault_tss.tss_esp = dblfault_tss.tss_esp0 = dblfault_tss.tss_esp1 = 1305 dblfault_tss.tss_esp2 = (int) &dblfault_stack[sizeof(dblfault_stack)]; 1306 dblfault_tss.tss_ss = dblfault_tss.tss_ss0 = dblfault_tss.tss_ss1 = 1307 dblfault_tss.tss_ss2 = GSEL(GDATA_SEL, SEL_KPL); 1308 dblfault_tss.tss_cr3 = (int)IdlePTD; 1309 dblfault_tss.tss_eip = (int) dblfault_handler; --- 617 unchanged lines hidden --- |