diff options
author | rsc <rsc> | 2006-09-06 17:54:29 +0000 |
---|---|---|
committer | rsc <rsc> | 2006-09-06 17:54:29 +0000 |
commit | 96d467b3a9027412eed8bf5ec3c4521db44469ef (patch) | |
tree | e08b7c0685b0fe7652cfba8d37364afbc1231138 /ide.c | |
parent | 799c9176bcd14a4e7642566c5046e83b1a88f6ff (diff) | |
download | xv6-labs-96d467b3a9027412eed8bf5ec3c4521db44469ef.tar.gz xv6-labs-96d467b3a9027412eed8bf5ec3c4521db44469ef.tar.bz2 xv6-labs-96d467b3a9027412eed8bf5ec3c4521db44469ef.zip |
more named constants
Diffstat (limited to 'ide.c')
-rw-r--r-- | ide.c | 16 |
1 files changed, 10 insertions, 6 deletions
@@ -9,10 +9,13 @@ #include "traps.h" #include "spinlock.h" -#define IDE_BSY 0x80 -#define IDE_DRDY 0x40 -#define IDE_DF 0x20 -#define IDE_ERR 0x01 +#define IDE_BSY 0x80 +#define IDE_DRDY 0x40 +#define IDE_DF 0x20 +#define IDE_ERR 0x01 + +#define IDE_CMD_READ 0x20 +#define IDE_CMD_WRITE 0x30 struct ide_request { int diskno; @@ -95,9 +98,10 @@ ide_start_request (void) outb(0x1F4, (r->secno >> 8) & 0xFF); outb(0x1F5, (r->secno >> 16) & 0xFF); outb(0x1F6, 0xE0 | ((r->diskno&1)<<4) | ((r->secno>>24)&0x0F)); - if(r->read) outb(0x1F7, 0x20); // read + if(r->read) + outb(0x1F7, IDE_CMD_READ); else { - outb(0x1F7, 0x30); // write + outb(0x1F7, IDE_CMD_WRITE); outsl(0x1F0, r->addr, 512/4); } } |