mirror of
https://github.com/reactos/reactos.git
synced 2025-02-24 17:34:57 +00:00
We now have an official hal-arm which exports KeSwapIrql, allowing many more drivers to compile and link properly.
We now have ARM export files for Class2 and Scsiport, allowing these drivers plus disk, cdrom and other dependencies to build and link. svn path=/trunk/; revision=32223
This commit is contained in:
parent
f190c5ef68
commit
02dc4b9442
17 changed files with 1408 additions and 3 deletions
|
@ -2,7 +2,7 @@
|
|||
<!DOCTYPE module SYSTEM "../../../../tools/rbuild/project.dtd">
|
||||
<module name="class2" type="kernelmodedriver" installbase="system32/drivers" installname="class2.sys">
|
||||
<bootstrap installbase="$(CDOUTPUT)" />
|
||||
<importlibrary definition="class2.def" />
|
||||
<importlibrary definition="class2_$(ARCH).def" />
|
||||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
<library>scsiport</library>
|
||||
|
|
29
reactos/drivers/storage/class/class2/class2_arm.def
Normal file
29
reactos/drivers/storage/class/class2/class2_arm.def
Normal file
|
@ -0,0 +1,29 @@
|
|||
; $Id: class2.def 26227 2007-04-01 16:29:16Z fireball $
|
||||
;
|
||||
; class2.def - export definition file for scsi class driver
|
||||
;
|
||||
LIBRARY CLASS2.SYS
|
||||
EXPORTS
|
||||
ScsiClassAsynchronousCompletion
|
||||
ScsiClassBuildRequest
|
||||
ScsiClassClaimDevice
|
||||
ScsiClassCreateDeviceObject
|
||||
ScsiClassDeviceControl
|
||||
ScsiClassFindModePage
|
||||
ScsiClassFindUnclaimedDevices
|
||||
ScsiClassGetCapabilities
|
||||
ScsiClassGetInquiryData
|
||||
ScsiClassInitialize
|
||||
ScsiClassInitializeSrbLookasideList
|
||||
ScsiClassInternalIoControl
|
||||
ScsiClassInterpretSenseInfo
|
||||
ScsiClassIoComplete
|
||||
ScsiClassIoCompleteAssociated
|
||||
ScsiClassModeSense
|
||||
ScsiClassQueryTimeOutRegistryValue
|
||||
ScsiClassReadDriveCapacity
|
||||
ScsiClassReleaseQueue
|
||||
ScsiClassSendSrbAsynchronous
|
||||
ScsiClassSendSrbSynchronous
|
||||
ScsiClassSplitRequest
|
||||
;EOF
|
|
@ -3,7 +3,7 @@
|
|||
<module name="scsiport" type="kernelmodedriver" installbase="system32/drivers" installname="scsiport.sys">
|
||||
<bootstrap installbase="$(CDOUTPUT)" />
|
||||
<define name="_SCSIPORT_" />
|
||||
<importlibrary definition="scsiport.def" />
|
||||
<importlibrary definition="scsiport_$(ARCH).def" />
|
||||
<include base="scsiport">.</include>
|
||||
<library>ntoskrnl</library>
|
||||
<library>hal</library>
|
||||
|
|
51
reactos/drivers/storage/scsiport/scsiport_arm.def
Normal file
51
reactos/drivers/storage/scsiport/scsiport_arm.def
Normal file
|
@ -0,0 +1,51 @@
|
|||
;
|
||||
; scsiport.def - export definition file for scsiport driver
|
||||
;
|
||||
LIBRARY SCSIPORT.SYS
|
||||
EXPORTS
|
||||
ScsiDebugPrint
|
||||
ScsiPortCompleteRequest
|
||||
ScsiPortConvertPhysicalAddressToUlong
|
||||
ScsiPortConvertUlongToPhysicalAddress=NTOSKRNL.RtlConvertUlongToLargeInteger
|
||||
ScsiPortFlushDma
|
||||
ScsiPortFreeDeviceBase
|
||||
ScsiPortGetBusData
|
||||
ScsiPortGetDeviceBase
|
||||
ScsiPortGetLogicalUnit
|
||||
ScsiPortGetPhysicalAddress
|
||||
ScsiPortGetSrb
|
||||
ScsiPortGetUncachedExtension
|
||||
ScsiPortGetVirtualAddress
|
||||
ScsiPortInitialize
|
||||
ScsiPortIoMapTransfer
|
||||
ScsiPortLogError
|
||||
ScsiPortMoveMemory
|
||||
ScsiPortNotification
|
||||
ScsiPortReadPortBufferUchar=HAL.READ_PORT_BUFFER_UCHAR
|
||||
ScsiPortReadPortBufferUshort=HAL.READ_PORT_BUFFER_USHORT
|
||||
ScsiPortReadPortBufferUlong=HAL.READ_PORT_BUFFER_ULONG
|
||||
ScsiPortReadPortUchar=HAL.READ_PORT_UCHAR
|
||||
ScsiPortReadPortUshort=HAL.READ_PORT_USHORT
|
||||
ScsiPortReadPortUlong=HAL.READ_PORT_ULONG
|
||||
ScsiPortReadRegisterBufferUchar=NTOSKRNL.READ_REGISTER_BUFFER_UCHAR
|
||||
ScsiPortReadRegisterBufferUshort=NTOSKRNL.READ_REGISTER_BUFFER_USHORT
|
||||
ScsiPortReadRegisterBufferUlong=NTOSKRNL.READ_REGISTER_BUFFER_ULONG
|
||||
ScsiPortReadRegisterUchar=NTOSKRNL.READ_REGISTER_UCHAR
|
||||
ScsiPortReadRegisterUshort=NTOSKRNL.READ_REGISTER_USHORT
|
||||
ScsiPortReadRegisterUlong=NTOSKRNL.READ_REGISTER_ULONG
|
||||
ScsiPortSetBusDataByOffset
|
||||
ScsiPortStallExecution=HAL.KeStallExecutionProcessor
|
||||
ScsiPortValidateRange
|
||||
ScsiPortWritePortUchar=HAL.WRITE_PORT_UCHAR
|
||||
ScsiPortWritePortUshort=HAL.WRITE_PORT_USHORT
|
||||
ScsiPortWritePortUlong=HAL.WRITE_PORT_ULONG
|
||||
ScsiPortWritePortBufferUchar=HAL.WRITE_PORT_BUFFER_UCHAR
|
||||
ScsiPortWritePortBufferUshort=HAL.WRITE_PORT_BUFFER_USHORT
|
||||
ScsiPortWritePortBufferUlong=HAL.WRITE_PORT_BUFFER_ULONG
|
||||
ScsiPortWriteRegisterBufferUchar=NTOSKRNL.WRITE_REGISTER_BUFFER_UCHAR
|
||||
ScsiPortWriteRegisterBufferUshort=NTOSKRNL.WRITE_REGISTER_BUFFER_USHORT
|
||||
ScsiPortWriteRegisterBufferUlong=NTOSKRNL.WRITE_REGISTER_BUFFER_ULONG
|
||||
ScsiPortWriteRegisterUchar=NTOSKRNL.WRITE_REGISTER_UCHAR
|
||||
ScsiPortWriteRegisterUshort=NTOSKRNL.WRITE_REGISTER_USHORT
|
||||
ScsiPortWriteRegisterUlong=NTOSKRNL.WRITE_REGISTER_ULONG
|
||||
;EOF
|
|
@ -14,4 +14,9 @@
|
|||
<xi:include href="halppc/directory.rbuild" />
|
||||
</directory>
|
||||
</if>
|
||||
<if property="ARCH" value="arm">
|
||||
<directory name="halarm">
|
||||
<xi:include href="halarm/directory.rbuild" />
|
||||
</directory>
|
||||
</if>
|
||||
</group>
|
||||
|
|
|
@ -78,6 +78,7 @@ KdComPortInUse=_KdComPortInUse DATA
|
|||
KeFlushWriteBuffer
|
||||
KeGetCurrentIrql
|
||||
KeLowerIrql
|
||||
KeSwapIrql
|
||||
KeQueryPerformanceCounter
|
||||
KeRaiseIrql
|
||||
KeRaiseIrqlToDpcLevel
|
||||
|
|
10
reactos/hal/halarm/directory.rbuild
Normal file
10
reactos/hal/halarm/directory.rbuild
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../tools/rbuild/project.dtd">
|
||||
<group xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<directory name="generic">
|
||||
<xi:include href="generic/generic.rbuild" />
|
||||
</directory>
|
||||
<directory name="up">
|
||||
<xi:include href="up/halup.rbuild" />
|
||||
</directory>
|
||||
</group>
|
10
reactos/hal/halarm/generic/generic.rbuild
Normal file
10
reactos/hal/halarm/generic/generic.rbuild
Normal file
|
@ -0,0 +1,10 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="halarm_generic" type="objectlibrary">
|
||||
<include base="halarm_generic">../include</include>
|
||||
<include base="ntoskrnl">include</include>
|
||||
<define name="_DISABLE_TIDENTS" />
|
||||
<define name="_NTHAL_" />
|
||||
<file>hal.c</file>
|
||||
<pch>../include/hal.h</pch>
|
||||
</module>
|
1092
reactos/hal/halarm/generic/hal.c
Normal file
1092
reactos/hal/halarm/generic/hal.c
Normal file
File diff suppressed because it is too large
Load diff
43
reactos/hal/halarm/include/hal.h
Normal file
43
reactos/hal/halarm/include/hal.h
Normal file
|
@ -0,0 +1,43 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS Hardware Abstraction Layer
|
||||
* FILE: hal/halx86/include/hal.h
|
||||
* PURPOSE: HAL Header
|
||||
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
/* C Headers */
|
||||
#include <stdio.h>
|
||||
|
||||
/* WDK HAL Compilation hack */
|
||||
#ifdef _MSC_VER
|
||||
#include <excpt.h>
|
||||
#include <ntdef.h>
|
||||
#undef _NTHAL_
|
||||
#undef DECLSPEC_IMPORT
|
||||
#define DECLSPEC_IMPORT
|
||||
#define __declspec(dllimport)
|
||||
#endif
|
||||
|
||||
/* IFS/DDK/NDK Headers */
|
||||
#include <ntifs.h>
|
||||
#include <bugcodes.h>
|
||||
#include <ntdddisk.h>
|
||||
#include <arc/arc.h>
|
||||
#include <iotypes.h>
|
||||
#include <kefuncs.h>
|
||||
#include <intrin.h>
|
||||
#include <halfuncs.h>
|
||||
#include <iofuncs.h>
|
||||
#include <ldrtypes.h>
|
||||
#include <obfuncs.h>
|
||||
|
||||
/* Internal HAL Headers */
|
||||
#include "halp.h"
|
||||
|
||||
/* Helper Header */
|
||||
#include <reactos/helper.h>
|
||||
|
||||
/* EOF */
|
114
reactos/hal/halarm/include/halp.h
Normal file
114
reactos/hal/halarm/include/halp.h
Normal file
|
@ -0,0 +1,114 @@
|
|||
/*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __INTERNAL_HAL_HAL_H
|
||||
#define __INTERNAL_HAL_HAL_H
|
||||
|
||||
/* WDK Hack */
|
||||
#define KdComPortInUse _KdComPortInUse
|
||||
|
||||
#define HAL_APC_REQUEST 0
|
||||
#define HAL_DPC_REQUEST 1
|
||||
|
||||
/* Conversion functions */
|
||||
#define BCD_INT(bcd) \
|
||||
(((bcd & 0xF0) >> 4) * 10 + (bcd & 0x0F))
|
||||
#define INT_BCD(int) \
|
||||
(UCHAR)(((int / 10) << 4) + (int % 10))
|
||||
|
||||
/* adapter.c */
|
||||
PADAPTER_OBJECT STDCALL HalpAllocateAdapterEx(ULONG NumberOfMapRegisters,BOOLEAN IsMaster, BOOLEAN Dma32BitAddresses);
|
||||
|
||||
/* bus.c */
|
||||
VOID NTAPI HalpInitNonBusHandler (VOID);
|
||||
|
||||
/* irql.c */
|
||||
VOID NTAPI HalpInitPICs(VOID);
|
||||
|
||||
/* udelay.c */
|
||||
VOID NTAPI HalpInitializeClock(VOID);
|
||||
|
||||
/* pci.c */
|
||||
VOID HalpInitPciBus (VOID);
|
||||
|
||||
/* dma.c */
|
||||
VOID HalpInitDma (VOID);
|
||||
|
||||
/* Non-generic initialization */
|
||||
VOID HalpInitPhase0 (PLOADER_PARAMETER_BLOCK LoaderBlock);
|
||||
VOID HalpInitPhase1(VOID);
|
||||
VOID NTAPI HalpClockInterrupt(VOID);
|
||||
|
||||
//
|
||||
// KD Support
|
||||
//
|
||||
VOID
|
||||
NTAPI
|
||||
HalpCheckPowerButton(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalpRegisterKdSupportFunctions(
|
||||
VOID
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalpSetupPciDeviceForDebugging(
|
||||
IN PVOID LoaderBlock,
|
||||
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalpReleasePciDeviceForDebugging(
|
||||
IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice
|
||||
);
|
||||
|
||||
//
|
||||
// Memory routines
|
||||
//
|
||||
PVOID
|
||||
NTAPI
|
||||
HalpMapPhysicalMemory64(
|
||||
IN PHYSICAL_ADDRESS PhysicalAddress,
|
||||
IN ULONG NumberPage
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalpUnmapVirtualAddress(
|
||||
IN PVOID VirtualAddress,
|
||||
IN ULONG NumberPages
|
||||
);
|
||||
|
||||
/* sysinfo.c */
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HaliQuerySystemInformation(
|
||||
IN HAL_QUERY_INFORMATION_CLASS InformationClass,
|
||||
IN ULONG BufferSize,
|
||||
IN OUT PVOID Buffer,
|
||||
OUT PULONG ReturnedLength
|
||||
);
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HaliSetSystemInformation(
|
||||
IN HAL_SET_INFORMATION_CLASS InformationClass,
|
||||
IN ULONG BufferSize,
|
||||
IN OUT PVOID Buffer
|
||||
);
|
||||
|
||||
typedef struct tagHALP_HOOKS
|
||||
{
|
||||
void (*InitPciBus)(ULONG BusNumber, PBUS_HANDLER BusHandler);
|
||||
} HALP_HOOKS, *PHALP_HOOKS;
|
||||
|
||||
extern HALP_HOOKS HalpHooks;
|
||||
extern KSPIN_LOCK HalpSystemHardwareLock;
|
||||
|
||||
#endif /* __INTERNAL_HAL_HAL_H */
|
32
reactos/hal/halarm/up/halinit_up.c
Normal file
32
reactos/hal/halarm/up/halinit_up.c
Normal file
|
@ -0,0 +1,32 @@
|
|||
/* $Id: halinit_up.c 24964 2006-11-29 08:28:20Z ion $
|
||||
*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/hal/x86/halinit.c
|
||||
* PURPOSE: Initalize the x86 hal
|
||||
* PROGRAMMER: David Welch (welch@cwcom.net)
|
||||
* UPDATE HISTORY:
|
||||
* 11/06/98: Created
|
||||
*/
|
||||
|
||||
/* INCLUDES *****************************************************************/
|
||||
|
||||
#include <hal.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
|
||||
/* FUNCTIONS ***************************************************************/
|
||||
|
||||
VOID
|
||||
HalpInitPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
VOID
|
||||
HalpInitPhase1(VOID)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* EOF */
|
14
reactos/hal/halarm/up/halup.rbuild
Normal file
14
reactos/hal/halarm/up/halup.rbuild
Normal file
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0"?>
|
||||
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<module name="halarm_up" type="kernelmodedll">
|
||||
<importlibrary definition="../../hal/hal_arm.def" />
|
||||
<bootstrap installbase="$(CDOUTPUT)" nameoncd="hal.dll" />
|
||||
<include base="halarm_generic">../include</include>
|
||||
<include base="ntoskrnl">include</include>
|
||||
<define name="_DISABLE_TIDENTS" />
|
||||
<define name="_NTHAL_" />
|
||||
<library>halarm_generic</library>
|
||||
<library>ntoskrnl</library>
|
||||
<file>halinit_up.c</file>
|
||||
<file>halup.rc</file>
|
||||
</module>
|
5
reactos/hal/halarm/up/halup.rc
Normal file
5
reactos/hal/halarm/up/halup.rc
Normal file
|
@ -0,0 +1,5 @@
|
|||
#define REACTOS_VERSION_DLL
|
||||
#define REACTOS_STR_FILE_DESCRIPTION "X86 Uniprocessor Hardware Abstraction Layer\0"
|
||||
#define REACTOS_STR_INTERNAL_NAME "halup\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "halup.dll\0"
|
||||
#include <reactos/version.rc>
|
|
@ -1,7 +1,6 @@
|
|||
#include <internal/arm/asmmacro.S>
|
||||
|
||||
GENERATE_ARM_STUB KiSwapContext
|
||||
GENERATE_ARM_STUB KeSwapIrql
|
||||
GENERATE_ARM_STUB DbgBreakPointWithStatus
|
||||
GENERATE_ARM_STUB ExInterlockedAddLargeInteger
|
||||
GENERATE_ARM_STUB ExInterlockedAddLargeStatistic
|
||||
|
|
Loading…
Reference in a new issue