From owner-p4-projects Sat Sep 21 4:22:27 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 0648F37B404; Sat, 21 Sep 2002 04:22:23 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8666F37B401 for ; Sat, 21 Sep 2002 04:22:22 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3AC0C43E65 for ; Sat, 21 Sep 2002 04:22:22 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from freefall.freebsd.org (perforce@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id g8LBMLCo046395 for ; Sat, 21 Sep 2002 04:22:22 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id g8LBMLsh046371 for perforce@freebsd.org; Sat, 21 Sep 2002 04:22:21 -0700 (PDT) Date: Sat, 21 Sep 2002 04:22:21 -0700 (PDT) Message-Id: <200209211122.g8LBMLsh046371@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm Subject: PERFORCE change 17854 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=17854 Change 17854 by peter@peter_overcee on 2002/09/21 04:21:18 partial updates for new segmentation formats. I'm too tired to make sense of this stuff yet. :-] Affected files ... .. //depot/projects/hammer/sys/x86_64/include/segments.h#4 edit .. //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#18 edit Differences ... ==== //depot/projects/hammer/sys/x86_64/include/segments.h#4 (text+ko) ==== @@ -70,7 +70,8 @@ unsigned sd_dpl:2 ; /* segment descriptor priority level */ unsigned sd_p:1 ; /* segment descriptor present */ unsigned sd_hilimit:4 ; /* segment extent (msb) */ - unsigned sd_xx:2 ; /* unused */ + unsigned sd_xx:1 ; /* unused */ + unsigned sd_l:2 ; /* long mode (cs only) */ unsigned sd_def32:1 ; /* default 32 vs 16 bit size */ unsigned sd_gran:1 ; /* limit granularity (byte/page units)*/ unsigned sd_hibase:8 ; /* segment base address (msb) */ @@ -82,12 +83,14 @@ struct gate_descriptor { unsigned gd_looffset:16 ; /* gate offset (lsb) */ unsigned gd_selector:16 ; /* gate segment selector */ - unsigned gd_stkcpy:5 ; /* number of stack wds to cpy */ - unsigned gd_xx:3 ; /* unused */ + unsigned gd_ist:3 ; /* IST table index */ + unsigned gd_xx:5 ; /* unused */ unsigned gd_type:5 ; /* segment type */ unsigned gd_dpl:2 ; /* segment descriptor priority level */ unsigned gd_p:1 ; /* segment descriptor present */ unsigned gd_hioffset:16 ; /* gate offset (msb) */ + unsigned gd_hihioffset:32 ; /* gate offset (bits 32-63) */ + unsigned gd_rsvd:32 ; /* reserved */ } ; /* @@ -100,21 +103,12 @@ /* system segments and gate types */ #define SDT_SYSNULL 0 /* system null */ -#define SDT_SYS286TSS 1 /* system 286 TSS available */ -#define SDT_SYSLDT 2 /* system local descriptor table */ -#define SDT_SYS286BSY 3 /* system 286 TSS busy */ -#define SDT_SYS286CGT 4 /* system 286 call gate */ -#define SDT_SYSTASKGT 5 /* system task gate */ -#define SDT_SYS286IGT 6 /* system 286 interrupt gate */ -#define SDT_SYS286TGT 7 /* system 286 trap gate */ -#define SDT_SYSNULL2 8 /* system null again */ -#define SDT_SYS386TSS 9 /* system 386 TSS available */ -#define SDT_SYSNULL3 10 /* system null again */ -#define SDT_SYS386BSY 11 /* system 386 TSS busy */ -#define SDT_SYS386CGT 12 /* system 386 call gate */ -#define SDT_SYSNULL4 13 /* system null again */ -#define SDT_SYS386IGT 14 /* system 386 interrupt gate */ -#define SDT_SYS386TGT 15 /* system 386 trap gate */ +#define SDT_SYSLDT 2 /* system 64 bit local descriptor table */ +#define SDT_SYSTSS 9 /* system available 64 bit TSS */ +#define SDT_SYSBSY 11 /* system busy 64 bit TSS */ +#define SDT_SYSCGT 12 /* system 64 bit call gate */ +#define SDT_SYSIGT 14 /* system 64 bit interrupt gate */ +#define SDT_SYSTGT 15 /* system 64 bit trap gate */ /* memory segment types */ #define SDT_MEMRO 16 /* memory read only */ ==== //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#18 (text+ko) ==== @@ -684,7 +684,7 @@ { 0x0, /* segment base address */ sizeof(struct i386tss)-1,/* length - all address space */ - SDT_SYS386TSS, /* segment type */ + SDT_SYSTSS, /* segment type */ 0, /* segment descriptor priority level */ 1, /* segment descriptor present */ 0, 0, @@ -711,7 +711,7 @@ /* GPANIC_SEL 6 Panic Tss Descriptor */ { (int) &dblfault_tss, /* segment base address */ sizeof(struct i386tss)-1,/* length - all address space */ - SDT_SYS386TSS, /* segment type */ + SDT_SYSTSS, /* segment type */ 0, /* segment descriptor priority level */ 1, /* segment descriptor present */ 0, 0, @@ -813,7 +813,7 @@ { ssd->ssd_base = (sd->sd_hibase << 24) | sd->sd_lobase; - ssd->ssd_limit = (sd->sd_hilimit << 16) | sd->sd_lolimit; + ssd->ssd_limit = (sd->sd_hilimit << 16) | sd->sd_Lolimit; ssd->ssd_type = sd->sd_type; ssd->ssd_dpl = sd->sd_dpl; ssd->ssd_p = sd->sd_p; To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message