git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Testing
[tpg/acess2.git]
/
Kernel
/
drv
/
ata_x86.c
diff --git
a/Kernel/drv/ata_x86.c
b/Kernel/drv/ata_x86.c
index
a4c5306
..
c2c5205
100644
(file)
--- a/
Kernel/drv/ata_x86.c
+++ b/
Kernel/drv/ata_x86.c
@@
-2,6
+2,7
@@
* Acess2 IDE Harddisk Driver
* drv/ide.c
*/
* Acess2 IDE Harddisk Driver
* drv/ide.c
*/
+#define DEBUG 0
#include <common.h>
#include <modules.h>
#include <vfs.h>
#include <common.h>
#include <modules.h>
#include <vfs.h>
@@
-115,6
+116,7
@@
tDevFS_Driver gATA_DriverInfo = {
NULL, "ata",
{
.NumACLs = 1,
NULL, "ata",
{
.NumACLs = 1,
+ .Size = -1,
.Flags = VFS_FFLAG_DIRECTORY,
.ACLs = &gVFS_ACL_EveryoneRX,
.ReadDir = ATA_ReadDir,
.Flags = VFS_FFLAG_DIRECTORY,
.ACLs = &gVFS_ACL_EveryoneRX,
.ReadDir = ATA_ReadDir,
@@
-247,6
+249,8
@@
void ATA_SetupVFS()
for( j = 0; j < gATA_Disks[i].NumPartitions; j ++ )
gATA_Nodes[ k++ ] = &gATA_Disks[i].Partitions[j].Node;
}
for( j = 0; j < gATA_Disks[i].NumPartitions; j ++ )
gATA_Nodes[ k++ ] = &gATA_Disks[i].Partitions[j].Node;
}
+
+ gATA_DriverInfo.RootNode.Size = giATA_NumNodes;
}
/**
}
/**
@@
-604,7
+608,7
@@
Uint16 ATA_GetBasePort(int Disk)
char *ATA_ReadDir(tVFS_Node *Node, int Pos)
{
if(Pos >= giATA_NumNodes || Pos < 0) return NULL;
char *ATA_ReadDir(tVFS_Node *Node, int Pos)
{
if(Pos >= giATA_NumNodes || Pos < 0) return NULL;
- return
gATA_Nodes[Pos]->ImplPtr
;
+ return
strdup( gATA_Nodes[Pos]->ImplPtr )
;
}
/**
}
/**
@@
-793,7
+797,7
@@
int ATA_ReadDMA(Uint8 Disk, Uint64 Address, Uint Count, void *Buffer)
ATA_int_BusMasterWriteByte( cont << 3, 9 ); // Read and start
// Wait for transfer to complete
ATA_int_BusMasterWriteByte( cont << 3, 9 ); // Read and start
// Wait for transfer to complete
- while( gaATA_IRQs[cont] == 0 )
Proc
_Yield();
+ while( gaATA_IRQs[cont] == 0 )
Threads
_Yield();
// Complete Transfer
ATA_int_BusMasterWriteByte( cont << 3, 0 ); // Write and stop
// Complete Transfer
ATA_int_BusMasterWriteByte( cont << 3, 0 ); // Write and stop
UCC
git Repository :: git.ucc.asn.au