Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 650cd22 in mainline for kernel/arch/ia32/src/pm.c


Ignore:
Timestamp:
2016-05-04T22:03:34Z (5 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
master
Children:
4b0206c
Parents:
6d87dce
Message:

Use designated initializer for initializing GDT

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/ia32/src/pm.c

    r6d87dce r650cd22  
    6161 */
    6262descriptor_t gdt[GDT_ITEMS] = {
    63         /* NULL descriptor */
    64         { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    65         /* KTEXT descriptor */
    66         { 0xffff, 0, 0, AR_PRESENT | AR_CODE | DPL_KERNEL, 0xf, 0, 0, 1, 1, 0 },
    67         /* KDATA descriptor */
    68         { 0xffff, 0, 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_KERNEL, 0xf, 0, 0, 1, 1, 0 },
    69         /* UTEXT descriptor */
    70         { 0xffff, 0, 0, AR_PRESENT | AR_CODE | DPL_USER, 0xf, 0, 0, 1, 1, 0 },
    71         /* UDATA descriptor */
    72         { 0xffff, 0, 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER, 0xf, 0, 0, 1, 1, 0 },
    73         /* TSS descriptor - set up will be completed later */
    74         { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
    75         /* VREG descriptor - segment used for virtual registers, will be reinitialized later */
    76         { 0xffff, 0 , 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER, 0xf, 0, 0, 1, 1, 0 },
     63        [NULL_DES] = {
     64                0
     65        },
     66        [KTEXT_DES] = {
     67                .limit_0_15 = 0xffff,
     68                .limit_16_19 = 0xf,
     69                .access = AR_PRESENT | AR_CODE | DPL_KERNEL,
     70                .special = 1,
     71                .granularity = 1
     72        },
     73        [KDATA_DES] = {
     74                .limit_0_15 = 0xffff,
     75                .limit_16_19 = 0xf,
     76                .access = AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_KERNEL,
     77                .special = 1,
     78                .granularity = 1
     79        },
     80        [UTEXT_DES] = {
     81                .limit_0_15 = 0xffff,
     82                .limit_16_19 = 0xf,
     83                .access = AR_PRESENT | AR_CODE | DPL_USER,
     84                .special = 1,
     85                .granularity = 1
     86        },
     87        [UDATA_DES] = {
     88                .limit_0_15 = 0xffff,
     89                .limit_16_19 = 0xf,
     90                .access = AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER,
     91                .special = 1,
     92                .granularity = 1
     93        },
     94        [TSS_DES] = {           /* set up will be completed later */
     95                0,
     96        },
     97        [VREG_DES] = {          /* will be reinitialized later */
     98                .limit_0_15 = 0xffff,
     99                .limit_16_19 = 0xf,
     100                .access = AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER,
     101                .special = 1,
     102                .granularity = 1
     103        },
    77104        /* VESA Init descriptor */
    78105#ifdef CONFIG_FB
    79         { 0xffff, 0, VESA_INIT_SEGMENT >> 12, AR_PRESENT | AR_CODE | AR_READABLE | DPL_KERNEL, 0xf, 0, 0, 0, 0, 0 },
    80         { 0xffff, 0, VESA_INIT_SEGMENT >> 12, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_KERNEL, 0xf, 0, 0, 0, 0, 0 }
     106        [VESA_INIT_CODE_DES] = {
     107                .limit_0_15 = 0xffff,
     108                .limit_16_19 = 0xf,
     109                .base_16_23 = VESA_INIT_SEGMENT >> 12,
     110                .access = AR_PRESENT | AR_CODE | AR_READABLE | DPL_KERNEL
     111        },
     112        [VESA_INIT_DATA_DES] = {
     113                .limit_0_15 = 0xffff,
     114                .limit_16_19 = 0xf,
     115                .base_16_23 = VESA_INIT_SEGMENT >> 12,
     116                .access = AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_KERNEL
     117        }
    81118#endif
    82119};
Note: See TracChangeset for help on using the changeset viewer.