From owner-cvs-src-old@FreeBSD.ORG Wed Apr 1 13:09:53 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 551881065832 for ; Wed, 1 Apr 2009 13:09:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 3DAAF8FC12 for ; Wed, 1 Apr 2009 13:09:53 +0000 (UTC) (envelope-from kib@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n31D9rdn037776 for ; Wed, 1 Apr 2009 13:09:53 GMT (envelope-from kib@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n31D9rXT037775 for cvs-src-old@freebsd.org; Wed, 1 Apr 2009 13:09:53 GMT (envelope-from kib@repoman.freebsd.org) Message-Id: <200904011309.n31D9rXT037775@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to kib@repoman.freebsd.org using -f From: Konstantin Belousov Date: Wed, 1 Apr 2009 13:09:26 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/amd64/acpica acpi_switch.S src/sys/amd64/amd64 apic_vector.S cpu_switch.S db_interface.c db_trace.c exception.S genassym.c machdep.c mp_machdep.c sys_machdep.c trap.c vm_machdep.c src/sys/amd64/ia32 ia32_exception.S ia32_misc.c ... X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 01 Apr 2009 13:09:54 -0000 kib 2009-04-01 13:09:26 UTC FreeBSD src repository Modified files: sys/amd64/acpica acpi_switch.S sys/amd64/amd64 apic_vector.S cpu_switch.S db_interface.c db_trace.c exception.S genassym.c machdep.c mp_machdep.c sys_machdep.c trap.c vm_machdep.c sys/amd64/ia32 ia32_exception.S ia32_reg.c ia32_signal.c ia32_sigtramp.S sys/amd64/include asmacros.h frame.h md_var.h pcb.h pcpu.h proc.h segments.h sysarch.h sys/amd64/linux32 linux32_locore.s linux32_machdep.c linux32_sysvec.c sys/conf files.amd64 Added files: sys/amd64/ia32 ia32_misc.c Log: SVN rev 190620 on 2009-04-01 13:09:26Z by kib Save and restore segment registers on amd64 when entering and leaving the kernel on amd64. Fill and read segment registers for mcontext and signals. Handle traps caused by restoration of the invalidated selectors. Implement user-mode creation and manipulation of the process-specific LDT descriptors for amd64, see sysarch(2). Implement support for TSS i/o port access permission bitmap for amd64. Context-switch LDT and TSS. Do not save and restore segment registers on the context switch, that is handled by kernel enter/leave trampolines now. Remove segment restore code from the signal trampolines for freebsd/amd64, freebsd/ia32 and linux/i386 for the same reason. Implement amd64-specific compat shims for sysarch. Linuxolator (temporary ?) switched to use gsbase for thread_area pointer. TODO: Currently, gdb is not adapted to show segment registers from struct reg. Also, no machine-depended ptrace command is added to set segment registers for debugged process. In collaboration with: pho Discussed with: peter Reviewed by: jhb Linuxolator tested by: dchagin Revision Changes Path 1.2 +11 -6 src/sys/amd64/acpica/acpi_switch.S 1.112 +2 -5 src/sys/amd64/amd64/apic_vector.S 1.168 +60 -95 src/sys/amd64/amd64/cpu_switch.S 1.82 +7 -3 src/sys/amd64/amd64/db_interface.c 1.85 +2 -4 src/sys/amd64/amd64/db_trace.c 1.138 +147 -50 src/sys/amd64/amd64/exception.S 1.173 +19 -4 src/sys/amd64/amd64/genassym.c 1.698 +89 -24 src/sys/amd64/amd64/machdep.c 1.302 +13 -7 src/sys/amd64/amd64/mp_machdep.c 1.91 +561 -20 src/sys/amd64/amd64/sys_machdep.c 1.331 +95 -0 src/sys/amd64/amd64/trap.c 1.263 +76 -20 src/sys/amd64/amd64/vm_machdep.c 1.6 +5 -0 src/sys/amd64/ia32/ia32_exception.S 1.13 +71 -0 src/sys/amd64/ia32/ia32_misc.c (new) 1.4 +18 -17 src/sys/amd64/ia32/ia32_reg.c 1.22 +45 -42 src/sys/amd64/ia32/ia32_signal.c 1.5 +0 -4 src/sys/amd64/ia32/ia32_sigtramp.S 1.34 +6 -1 src/sys/amd64/include/asmacros.h 1.31 +9 -2 src/sys/amd64/include/frame.h 1.85 +13 -0 src/sys/amd64/include/md_var.h 1.70 +2 -4 src/sys/amd64/include/pcb.h 1.53 +10 -2 src/sys/amd64/include/pcpu.h 1.26 +21 -0 src/sys/amd64/include/proc.h 1.43 +3 -0 src/sys/amd64/include/segments.h 1.26 +9 -0 src/sys/amd64/include/sysarch.h 1.5 +0 -4 src/sys/amd64/linux32/linux32_locore.s 1.53 +3 -6 src/sys/amd64/linux32/linux32_machdep.c 1.45 +38 -32 src/sys/amd64/linux32/linux32_sysvec.c 1.137 +1 -0 src/sys/conf/files.amd64