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