svn commit: r209731 - head/sys/amd64/include
Rui Paulo
rpaulo at FreeBSD.org
Tue Jul 6 16:56:28 UTC 2010
Author: rpaulo
Date: Tue Jul 6 16:56:27 2010
New Revision: 209731
URL: http://svn.freebsd.org/changeset/base/209731
Log:
Introduce USD_{SET,GET}{BASE,LIMIT}. These help setting up the user
segment descriptor hi and lo values. Idea from Solaris.
Reviewed by: kib
Modified:
head/sys/amd64/include/segments.h
Modified: head/sys/amd64/include/segments.h
==============================================================================
--- head/sys/amd64/include/segments.h Tue Jul 6 16:55:39 2010 (r209730)
+++ head/sys/amd64/include/segments.h Tue Jul 6 16:56:27 2010 (r209731)
@@ -74,6 +74,13 @@ struct user_segment_descriptor {
u_int64_t sd_hibase:8; /* segment base address (msb) */
} __packed;
+#define USD_GETBASE(_sd) (((_sd)->sd_lobase) | (_sd)->sd_hibase << 24)
+#define USD_SETBASE(_sd, _b) (_sd)->sd_lobase = (_b); \
+ (_sd)->sd_hibase = ((_b) >> 24);
+#define USD_GETLIMIT(_sd) (((_sd)->sd_lolimit) | (_sd)->sd_hilimit << 16)
+#define USD_SETLIMIT(_sd, _l) (_sd)->sd_lolimit = (_l); \
+ (_sd)->sd_hilimit = ((_l) >> 16);
+
/*
* System segment descriptors (128 bit wide)
*/
More information about the svn-src-head
mailing list