mirror of
https://github.com/reactos/reactos.git
synced 2024-09-28 13:34:53 +00:00
- Restructure HAL bus routines a bit.
- Fix some incorrect HAL types and add some that were missing. svn path=/trunk/; revision=43855
This commit is contained in:
parent
36c3408fb1
commit
e90168e57e
7
reactos/hal/halx86/generic/bus/bushndlr.c
Normal file
7
reactos/hal/halx86/generic/bus/bushndlr.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/bus/bushndlr.c
|
||||
* PURPOSE:
|
||||
* PROGRAMMERS: Stefan Ginsberg (stefan.ginsberg@reactos.org)
|
||||
*/
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/bus.c
|
||||
* FILE: hal/halx86/generic/bus/halbus.c
|
||||
* PURPOSE: Bus Support Routines
|
||||
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
||||
*/
|
7
reactos/hal/halx86/generic/bus/isabus.c
Normal file
7
reactos/hal/halx86/generic/bus/isabus.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/bus/isabus.c
|
||||
* PURPOSE:
|
||||
* PROGRAMMERS: Stefan Ginsberg (stefan.ginsberg@reactos.org)
|
||||
*/
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/pci.c
|
||||
* FILE: hal/halx86/generic/bus/pcibus.c
|
||||
* PURPOSE: PCI Bus Support (Configuration Space, Resource Allocation)
|
||||
* PROGRAMMERS: Alex Ionescu (alex.ionescu@reactos.org)
|
||||
*/
|
||||
|
@ -98,9 +98,10 @@ BUS_HANDLER HalpFakePciBusHandler =
|
|||
NULL,
|
||||
&HalpFakePciBusData,
|
||||
0,
|
||||
NULL,
|
||||
{0, 0, 0, 0},
|
||||
HalpGetPCIData,
|
||||
HalpSetPCIData,
|
||||
(PGETSETBUSDATA)HalpGetPCIData,
|
||||
(PGETSETBUSDATA)HalpSetPCIData,
|
||||
NULL,
|
||||
HalpAssignPCISlotResources,
|
||||
NULL,
|
||||
|
@ -338,7 +339,7 @@ NTAPI
|
|||
HalpGetPCIData(IN PBUS_HANDLER BusHandler,
|
||||
IN PBUS_HANDLER RootHandler,
|
||||
IN PCI_SLOT_NUMBER Slot,
|
||||
IN PUCHAR Buffer,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length)
|
||||
{
|
||||
|
@ -404,7 +405,7 @@ HalpGetPCIData(IN PBUS_HANDLER BusHandler,
|
|||
|
||||
/* Update buffer and offset, decrement total length */
|
||||
Offset += Len;
|
||||
Buffer += Len;
|
||||
Buffer = (PVOID)((ULONG_PTR)Buffer + Len);
|
||||
Length -= Len;
|
||||
}
|
||||
|
||||
|
@ -429,7 +430,7 @@ NTAPI
|
|||
HalpSetPCIData(IN PBUS_HANDLER BusHandler,
|
||||
IN PBUS_HANDLER RootHandler,
|
||||
IN PCI_SLOT_NUMBER Slot,
|
||||
IN PUCHAR Buffer,
|
||||
IN PVOID Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length)
|
||||
{
|
||||
|
@ -483,7 +484,7 @@ HalpSetPCIData(IN PBUS_HANDLER BusHandler,
|
|||
|
||||
/* Update buffer and offset, decrement total length */
|
||||
Offset += Len;
|
||||
Buffer += Len;
|
||||
Buffer = (PVOID)((ULONG_PTR)Buffer + Len);
|
||||
Length -= Len;
|
||||
}
|
||||
|
7
reactos/hal/halx86/generic/bus/sysbus.c
Normal file
7
reactos/hal/halx86/generic/bus/sysbus.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: hal/halx86/generic/bus/sysbus.c
|
||||
* PURPOSE:
|
||||
* PROGRAMMERS: Stefan Ginsberg (stefan.ginsberg@reactos.org)
|
||||
*/
|
|
@ -6,9 +6,14 @@
|
|||
<include base="ntoskrnl">include</include>
|
||||
<define name="_NTHAL_" />
|
||||
<directory name="generic">
|
||||
<directory name="bus">
|
||||
<file>bushndlr.c</file>
|
||||
<file>isabus.c</file>
|
||||
<file>halbus.c</file>
|
||||
<file>sysbus.c</file>
|
||||
</directory>
|
||||
<file>beep.c</file>
|
||||
<file>bios.c</file>
|
||||
<file>bus.c</file>
|
||||
<file>cmos.c</file>
|
||||
<file>dma.c</file>
|
||||
<file>drive.c</file>
|
||||
|
|
|
@ -6,8 +6,13 @@
|
|||
<include base="ntoskrnl">include</include>
|
||||
<define name="_NTHAL_" />
|
||||
<directory name="generic">
|
||||
<directory name="bus">
|
||||
<file>bushndlr.c</file>
|
||||
<file>isabus.c</file>
|
||||
<file>halbus.c</file>
|
||||
<file>sysbus.c</file>
|
||||
</directory>
|
||||
<file>beep.c</file>
|
||||
<file>bus.c</file>
|
||||
<file>cmos.c</file>
|
||||
<file>dma.c</file>
|
||||
<file>drive.c</file>
|
||||
|
|
|
@ -6,7 +6,9 @@
|
|||
<include base="ntoskrnl">include</include>
|
||||
<define name="_NTHAL_" />
|
||||
<directory name="generic">
|
||||
<file>pci.c</file>
|
||||
<directory name="bus">
|
||||
<file>pcibus.c</file>
|
||||
</directory>
|
||||
</directory>
|
||||
</module>
|
||||
</group>
|
||||
|
|
|
@ -11,7 +11,9 @@
|
|||
<library>hal_generic_up</library>
|
||||
<library>ntoskrnl</library>
|
||||
<directory name="generic">
|
||||
<file>pci.c</file>
|
||||
<directory name="bus">
|
||||
<file>pcibus.c</file>
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="xbox">
|
||||
<file>halinit_xbox.c</file>
|
||||
|
|
|
@ -44,7 +44,7 @@ typedef enum _FIRMWARE_REENTRY
|
|||
//
|
||||
typedef
|
||||
PBUS_HANDLER
|
||||
(NTAPI *pHalHandlerForConfigSpace)(
|
||||
(FASTCALL *pHalHandlerForConfigSpace)(
|
||||
IN BUS_DATA_TYPE ConfigSpace,
|
||||
IN ULONG BusNumber
|
||||
);
|
||||
|
@ -101,15 +101,15 @@ BOOLEAN
|
|||
//
|
||||
typedef
|
||||
NTSTATUS
|
||||
(NTAPI *pAdjustResourceList)(
|
||||
(NTAPI *PADJUSTRESOURCELIST)(
|
||||
IN PBUS_HANDLER BusHandler,
|
||||
IN ULONG BusNumber,
|
||||
IN OUT PCM_RESOURCE_LIST Resources
|
||||
IN PBUS_HANDLER RootHandler,
|
||||
IN OUT PIO_RESOURCE_REQUIREMENTS_LIST *Resources
|
||||
);
|
||||
|
||||
typedef
|
||||
NTSTATUS
|
||||
(NTAPI *pAssignSlotResources)(
|
||||
(NTAPI *PASSIGNSLOTRESOURCES)(
|
||||
IN PBUS_HANDLER BusHandler,
|
||||
IN PBUS_HANDLER RootHandler,
|
||||
IN PUNICODE_STRING RegistryPath,
|
||||
|
@ -122,20 +122,20 @@ NTSTATUS
|
|||
|
||||
typedef
|
||||
ULONG
|
||||
(NTAPI *pGetSetBusData)(
|
||||
(NTAPI *PGETSETBUSDATA)(
|
||||
IN PBUS_HANDLER BusHandler,
|
||||
IN PBUS_HANDLER RootHandler,
|
||||
IN PCI_SLOT_NUMBER SlotNumber,
|
||||
OUT PUCHAR Buffer,
|
||||
IN ULONG SlotNumber,
|
||||
OUT PVOID Buffer,
|
||||
IN ULONG Offset,
|
||||
IN ULONG Length
|
||||
);
|
||||
|
||||
typedef
|
||||
ULONG
|
||||
(NTAPI *pGetInterruptVector)(
|
||||
(NTAPI *PGETINTERRUPTVECTOR)(
|
||||
IN PBUS_HANDLER BusHandler,
|
||||
IN ULONG BusNumber,
|
||||
IN PBUS_HANDLER RootHandler,
|
||||
IN ULONG BusInterruptLevel,
|
||||
IN ULONG BusInterruptVector,
|
||||
OUT PKIRQL Irql,
|
||||
|
@ -143,10 +143,10 @@ ULONG
|
|||
);
|
||||
|
||||
typedef
|
||||
ULONG
|
||||
(NTAPI *pTranslateBusAddress)(
|
||||
BOOLEAN
|
||||
(NTAPI *PTRANSLATEBUSADDRESS)(
|
||||
IN PBUS_HANDLER BusHandler,
|
||||
IN ULONG BusNumber,
|
||||
IN PBUS_HANDLER RootHandler,
|
||||
IN PHYSICAL_ADDRESS BusAddress,
|
||||
IN OUT PULONG AddressSpace,
|
||||
OUT PPHYSICAL_ADDRESS TranslatedAddress
|
||||
|
@ -186,9 +186,38 @@ typedef struct _HAL_PRIVATE_DISPATCH
|
|||
#endif
|
||||
} HAL_PRIVATE_DISPATCH, *PHAL_PRIVATE_DISPATCH;
|
||||
|
||||
//
|
||||
// HAL Supported Range
|
||||
//
|
||||
#define HAL_SUPPORTED_RANGE_VERSION 1
|
||||
typedef struct _SUPPORTED_RANGE
|
||||
{
|
||||
struct _SUPPORTED_RANGE *Next;
|
||||
ULONG SystemAddressSpace;
|
||||
LONGLONG SystemBase;
|
||||
LONGLONG Base;
|
||||
LONGLONG Limit;
|
||||
} SUPPORTED_RANGE, *PSUPPORTED_RANGE;
|
||||
|
||||
typedef struct _SUPPORTED_RANGES
|
||||
{
|
||||
USHORT Version;
|
||||
BOOLEAN Sorted;
|
||||
UCHAR Reserved;
|
||||
ULONG NoIO;
|
||||
SUPPORTED_RANGE IO;
|
||||
ULONG NoMemory;
|
||||
SUPPORTED_RANGE Memory;
|
||||
ULONG NoPrefetchMemory;
|
||||
SUPPORTED_RANGE PrefetchMemory;
|
||||
ULONG NoDma;
|
||||
SUPPORTED_RANGE Dma;
|
||||
} SUPPORTED_RANGES, *PSUPPORTED_RANGES;
|
||||
|
||||
//
|
||||
// HAL Bus Handler
|
||||
//
|
||||
#define HAL_BUS_HANDLER_VERSION 1
|
||||
typedef struct _BUS_HANDLER
|
||||
{
|
||||
ULONG Version;
|
||||
|
@ -199,16 +228,30 @@ typedef struct _BUS_HANDLER
|
|||
struct _BUS_HANDLER *ParentHandler;
|
||||
PVOID BusData;
|
||||
ULONG DeviceControlExtensionSize;
|
||||
//PSUPPORTED_RANGES BusAddresses;
|
||||
PSUPPORTED_RANGES BusAddresses;
|
||||
ULONG Reserved[4];
|
||||
pGetSetBusData GetBusData;
|
||||
pGetSetBusData SetBusData;
|
||||
pAdjustResourceList AdjustResourceList;
|
||||
pAssignSlotResources AssignSlotResources;
|
||||
pGetInterruptVector GetInterruptVector;
|
||||
pTranslateBusAddress TranslateBusAddress;
|
||||
PGETSETBUSDATA GetBusData;
|
||||
PGETSETBUSDATA SetBusData;
|
||||
PADJUSTRESOURCELIST AdjustResourceList;
|
||||
PASSIGNSLOTRESOURCES AssignSlotResources;
|
||||
PGETINTERRUPTVECTOR GetInterruptVector;
|
||||
PTRANSLATEBUSADDRESS TranslateBusAddress;
|
||||
PVOID Spare1;
|
||||
PVOID Spare2;
|
||||
PVOID Spare3;
|
||||
PVOID Spare4;
|
||||
PVOID Spare5;
|
||||
PVOID Spare6;
|
||||
PVOID Spare7;
|
||||
PVOID Spare8;
|
||||
} BUS_HANDLER;
|
||||
|
||||
//
|
||||
// HAL Chip Hacks
|
||||
//
|
||||
#define HAL_PCI_CHIP_HACK_DISABLE_HIBERNATE 0x02
|
||||
#define HAL_PCI_CHIP_HACK_USB_SMI_DISABLE 0x08
|
||||
|
||||
//
|
||||
// Kernel Exports
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue