PERFORCE change 29471 for review

Peter Wemm peter at FreeBSD.org
Tue Apr 22 18:15:24 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=29471

Change 29471 by peter at peter_daintree on 2003/04/22 18:15:13

	apply a bigger hammer to the segment alignment stuff.

Affected files ...

.. //depot/projects/hammer/sys/x86_64/include/segments.h#17 edit

Differences ...

==== //depot/projects/hammer/sys/x86_64/include/segments.h#17 (text+ko) ====

@@ -76,7 +76,7 @@
 	u_int64_t sd_def32:1;		/* default 32 vs 16 bit size */
 	u_int64_t sd_gran:1;		/* limit granularity (byte/page units)*/
 	u_int64_t sd_hibase:8;		/* segment base address  (msb) */
-};
+} __packed;
 
 /*
  * System segment descriptors (128 bit wide)
@@ -90,11 +90,11 @@
 	u_int64_t sd_hilimit:4;		/* segment extent (msb) */
 	u_int64_t sd_xx0:3;		/* unused */
 	u_int64_t sd_gran:1;		/* limit granularity (byte/page units)*/
-	u_int64_t sd_hibase:40;		/* segment base address  (msb) */
+	u_int64_t sd_hibase:40 __packed;/* segment base address  (msb) */
 	u_int64_t sd_xx1:8;
 	u_int64_t sd_mbz:5;		/* MUST be zero */
 	u_int64_t sd_xx2:19;
-};
+} __packed;
 
 /*
  * Gate descriptors (e.g. indirect descriptors, trap, interrupt etc. 128 bit)
@@ -110,7 +110,7 @@
 	u_int64_t gd_p:1;		/* segment descriptor present */
 	u_int64_t gd_hioffset:48 __packed;	/* gate offset (msb) */
 	u_int64_t sd_xx1:32;
-};
+} __packed;
 
 	/* system segments and gate types */
 #define	SDT_SYSNULL	 0	/* system null */
@@ -154,7 +154,7 @@
 	unsigned long ssd_long:1;	/* long mode (for %cs) */
 	unsigned long ssd_def32:1;	/* default 32 vs 16 bit size */
 	unsigned long ssd_gran:1;	/* limit granularity (byte/page units)*/
-};
+} __packed;
 
 /*
  * region descriptors, used to load gdt/idt tables before segments yet exist.
@@ -162,7 +162,7 @@
 struct region_descriptor {
 	unsigned long rd_limit:16;		/* segment extent */
 	unsigned long rd_base:64 __packed;	/* base address  */
-};
+} __packed;
 
 /*
  * Size of IDT table


More information about the p4-projects mailing list