Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Mar 2012 21:57:32 +0000 (UTC)
From:      Tijl Coosemans <tijl@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r233209 - in head/sys: amd64/include i386/include pc98/include x86/include
Message-ID:  <201203192157.q2JLvWUB088100@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tijl
Date: Mon Mar 19 21:57:31 2012
New Revision: 233209
URL: http://svn.freebsd.org/changeset/base/233209

Log:
  Copy amd64 sysarch.h to x86 and merge with i386 sysarch.h. Replace
  amd64/i386/pc98 sysarch.h with stubs.

Added:
  head/sys/x86/include/sysarch.h
     - copied, changed from r233203, head/sys/amd64/include/sysarch.h
Modified:
  head/sys/amd64/include/sysarch.h
  head/sys/i386/include/sysarch.h
  head/sys/pc98/include/sysarch.h

Modified: head/sys/amd64/include/sysarch.h
==============================================================================
--- head/sys/amd64/include/sysarch.h	Mon Mar 19 21:47:50 2012	(r233208)
+++ head/sys/amd64/include/sysarch.h	Mon Mar 19 21:57:31 2012	(r233209)
@@ -1,103 +1,6 @@
 /*-
- * Copyright (c) 1993 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-/*
- * Architecture specific syscalls (AMD64)
- */
-#ifndef _MACHINE_SYSARCH_H_
-#define _MACHINE_SYSARCH_H_
-
-#include <sys/cdefs.h>
-
-#define I386_GET_LDT	0
-#define I386_SET_LDT	1
-#define	LDT_AUTO_ALLOC	0xffffffff
-				/* I386_IOPL */
-#define I386_GET_IOPERM	3
-#define I386_SET_IOPERM	4
-
-/* XXX Not implementable #define I386_VM86	6 */
-
-#define	I386_GET_FSBASE		7
-#define	I386_SET_FSBASE		8
-#define	I386_GET_GSBASE		9
-#define	I386_SET_GSBASE		10
-#define	I386_GET_XFPUSTATE	11
-
-/* Leave space for 0-127 for to avoid translating syscalls */
-#define	AMD64_GET_FSBASE	128
-#define	AMD64_SET_FSBASE	129
-#define	AMD64_GET_GSBASE	130
-#define	AMD64_SET_GSBASE	131
-#define	AMD64_GET_XFPUSTATE	132
-
-struct i386_ldt_args {
-	unsigned int start;
-	struct user_segment_descriptor *descs __packed;
-	unsigned int num;
-};
-
-struct i386_ioperm_args {
-	unsigned int start;
-	unsigned int length;
-	int	enable;
-};
-
-struct i386_get_xfpustate {
-	unsigned int addr;
-	int len;
-};
-
-struct amd64_get_xfpustate {
-	void *addr;
-	int len;
-};
-
-#ifndef _KERNEL
-__BEGIN_DECLS
-int amd64_get_fsbase(void **);
-int amd64_get_gsbase(void **);
-int amd64_set_fsbase(void *);
-int amd64_set_gsbase(void *);
-int sysarch(int, void *);
-__END_DECLS
-#else
-struct thread;
-union descriptor;
-
-int amd64_get_ldt(struct thread *, struct i386_ldt_args *);
-int amd64_set_ldt(struct thread *, struct i386_ldt_args *,
-    struct user_segment_descriptor *);
-int amd64_get_ioperm(struct thread *, struct i386_ioperm_args *);
-int amd64_set_ioperm(struct thread *, struct i386_ioperm_args *);
-#endif
-
-#endif /* !_MACHINE_SYSARCH_H_ */
+#include <x86/sysarch.h>

Modified: head/sys/i386/include/sysarch.h
==============================================================================
--- head/sys/i386/include/sysarch.h	Mon Mar 19 21:47:50 2012	(r233208)
+++ head/sys/i386/include/sysarch.h	Mon Mar 19 21:57:31 2012	(r233209)
@@ -1,104 +1,6 @@
 /*-
- * Copyright (c) 1993 The Regents of the University of California.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * $FreeBSD$
+ * This file is in the public domain.
  */
+/* $FreeBSD$ */
 
-/*
- * Architecture specific syscalls (i386)
- */
-#ifndef _MACHINE_SYSARCH_H_
-#define _MACHINE_SYSARCH_H_
-
-#define I386_GET_LDT	0
-#define I386_SET_LDT	1
-#define	LDT_AUTO_ALLOC	0xffffffff
-				/* I386_IOPL */
-#define I386_GET_IOPERM	3
-#define I386_SET_IOPERM	4
-				/* xxxxx */
-#define I386_VM86	6
-#define I386_GET_FSBASE	7
-#define I386_SET_FSBASE	8
-#define I386_GET_GSBASE	9
-#define I386_SET_GSBASE	10
-#define	I386_GET_XFPUSTATE 11
-
-struct i386_ldt_args {
-	unsigned int start;
-	union	descriptor *descs;
-	unsigned int num;
-}; 
-
-struct i386_ioperm_args {
-	unsigned int start;
-	unsigned int length;
-	int	enable;
-};
-
-struct i386_vm86_args {
-	int	sub_op;			/* sub-operation to perform */
-	char	*sub_args;		/* args */
-};
-
-struct i386_get_xfpustate {
-	void *addr;
-	int len;
-};
-
-#ifndef _KERNEL
-#include <sys/cdefs.h>
-
-union descriptor;
-struct dbreg;
-
-__BEGIN_DECLS
-int i386_get_ldt(int, union descriptor *, int);
-int i386_set_ldt(int, union descriptor *, int);
-int i386_get_ioperm(unsigned int, unsigned int *, int *);
-int i386_set_ioperm(unsigned int, unsigned int, int);
-int i386_vm86(int, void *);
-int i386_get_fsbase(void **);
-int i386_get_gsbase(void **);
-int i386_set_fsbase(void *);
-int i386_set_gsbase(void *);
-int i386_set_watch(int, unsigned int, int, int, struct dbreg *);
-int i386_clr_watch(int, struct dbreg *);
-int sysarch(int, void *);
-__END_DECLS
-#else
-struct thread;
-union descriptor;
-
-int i386_get_ldt(struct thread *, struct i386_ldt_args *);
-int i386_set_ldt(struct thread *, struct i386_ldt_args *, union descriptor *);
-int i386_get_ioperm(struct thread *, struct i386_ioperm_args *);
-int i386_set_ioperm(struct thread *, struct i386_ioperm_args *);
-#endif
-
-#endif /* !_MACHINE_SYSARCH_H_ */
+#include <x86/sysarch.h>

