mirror of
https://github.com/reactos/reactos.git
synced 2024-07-23 20:58:16 +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
|
@ -27,7 +27,6 @@
|
||||||
<if property="ARCH" value="amd64">
|
<if property="ARCH" value="amd64">
|
||||||
<directory name="halx86">
|
<directory name="halx86">
|
||||||
<xi:include href="halx86/hal_generic_amd64.rbuild" />
|
<xi:include href="halx86/hal_generic_amd64.rbuild" />
|
||||||
<xi:include href="halx86/hal_generic_pc.rbuild" />
|
|
||||||
</directory>
|
</directory>
|
||||||
<directory name="halamd64">
|
<directory name="halamd64">
|
||||||
<xi:include href="halamd64/directory.rbuild" />
|
<xi:include href="halamd64/directory.rbuild" />
|
||||||
|
|
|
@ -14,9 +14,9 @@ HalAssignSlotResources
|
||||||
HalCalibratePerformanceCounter
|
HalCalibratePerformanceCounter
|
||||||
HalClearSoftwareInterrupt
|
HalClearSoftwareInterrupt
|
||||||
;HalConvertDeviceIdtToIrql
|
;HalConvertDeviceIdtToIrql
|
||||||
;HalDisableInterrupt
|
HalDisableInterrupt
|
||||||
HalDisplayString
|
HalDisplayString
|
||||||
;HalEnableInterrupt
|
HalEnableInterrupt
|
||||||
;HalEnumerateEnvironmentVariablesEx
|
;HalEnumerateEnvironmentVariablesEx
|
||||||
;HalEnumerateProcessors
|
;HalEnumerateProcessors
|
||||||
HalFlushCommonBuffer
|
HalFlushCommonBuffer
|
||||||
|
@ -52,7 +52,7 @@ HalRequestIpi
|
||||||
HalRequestSoftwareInterrupt
|
HalRequestSoftwareInterrupt
|
||||||
HalReturnToFirmware
|
HalReturnToFirmware
|
||||||
;HalSendNMI
|
;HalSendNMI
|
||||||
;HalSendSoftwareInterrupt
|
HalSendSoftwareInterrupt
|
||||||
HalSetBusData
|
HalSetBusData
|
||||||
HalSetBusDataByOffset
|
HalSetBusDataByOffset
|
||||||
HalSetDisplayParameters
|
HalSetDisplayParameters
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<file>halinit.c</file>
|
<file>halinit.c</file>
|
||||||
<file>irq.S</file>
|
<file>irq.S</file>
|
||||||
<file>misc.c</file>
|
<file>misc.c</file>
|
||||||
|
<file>mps.S</file>
|
||||||
<file>systimer.S</file>
|
<file>systimer.S</file>
|
||||||
<pch>../include/hal.h</pch>
|
<pch>../include/hal.h</pch>
|
||||||
</module>
|
</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 */
|
|
|
@ -34,13 +34,44 @@
|
||||||
.globl _HalpInitPICs
|
.globl _HalpInitPICs
|
||||||
.func _HalpInitPICs
|
.func _HalpInitPICs
|
||||||
_HalpInitPICs:
|
_HalpInitPICs:
|
||||||
UNIMPLEMENTED "HalpInitPICs"
|
UNIMPLEMENTED "HalpInitPICs"
|
||||||
|
|
||||||
.endfunc
|
.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
|
.globl _HalClearSoftwareInterrupt
|
||||||
.func _HalClearSoftwareInterrupt
|
.func _HalClearSoftwareInterrupt
|
||||||
_HalClearSoftwareInterrupt:
|
_HalClearSoftwareInterrupt:
|
||||||
|
UNIMPLEMENTED "HalClearSoftwareInterrupt"
|
||||||
|
|
||||||
/* Get IRR mask */
|
/* Get IRR mask */
|
||||||
mov eax, 1
|
mov eax, 1
|
||||||
|
@ -52,42 +83,9 @@ _HalClearSoftwareInterrupt:
|
||||||
ret
|
ret
|
||||||
.endfunc
|
.endfunc
|
||||||
|
|
||||||
.globl _HalRequestSoftwareInterrupt
|
|
||||||
.func _HalRequestSoftwareInterrupt
|
|
||||||
_HalRequestSoftwareInterrupt:
|
|
||||||
UNIMPLEMENTED "HalRequestSoftwareInterrupt"
|
|
||||||
.endfunc
|
|
||||||
|
|
||||||
.globl _HalBeginSystemInterrupt
|
.globl _HalBeginSystemInterrupt
|
||||||
.func _HalBeginSystemInterrupt
|
.func _HalBeginSystemInterrupt
|
||||||
_HalBeginSystemInterrupt:
|
_HalBeginSystemInterrupt:
|
||||||
UNIMPLEMENTED "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
|
.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="_DISABLE_TIDENTS" />
|
||||||
<define name="_NTHAL_" />
|
<define name="_NTHAL_" />
|
||||||
<library>hal_generic_amd64</library>
|
<library>hal_generic_amd64</library>
|
||||||
<library>hal_generic_pc</library>
|
|
||||||
<library>hal_generic</library>
|
<library>hal_generic</library>
|
||||||
<library>ntoskrnl</library>
|
<library>ntoskrnl</library>
|
||||||
<file>halinit_up.c</file>
|
<file>halinit_up.c</file>
|
||||||
|
|
|
@ -13,13 +13,14 @@
|
||||||
<file>dma.c</file>
|
<file>dma.c</file>
|
||||||
<file>drive.c</file>
|
<file>drive.c</file>
|
||||||
<file>display.c</file>
|
<file>display.c</file>
|
||||||
|
<file>pci.c</file>
|
||||||
<file>profil.c</file>
|
<file>profil.c</file>
|
||||||
<file>reboot.c</file>
|
<file>reboot.c</file>
|
||||||
<file>sysinfo.c</file>
|
<file>sysinfo.c</file>
|
||||||
<file>timer.c</file>
|
<file>timer.c</file>
|
||||||
</directory>
|
</directory>
|
||||||
<directory name="mp">
|
<directory name="mp">
|
||||||
<!-- file>apic.c</file -->
|
<file>apic.c</file>
|
||||||
</directory>
|
</directory>
|
||||||
<directory name="include">
|
<directory name="include">
|
||||||
<pch>hal.h</pch>
|
<pch>hal.h</pch>
|
||||||
|
|
Loading…
Reference in a new issue