Module Name: src Committed By: maxv Date: Fri Sep 2 08:52:13 UTC 2016
Modified Files: src/sys/arch/amd64/include: segments.h Log Message: Give the structure sizes. To generate a diff of this commit: cvs rdiff -u -r1.27 -r1.28 src/sys/arch/amd64/include/segments.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/amd64/include/segments.h diff -u src/sys/arch/amd64/include/segments.h:1.27 src/sys/arch/amd64/include/segments.h:1.28 --- src/sys/arch/amd64/include/segments.h:1.27 Sat Aug 27 14:19:47 2016 +++ src/sys/arch/amd64/include/segments.h Fri Sep 2 08:52:12 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: segments.h,v 1.27 2016/08/27 14:19:47 maxv Exp $ */ +/* $NetBSD: segments.h,v 1.28 2016/09/02 08:52:12 maxv Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -147,7 +147,7 @@ */ /* - * Below is used for TSS and LDT. + * System segment descriptor (16 bytes): used for TSS and LDT. */ struct sys_segment_descriptor { uint64_t sd_lolimit:16; /* segment extent (lsb) */ @@ -165,7 +165,7 @@ struct sys_segment_descriptor { } __packed; /* - * Below is used for cs, ds, etc. + * Memory segment descriptor (8 bytes): used for cs, ds, etc. */ struct mem_segment_descriptor { unsigned sd_lolimit:16; /* segment extent (lsb) */ @@ -192,7 +192,7 @@ struct common_segment_descriptor { } __packed; /* - * Gate descriptors (e.g. indirect descriptors) + * Gate descriptors (16 bytes). */ struct gate_descriptor { uint64_t gd_looffset:16;/* gate offset (lsb) */ @@ -209,7 +209,8 @@ struct gate_descriptor { } __packed; /* - * Generic descriptor + * Generic descriptor (8 bytes). Note: it does not include system segment + * descriptors and gate descriptors, since these are 16-byte-long. */ union descriptor { struct mem_segment_descriptor sd; @@ -218,7 +219,7 @@ union descriptor { } __packed; /* - * region descriptors, used to load gdt/idt tables before segments yet exist. + * Region descriptors, used to load gdt/idt tables before segments yet exist. */ struct region_descriptor { uint16_t rd_limit; /* segment extent */ @@ -226,9 +227,6 @@ struct region_descriptor { } __packed; #ifdef _KERNEL -#if 0 -extern struct sys_segment_descriptor *ldt; -#endif #ifdef XEN extern struct trap_info *idt; #else