Move xbox's i2c support to a separate file, and add support of xbox's LEDs switching...
[reactos.git] / reactos / boot / freeldr / freeldr / arch / i386 / machxbox.c
index dd44d36..ba6eae8 100644 (file)
  *  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
 
-#include "freeldr.h"
-#include "mm.h"
-#include "machine.h"
-#include "machxbox.h"
+#include <freeldr.h>
 
 VOID
-XboxMachInit(VOID)
+XboxMachInit(const char *CmdLine)
 {
+  /* Set LEDs to red before anything is initialized */
+  XboxSetLED("rrrr");
+
   /* Initialize our stuff */
   XboxMemInit();
   XboxVideoInit();
@@ -46,10 +46,19 @@ XboxMachInit(VOID)
   MachVtbl.VideoSync = XboxVideoSync;
   MachVtbl.VideoPrepareForReactOS = XboxVideoPrepareForReactOS;
   MachVtbl.GetMemoryMap = XboxMemGetMemoryMap;
+  MachVtbl.DiskGetBootVolume = i386DiskGetBootVolume;
+  MachVtbl.DiskGetSystemVolume = i386DiskGetSystemVolume;
+  MachVtbl.DiskGetBootPath = i386DiskGetBootPath;
+  MachVtbl.DiskGetBootDevice = i386DiskGetBootDevice;
+  MachVtbl.DiskBootingFromFloppy = i386DiskBootingFromFloppy;
+  MachVtbl.DiskNormalizeSystemPath = i386DiskNormalizeSystemPath;
   MachVtbl.DiskReadLogicalSectors = XboxDiskReadLogicalSectors;
   MachVtbl.DiskGetPartitionEntry = XboxDiskGetPartitionEntry;
   MachVtbl.DiskGetDriveGeometry = XboxDiskGetDriveGeometry;
   MachVtbl.DiskGetCacheableBlockCount = XboxDiskGetCacheableBlockCount;
   MachVtbl.RTCGetCurrentDateTime = XboxRTCGetCurrentDateTime;
   MachVtbl.HwDetect = XboxHwDetect;
+
+  /* Set LEDs to orange after init */
+  XboxSetLED("oooo");
 }