25#define MAX_XBOX_COM_PORTS 2
81 TRACE(
"XboxGetExtendedBIOSData(): UNIMPLEMENTED\n");
107 if (PartialResourceList ==
NULL)
109 ERR(
"Failed to allocate resource descriptor\n");
114 PartialResourceList->
Version = 1;
116 PartialResourceList->
Count = 1;
139 ERR(
"Reading disk geometry failed\n");
143 TRACE(
"Disk %x: %u Cylinders %u Heads %u Sectors %u Bytes\n",
154 return PartialResourceList;
173 if (PartialResourceList ==
NULL)
175 ERR(
"Failed to allocate resource descriptor\n");
181 PartialResourceList->
Version = 1;
183 PartialResourceList->
Count = 1;
204 TRACE(
"Created key: DisplayController\\0\n");
219 if (PartialResourceList ==
NULL)
221 ERR(
"Failed to allocate resource descriptor\n");
227 PartialResourceList->
Version = 1;
229 PartialResourceList->
Count = 0;
234 MultiFunctionAdapter,
266 WARN(
"XboxGetFloppyCount() is UNIMPLEMENTED, returning 0\n");
276 TRACE(
"DetectHardware()\n");
289 TRACE(
"DetectHardware() Done\n");
311 PciCfg1.
u.
bits.Enable = 1;
312 PciCfg1.
u.
bits.BusNumber = 0;
313 PciCfg1.
u.
bits.DeviceNumber = 0;
314 PciCfg1.
u.
bits.FunctionNumber = 0;
316 PciCfg1.
u.
bits.RegisterNumber = 0x00;
317 PciCfg1.
u.
bits.Reserved = 0;
321 if (PciId != 0x02A510DE)
323 ERR(
"This is not an original Xbox!\n");
char * strcpy(char *DstString, const char *SrcString)
#define ExtendedBIOSDataArea
#define ExtendedBIOSDataSize
VOID NTAPI FldrCreateComponentKey(IN PCONFIGURATION_COMPONENT_DATA SystemNode, IN CONFIGURATION_CLASS Class, IN CONFIGURATION_TYPE Type, IN IDENTIFIER_FLAG Flags, IN ULONG Key, IN ULONG Affinity, IN PCHAR IdentifierString, IN PCM_PARTIAL_RESOURCE_LIST ResourceList, IN ULONG Size, OUT PCONFIGURATION_COMPONENT_DATA *ComponentKey)
VOID NTAPI FldrSetIdentifier(IN PCONFIGURATION_COMPONENT_DATA ComponentData, IN PCHAR IdentifierString)
VOID NTAPI FldrCreateSystemKey(OUT PCONFIGURATION_COMPONENT_DATA *SystemNode)
VOID DetectPciBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
FIND_PCI_BIOS FindPciBios
#define PCI_TYPE1_DATA_PORT
#define TAG_HW_RESOURCE_LIST
ULONG(* GET_SERIAL_PORT)(ULONG Index, PULONG Irq)
#define PCI_TYPE1_ADDRESS_PORT
#define DebugDisableScreenPort()
#define DBG_DEFAULT_CHANNEL(ch)
FORCEINLINE VOID FrLdrHeapFree(PVOID MemoryPointer, ULONG Tag)
FORCEINLINE PVOID FrLdrHeapAlloc(SIZE_T MemorySize, ULONG Tag)
static const WCHAR CmdLine[]
ULONG NTAPI READ_PORT_ULONG(IN PULONG Port)
VOID NTAPI WRITE_PORT_ULONG(IN PULONG Port, IN ULONG Value)
BOOLEAN PcInitializeBootDevices(VOID)
#define CmResourceTypeMemory
struct _CM_PARTIAL_RESOURCE_LIST CM_PARTIAL_RESOURCE_LIST
#define CmResourceTypeDeviceSpecific
void __cdecl _disable(void)
__INTRIN_INLINE void __halt(void)
VOID XboxGetExtendedBIOSData(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
static PCM_PARTIAL_RESOURCE_LIST XboxGetHarddiskConfigurationData(UCHAR DriveNumber, ULONG *pSize)
PCONFIGURATION_COMPONENT_DATA XboxHwDetect(VOID)
VOID MachInit(const char *CmdLine)
#define MAX_XBOX_COM_PORTS
static ULONG XboxGetSerialPort(ULONG Index, PULONG Irq)
VOID DetectSerialPorts(PCONFIGURATION_COMPONENT_DATA BusKey, GET_SERIAL_PORT MachGetSerialPort, ULONG Count)
static VOID DetectIsaBios(PCONFIGURATION_COMPONENT_DATA SystemKey, ULONG *BusNumber)
static UCHAR XboxGetFloppyCount(VOID)
VOID DetectSerialPointerPeripheral(PCONFIGURATION_COMPONENT_DATA ControllerKey, PUCHAR Base)
BOOLEAN XboxFindPciBios(PPCI_REGISTRY_INFO BusData)
static VOID DetectDisplayController(PCONFIGURATION_COMPONENT_DATA BusKey)
VOID XboxPrepareForReactOS(VOID)
#define CM_RESOURCE_MEMORY_READ_WRITE
VOID __cdecl DiskStopFloppyMotor(VOID)
VOID HalpCalibrateStallExecution(VOID)
VOID DetectBiosDisks(PCONFIGURATION_COMPONENT_DATA SystemKey, PCONFIGURATION_COMPONENT_DATA BusKey)
GET_HARDDISK_CONFIG_DATA GetHarddiskConfigurationData
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@381::@390 DeviceSpecificData
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::@381::@386 Memory
union _CM_PARTIAL_RESOURCE_DESCRIPTOR::@381 u
CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1]
struct _PCI_TYPE1_CFG_BITS::@153::@154 bits
union _PCI_TYPE1_CFG_BITS::@153 u
VOID(* VideoGetPaletteColor)(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue)
VOID(* GetExtendedBIOSData)(PULONG ExtendedBIOSDataArea, PULONG ExtendedBIOSDataSize)
VOID(* PrepareForReactOS)(VOID)
VOID(* VideoSetPaletteColor)(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue)
BOOLEAN(* InitializeBootDevices)(VOID)
VOID(* VideoCopyOffScreenBufferToVRAM)(PVOID Buffer)
BOOLEAN(* ConsKbHit)(VOID)
VOID(* VideoHideShowTextCursor)(BOOLEAN Show)
TIMEINFO *(* GetTime)(VOID)
UCHAR(* GetFloppyCount)(VOID)
BOOLEAN(* DiskGetDriveGeometry)(UCHAR DriveNumber, PGEOMETRY DriveGeometry)
BOOLEAN(* DiskReadLogicalSectors)(UCHAR DriveNumber, ULONGLONG SectorNumber, ULONG SectorCount, PVOID Buffer)
PCONFIGURATION_COMPONENT_DATA(* HwDetect)(VOID)
PFREELDR_MEMORY_DESCRIPTOR(* GetMemoryMap)(PULONG MaxMemoryMapSize)
VOID(* VideoGetFontsFromFirmware)(PULONG RomFontPointers)
VOID(* VideoSetTextCursorPosition)(UCHAR X, UCHAR Y)
ULONG(* VideoGetBufferSize)(VOID)
VOID(* VideoPutChar)(int Ch, UCHAR Attr, unsigned X, unsigned Y)
ULONG(* DiskGetCacheableBlockCount)(UCHAR DriveNumber)
VOID(* VideoGetDisplaySize)(PULONG Width, PULONG Height, PULONG Depth)
VOID(* VideoClearScreen)(UCHAR Attr)
VIDEODISPLAYMODE(* VideoSetDisplayMode)(char *DisplayMode, BOOLEAN Init)
BOOLEAN(* VideoIsPaletteFixed)(VOID)
VOID(* ConsPutChar)(int Ch)
#define LPC_CONFIG_DEVICE_NUMBER
#define LPC_CONFIG_DEVICE_ACTIVATE
#define LPC_DEVICE_SERIAL_PORT_2
FORCEINLINE UCHAR LpcReadRegister(UCHAR Register)
#define LPC_DEVICE_SERIAL_PORT_1
FORCEINLINE VOID LpcWriteRegister(UCHAR Register, UCHAR Value)
FORCEINLINE VOID LpcExitConfig(VOID)
FORCEINLINE VOID LpcEnterConfig(VOID)
FORCEINLINE ULONG LpcGetIrqPrimary()
FORCEINLINE ULONG LpcGetIoBase()
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDEVICE Device
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
BOOLEAN XboxConsKbHit(VOID)
VOID XboxConsPutChar(int c)
BOOLEAN XboxDiskReadLogicalSectors(IN UCHAR DriveNumber, IN ULONGLONG SectorNumber, IN ULONG SectorCount, OUT PVOID Buffer)
ULONG XboxDiskGetCacheableBlockCount(UCHAR DriveNumber)
BOOLEAN XboxDiskGetDriveGeometry(UCHAR DriveNumber, PGEOMETRY Geometry)
VOID XboxDiskInit(BOOLEAN Init)
void XboxSetLED(PCSTR pattern)
PFREELDR_MEMORY_DESCRIPTOR XboxMemGetMemoryMap(ULONG *MemoryMapSize)
TIMEINFO * XboxGetTime(VOID)
VOID XboxVideoGetPaletteColor(UCHAR Color, UCHAR *Red, UCHAR *Green, UCHAR *Blue)
VOID XboxVideoPutChar(int Ch, UCHAR Attr, unsigned X, unsigned Y)
VOID XboxVideoPrepareForReactOS(VOID)
VOID XboxVideoSetTextCursorPosition(UCHAR X, UCHAR Y)
VOID XboxVideoSetPaletteColor(UCHAR Color, UCHAR Red, UCHAR Green, UCHAR Blue)
VOID XboxVideoCopyOffScreenBufferToVRAM(PVOID Buffer)
VOID XboxVideoGetDisplaySize(PULONG Width, PULONG Height, PULONG Depth)
ULONG XboxVideoGetBufferSize(VOID)
VIDEODISPLAYMODE XboxVideoSetDisplayMode(char *DisplayMode, BOOLEAN Init)
VOID XboxVideoHideShowTextCursor(BOOLEAN Show)
BOOLEAN XboxVideoIsPaletteFixed(VOID)
VOID XboxVideoClearScreen(UCHAR Attr)
VOID XboxVideoGetFontsFromFirmware(PULONG RomFontPointers)
struct _CM_DISK_GEOMETRY_DEVICE_DATA CM_DISK_GEOMETRY_DEVICE_DATA
@ CmResourceShareDeviceExclusive
_In_opt_ PUNICODE_STRING _In_ PDRIVER_OBJECT _In_ PDEVICE_OBJECT _In_ INTERFACE_TYPE _In_ ULONG BusNumber