remove duplication
don't use the same name for two different pieces of code
This commit is contained in:
parent
801affcd14
commit
7abf49d2f2
8 changed files with 13 additions and 17 deletions
4
asm.h
4
asm.h
|
@ -2,10 +2,10 @@
|
||||||
// macros to create x86 segments from assembler
|
// macros to create x86 segments from assembler
|
||||||
//
|
//
|
||||||
|
|
||||||
#define SEG_NULL \
|
#define SEG_NULLASM \
|
||||||
.word 0, 0; \
|
.word 0, 0; \
|
||||||
.byte 0, 0, 0, 0
|
.byte 0, 0, 0, 0
|
||||||
#define SEG(type,base,lim) \
|
#define SEG_ASM(type,base,lim) \
|
||||||
.word (((lim) >> 12) & 0xffff), ((base) & 0xffff); \
|
.word (((lim) >> 12) & 0xffff), ((base) & 0xffff); \
|
||||||
.byte (((base) >> 16) & 0xff), (0x90 | (type)), \
|
.byte (((base) >> 16) & 0xff), (0x90 | (type)), \
|
||||||
(0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
|
(0xC0 | (((lim) >> 28) & 0xf)), (((base) >> 24) & 0xff)
|
||||||
|
|
|
@ -87,9 +87,9 @@ spin: jmp spin # ..but in case it does, spin
|
||||||
|
|
||||||
.p2align 2 # force 4 byte alignment
|
.p2align 2 # force 4 byte alignment
|
||||||
gdt:
|
gdt:
|
||||||
SEG_NULL # null seg
|
SEG_NULLASM # null seg
|
||||||
SEG(STA_X|STA_R, 0x0, 0xffffffff) # code seg
|
SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff) # code seg
|
||||||
SEG(STA_W, 0x0, 0xffffffff) # data seg
|
SEG_ASM(STA_W, 0x0, 0xffffffff) # data seg
|
||||||
|
|
||||||
gdtdesc:
|
gdtdesc:
|
||||||
.word 0x17 # sizeof(gdt) - 1
|
.word 0x17 # sizeof(gdt) - 1
|
||||||
|
|
|
@ -70,9 +70,9 @@ protcseg:
|
||||||
|
|
||||||
.p2align 2 # force 4 byte alignment
|
.p2align 2 # force 4 byte alignment
|
||||||
gdt:
|
gdt:
|
||||||
SEG_NULL # null seg
|
SEG_NULLASM # null seg
|
||||||
SEG(STA_X|STA_R, 0x0, 0xffffffff) # code seg
|
SEG_ASM(STA_X|STA_R, 0x0, 0xffffffff) # code seg
|
||||||
SEG(STA_W, 0x0, 0xffffffff) # data seg
|
SEG_ASM(STA_W, 0x0, 0xffffffff) # data seg
|
||||||
|
|
||||||
gdtdesc:
|
gdtdesc:
|
||||||
.word 0x17 # sizeof(gdt) - 1
|
.word 0x17 # sizeof(gdt) - 1
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "x86.h"
|
#include "x86.h"
|
||||||
|
#include "traps.h"
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
#include "spinlock.h"
|
#include "spinlock.h"
|
||||||
#include "dev.h"
|
#include "dev.h"
|
||||||
|
|
1
ide.c
1
ide.c
|
@ -8,6 +8,7 @@
|
||||||
#include "proc.h"
|
#include "proc.h"
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
#include "x86.h"
|
#include "x86.h"
|
||||||
|
#include "traps.h"
|
||||||
#include "spinlock.h"
|
#include "spinlock.h"
|
||||||
|
|
||||||
#define IDE_BSY 0x80
|
#define IDE_BSY 0x80
|
||||||
|
|
1
picirq.c
1
picirq.c
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
#include "x86.h"
|
#include "x86.h"
|
||||||
|
#include "traps.h"
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
|
|
||||||
// I/O Addresses of the two 8259A programmable interrupt controllers
|
// I/O Addresses of the two 8259A programmable interrupt controllers
|
||||||
|
|
2
traps.h
2
traps.h
|
@ -27,6 +27,8 @@
|
||||||
|
|
||||||
#define IRQ_OFFSET 32 // IRQ 0 corresponds to int IRQ_OFFSET
|
#define IRQ_OFFSET 32 // IRQ 0 corresponds to int IRQ_OFFSET
|
||||||
|
|
||||||
|
#define IRQ_KBD 1
|
||||||
|
#define IRQ_IDE 14
|
||||||
#define IRQ_TIMER 18
|
#define IRQ_TIMER 18
|
||||||
#define IRQ_ERROR 19
|
#define IRQ_ERROR 19
|
||||||
#define IRQ_SPURIOUS 31
|
#define IRQ_SPURIOUS 31
|
||||||
|
|
9
x86.h
9
x86.h
|
@ -151,12 +151,3 @@ struct trapframe {
|
||||||
ushort ss;
|
ushort ss;
|
||||||
ushort padding4;
|
ushort padding4;
|
||||||
};
|
};
|
||||||
|
|
||||||
#define MAX_IRQS 16 // Number of IRQs
|
|
||||||
|
|
||||||
#define IRQ_OFFSET 32 // IRQ 0 corresponds to int IRQ_OFFSET
|
|
||||||
|
|
||||||
#define IRQ_KBD 1
|
|
||||||
#define IRQ_IDE 14
|
|
||||||
#define IRQ_ERROR 19
|
|
||||||
#define IRQ_SPURIOUS 31
|
|
||||||
|
|
Loading…
Reference in a new issue