Changeset 76cec1e in mainline for arch/ia32/src/pm.c
- Timestamp:
- 2005-07-15T21:57:30Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b4a4c5e3
- Parents:
- e41c47e
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/src/pm.c
re41c47e r76cec1e 46 46 */ 47 47 struct descriptor gdt[GDT_ITEMS] = { 48 49 50 51 52 53 54 55 56 57 58 59 48 /* NULL descriptor */ 49 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 50 /* KTEXT descriptor */ 51 { 0xffff, 0, 0, AR_PRESENT | AR_CODE | DPL_KERNEL, 0xf, 0, 0, 1, 1, 0 }, 52 /* KDATA descriptor */ 53 { 0xffff, 0, 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_KERNEL, 0xf, 0, 0, 1, 1, 0 }, 54 /* UTEXT descriptor */ 55 { 0xffff, 0, 0, AR_PRESENT | AR_CODE | DPL_USER, 0xf, 0, 0, 1, 1, 0 }, 56 /* UDATA descriptor */ 57 { 0xffff, 0, 0, AR_PRESENT | AR_DATA | AR_WRITABLE | DPL_USER, 0xf, 0, 0, 1, 1, 0 }, 58 /* TSS descriptor - set up will be completed later */ 59 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } 60 60 }; 61 61 … … 72 72 void gdt_setbase(struct descriptor *d, __address base) 73 73 { 74 d->base_0_15 = base & 0xffff; 75 d->base_16_23 = ((base) >> 16) & 0xff; 76 d->base_24_31 = ((base) >> 24) & 0xff; 77 74 d->base_0_15 = base & 0xffff; 75 d->base_16_23 = ((base) >> 16) & 0xff; 76 d->base_24_31 = ((base) >> 24) & 0xff; 78 77 } 79 78 80 79 void gdt_setlimit(struct descriptor *d, __u32 limit) 81 80 { 82 83 81 d->limit_0_15 = limit & 0xffff; 82 d->limit_16_19 = (limit >> 16) & 0xf; 84 83 } 85 84 … … 105 104 struct idescriptor *d; 106 105 int i; 107 106 108 107 for (i = 0; i < IDT_ITEMS; i++) { 109 108 d = &idt[i];
Note:
See TracChangeset
for help on using the changeset viewer.