//kernel/trunk/arch/ia32/include/smp/apic.h |
---|
127,7 → 127,7 |
} __attribute__ ((packed)); |
typedef struct icr icr_t; |
/* End Of Interrupt */ |
/* End Of Interrupt. */ |
#define EOI (0x0b0/sizeof(__u32)) |
/** Error Status Register. */ |
251,7 → 251,7 |
}; |
typedef union l_apic_id l_apic_id_t; |
/* Local APIC Version Register */ |
/** Local APIC Version Register */ |
#define LAVR (0x030/sizeof(__u32)) |
#define LAVR_Mask 0xff |
#define is_local_apic(x) (((x)&LAVR_Mask&0xf0)==0x1) |
263,7 → 263,7 |
union ldr { |
__u32 value; |
struct { |
unsigned : 24; /**< Reserver. */ |
unsigned : 24; /**< Reserved. */ |
__u8 id; /**< Logical APIC ID. */ |
} __attribute__ ((packed)); |
}; |
//kernel/trunk/arch/ia32/include/asm.h |
---|
258,7 → 258,7 |
*/ |
static inline void gdtr_load(ptr_16_32_t *gdtr_reg) |
{ |
__asm__ volatile ("lgdt %0\n" : : "m" (*gdtr_reg)); |
__asm__ volatile ("lgdtl %0\n" : : "m" (*gdtr_reg)); |
} |
/** Store GDTR register to memory. |
267,7 → 267,7 |
*/ |
static inline void gdtr_store(ptr_16_32_t *gdtr_reg) |
{ |
__asm__ volatile ("sgdt %0\n" : : "m" (*gdtr_reg)); |
__asm__ volatile ("sgdtl %0\n" : : "m" (*gdtr_reg)); |
} |
/** Load IDTR register from memory. |
276,7 → 276,7 |
*/ |
static inline void idtr_load(ptr_16_32_t *idtr_reg) |
{ |
__asm__ volatile ("lidt %0\n" : : "m" (*idtr_reg)); |
__asm__ volatile ("lidtl %0\n" : : "m" (*idtr_reg)); |
} |
/** Load TR from descriptor table. |