From owner-p4-projects@FreeBSD.ORG Wed Apr 9 21:13:26 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id B2E4637B404; Wed, 9 Apr 2003 21:13:25 -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 6A16337B401 for ; Wed, 9 Apr 2003 21:13:25 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 123F643F75 for ; Wed, 9 Apr 2003 21:13:25 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h3A4DO0U003564 for ; Wed, 9 Apr 2003 21:13:24 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h3A4DOXF003555 for perforce@freebsd.org; Wed, 9 Apr 2003 21:13:24 -0700 (PDT) Date: Wed, 9 Apr 2003 21:13:24 -0700 (PDT) Message-Id: <200304100413.h3A4DOXF003555@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm To: Perforce Change Reviews Subject: PERFORCE change 28687 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Apr 2003 04:13:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=28687 Change 28687 by peter@peter_daintree on 2003/04/09 21:13:03 have a seperate selector for user data, not that it appears to matter Affected files ... .. //depot/projects/hammer/sys/x86_64/include/segments.h#15 edit .. //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#61 edit Differences ... ==== //depot/projects/hammer/sys/x86_64/include/segments.h#15 (text+ko) ==== @@ -178,8 +178,9 @@ #define GDATA_SEL 2 /* Kernel Data Descriptor */ #define GPROC0_SEL 3 /* Task state process slot zero and up */ /* slot 4 is second half of GPROC0_SEL */ -#define GUCODE_SEL 5 /* Kernel Code Descriptor */ -#define NGDT 6 +#define GUCODE_SEL 5 /* User Code Descriptor */ +#define GUDATA_SEL 6 /* User Data Descriptor */ +#define NGDT 7 #ifdef _KERNEL extern struct user_segment_descriptor gdt[]; ==== //depot/projects/hammer/sys/x86_64/x86_64/machdep.c#61 (text+ko) ==== @@ -615,6 +615,15 @@ 1, /* long */ 0, /* default 32 vs 16 bit size */ 1 /* limit granularity (byte/page units)*/ }, +/* GUDATA_SEL 6 Code Descriptor for user */ +{ 0x0, /* segment base address */ + 0xfffff, /* length - all address space */ + SDT_MEMRWA, /* segment type */ + SEL_UPL, /* segment descriptor priority level */ + 1, /* segment descriptor present */ + 1, /* long */ + 0, /* default 32 vs 16 bit size */ + 1 /* limit granularity (byte/page units)*/ }, }; void @@ -1253,6 +1262,11 @@ msgbufinit(msgbufp, MSGBUF_SIZE); + /* transfer to user mode */ + + _ucodesel = GSEL(LUCODE_SEL, SEL_UPL); + _udatasel = GSEL(LUDATA_SEL, SEL_UPL); + /* setup proc 0's pcb */ thread0.td_pcb->pcb_flags = 0; /* XXXKSE */ thread0.td_pcb->pcb_cr3 = IdlePML4;