mirror of
https://github.com/reactos/reactos.git
synced 2025-07-11 21:34:13 +00:00
- Wrap some KDBG-specific initialization in _WINKD_ guard.
- Remove KdpDetectConflicts since our serial driver correctly uses KdComPortInUse for this (and kdcom fills it out). svn path=/trunk/; revision=25987
This commit is contained in:
parent
bf3d075381
commit
be2645ad8a
3 changed files with 2 additions and 47 deletions
|
@ -517,11 +517,13 @@ IoInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||||
/* Mark the system boot partition */
|
/* Mark the system boot partition */
|
||||||
if (!IopMarkBootPartition(LoaderBlock)) return FALSE;
|
if (!IopMarkBootPartition(LoaderBlock)) return FALSE;
|
||||||
|
|
||||||
|
#ifndef _WINKD_
|
||||||
/* Read KDB Data */
|
/* Read KDB Data */
|
||||||
KdbInit();
|
KdbInit();
|
||||||
|
|
||||||
/* I/O is now setup for disk access, so phase 3 */
|
/* I/O is now setup for disk access, so phase 3 */
|
||||||
KdInitSystem(3, LoaderBlock);
|
KdInitSystem(3, LoaderBlock);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Load services for devices found by PnP manager */
|
/* Load services for devices found by PnP manager */
|
||||||
IopInitializePnpServices(IopRootDeviceNode, FALSE);
|
IopInitializePnpServices(IopRootDeviceNode, FALSE);
|
||||||
|
|
|
@ -89,16 +89,6 @@ IoReportResourceForDetection(
|
||||||
|
|
||||||
*ConflictDetected = FALSE;
|
*ConflictDetected = FALSE;
|
||||||
|
|
||||||
/* FIXME: Manually indicate conflicts with KD Ports */
|
|
||||||
if (DriverList)
|
|
||||||
{
|
|
||||||
if (KdpDetectConflicts(DriverList))
|
|
||||||
{
|
|
||||||
*ConflictDetected = TRUE;
|
|
||||||
return STATUS_CONFLICTING_ADDRESSES;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (PopSystemPowerDeviceNode != NULL && DriverListSize > 0)
|
if (PopSystemPowerDeviceNode != NULL && DriverListSize > 0)
|
||||||
{
|
{
|
||||||
/* We hope legacy devices will be enumerated by ACPI */
|
/* We hope legacy devices will be enumerated by ACPI */
|
||||||
|
|
|
@ -239,43 +239,6 @@ KdpScreenInit(PKD_DISPATCH_TABLE DispatchTable,
|
||||||
|
|
||||||
/* GENERAL FUNCTIONS *********************************************************/
|
/* GENERAL FUNCTIONS *********************************************************/
|
||||||
|
|
||||||
BOOLEAN
|
|
||||||
STDCALL
|
|
||||||
KdpDetectConflicts(PCM_RESOURCE_LIST DriverList)
|
|
||||||
{
|
|
||||||
ULONG ComPortBase = 0;
|
|
||||||
ULONG i;
|
|
||||||
PCM_PARTIAL_RESOURCE_DESCRIPTOR ResourceDescriptor;
|
|
||||||
|
|
||||||
/* Select the COM Port Base */
|
|
||||||
switch (KdpPort)
|
|
||||||
{
|
|
||||||
case 1: ComPortBase = 0x3f8; break;
|
|
||||||
case 2: ComPortBase = 0x2f8; break;
|
|
||||||
case 3: ComPortBase = 0x3e8; break;
|
|
||||||
case 4: ComPortBase = 0x2e8; break;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* search for this port address in DriverList */
|
|
||||||
for (i = 0; i < DriverList->List[0].PartialResourceList.Count; i++)
|
|
||||||
{
|
|
||||||
ResourceDescriptor = &DriverList->List[0].PartialResourceList.PartialDescriptors[i];
|
|
||||||
if (ResourceDescriptor->Type == CmResourceTypePort)
|
|
||||||
{
|
|
||||||
if ((ResourceDescriptor->u.Port.Start.u.LowPart <= ComPortBase) &&
|
|
||||||
(ResourceDescriptor->u.Port.Start.u.LowPart +
|
|
||||||
ResourceDescriptor->u.Port.Length > ComPortBase))
|
|
||||||
{
|
|
||||||
/* Conflict found */
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* No Conflicts */
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
|
|
||||||
ULONG
|
ULONG
|
||||||
STDCALL
|
STDCALL
|
||||||
KdpPrintString(LPSTR String,
|
KdpPrintString(LPSTR String,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue