Changeset 7f1c620 in mainline for arch/amd64/src/pm.c
- Timestamp:
- 2006-07-04T17:17:56Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0ffa3ef5
- Parents:
- 991779c5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/src/pm.c
r991779c5 r7f1c620 124 124 idescriptor_t idt[IDT_ITEMS]; 125 125 126 ptr_16_64_t gdtr = {.limit = sizeof(gdt), .base= ( __u64) gdt };127 ptr_16_64_t idtr = {.limit = sizeof(idt), .base= ( __u64) idt };126 ptr_16_64_t gdtr = {.limit = sizeof(gdt), .base= (uint64_t) gdt }; 127 ptr_16_64_t idtr = {.limit = sizeof(idt), .base= (uint64_t) idt }; 128 128 129 129 static tss_t tss; 130 130 tss_t *tss_p = NULL; 131 131 132 void gdt_tss_setbase(descriptor_t *d, __addressbase)132 void gdt_tss_setbase(descriptor_t *d, uintptr_t base) 133 133 { 134 134 tss_descriptor_t *td = (tss_descriptor_t *) d; … … 140 140 } 141 141 142 void gdt_tss_setlimit(descriptor_t *d, __u32limit)142 void gdt_tss_setlimit(descriptor_t *d, uint32_t limit) 143 143 { 144 144 struct tss_descriptor *td = (tss_descriptor_t *) d; … … 148 148 } 149 149 150 void idt_setoffset(idescriptor_t *d, __addressoffset)150 void idt_setoffset(idescriptor_t *d, uintptr_t offset) 151 151 { 152 152 /* … … 160 160 void tss_initialize(tss_t *t) 161 161 { 162 memsetb(( __address) t, sizeof(tss_t), 0);162 memsetb((uintptr_t) t, sizeof(tss_t), 0); 163 163 } 164 164 … … 180 180 d->type = AR_INTERRUPT; /* masking interrupt */ 181 181 182 idt_setoffset(d, (( __address) interrupt_handlers) + i*interrupt_handler_size);182 idt_setoffset(d, ((uintptr_t) interrupt_handlers) + i*interrupt_handler_size); 183 183 exc_register(i, "undef", (iroutine)null_interrupt); 184 184 } … … 215 215 * non boot-mapped pointer, initialize the CR3 register 216 216 * ahead of page_init */ 217 write_cr3(( __address) AS_KERNEL->page_table);217 write_cr3((uintptr_t) AS_KERNEL->page_table); 218 218 219 219 tss_p = (struct tss *) malloc(sizeof(tss_t), FRAME_ATOMIC); … … 229 229 tss_desc->dpl = PL_KERNEL; 230 230 231 gdt_tss_setbase(&gdt_p[TSS_DES], ( __address) tss_p);231 gdt_tss_setbase(&gdt_p[TSS_DES], (uintptr_t) tss_p); 232 232 gdt_tss_setlimit(&gdt_p[TSS_DES], TSS_BASIC_SIZE - 1); 233 233
Note:
See TracChangeset
for help on using the changeset viewer.