[ros-kernel] latest cvs ISO boot failure...

Casper Hornstrup chorns at users.sourceforge.net
Fri Sep 24 00:16:36 CEST 2004


The change below causes this. Hartmut, do you have any idea why?
Maybe it is just a problem with Vmware?

Casper

Index: drivers/storage/atapi/atapi.c
===================================================================
RCS file: /CVS/ReactOS/reactos/drivers/storage/atapi/atapi.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- drivers/storage/atapi/atapi.c	12 Sep 2004 18:50:03 -0000	1.53
+++ drivers/storage/atapi/atapi.c	14 Sep 2004 22:09:06 -0000	1.54
@@ -16,7 +16,7 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
-/* $Id: atapi.c,v 1.53 2004/09/12 18:50:03 weiden Exp $
+/* $Id: atapi.c,v 1.54 2004/09/14 22:09:06 hbirr Exp $
  *
  * COPYRIGHT:   See COPYING in the top level directory
  * PROJECT:     ReactOS ATAPI miniport driver
@@ -1138,29 +1138,6 @@
        return FALSE;
      }
 
-   /* Soft reset */
-   IDEWriteDriveHead(CommandPortBase, IDE_DH_FIXED);
-   IDEWriteDriveControl(ControlPortBase, IDE_DC_SRST);
-   ScsiPortStallExecution(500);
-   IDEWriteDriveControl(ControlPortBase, IDE_DC_nIEN);
-   ScsiPortStallExecution(200);
-
-   /* Wait for busy to clear */
-   if (!AtapiWaitForStatus(CommandPortBase, IDE_SR_BUSY, 0, 20000))
-     {
-       DPRINT("Timeout on drive %lu\n", UnitNumber);
-       return FALSE;
-     }
-   else
-     {
-       Status = IDEReadStatus(DeviceExtension->CommandPortBase);
-       if (Status & IDE_SR_ERR)
-         {
-           DPRINT("Error while doing software reset\n");
-           return FALSE;
-         }
-     }
-
   for (UnitNumber = 0; UnitNumber < 2; UnitNumber++)
     {
       /* Skip initilization of non-existent units */
@@ -1172,6 +1149,27 @@
       /* Select drive */
       IDEWriteDriveHead(CommandPortBase, IDE_DH_FIXED |
                         (UnitNumber ? IDE_DH_DRV1 : IDE_DH_DRV0));
+      /* Soft reset */
+      IDEWriteDriveControl(ControlPortBase, IDE_DC_SRST);
+      ScsiPortStallExecution(500);
+      IDEWriteDriveControl(ControlPortBase, IDE_DC_nIEN);
+      ScsiPortStallExecution(200);
+
+      /* Wait for busy to clear */
+      if (!AtapiWaitForStatus(CommandPortBase, IDE_SR_BUSY, 0, 20000))
+        {
+          DPRINT("Timeout on drive %lu\n", UnitNumber);
+          return FALSE;
+        }
+      else
+        {
+          Status = IDEReadStatus(DeviceExtension->CommandPortBase);
+          if (Status & IDE_SR_ERR)
+           {
+             DPRINT("Error while doing software reset\n");
+             return FALSE;
+           }
+        }
 
       High = IDEReadCylinderHigh(CommandPortBase);
       Low = IDEReadCylinderLow(CommandPortBase);

> -----Original Message-----
> From: ros-kernel-bounces at reactos.com 
> [mailto:ros-kernel-bounces at reactos.com] On Behalf Of Royce 
> Mitchell III
> Sent: 23. september 2004 20:23
> To: ReactOS Kernel List
> Subject: [ros-kernel] latest cvs ISO boot failure...
> 
> DriverBase for scsiport.sys: dcb05000
> DriverBase for atapi.sys: dcb12000
> DriverBase for class2.sys: dcb21000
> DriverBase for cdrom.sys: dcb2b000
> DriverBase for cdfs.sys: dcb33000
> DriverBase for disk.sys: dcb40000
> DriverBase for floppy.sys: dcb49000
> DriverBase for vfatfs.sys: dcb5c000
> DriverBase for keyboard.sys: dcb77000
> DriverBase for blue.sys: dcb81000
> (io/arcname.c:56) IoCreateArcNames() called
> (io/arcname.c:61) Floppy drives: 0
> (io/arcname.c:86) Disk drives: 1
> (io/arcname.c:118) 
> \ArcName\multi(0)disk(0)rdisk(0)partition(0) ==> 
> \Device\Harddisk0\Partition0
> (io/arcname.c:130) Number of partitions: 4
> (io/arcname.c:149) \ArcName\multi(0)disk(0)rdisk(0)partition(1) ==>
> \Device\Harddisk0\Partition1
> (io/arcname.c:149) \ArcName\multi(0)disk(0)rdisk(0)partition(2) ==>
> \Device\Harddisk0\Partition2
> (io/arcname.c:149) \ArcName\multi(0)disk(0)rdisk(0)partition(3) ==>
> \Device\Harddisk0\Partition3
> (io/arcname.c:149) \ArcName\multi(0)disk(0)rdisk(0)partition(4) ==>
> \Device\Harddisk0\Partition4
> (io/arcname.c:163) CD-ROM drives: 0
> (io/arcname.c:187) IoCreateArcNames() done
> (io/arcname.c:346) multi(0)disk(0)cdrom(159)\reactos  
> /NOGUIBOOT /DEBUGPORT=SCREEN /DEBUGPORT=COM1
> (io/arcname.c:353) multi(0)disk(0)cdrom(159)\reactos
> (io/arcname.c:359) Boot path: \reactos
> (io/arcname.c:368) ARC name: multi(0)disk(0)cdrom(159)
> (io/arcname.c:375) Booting from CD-ROM!
> (io/arcname.c:319) Could not find ntoskrnl.exe
> (io/arcname.c:379) Failed to find setup disk!
> IoCreateSystemRootLink FAILED: (0xc0000001) - 
> %KERNEL-WRN-UNSUCCESSFUL UNSUCCESSFUL KeBugCheck at 
> ke/main.c:688 Bug detected (code 7b param 0 0 0 0)
>   INACCESSIBLE_BOOT_DEVICE
> 
> Frames: <ntoskrnl.exe: a739> <ntoskrnl.exe: a759> <C0082C37>
> <ntoskrnl.exe: bf29> <C00834A1> <ntoskrnl.exe: 115c>
> 
> _______________________________________________
> Ros-kernel mailing list
> Ros-kernel at reactos.com
> http://reactos.com/mailman/listinfo/ros-kernel
> 



More information about the Ros-kernel mailing list