Changeset 6f878b7 in mainline for arch/amd64/src/pm.c


Ignore:
Timestamp:
2005-08-30T15:06:03Z (19 years ago)
Author:
Ondrej Palkovsky <ondrap@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
a9387ea
Parents:
1e9a463
Message:

AMD64 now can switch into long mode.
Basic page tables working.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • arch/amd64/src/pm.c

    r1e9a463 r6f878b7  
    4545          .base_0_15   = 0,
    4646          .base_16_23  = 0,
    47           .access      = AR_PRESENT | AR_CODE | DPL_KERNEL,
     47          .access      = AR_PRESENT | AR_CODE | DPL_KERNEL | AR_READABLE ,
    4848          .limit_16_19 = 0xf,
    4949          .available   = 0,
    5050          .longmode    = 1,
    51           .special     = 0, 
     51          .special     = 0,
    5252          .granularity = 1,
    5353          .base_24_31  = 0 },
     
    6161          .longmode    = 0,
    6262          .special     = 0,
    63           .granularity = 0,
     63          .granularity = 1,
    6464          .base_24_31  = 0 },
    6565        /* UTEXT descriptor */
     
    8585          .granularity = 1,
    8686          .base_24_31  = 0 },
     87        /* KTEXT 16-bit protected */
     88        { .limit_0_15  = 0xffff,
     89          .base_0_15   = 0,
     90          .base_16_23  = 0,
     91          .access      = AR_PRESENT | AR_CODE | DPL_KERNEL | AR_READABLE,
     92          .limit_16_19 = 0xf,
     93          .available   = 0,
     94          .longmode    = 0,
     95          .special     = 0,
     96          .granularity = 1,
     97          .base_24_31  = 0 },
    8798        /* TSS descriptor - set up will be completed later */
    8899        { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
     
    93104static struct tss tss;
    94105
    95 /* gdtr is changed by kmp before next CPU is initialized */
    96 struct ptr_16_32 gdtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(gdt) };
    97 //struct ptr_16_32 gdtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(gdt), .base = KA2PA((__address) gdt) };
    98 struct ptr_16_32 idtr __attribute__ ((section ("K_DATA_START"))) = { .limit = sizeof(idt) };
     106/* Does not compile correctly if it does not exist */
     107int __attribute__ ((section ("K_DATA_START"))) __fake;
Note: See TracChangeset for help on using the changeset viewer.