Convert gdt_segs and ldt_segs initialization to C99 style.
Reviewed by: jhb
This commit is contained in:
parent
ba32f0ff83
commit
49d008d916
@ -818,87 +818,86 @@ struct amd64tss common_tss[MAXCPU];
|
||||
/* software prototypes -- in more palatable form */
|
||||
struct soft_segment_descriptor gdt_segs[] = {
|
||||
/* GNULL_SEL 0 Null Descriptor */
|
||||
{ 0x0, /* segment base address */
|
||||
0x0, /* length */
|
||||
0, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
0, /* segment descriptor present */
|
||||
0, /* long */
|
||||
0, /* default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0x0,
|
||||
.ssd_type = 0,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 0,
|
||||
.ssd_long = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* GCODE_SEL 1 Code Descriptor for kernel */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMERA, /* segment type */
|
||||
SEL_KPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
1, /* long */
|
||||
0, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMERA,
|
||||
.ssd_dpl = SEL_KPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_long = 1,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 1 },
|
||||
/* GDATA_SEL 2 Data Descriptor for kernel */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_KPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
1, /* long */
|
||||
0, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_KPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_long = 1,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 1 },
|
||||
/* GUCODE32_SEL 3 32 bit Code Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMERA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, /* long */
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMERA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_long = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GUDATA_SEL 4 32/64 bit Data Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, /* long */
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_long = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GUCODE_SEL 5 64 bit Code Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMERA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
1, /* long */
|
||||
0, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMERA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_long = 1,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 1 },
|
||||
/* GPROC0_SEL 6 Proc 0 Tss Descriptor */
|
||||
{
|
||||
0x0, /* segment base address */
|
||||
sizeof(struct amd64tss)-1,/* length */
|
||||
SDT_SYSTSS, /* segment type */
|
||||
SEL_KPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, /* long */
|
||||
0, /* unused - default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = sizeof(struct amd64tss)-1,
|
||||
.ssd_type = SDT_SYSTSS,
|
||||
.ssd_dpl = SEL_KPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_long = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* Actually, the TSS is a system descriptor which is double size */
|
||||
{ 0x0, /* segment base address */
|
||||
0x0, /* length */
|
||||
0, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
0, /* segment descriptor present */
|
||||
0, /* long */
|
||||
0, /* default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0x0,
|
||||
.ssd_type = 0,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 0,
|
||||
.ssd_long = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* GUGS32_SEL 8 32 bit GS Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, /* long */
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_long = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
};
|
||||
|
||||
void
|
||||
|
@ -1515,236 +1515,236 @@ extern vm_offset_t proc0kstack;
|
||||
*/
|
||||
struct soft_segment_descriptor gdt_segs[] = {
|
||||
/* GNULL_SEL 0 Null Descriptor */
|
||||
{ 0x0, /* segment base address */
|
||||
0x0, /* length */
|
||||
0, /* segment type */
|
||||
SEL_KPL, /* segment descriptor priority level */
|
||||
0, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0x0,
|
||||
.ssd_type = 0,
|
||||
.ssd_dpl = SEL_KPL,
|
||||
.ssd_p = 0,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* GPRIV_SEL 1 SMP Per-Processor Private Data Descriptor */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_KPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_KPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GUFS_SEL 2 %fs Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GUGS_SEL 3 %gs Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GCODE_SEL 4 Code Descriptor for kernel */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMERA, /* segment type */
|
||||
SEL_KPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMERA,
|
||||
.ssd_dpl = SEL_KPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GDATA_SEL 5 Data Descriptor for kernel */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_KPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_KPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GUCODE_SEL 6 Code Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMERA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMERA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GUDATA_SEL 7 Data Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GBIOSLOWMEM_SEL 8 BIOS access to realmode segment 0x40, must be #8 in GDT */
|
||||
{ 0x400, /* segment base address */
|
||||
0xfffff, /* length */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_KPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x400,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_KPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
#ifndef XEN
|
||||
/* GPROC0_SEL 9 Proc 0 Tss Descriptor */
|
||||
{
|
||||
0x0, /* segment base address */
|
||||
sizeof(struct i386tss)-1,/* length */
|
||||
SDT_SYS386TSS, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* unused - default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
.ssd_base = 0x0,
|
||||
.ssd_limit = sizeof(struct i386tss)-1,
|
||||
.ssd_type = SDT_SYS386TSS,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* GLDT_SEL 10 LDT Descriptor */
|
||||
{ (int) ldt, /* segment base address */
|
||||
sizeof(ldt)-1, /* length - all address space */
|
||||
SDT_SYSLDT, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* unused - default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = (int) ldt,
|
||||
.ssd_limit = sizeof(ldt)-1,
|
||||
.ssd_type = SDT_SYSLDT,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* GUSERLDT_SEL 11 User LDT Descriptor per process */
|
||||
{ (int) ldt, /* segment base address */
|
||||
(512 * sizeof(union descriptor)-1), /* length */
|
||||
SDT_SYSLDT, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* unused - default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = (int) ldt,
|
||||
.ssd_limit = (512 * sizeof(union descriptor)-1),
|
||||
.ssd_type = SDT_SYSLDT,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* GPANIC_SEL 12 Panic Tss Descriptor */
|
||||
{ (int) &dblfault_tss, /* segment base address */
|
||||
sizeof(struct i386tss)-1,/* length - all address space */
|
||||
SDT_SYS386TSS, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* unused - default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = (int) &dblfault_tss,
|
||||
.ssd_limit = sizeof(struct i386tss)-1,
|
||||
.ssd_type = SDT_SYS386TSS,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* GBIOSCODE32_SEL 13 BIOS 32-bit interface (32bit Code) */
|
||||
{ 0, /* segment base address (overwritten) */
|
||||
0xfffff, /* length */
|
||||
SDT_MEMERA, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMERA,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 1 },
|
||||
/* GBIOSCODE16_SEL 14 BIOS 32-bit interface (16bit Code) */
|
||||
{ 0, /* segment base address (overwritten) */
|
||||
0xfffff, /* length */
|
||||
SDT_MEMERA, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMERA,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 1 },
|
||||
/* GBIOSDATA_SEL 15 BIOS 32-bit interface (Data) */
|
||||
{ 0, /* segment base address (overwritten) */
|
||||
0xfffff, /* length */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* GBIOSUTIL_SEL 16 BIOS 16-bit interface (Utility) */
|
||||
{ 0, /* segment base address (overwritten) */
|
||||
0xfffff, /* length */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 1 },
|
||||
/* GBIOSARGS_SEL 17 BIOS 16-bit interface (Arguments) */
|
||||
{ 0, /* segment base address (overwritten) */
|
||||
0xfffff, /* length */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 1 },
|
||||
/* GNDIS_SEL 18 NDIS Descriptor */
|
||||
{ 0x0, /* segment base address */
|
||||
0x0, /* length */
|
||||
0, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
0, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0x0,
|
||||
.ssd_type = 0,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 0,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
#endif /* !XEN */
|
||||
};
|
||||
|
||||
static struct soft_segment_descriptor ldt_segs[] = {
|
||||
/* Null Descriptor - overwritten by call gate */
|
||||
{ 0x0, /* segment base address */
|
||||
0x0, /* length - all address space */
|
||||
0, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
0, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0x0,
|
||||
.ssd_type = 0,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 0,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* Null Descriptor - overwritten by call gate */
|
||||
{ 0x0, /* segment base address */
|
||||
0x0, /* length - all address space */
|
||||
0, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
0, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0x0,
|
||||
.ssd_type = 0,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 0,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* Null Descriptor - overwritten by call gate */
|
||||
{ 0x0, /* segment base address */
|
||||
0x0, /* length - all address space */
|
||||
0, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
0, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0x0,
|
||||
.ssd_type = 0,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 0,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* Code Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMERA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMERA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
/* Null Descriptor - overwritten by call gate */
|
||||
{ 0x0, /* segment base address */
|
||||
0x0, /* length - all address space */
|
||||
0, /* segment type */
|
||||
0, /* segment descriptor priority level */
|
||||
0, /* segment descriptor present */
|
||||
0, 0,
|
||||
0, /* default 32 vs 16 bit size */
|
||||
0 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0x0,
|
||||
.ssd_type = 0,
|
||||
.ssd_dpl = 0,
|
||||
.ssd_p = 0,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 0,
|
||||
.ssd_gran = 0 },
|
||||
/* Data Descriptor for user */
|
||||
{ 0x0, /* segment base address */
|
||||
0xfffff, /* length - all address space */
|
||||
SDT_MEMRWA, /* segment type */
|
||||
SEL_UPL, /* segment descriptor priority level */
|
||||
1, /* segment descriptor present */
|
||||
0, 0,
|
||||
1, /* default 32 vs 16 bit size */
|
||||
1 /* limit granularity (byte/page units)*/ },
|
||||
{ .ssd_base = 0x0,
|
||||
.ssd_limit = 0xfffff,
|
||||
.ssd_type = SDT_MEMRWA,
|
||||
.ssd_dpl = SEL_UPL,
|
||||
.ssd_p = 1,
|
||||
.ssd_xx = 0, .ssd_xx1 = 0,
|
||||
.ssd_def32 = 1,
|
||||
.ssd_gran = 1 },
|
||||
};
|
||||
|
||||
void
|
||||
|
Loading…
Reference in New Issue
Block a user