Modified: head/sys/pc98/include/sysarch.h
==============================================================================
--- head/sys/pc98/include/sysarch.h	Mon Mar 19 21:47:50 2012	(r233208)
+++ head/sys/pc98/include/sysarch.h	Mon Mar 19 21:57:31 2012	(r233209)
@@ -3,4 +3,4 @@
  */
 /* $FreeBSD$ */
 
-#include <i386/sysarch.h>
+#include <x86/sysarch.h>

Copied and modified: head/sys/x86/include/sysarch.h (from r233203, head/sys/amd64/include/sysarch.h)
==============================================================================
--- head/sys/amd64/include/sysarch.h	Mon Mar 19 21:24:50 2012	(r233203, copy source)
+++ head/sys/x86/include/sysarch.h	Mon Mar 19 21:57:31 2012	(r233209)
@@ -30,7 +30,7 @@
  */
 
 /*
- * Architecture specific syscalls (AMD64)
+ * Architecture specific syscalls (X86)
  */
 #ifndef _MACHINE_SYSARCH_H_
 #define _MACHINE_SYSARCH_H_
@@ -43,9 +43,8 @@
 				/* I386_IOPL */
 #define I386_GET_IOPERM	3
 #define I386_SET_IOPERM	4
-
-/* XXX Not implementable #define I386_VM86	6 */
-
+				/* xxxxx */
+#define	I386_VM86		6	/* XXX Not implementable on amd64 */
 #define	I386_GET_FSBASE		7
 #define	I386_SET_FSBASE		8
 #define	I386_GET_GSBASE		9
@@ -59,16 +58,33 @@
 #define	AMD64_SET_GSBASE	131
 #define	AMD64_GET_XFPUSTATE	132
 
+struct i386_ioperm_args {
+	unsigned int start;
+	unsigned int length;
+	int	enable;
+};
+
+#ifdef __i386__
 struct i386_ldt_args {
 	unsigned int start;
-	struct user_segment_descriptor *descs __packed;
+	union descriptor *descs;
 	unsigned int num;
 };
 
-struct i386_ioperm_args {
+struct i386_vm86_args {
+	int	sub_op;			/* sub-operation to perform */
+	char	*sub_args;		/* args */
+};
+
+struct i386_get_xfpustate {
+	void *addr;
+	int len;
+};
+#else
+struct i386_ldt_args {
 	unsigned int start;
-	unsigned int length;
-	int	enable;
+	struct user_segment_descriptor *descs __packed;
+	unsigned int num;
 };
 
 struct i386_get_xfpustate {
@@ -80,9 +96,24 @@ struct amd64_get_xfpustate {
 	void *addr;
 	int len;
 };
+#endif
 
 #ifndef _KERNEL
+union descriptor;
+struct dbreg;
+
 __BEGIN_DECLS
+int i386_get_ldt(int, union descriptor *, int);
+int i386_set_ldt(int, union descriptor *, int);
+int i386_get_ioperm(unsigned int, unsigned int *, int *);
+int i386_set_ioperm(unsigned int, unsigned int, int);
+int i386_vm86(int, void *);
+int i386_get_fsbase(void **);
+int i386_get_gsbase(void **);
+int i386_set_fsbase(void *);
+int i386_set_gsbase(void *);
+int i386_set_watch(int, unsigned int, int, int, struct dbreg *);
+int i386_clr_watch(int, struct dbreg *);
 int amd64_get_fsbase(void **);
 int amd64_get_gsbase(void **);
 int amd64_set_fsbase(void *);
@@ -93,6 +124,10 @@ __END_DECLS
 struct thread;
 union descriptor;
 
+int i386_get_ldt(struct thread *, struct i386_ldt_args *);
+int i386_set_ldt(struct thread *, struct i386_ldt_args *, union descriptor *);
+int i386_get_ioperm(struct thread *, struct i386_ioperm_args *);
+int i386_set_ioperm(struct thread *, struct i386_ioperm_args *);
 int amd64_get_ldt(struct thread *, struct i386_ldt_args *);
 int amd64_set_ldt(struct thread *, struct i386_ldt_args *,
     struct user_segment_descriptor *);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203192157.q2JLvWUB088100>