summaryrefslogtreecommitdiffstats
path: root/sys/amd64/include/segments.h
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2013-11-26 19:38:42 +0000
committerkib <kib@FreeBSD.org>2013-11-26 19:38:42 +0000
commitf70df6871ba3ce383f1fcbdeffd567199e0edbe9 (patch)
treee61f9634925d5d788d423d9230e2782277aff158 /sys/amd64/include/segments.h
parent3cb5cc327b6f0f4e89605003b74a7e1b0c2b4585 (diff)
downloadFreeBSD-src-f70df6871ba3ce383f1fcbdeffd567199e0edbe9.zip
FreeBSD-src-f70df6871ba3ce383f1fcbdeffd567199e0edbe9.tar.gz
Hide struct pcb definition by #ifdef __amd64__ braces. If cc -m32
compilation results in inclusion of the header, a confict arises due to savefpu being union for i386, but used as struct in the pcb definition. The 32bit code should not need amd64 variant of the struct pcb anyway. For struct region_descriptor, use __uint64_t instead of unsigned long, as the base type for bit-fields. Unsigned long cannot have width 64 for -m32. The changes allowed to use sys/sysctl.h for cc -m32. Sponsored by: The FreeBSD Foundation MFC after: 1 week
Diffstat (limited to 'sys/amd64/include/segments.h')
-rw-r--r--sys/amd64/include/segments.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/amd64/include/segments.h b/sys/amd64/include/segments.h
index d9f4280..6bcadc7 100644
--- a/sys/amd64/include/segments.h
+++ b/sys/amd64/include/segments.h
@@ -82,8 +82,8 @@ struct soft_segment_descriptor {
* region descriptors, used to load gdt/idt tables before segments yet exist.
*/
struct region_descriptor {
- unsigned long rd_limit:16; /* segment extent */
- unsigned long rd_base:64 __packed; /* base address */
+ uint64_t rd_limit:16; /* segment extent */
+ uint64_t rd_base:64 __packed; /* base address */
} __packed;
#ifdef _KERNEL
OpenPOWER on IntegriCloud