* As Marcus correctly pointed out indirectly, the bitmask for
ide_mask_sector_count_48, and ide_mask_LBA_*_48 were all wrong. * Using the high byte in LBA48 mode should work now, too (wasn't written to the IDE controller before, but that shouldn't have been a problem yet with today's disks). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28340 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1,20 +1,15 @@
|
|||||||
/*
|
/*
|
||||||
** Copyright 2002/03, Thomas Kurschel. All rights reserved.
|
* Copyright 2002/03, Thomas Kurschel. All rights reserved.
|
||||||
** Distributed under the terms of the OpenBeOS License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
Part of Open IDE bus manager
|
|
||||||
|
|
||||||
IDE bus manager interface
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef __IDE_TYPES_H__
|
#ifndef __IDE_TYPES_H__
|
||||||
#define __IDE_TYPES_H__
|
#define __IDE_TYPES_H__
|
||||||
|
|
||||||
|
|
||||||
#include <iovec.h>
|
#include <iovec.h>
|
||||||
#include <lendian_bitfield.h>
|
#include <lendian_bitfield.h>
|
||||||
|
|
||||||
|
|
||||||
// IDE task file.
|
// IDE task file.
|
||||||
// contains the command block interpreted under different conditions with
|
// contains the command block interpreted under different conditions with
|
||||||
// first byte being first command register, second byte second command register
|
// first byte being first command register, second byte second command register
|
||||||
@@ -239,14 +234,12 @@ enum {
|
|||||||
|
|
||||||
// for 48 bits, the following flags tell which registers to load twice
|
// for 48 bits, the following flags tell which registers to load twice
|
||||||
ide_mask_features_48 = 0x80 | ide_mask_features,
|
ide_mask_features_48 = 0x80 | ide_mask_features,
|
||||||
ide_mask_sector_count_48 = 0x80 | ide_mask_sector_count,
|
ide_mask_sector_count_48 = 0x100 | ide_mask_sector_count,
|
||||||
ide_mask_LBA_low_48 = 0x100 | ide_mask_LBA_low,
|
ide_mask_LBA_low_48 = 0x200 | ide_mask_LBA_low,
|
||||||
ide_mask_LBA_mid_48 = 0x200 | ide_mask_LBA_mid,
|
ide_mask_LBA_mid_48 = 0x400 | ide_mask_LBA_mid,
|
||||||
ide_mask_LBA_high_48 = 0x400 | ide_mask_LBA_high,
|
ide_mask_LBA_high_48 = 0x800 | ide_mask_LBA_high,
|
||||||
|
|
||||||
ide_mask_HOB = 0x780
|
ide_mask_HOB = 0xf80
|
||||||
|
|
||||||
//ide_mask_all = 0x7f
|
|
||||||
}; // ide_reg_mask
|
}; // ide_reg_mask
|
||||||
|
|
||||||
// status register
|
// status register
|
||||||
|
|||||||
Reference in New Issue
Block a user