mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 18:24:02 +00:00
Don't use hal_generic_pc.rbuild. Remove obsolete hal.c. Add apic.c from x86 to build. Add some stubs.
svn path=/branches/ros-amd64-bringup/; revision=35947
This commit is contained in:
parent
2b96a78f9a
commit
a6a7745b55
8 changed files with 135 additions and 823 deletions
|
@ -27,7 +27,6 @@
|
|||
<if property="ARCH" value="amd64">
|
||||
<directory name="halx86">
|
||||
<xi:include href="halx86/hal_generic_amd64.rbuild" />
|
||||
<xi:include href="halx86/hal_generic_pc.rbuild" />
|
||||
</directory>
|
||||
<directory name="halamd64">
|
||||
<xi:include href="halamd64/directory.rbuild" />
|
||||
|
|
|
@ -14,9 +14,9 @@ HalAssignSlotResources
|
|||
HalCalibratePerformanceCounter
|
||||
HalClearSoftwareInterrupt
|
||||
;HalConvertDeviceIdtToIrql
|
||||
;HalDisableInterrupt
|
||||
HalDisableInterrupt
|
||||
HalDisplayString
|
||||
;HalEnableInterrupt
|
||||
HalEnableInterrupt
|
||||
;HalEnumerateEnvironmentVariablesEx
|
||||
;HalEnumerateProcessors
|
||||
HalFlushCommonBuffer
|
||||
|
@ -52,7 +52,7 @@ HalRequestIpi
|
|||
HalRequestSoftwareInterrupt
|
||||
HalReturnToFirmware
|
||||
;HalSendNMI
|
||||
;HalSendSoftwareInterrupt
|
||||
HalSendSoftwareInterrupt
|
||||
HalSetBusData
|
||||
HalSetBusDataByOffset
|
||||
HalSetDisplayParameters
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
<file>halinit.c</file>
|
||||
<file>irq.S</file>
|
||||
<file>misc.c</file>
|
||||
<file>mps.S</file>
|
||||
<file>systimer.S</file>
|
||||
<pch>../include/hal.h</pch>
|
||||
</module>
|
||||
|
|
|
@ -1,781 +0,0 @@
|
|||
/*
|
||||
* PROJECT: ReactOS HAL
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: hal/halarm/generic/hal.c
|
||||
* PURPOSE: Hardware Abstraction Layer
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <hal.h>
|
||||
#define NDEBUG
|
||||
#include <debug.h>
|
||||
#include <ndk/inbvfuncs.h>
|
||||
|
||||
#define READ_REGISTER_ULONG(r) (*(volatile ULONG * const)(r))
|
||||
#define WRITE_REGISTER_ULONG(r, v) (*(volatile ULONG *)(r) = (v))
|
||||
|
||||
/* DATA **********************************************************************/
|
||||
|
||||
ULONG HalpCurrentTimeIncrement, HalpNextTimeIncrement, HalpNextIntervalCount;
|
||||
ULONG _KdComPortInUse = 0;
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
DriverEntry(
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
PUNICODE_STRING RegistryPath)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
HalStopProfileInterrupt(IN KPROFILE_SOURCE ProfileSource)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID
|
||||
NTAPI
|
||||
HalStartProfileInterrupt(IN KPROFILE_SOURCE ProfileSource)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
ULONG_PTR
|
||||
NTAPI
|
||||
HalSetProfileInterval(IN ULONG_PTR Interval)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return Interval;
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalAdjustResourceList(
|
||||
PCM_RESOURCE_LIST Resources)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalAllProcessorsStarted(VOID)
|
||||
{
|
||||
/* Do nothing */
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalAllocateAdapterChannel(
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
PWAIT_CONTEXT_BLOCK WaitContextBlock,
|
||||
ULONG NumberOfMapRegisters,
|
||||
PDRIVER_CONTROL ExecutionRoutine)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
HalAllocateCommonBuffer(
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
ULONG Length,
|
||||
PPHYSICAL_ADDRESS LogicalAddress,
|
||||
BOOLEAN CacheEnabled)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
HalAllocateCrashDumpRegisters(
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
PULONG NumberOfMapRegisters)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalAssignSlotResources(
|
||||
PUNICODE_STRING RegistryPath,
|
||||
PUNICODE_STRING DriverClassName,
|
||||
PDRIVER_OBJECT DriverObject,
|
||||
PDEVICE_OBJECT DeviceObject,
|
||||
INTERFACE_TYPE BusType,
|
||||
ULONG BusNumber,
|
||||
ULONG SlotNumber,
|
||||
PCM_RESOURCE_LIST *AllocatedResources)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalBeginSystemInterrupt (KIRQL Irql,
|
||||
ULONG Vector,
|
||||
PKIRQL OldIrql)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalCalibratePerformanceCounter(
|
||||
volatile LONG *Count,
|
||||
ULONGLONG NewCount)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalDisableSystemInterrupt(
|
||||
ULONG Vector,
|
||||
KIRQL Irql)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalAcquireDisplayOwnership(IN PHAL_RESET_DISPLAY_PARAMETERS ResetDisplayParameters)
|
||||
{
|
||||
//
|
||||
// Stub since Windows XP implemented Inbv
|
||||
//
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalDisplayString(IN PCH String)
|
||||
{
|
||||
//
|
||||
// Call the Inbv driver
|
||||
//
|
||||
InbvDisplayString(String);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalQueryDisplayParameters(OUT PULONG DispSizeX,
|
||||
OUT PULONG DispSizeY,
|
||||
OUT PULONG CursorPosX,
|
||||
OUT PULONG CursorPosY)
|
||||
{
|
||||
//
|
||||
// Stub since Windows XP implemented Inbv
|
||||
//
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalSetDisplayParameters(IN ULONG CursorPosX,
|
||||
IN ULONG CursorPosY)
|
||||
{
|
||||
//
|
||||
// Stub since Windows XP implemented Inbv
|
||||
//
|
||||
return;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalEnableSystemInterrupt(
|
||||
ULONG Vector,
|
||||
KIRQL Irql,
|
||||
KINTERRUPT_MODE InterruptMode)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalEndSystemInterrupt(
|
||||
KIRQL Irql,
|
||||
ULONG Unknown2)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalFlushCommonBuffer(
|
||||
ULONG Unknown1,
|
||||
ULONG Unknown2,
|
||||
ULONG Unknown3,
|
||||
ULONG Unknown4,
|
||||
ULONG Unknown5)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalFreeCommonBuffer(
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
ULONG Length,
|
||||
PHYSICAL_ADDRESS LogicalAddress,
|
||||
PVOID VirtualAddress,
|
||||
BOOLEAN CacheEnabled)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
PADAPTER_OBJECT
|
||||
NTAPI
|
||||
HalGetAdapter(
|
||||
PDEVICE_DESCRIPTION DeviceDescription,
|
||||
PULONG NumberOfMapRegisters)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return (PADAPTER_OBJECT)NULL;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalGetBusData(
|
||||
BUS_DATA_TYPE BusDataType,
|
||||
ULONG BusNumber,
|
||||
ULONG SlotNumber,
|
||||
PVOID Buffer,
|
||||
ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalGetBusDataByOffset(
|
||||
BUS_DATA_TYPE BusDataType,
|
||||
ULONG BusNumber,
|
||||
ULONG SlotNumber,
|
||||
PVOID Buffer,
|
||||
ULONG Offset,
|
||||
ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
ARC_STATUS
|
||||
NTAPI
|
||||
HalGetEnvironmentVariable(
|
||||
PCH Name,
|
||||
USHORT ValueLength,
|
||||
PCH Value)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return ENOENT;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalGetInterruptVector(
|
||||
INTERFACE_TYPE InterfaceType,
|
||||
ULONG BusNumber,
|
||||
ULONG BusInterruptLevel,
|
||||
ULONG BusInterruptVector,
|
||||
PKIRQL Irql,
|
||||
PKAFFINITY Affinity)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalHandleNMI(
|
||||
PVOID NmiData)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalpGetParameters(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||
{
|
||||
PCHAR CommandLine;
|
||||
|
||||
/* Make sure we have a loader block and command line */
|
||||
if ((LoaderBlock) && (LoaderBlock->LoadOptions))
|
||||
{
|
||||
/* Read the command line */
|
||||
CommandLine = LoaderBlock->LoadOptions;
|
||||
|
||||
/* Check for initial breakpoint */
|
||||
if (strstr(CommandLine, "BREAK")) DbgBreakPoint();
|
||||
}
|
||||
}
|
||||
|
||||
ULONG
|
||||
HalGetInterruptSource(VOID)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
VOID
|
||||
HalpClockInterrupt(VOID)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
HalpStallInterrupt(VOID)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
HalpInitializeInterrupts(VOID)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
*/
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalInitSystem(IN ULONG BootPhase,
|
||||
IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalInitializeProcessor(IN ULONG ProcessorNumber,
|
||||
IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||
{
|
||||
//
|
||||
// Nothing to do
|
||||
//
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalMakeBeep(
|
||||
ULONG Frequency)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalProcessorIdle(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
#define RTC_DATA (PVOID)0xE00E8000
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalQueryRealTimeClock(IN PTIME_FIELDS Time)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalReadDmaCounter(
|
||||
PADAPTER_OBJECT AdapterObject)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalReportResourceUsage(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalRequestIpi(
|
||||
KAFFINITY TargetSet)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
HalRequestSoftwareInterrupt(IN KIRQL Request)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
FASTCALL
|
||||
HalClearSoftwareInterrupt(IN KIRQL Request)
|
||||
{
|
||||
KEBUGCHECK(0);
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalReturnToFirmware(
|
||||
FIRMWARE_REENTRY Action)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalSetBusData(
|
||||
BUS_DATA_TYPE BusDataType,
|
||||
ULONG BusNumber,
|
||||
ULONG SlotNumber,
|
||||
PVOID Buffer,
|
||||
ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalSetBusDataByOffset(
|
||||
BUS_DATA_TYPE BusDataType,
|
||||
ULONG BusNumber,
|
||||
ULONG SlotNumber,
|
||||
PVOID Buffer,
|
||||
ULONG Offset,
|
||||
ULONG Length)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
ARC_STATUS
|
||||
NTAPI
|
||||
HalSetEnvironmentVariable(
|
||||
PCH Name,
|
||||
PCH Value)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return ESUCCESS;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalSetRealTimeClock(
|
||||
PTIME_FIELDS Time)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
HalSetTimeIncrement(
|
||||
ULONG Increment)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return Increment;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalStartNextProcessor(IN PLOADER_PARAMETER_BLOCK LoaderBlock,
|
||||
IN PKPROCESSOR_STATE ProcessorState)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
ULONG
|
||||
FASTCALL
|
||||
HalSystemVectorDispatchEntry(
|
||||
ULONG Unknown1,
|
||||
ULONG Unknown2,
|
||||
ULONG Unknown3)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
HalTranslateBusAddress(
|
||||
INTERFACE_TYPE InterfaceType,
|
||||
ULONG BusNumber,
|
||||
PHYSICAL_ADDRESS BusAddress,
|
||||
PULONG AddressSpace,
|
||||
PPHYSICAL_ADDRESS TranslatedAddress)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
HalpAssignDriveLetters(IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
|
||||
IN PSTRING NtDeviceName,
|
||||
OUT PUCHAR NtSystemPath,
|
||||
OUT PSTRING NtSystemPathString)
|
||||
{
|
||||
/* Call the kernel */
|
||||
IoAssignDriveLetters(LoaderBlock,
|
||||
NtDeviceName,
|
||||
NtSystemPath,
|
||||
NtSystemPathString);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalpReadPartitionTable(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG SectorSize,
|
||||
IN BOOLEAN ReturnRecognizedPartitions,
|
||||
IN OUT PDRIVE_LAYOUT_INFORMATION *PartitionBuffer)
|
||||
{
|
||||
/* Call the kernel */
|
||||
return IoReadPartitionTable(DeviceObject,
|
||||
SectorSize,
|
||||
ReturnRecognizedPartitions,
|
||||
PartitionBuffer);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalpWritePartitionTable(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG SectorSize,
|
||||
IN ULONG SectorsPerTrack,
|
||||
IN ULONG NumberOfHeads,
|
||||
IN PDRIVE_LAYOUT_INFORMATION PartitionBuffer)
|
||||
{
|
||||
/* Call the kernel */
|
||||
return IoWritePartitionTable(DeviceObject,
|
||||
SectorSize,
|
||||
SectorsPerTrack,
|
||||
NumberOfHeads,
|
||||
PartitionBuffer);
|
||||
}
|
||||
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
HalpSetPartitionInformation(IN PDEVICE_OBJECT DeviceObject,
|
||||
IN ULONG SectorSize,
|
||||
IN ULONG PartitionNumber,
|
||||
IN ULONG PartitionType)
|
||||
{
|
||||
/* Call the kernel */
|
||||
return IoSetPartitionInformation(DeviceObject,
|
||||
SectorSize,
|
||||
PartitionNumber,
|
||||
PartitionType);
|
||||
}
|
||||
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
IoFlushAdapterBuffers(
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
PMDL Mdl,
|
||||
PVOID MapRegisterBase,
|
||||
PVOID CurrentVa,
|
||||
ULONG Length,
|
||||
BOOLEAN WriteToDevice)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
IoFreeAdapterChannel(
|
||||
PADAPTER_OBJECT AdapterObject)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
IoFreeMapRegisters(
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
PVOID MapRegisterBase,
|
||||
ULONG NumberOfMapRegisters)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
|
||||
PHYSICAL_ADDRESS
|
||||
NTAPI
|
||||
IoMapTransfer(
|
||||
PADAPTER_OBJECT AdapterObject,
|
||||
PMDL Mdl,
|
||||
PVOID MapRegisterBase,
|
||||
PVOID CurrentVa,
|
||||
PULONG Length,
|
||||
BOOLEAN WriteToDevice)
|
||||
{
|
||||
PHYSICAL_ADDRESS Address;
|
||||
|
||||
UNIMPLEMENTED;
|
||||
|
||||
Address.QuadPart = 0;
|
||||
|
||||
return Address;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
KeFlushWriteBuffer(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
}
|
||||
|
||||
LARGE_INTEGER
|
||||
NTAPI
|
||||
KeQueryPerformanceCounter(
|
||||
PLARGE_INTEGER PerformanceFreq)
|
||||
{
|
||||
LARGE_INTEGER Value;
|
||||
|
||||
UNIMPLEMENTED;
|
||||
|
||||
Value.QuadPart = 0;
|
||||
|
||||
return Value;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
KeStallExecutionProcessor(IN ULONG Microseconds)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return;
|
||||
}
|
||||
|
||||
BOOLEAN HalpProcessorIdentified;
|
||||
BOOLEAN HalpTestCleanSupported;
|
||||
|
||||
VOID
|
||||
HalpIdentifyProcessor(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
HalSweepDcache(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
HalSweepIcache(VOID)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return;
|
||||
}
|
||||
|
||||
/* EOF */
|
|
@ -35,12 +35,43 @@
|
|||
.func _HalpInitPICs
|
||||
_HalpInitPICs:
|
||||
UNIMPLEMENTED "HalpInitPICs"
|
||||
|
||||
.endfunc
|
||||
|
||||
.global _HalEnableInterrupt
|
||||
.func _HalEnableInterrupt
|
||||
_HalEnableInterrupt:
|
||||
UNIMPLEMENTED "HalEnableInterrupt"
|
||||
.endfunc
|
||||
|
||||
.global _HalDisableInterrupt
|
||||
.func _HalDisableInterrupt
|
||||
_HalDisableInterrupt:
|
||||
UNIMPLEMENTED "HalDisableInterrupt"
|
||||
.endfunc
|
||||
|
||||
.global _HalRequestSoftwareInterrupt
|
||||
.func _HalRequestSoftwareInterrupt
|
||||
_HalRequestSoftwareInterrupt:
|
||||
UNIMPLEMENTED "HalRequestSoftwareInterrupt"
|
||||
.endfunc
|
||||
|
||||
.global _HalSendSoftwareInterrupt
|
||||
.func _HalSendSoftwareInterrupt
|
||||
_HalSendSoftwareInterrupt:
|
||||
UNIMPLEMENTED "HalSendSoftwareInterrupt"
|
||||
.endfunc
|
||||
|
||||
.global _HalEndSystemInterrupt
|
||||
.func _HalEndSystemInterrupt
|
||||
_HalEndSystemInterrupt:
|
||||
UNIMPLEMENTED "HalEndSystemInterrupt"
|
||||
.endfunc
|
||||
|
||||
|
||||
.globl _HalClearSoftwareInterrupt
|
||||
.func _HalClearSoftwareInterrupt
|
||||
_HalClearSoftwareInterrupt:
|
||||
UNIMPLEMENTED "HalClearSoftwareInterrupt"
|
||||
|
||||
/* Get IRR mask */
|
||||
mov eax, 1
|
||||
|
@ -52,42 +83,9 @@ _HalClearSoftwareInterrupt:
|
|||
ret
|
||||
.endfunc
|
||||
|
||||
.globl _HalRequestSoftwareInterrupt
|
||||
.func _HalRequestSoftwareInterrupt
|
||||
_HalRequestSoftwareInterrupt:
|
||||
UNIMPLEMENTED "HalRequestSoftwareInterrupt"
|
||||
.endfunc
|
||||
|
||||
.globl _HalBeginSystemInterrupt
|
||||
.func _HalBeginSystemInterrupt
|
||||
_HalBeginSystemInterrupt:
|
||||
UNIMPLEMENTED "HalBeginSystemInterrupt"
|
||||
.endfunc
|
||||
|
||||
.globl _HalpApcInterrupt
|
||||
.func _HalpApcInterrupt
|
||||
//TRAP_FIXUPS hapc_a, hapc_t, DoFixupV86, DoFixupAbios
|
||||
_HalpApcInterrupt:
|
||||
UNIMPLEMENTED "HalpApcInterrupt"
|
||||
.endfunc
|
||||
|
||||
.globl _HalpApcInterrupt2ndEntry
|
||||
.func _HalpApcInterrupt2ndEntry
|
||||
_HalpApcInterrupt2ndEntry:
|
||||
UNIMPLEMENTED "HalpApcInterrupt2ndEntry"
|
||||
.endfunc
|
||||
|
||||
.globl _HalpDispatchInterrupt
|
||||
.func _HalpDispatchInterrupt
|
||||
//TRAP_FIXUPS hdpc_a, hdpc_t, DoFixupV86, DoFixupAbios
|
||||
_HalpDispatchInterrupt:
|
||||
UNIMPLEMENTED "HalpDispatchInterrupt"
|
||||
.endfunc
|
||||
|
||||
|
||||
.globl _HalpDispatchInterrupt2ndEntry
|
||||
.func _HalpDispatchInterrupt2ndEntry
|
||||
_HalpDispatchInterrupt2ndEntry:
|
||||
UNIMPLEMENTED "HalpDispatchInterrupt2ndEntry"
|
||||
.endfunc
|
||||
|
||||
|
|
95
reactos/hal/halamd64/generic/mps.S
Normal file
95
reactos/hal/halamd64/generic/mps.S
Normal file
|
@ -0,0 +1,95 @@
|
|||
/*
|
||||
* COPYRIGHT: See COPYING in the top level directory
|
||||
* PROJECT: ReactOS kernel
|
||||
* FILE: ntoskrnl/hal/amd64/generic/mps.S
|
||||
* PURPOSE: Intel MultiProcessor specification support
|
||||
* PROGRAMMER: Casper S. Hornstrup (chorns@users.sourceforge.net)
|
||||
*/
|
||||
|
||||
/* INCLUDES ******************************************************************/
|
||||
|
||||
#include <ndk/asm.h>
|
||||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
#define BEFORE \
|
||||
cld; \
|
||||
pushq %rax; \
|
||||
pushq %rbx; \
|
||||
pushq %rcx; \
|
||||
pushq %rdx; \
|
||||
pushq %rsi; \
|
||||
pushq %rdi; \
|
||||
pushq %fs; \
|
||||
pushq %gs; \
|
||||
|
||||
#define AFTER \
|
||||
popq %gs; \
|
||||
popq %fs; \
|
||||
popq %rdi; \
|
||||
popq %rsi; \
|
||||
popq %rdx; \
|
||||
popq %rcx; \
|
||||
popq %rbx; \
|
||||
popq %rax; \
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
.global _MpsIpiInterrupt
|
||||
_MpsIpiInterrupt:
|
||||
/* Save registers */
|
||||
BEFORE
|
||||
|
||||
/* Call the C handler */
|
||||
call _MpsIpiHandler
|
||||
|
||||
/* Return to the caller */
|
||||
AFTER
|
||||
iret
|
||||
#endif
|
||||
|
||||
.globl _MpsErrorInterrupt
|
||||
_MpsErrorInterrupt:
|
||||
/* Save registers */
|
||||
BEFORE
|
||||
|
||||
/* Call the C handler */
|
||||
call _MpsErrorHandler
|
||||
|
||||
/* Return to the caller */
|
||||
AFTER
|
||||
iret
|
||||
|
||||
|
||||
.globl _MpsSpuriousInterrupt
|
||||
_MpsSpuriousInterrupt:
|
||||
/* Save registers */
|
||||
BEFORE
|
||||
|
||||
/* Call the C handler */
|
||||
call _MpsSpuriousHandler
|
||||
|
||||
/* Return to the caller */
|
||||
AFTER
|
||||
iret
|
||||
|
||||
.global _MpsTimerInterrupt
|
||||
_MpsTimerInterrupt:
|
||||
/* Save registers */
|
||||
BEFORE
|
||||
|
||||
movl $0xef,%ebx
|
||||
movl $0xceafbeef,%eax
|
||||
pushq %rax
|
||||
pushq %rsp
|
||||
pushq %rbx
|
||||
call _MpsTimerHandler
|
||||
popq %rax
|
||||
popq %rax
|
||||
popq %rax
|
||||
|
||||
/* Return to the caller */
|
||||
AFTER
|
||||
iret
|
||||
|
||||
|
||||
/* EOF */
|
|
@ -8,7 +8,6 @@
|
|||
<define name="_DISABLE_TIDENTS" />
|
||||
<define name="_NTHAL_" />
|
||||
<library>hal_generic_amd64</library>
|
||||
<library>hal_generic_pc</library>
|
||||
<library>hal_generic</library>
|
||||
<library>ntoskrnl</library>
|
||||
<file>halinit_up.c</file>
|
||||
|
|
|
@ -13,13 +13,14 @@
|
|||
<file>dma.c</file>
|
||||
<file>drive.c</file>
|
||||
<file>display.c</file>
|
||||
<file>pci.c</file>
|
||||
<file>profil.c</file>
|
||||
<file>reboot.c</file>
|
||||
<file>sysinfo.c</file>
|
||||
<file>timer.c</file>
|
||||
</directory>
|
||||
<directory name="mp">
|
||||
<!-- file>apic.c</file -->
|
||||
<file>apic.c</file>
|
||||
</directory>
|
||||
<directory name="include">
|
||||
<pch>hal.h</pch>
|
||||
|
|
Loading…
Reference in a new issue