From 129d4f635e255c3398ce0b9fc1fde146988dba8d Mon Sep 17 00:00:00 2001 From: "Peter H. Froehlich" Date: Mon, 28 Sep 2015 00:06:08 -0400 Subject: [PATCH] Using the #defines consistently, nits. --- bootmain.c | 14 +++++++------- ide.c | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/bootmain.c b/bootmain.c index 2010d6f..2af2462 100644 --- a/bootmain.c +++ b/bootmain.c @@ -50,7 +50,7 @@ void waitdisk(void) { // Wait for disk ready. - while((inb(IDE_DATA_PRIMARY+IDE_REG_STATUS) & 0xC0) != 0x40) + while((inb(IDE_DATA_PRIMARY+IDE_REG_STATUS) & (IDE_BSY|IDE_DRDY)) != IDE_DRDY) ; } @@ -60,12 +60,12 @@ readsect(void *dst, uint offset) { // Issue command. waitdisk(); - outb(IDE_DATA_PRIMARY+IDE_REG_SECTORS, 1); // count = 1 - outb(IDE_DATA_PRIMARY+IDE_REG_LBA0, offset); - outb(IDE_DATA_PRIMARY+IDE_REG_LBA1, offset >> 8); - outb(IDE_DATA_PRIMARY+IDE_REG_LBA2, offset >> 16); - outb(IDE_DATA_PRIMARY+IDE_REG_DISK, (offset >> 24) | 0xE0); - outb(IDE_DATA_PRIMARY+IDE_REG_COMMAND, IDE_CMD_READ); // cmd 0x20 - read sectors + outb(IDE_DATA_PRIMARY+IDE_REG_SECTORS, 1); + outb(IDE_DATA_PRIMARY+IDE_REG_LBA0, offset & 0xff); + outb(IDE_DATA_PRIMARY+IDE_REG_LBA1, (offset >> 8) & 0xff); + outb(IDE_DATA_PRIMARY+IDE_REG_LBA2, (offset >> 16) & 0xff); + outb(IDE_DATA_PRIMARY+IDE_REG_DISK, ((offset >> 24) & 0x0f) | IDE_DISK_LBA); + outb(IDE_DATA_PRIMARY+IDE_REG_COMMAND, IDE_CMD_READ); // Read data. waitdisk(); diff --git a/ide.c b/ide.c index 1b0e63e..e32ed0e 100644 --- a/ide.c +++ b/ide.c @@ -47,7 +47,7 @@ ideinit(void) idewait(0); // Check if disk 1 is present - outb(IDE_DATA_PRIMARY+IDE_REG_DISK, 0xe0 | (1<<4)); + outb(IDE_DATA_PRIMARY+IDE_REG_DISK, IDE_DISK_LBA | (1<<4)); for(i=0; i<1000; i++){ if(inb(IDE_DATA_PRIMARY+IDE_REG_STATUS) != 0){ havedisk1 = 1; @@ -56,7 +56,7 @@ ideinit(void) } // Switch back to disk 0. - outb(IDE_DATA_PRIMARY+IDE_REG_DISK, 0xe0 | (0<<4)); + outb(IDE_DATA_PRIMARY+IDE_REG_DISK, IDE_DISK_LBA | (0<<4)); } // Start the request for b. Caller must hold idelock. @@ -78,7 +78,7 @@ idestart(struct buf *b) outb(IDE_DATA_PRIMARY+IDE_REG_LBA0, sector & 0xff); outb(IDE_DATA_PRIMARY+IDE_REG_LBA1, (sector >> 8) & 0xff); outb(IDE_DATA_PRIMARY+IDE_REG_LBA2, (sector >> 16) & 0xff); - outb(IDE_DATA_PRIMARY+IDE_REG_DISK, 0xe0 | ((b->dev&1)<<4) | ((sector>>24)&0x0f)); + outb(IDE_DATA_PRIMARY+IDE_REG_DISK, IDE_DISK_LBA | ((b->dev&1)<<4) | ((sector>>24)&0x0f)); if(b->flags & B_DIRTY){ outb(IDE_DATA_PRIMARY+IDE_REG_COMMAND, IDE_CMD_WRITE); outsl(IDE_DATA_PRIMARY+IDE_REG_DATA, b->data, BSIZE/4); -- 2.50.1