Changeset 11928d5 in mainline
- Timestamp:
- 2006-04-28T14:32:44Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- a98cdc7
- Parents:
- 040e4e9
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/amd64/include/asm.h
r040e4e9 r11928d5 208 208 static inline void gdtr_load(struct ptr_16_64 *gdtr_reg) 209 209 { 210 __asm__ volatile ("lgdt %0\n" : : "m" (*gdtr_reg));210 __asm__ volatile ("lgdtq %0\n" : : "m" (*gdtr_reg)); 211 211 } 212 212 … … 217 217 static inline void gdtr_store(struct ptr_16_64 *gdtr_reg) 218 218 { 219 __asm__ volatile ("sgdt %0\n" : : "m" (*gdtr_reg));219 __asm__ volatile ("sgdtq %0\n" : : "m" (*gdtr_reg)); 220 220 } 221 221 … … 226 226 static inline void idtr_load(struct ptr_16_64 *idtr_reg) 227 227 { 228 __asm__ volatile ("lidt %0\n" : : "m" (*idtr_reg));228 __asm__ volatile ("lidtq %0\n" : : "m" (*idtr_reg)); 229 229 } 230 230 -
arch/amd64/src/pm.c
r040e4e9 r11928d5 214 214 215 215 gdt_tss_setbase(&gdt_p[TSS_DES], (__address) tss_p); 216 gdt_tss_setlimit(&gdt_p[TSS_DES], sizeof(tss_t)- 1);216 gdt_tss_setlimit(&gdt_p[TSS_DES], TSS_BASIC_SIZE - 1); 217 217 218 218 gdtr_load(&gdtr); -
arch/ia32/include/asm.h
r040e4e9 r11928d5 259 259 static inline void gdtr_load(ptr_16_32_t *gdtr_reg) 260 260 { 261 __asm__ volatile ("lgdt %0\n" : : "m" (*gdtr_reg));261 __asm__ volatile ("lgdtl %0\n" : : "m" (*gdtr_reg)); 262 262 } 263 263 … … 268 268 static inline void gdtr_store(ptr_16_32_t *gdtr_reg) 269 269 { 270 __asm__ volatile ("sgdt %0\n" : : "m" (*gdtr_reg));270 __asm__ volatile ("sgdtl %0\n" : : "m" (*gdtr_reg)); 271 271 } 272 272 … … 277 277 static inline void idtr_load(ptr_16_32_t *idtr_reg) 278 278 { 279 __asm__ volatile ("lidt %0\n" : : "m" (*idtr_reg));279 __asm__ volatile ("lidtl %0\n" : : "m" (*idtr_reg)); 280 280 } 281 281 -
arch/ia32/include/smp/apic.h
r040e4e9 r11928d5 128 128 typedef struct icr icr_t; 129 129 130 /* End Of Interrupt */130 /* End Of Interrupt. */ 131 131 #define EOI (0x0b0/sizeof(__u32)) 132 132 … … 252 252 typedef union l_apic_id l_apic_id_t; 253 253 254 /* Local APIC Version Register */254 /** Local APIC Version Register */ 255 255 #define LAVR (0x030/sizeof(__u32)) 256 256 #define LAVR_Mask 0xff … … 264 264 __u32 value; 265 265 struct { 266 unsigned : 24; /**< Reserve r. */266 unsigned : 24; /**< Reserved. */ 267 267 __u8 id; /**< Logical APIC ID. */ 268 268 } __attribute__ ((packed)); … … 320 320 struct { 321 321 unsigned : 24; /**< Reserved. */ 322 __u8 dest : 8; /**< Destination Field. */322 __u8 dest : 8; /**< Destination Field. */ 323 323 } __attribute__ ((packed)); 324 324 }; -
arch/ia32/src/pm.c
r040e4e9 r11928d5 200 200 gdt_p[TSS_DES].access = AR_PRESENT | AR_TSS | DPL_KERNEL; 201 201 gdt_p[TSS_DES].special = 1; 202 gdt_p[TSS_DES].granularity = 1;202 gdt_p[TSS_DES].granularity = 0; 203 203 204 204 gdt_setbase(&gdt_p[TSS_DES], (__address) tss_p); 205 gdt_setlimit(&gdt_p[TSS_DES], sizeof(tss_t)- 1);205 gdt_setlimit(&gdt_p[TSS_DES], TSS_BASIC_SIZE - 1); 206 206 207 207 /* … … 211 211 tr_load(selector(TSS_DES)); 212 212 213 clean_IOPL_NT_flags(); /* Disable I/O on nonprivileged levels */213 clean_IOPL_NT_flags(); /* Disable I/O on nonprivileged levels and clear NT flag. */ 214 214 clean_AM_flag(); /* Disable alignment check */ 215 215 } -
arch/ia32/src/proc/scheduler.c
r040e4e9 r11928d5 37 37 #include <arch/asm.h> 38 38 #include <adt/bitmap.h> 39 #include <print.h> 39 40 40 41 /** Perform ia32 specific tasks needed before the new task is run. … … 56 57 if ((bits = TASK->arch.iomap.bits)) { 57 58 bitmap_t iomap; 58 59 59 60 ASSERT(TASK->arch.iomap.map); 60 61 bitmap_initialize(&iomap, CPU->arch.tss->iomap, TSS_IOMAP_SIZE * 8); -
generic/include/adt/bitmap.h
r040e4e9 r11928d5 33 33 #include <typedefs.h> 34 34 35 #define BITS2BYTES(bits) ( (((bits)-1)>>3)+1)35 #define BITS2BYTES(bits) (bits ? ((((bits)-1)>>3)+1) : 0) 36 36 37 37 typedef struct {
Note:
See TracChangeset
for help on using the changeset viewer.