-# $Id: Makefile,v 1.266 2004/12/01 16:07:57 greatlrd Exp $
+# $Id: Makefile,v 1.267 2004/12/03 20:10:40 gvg Exp $
#
# Global makefile
#
# Hardware Abstraction Layers
# halx86
-HALS = halx86
+HALS = halx86/up halx86/mp
# Bus drivers
# acpi isapnp pci
-/* $Id: adapter.c,v 1.14 2004/11/24 17:54:38 navaraf Exp $
+/* $Id: adapter.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
-/* $Id: bus.c,v 1.7 2003/12/28 22:38:09 fireball Exp $
+/* $Id: bus.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: display.c,v 1.18 2004/10/31 19:45:16 ekohl Exp $
+/* $Id: display.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
-/* $Id: dma.c,v 1.10 2004/11/21 21:53:06 ion Exp $
+/* $Id: dma.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
-/* $Id: drive.c,v 1.4 2003/02/26 14:14:03 ekohl Exp $
+/* $Id: drive.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
-/* $Id: enum.c,v 1.5 2002/09/08 10:22:24 chorns Exp $
+/* $Id: enum.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
-#include <roscfg.h>
#define NDEBUG
#include <internal/debug.h>
-/* $Id: fmutex.c,v 1.5 2002/09/08 10:22:24 chorns Exp $
+/* $Id: fmutex.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
-/* $Id: halinit.c,v 1.10 2004/11/28 01:30:01 hbirr Exp $
+/* $Id: halinit.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* INCLUDES *****************************************************************/
#include <ddk/ntddk.h>
-#include <roscfg.h>
#include <hal.h>
-#ifdef MP
-#include <mps.h>
-#endif /* MP */
-
#define NDEBUG
#include <internal/debug.h>
{
/* Initialize display and make the screen black */
HalInitializeDisplay (LoaderBlock);
-
-#ifdef MP
-
- HalpInitMPS();
-
-#else
-
- HalpInitPICs();
-
- /* Setup busy waiting */
- HalpCalibrateStallExecution();
-
-#endif /* MP */
+ HalpInitPhase0();
}
else if (BootPhase == 1)
{
--- /dev/null
+/* $Id: ipi.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
+ *
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS kernel
+ * FILE: hal/halx86/generic/ipi.c
+ * PURPOSE: Miscellaneous hardware functions
+ * PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <ddk/ntddk.h>
+#include <hal.h>
+
+#define NDEBUG
+#include <internal/debug.h>
+
+/* FUNCTIONS ****************************************************************/
+
+VOID STDCALL
+HalRequestIpi(ULONG ProcessorNo)
+{
+ DPRINT("HalRequestIpi(ProcessorNo %d)\n", ProcessorNo);
+}
+
+/* EOF */
-/* $Id: irql.c,v 1.22 2004/11/21 21:53:06 ion Exp $
+/* $Id: irql.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* INCLUDES *****************************************************************/
-#include <roscfg.h>
#include <ddk/ntddk.h>
#include <internal/ps.h>
#include <ntos/minmax.h>
-/* $Id: isa.c,v 1.7 2004/11/01 14:37:19 hbirr Exp $
+/* $Id: isa.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* INCLUDES ***************************************************************/
-#include <roscfg.h>
#include <ddk/ntddk.h>
#include <bus.h>
#include <halirq.h>
-/* $Id: kdbg.c,v 1.8 2004/04/29 17:06:21 navaraf Exp $
+/* $Id: kdbg.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: mca.c,v 1.3 2003/12/28 22:38:09 fireball Exp $
+/* $Id: mca.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
-/* $Id: misc.c,v 1.8 2004/11/28 01:30:01 hbirr Exp $
+/* $Id: misc.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* INCLUDES *****************************************************************/
-#include <roscfg.h>
#include <ddk/ntddk.h>
#include <hal.h>
-#ifdef MP
-#include <apic.h>
-#endif
-
#define NDEBUG
#include <internal/debug.h>
/* FUNCTIONS ****************************************************************/
-#ifdef MP
-
-VOID
-HaliReconfigurePciInterrupts(VOID);
-
-#endif
-
VOID STDCALL
HalHandleNMI(ULONG Unused)
{
#endif
}
-VOID STDCALL
-HalRequestIpi(ULONG ProcessorNo)
-{
- DPRINT("HalRequestIpi(ProcessorNo %d)\n", ProcessorNo);
-#ifdef MP
- APICSendIPI(1 << ProcessorNo,
- IPI_VECTOR|APIC_ICR0_LEVEL_DEASSERT|APIC_ICR0_DESTM);
-#endif
-}
-
ULONG FASTCALL
HalSystemVectorDispatchEntry (
ULONG Unknown1,
return;
}
-
-VOID STDCALL
-HalReportResourceUsage(VOID)
-{
- /*
- * FIXME: Report all resources used by hal.
- * Calls IoReportHalResourceUsage()
- */
-
- /* Initialize PCI bus. */
- HalpInitPciBus ();
-#ifdef MP
-
- HaliReconfigurePciInterrupts();
-#endif
-
-}
-
/* EOF */
-/* $Id: pci.c,v 1.14 2004/11/15 09:18:19 ekohl Exp $
+/* $Id: pci.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* INCLUDES *****************************************************************/
-#include <roscfg.h>
#include <ddk/ntddk.h>
#include <bus.h>
#include <halirq.h>
-/* $Id: portio.c,v 1.4 2003/12/28 22:38:09 fireball Exp $
+/* $Id: portio.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
--- /dev/null
+/* $Id: processor.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
+ *
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS kernel
+ * FILE: hal/halx86/generic/processor.c
+ * PURPOSE: Intel MultiProcessor specification support
+ * PROGRAMMER: David Welch (welch@cwcom.net)
+ * Casper S. Hornstrup (chorns@users.sourceforge.net)
+ * NOTES: Parts adapted from linux SMP code
+ * UPDATE HISTORY:
+ * 22/05/1998 DW Created
+ * 12/04/2001 CSH Added MultiProcessor specification support
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <ddk/ntddk.h>
+#include <hal.h>
+
+#define NDEBUG
+#include <internal/debug.h>
+
+
+/* FUNCTIONS *****************************************************************/
+
+VOID STDCALL
+HalInitializeProcessor(ULONG ProcessorNumber,
+ PVOID /*PLOADER_PARAMETER_BLOCK*/ LoaderBlock)
+{
+ DPRINT("HalInitializeProcessor(%x %x)\n", ProcessorNumber, LoaderBlock);
+}
+
+BOOLEAN STDCALL
+HalAllProcessorsStarted (VOID)
+{
+ DPRINT("HalAllProcessorsStarted()\n");
+
+ return TRUE;
+}
+
+BOOLEAN STDCALL
+HalStartNextProcessor(ULONG Unknown1,
+ ULONG ProcessorStack)
+{
+ DPRINT("HalStartNextProcessor(%x %x)\n", ProcessorNumber, ProcessorStack);
+
+ return TRUE;
+}
+
+/* EOF */
-/* $Id: pwroff.c,v 1.4 2003/12/28 22:38:09 fireball Exp $
+/* $Id: pwroff.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* FILE : reactos/hal/x86/apm.c
* DESCRIPTION: Turn CPU off...
-/* $Id: reboot.c,v 1.7 2004/07/20 21:25:36 hbirr Exp $
+/* $Id: reboot.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
--- /dev/null
+/* $Id: resource.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
+ *
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS kernel
+ * FILE: hal/halx86/generic/resource.c
+ * PURPOSE: Miscellaneous resource functions
+ * PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <ddk/ntddk.h>
+#include <hal.h>
+
+#define NDEBUG
+#include <internal/debug.h>
+
+/* FUNCTIONS ****************************************************************/
+
+VOID STDCALL
+HalReportResourceUsage(VOID)
+{
+ /*
+ * FIXME: Report all resources used by hal.
+ * Calls IoReportHalResourceUsage()
+ */
+
+ /* Initialize PCI bus. */
+ HalpInitPciBus ();
+}
+
+/* EOF */
-/* $Id: spinlock.c,v 1.9 2004/10/22 20:08:22 ekohl Exp $
+/* $Id: spinlock.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
-/* $Id: sysbus.c,v 1.7 2004/11/01 14:37:19 hbirr Exp $
+/* $Id: sysbus.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* INCLUDES *****************************************************************/
-#include <roscfg.h>
#include <ddk/ntddk.h>
#include <bus.h>
#include <halirq.h>
* MA 02139, USA.
*
*/
-/* $Id: timer.c,v 1.8 2004/11/28 01:30:01 hbirr Exp $
+/* $Id: timer.c,v 1.1 2004/12/03 20:10:43 gvg Exp $
*
* PROJECT: ReactOS kernel
* FILE: ntoskrnl/hal/x86/udelay.c
/* INCLUDES ***************************************************************/
-#include <roscfg.h>
#include <ddk/ntddk.h>
#include <internal/ps.h>
#include <hal.h>
/* dma.c */
VOID HalpInitDma (VOID);
+/* Non-generic initialization */
+VOID HalpInitPhase0 (VOID);
+
/* DMA Page Register Structure
080 DMA RESERVED
081 DMA Page Register (channel 2)
-# $Id: Makefile,v 1.15 2004/11/28 01:30:01 hbirr Exp $
+# $Id: Makefile,v 1.1 2004/12/03 20:10:44 gvg Exp $
-PATH_TO_TOP = ../..
+PATH_TO_TOP = ../../..
+
+VPATH = ../generic
default: all
#
include $(TOOLS_PATH)/config.mk
-TARGET_BOOTSTRAP = yes
-
TARGET_TYPE = hal
-TARGET_BASENAME = hal
+TARGET_DEFNAME = ../../hal/hal
-TARGET_DEFNAME = ../hal/hal
+TARGET_ASFLAGS = -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/ntoskrnl/include -D__ASM__ -DMP
-TARGET_ASFLAGS = -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/ntoskrnl/include -D__ASM__
-
-TARGET_CFLAGS = -I./include -I$(PATH_TO_TOP)/ntoskrnl/include -Wall -Werror
+TARGET_CFLAGS = -I../include -I$(PATH_TO_TOP)/ntoskrnl/include -Wall -Werror -DMP
# require os code to explicitly request A/W version of structs/functions
TARGET_CFLAGS += -D_DISABLE_TIDENTS
+TARGET_NAME = halmp
-TARGET_NAME_UP = halx86up
-
-TARGET_NAME_MP = halx86mp
-
-ifeq ($(MP), 1)
-TARGET_NAME = $(TARGET_NAME_MP)
+ifneq ($(MP), 1)
+TARGET_INSTALL = no
else
-TARGET_NAME = $(TARGET_NAME_UP)
+TARGET_BOOTSTRAP = yes
endif
-HAL_OBJECTS = \
+GENERIC_OBJECTS = \
adapter.o \
beep.o \
bus.o \
kdbg.o \
mca.o \
misc.o \
- mp.o \
pci.o \
portio.o \
reboot.o \
time.o \
timer.o
- #pwroff.o
-
-HAL_UP = \
- $(HAL_OBJECTS) \
- irql.o
-
-HAL_MP = \
- $(HAL_OBJECTS) \
+MP_OBJECTS = \
apic.o \
+ halinit_mp.o \
+ ipi_mp.o \
mpsirql.o \
mpsboot.o \
- mps.o
+ mps.o \
+ processor_mp.o \
+ resource_mp.o
-ifeq ($(MP), 1)
-DEP_OBJECTS := $(HAL_MP)
-else
-DEP_OBJECTS := $(HAL_UP)
-endif
+HAL_OBJECTS = $(GENERIC_OBJECTS) $(MP_OBJECTS)
+
+DEP_OBJECTS := $(HAL_OBJECTS)
TARGET_OBJECTS := $(DEP_OBJECTS) $(PATH_TO_TOP)/include/roscfg.h
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
-/* $Id: apic.c,v 1.1 2004/11/28 01:30:01 hbirr Exp $
+/* $Id: apic.c,v 1.1 2004/12/03 20:10:44 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
* PROGRAMMER:
*/
-#include <roscfg.h>
#include <ddk/ntddk.h>
+#include <internal/i386/ps.h>
#include <hal.h>
#include <halirq.h>
--- /dev/null
+/* $Id: halinit_mp.c,v 1.1 2004/12/03 20:10:44 gvg Exp $
+ *
+ * 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 <ddk/ntddk.h>
+#include <hal.h>
+#include <mps.h>
+
+#define NDEBUG
+#include <internal/debug.h>
+
+/* FUNCTIONS ***************************************************************/
+
+VOID
+HalpInitPhase0(VOID)
+{
+ HalpInitMPS();
+}
+
+/* EOF */
--- /dev/null
+/* $Id: ipi_mp.c,v 1.1 2004/12/03 20:10:44 gvg Exp $
+ *
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS kernel
+ * FILE: hal/halx86/mp/ipi_mp.c
+ * PURPOSE: IPI functions for MP
+ * PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <ddk/ntddk.h>
+#include <hal.h>
+#include <apic.h>
+
+#define NDEBUG
+#include <internal/debug.h>
+
+/* FUNCTIONS ****************************************************************/
+
+VOID STDCALL
+HalRequestIpi(ULONG ProcessorNo)
+{
+ DPRINT("HalRequestIpi(ProcessorNo %d)\n", ProcessorNo);
+ APICSendIPI(1 << ProcessorNo,
+ IPI_VECTOR|APIC_ICR0_LEVEL_DEASSERT|APIC_ICR0_DESTM);
+}
+
+/* EOF */
-/* $Id: mps.S,v 1.4 2004/11/28 01:30:01 hbirr Exp $
+/* $Id: mps.S,v 1.1 2004/12/03 20:10:44 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
/* FUNCTIONS *****************************************************************/
#define BEFORE \
- cld; \
+ cld; \
pusha; \
pushl %ds; \
pushl %es; \
/* INCLUDES *****************************************************************/
-#include <roscfg.h>
#include <ddk/ntddk.h>
#include <internal/ke.h>
#include <internal/ps.h>
-/* $Id: mp.c,v 1.12 2004/11/28 01:30:01 hbirr Exp $
+/* $Id: processor_mp.c,v 1.1 2004/12/03 20:10:44 gvg Exp $
*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS kernel
- * FILE: ntoskrnl/hal/x86/mp.c
+ * FILE: hal/halx86/mp/processor_mp.c
* PURPOSE: Intel MultiProcessor specification support
* PROGRAMMER: David Welch (welch@cwcom.net)
* Casper S. Hornstrup (chorns@users.sourceforge.net)
/* INCLUDES *****************************************************************/
-#include <roscfg.h>
#include <ddk/ntddk.h>
-
-
-#ifdef MP
-
#include <hal.h>
#include <halirq.h>
#include <mps.h>
#include <internal/ke.h>
#include <internal/ps.h>
-#endif
-
#define NDEBUG
#include <internal/debug.h>
-#ifdef MP
-
-
/*
Address of area to be used for communication between Application
Processors (APs) and the BootStrap Processor (BSP)
WRITE_PORT_UCHAR((PUCHAR)0x71, value); \
})
-#endif /* MP */
-
-
/* FUNCTIONS *****************************************************************/
-#ifdef MP
-
/* Functions for handling 8259A PICs */
VOID Disable8259AIrq(ULONG irq)
idt->b = 0x8e00 + (((ULONG)address)&0xffff0000);
}
-#endif /* MP */
-
VOID STDCALL
HalInitializeProcessor(ULONG ProcessorNumber,
PVOID /*PLOADER_PARAMETER_BLOCK*/ LoaderBlock)
{
-#ifdef MP
ULONG CPU;
-#endif
DPRINT("HalInitializeProcessor(%x %x)\n", ProcessorNumber, LoaderBlock);
-#ifdef MP
CPU = ThisCPU();
if (OnlineCPUs & (1 << CPU))
{
/* Setup busy waiting */
HalpCalibrateStallExecution();
-#endif
}
BOOLEAN STDCALL
HalAllProcessorsStarted (VOID)
{
- DPRINT("HalAllProcessorsStarted()\n");
-
-#ifdef MP
-
ULONG CPUs = 0, i;
+
+ DPRINT("HalAllProcessorsStarted()\n");
for (i = 0; i < 32; i++)
{
if (OnlineCPUs & (1 << i))
return TRUE;
}
return FALSE;
-
-#else /* MP */
-
- return TRUE;
-
-#endif /* MP */
}
BOOLEAN STDCALL
HalStartNextProcessor(ULONG Unknown1,
ULONG ProcessorStack)
{
-#ifdef MP
PCOMMON_AREA_INFO Common;
ULONG StartupCount;
ULONG DeliveryStatus = 0;
}
#endif
-#endif /* MP */
return TRUE;
}
-#ifdef MP
-
ULONG MPChecksum(PUCHAR Base,
ULONG Size)
/*
}
-#endif /* MP */
-
/* EOF */
--- /dev/null
+/* $Id: resource_mp.c,v 1.1 2004/12/03 20:10:44 gvg Exp $
+ *
+ * COPYRIGHT: See COPYING in the top level directory
+ * PROJECT: ReactOS kernel
+ * FILE: hal/halx86/mp/resource_mp.c
+ * PURPOSE: Miscellaneous resource functions for MP
+ * PROGRAMMER: Eric Kohl (ekohl@rz-online.de)
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <ddk/ntddk.h>
+#include <hal.h>
+
+#define NDEBUG
+#include <internal/debug.h>
+
+/* FUNCTIONS ****************************************************************/
+
+VOID
+HaliReconfigurePciInterrupts(VOID);
+
+
+VOID STDCALL
+HalReportResourceUsage(VOID)
+{
+ /*
+ * FIXME: Report all resources used by hal.
+ * Calls IoReportHalResourceUsage()
+ */
+
+ /* Initialize PCI bus. */
+ HalpInitPciBus ();
+
+ HaliReconfigurePciInterrupts();
+}
+
+/* EOF */
--- /dev/null
+*.d
+*.dll
+*.coff
+*.a
+*.o
+*.sym
+*.map
--- /dev/null
+# $Id: Makefile,v 1.1 2004/12/03 20:10:45 gvg Exp $
+
+PATH_TO_TOP = ../../..
+
+VPATH = ../generic
+
+default: all
+
+#
+# Build configuration
+#
+include $(PATH_TO_TOP)/rules.mak
+
+#
+# Global configuration
+#
+include $(TOOLS_PATH)/config.mk
+
+TARGET_BOOTSTRAP = yes
+
+TARGET_TYPE = hal
+
+TARGET_DEFNAME = ../../hal/hal
+
+TARGET_ASFLAGS = -I$(PATH_TO_TOP)/include -I$(PATH_TO_TOP)/ntoskrnl/include -D__ASM__ -DUP
+
+TARGET_CFLAGS = -I../include -I$(PATH_TO_TOP)/ntoskrnl/include -Wall -Werror -DUP
+
+# require os code to explicitly request A/W version of structs/functions
+TARGET_CFLAGS += -D_DISABLE_TIDENTS
+
+TARGET_NAME = halup
+
+ifeq ($(MP), 1)
+TARGET_INSTALL = no
+else
+TARGET_BOOTSTRAP = yes
+endif
+
+GENERIC_OBJECTS = \
+ adapter.o \
+ beep.o \
+ bus.o \
+ display.o \
+ dma.o \
+ drive.o \
+ enum.o \
+ fmutex.o \
+ halinit.o \
+ ipi.o \
+ irql.o \
+ isa.o \
+ kdbg.o \
+ mca.o \
+ misc.o \
+ pci.o \
+ portio.o \
+ processor.o \
+ reboot.o \
+ resource.o \
+ spinlock.o \
+ sysbus.o \
+ sysinfo.o \
+ time.o \
+ timer.o
+
+UP_OBJECTS = \
+ halinit_up.o
+
+HAL_OBJECTS = $(GENERIC_OBJECTS) $(UP_OBJECTS)
+
+DEP_OBJECTS := $(HAL_OBJECTS)
+
+TARGET_OBJECTS := $(DEP_OBJECTS) $(PATH_TO_TOP)/include/roscfg.h
+
+# Note: Must be = and not := since $(DEP_FILES) is assigned a value below
+TARGET_CLEAN = $(DEP_FILES) *.o *.dll
+
+#
+# Helper makefile
+#
+include $(TOOLS_PATH)/helper.mk
+
+#
+# Include automatic dependancy tracking
+#
+include $(TOOLS_PATH)/depend.mk
+
+# EOF
--- /dev/null
+/* $Id: halinit_up.c,v 1.1 2004/12/03 20:10:45 gvg Exp $
+ *
+ * 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 <ddk/ntddk.h>
+#include <hal.h>
+
+#define NDEBUG
+#include <internal/debug.h>
+
+/* FUNCTIONS ***************************************************************/
+
+VOID
+HalpInitPhase0(VOID)
+{
+ HalpInitPICs();
+
+ /* Setup busy waiting */
+ HalpCalibrateStallExecution();
+}
+
+/* EOF */
#define REACTOS_VERSION_DLL
#define REACTOS_STR_FILE_DESCRIPTION "X86 Uniprocessor Hardware Abstraction Layer\0"
-#define REACTOS_STR_INTERNAL_NAME "halx86up\0"
-#define REACTOS_STR_ORIGINAL_FILENAME "halx86up.dll\0"
+#define REACTOS_STR_INTERNAL_NAME "halup\0"
+#define REACTOS_STR_ORIGINAL_FILENAME "halup.dll\0"
#include <reactos/version.rc>
KIRQL STDCALL KeGetCurrentIrql (VOID);
#ifndef __USE_W32API
-ULONG KeGetCurrentProcessorNumber(VOID);
+#define KeGetCurrentProcessorNumber() (KeGetCurrentKPCR()->ProcessorNumber)
ULONG KeGetDcacheFillSize(VOID);
ULONG STDCALL KeGetPreviousMode (VOID);
#endif
-# $Id: helper.mk,v 1.95 2004/11/20 17:48:38 chorns Exp $
+# $Id: helper.mk,v 1.96 2004/12/03 20:10:45 gvg Exp $
#
# Helper makefile for ReactOS modules
# Variables this makefile accepts:
# $TARGET_BOOTSTRAP = Whether this file is needed to bootstrap the installation (no,yes) (optional)
# $TARGET_BOOTSTRAP_NAME = Name on the installation medium (optional)
# $TARGET_REGTESTS = This module has regression tests (no,yes) (optional)
+# $TARGET_INSTALL = Install the file (no,yes) (optional)
# $SUBDIRS = Subdirs in which to run make (optional)
include $(PATH_TO_TOP)/config
MK_BOOTCDDIR := .
MK_DISTDIR := dlls
MK_RES_BASE := $(TARGET_NAME)
+ MK_INSTALL_BASENAME := hal
+ MK_INSTALL_FULLNAME := hal.dll
endif
ifeq ($(TARGET_TYPE),bootpgm)
TARGET_OBJECTS := _rtstub.o _regtests.o $(TARGET_OBJECTS)
endif
-
# can be overidden with $(CXX) for linkage of c++ executables
LD_CC = $(CC)
MK_REGTESTS_CLEAN :=
endif
+ifeq ($(TARGET_INSTALL),)
+ MK_INSTALL := yes
+else
+ MK_INSTALL := $(TARGET_INSTALL)
+endif
+
+ifeq ($(MK_INSTALL_BASENAME),)
+ MK_INSTALL_BASENAME := $(MK_BASENAME)
+endif
+ifeq ($(MK_INSTALL_FULLNAME),)
+ MK_INSTALL_FULLNAME := $(MK_FULLNAME)
+endif
+
ifeq ($(MK_IMPLIBONLY),yes)
TARGET_CLEAN += $(MK_IMPLIBPATH)/$(MK_IMPLIB_FULLNAME)
# Don't install import libraries
+forceinstall:
+
install:
bootcd:
# Don't install static libraries
ifeq ($(MK_MODE),static)
+forceinstall:
+
install:
bootcd:
else # MK_MODE
+ifneq ($(MK_INSTALL),no)
+
+install: forceinstall
+
+else # MK_INSTALL
+
+install:
+
+endif # MK_INSTALL
+
ifeq ($(INSTALL_SYMBOLS),yes)
-install: $(SUBDIRS:%=%_install) $(MK_FULLNAME) $(MK_BASENAME).sym
- -$(CP) $(MK_FULLNAME) $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_FULLNAME)
- -$(CP) $(MK_BASENAME).sym $(INSTALL_DIR)/symbols/$(MK_BASENAME).sym
+forceinstall: $(SUBDIRS:%=%_install) $(MK_FULLNAME) $(MK_BASENAME).sym
+ -$(CP) $(MK_FULLNAME) $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_INSTALL_FULLNAME)
+ -$(CP) $(MK_BASENAME).sym $(INSTALL_DIR)/symbols/$(MK_INSTALL_BASENAME).sym
@echo $(MK_FULLNAME) was successfully installed.
else # INSTALL_SYMBOLS
-install: $(SUBDIRS:%=%_install) $(MK_FULLNAME)
- -$(CP) $(MK_FULLNAME) $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_FULLNAME)
+forceinstall: $(SUBDIRS:%=%_install) $(MK_FULLNAME)
+ -$(CP) $(MK_FULLNAME) $(INSTALL_DIR)/$(MK_INSTALLDIR)/$(MK_INSTALL_FULLNAME)
endif # INSTALL_SYMBOLS
include_tests = 0;
for (i = 2; i < argc; i++)
{
- if (strcmp(argv[i], "REGTESTS") == 0)
+ if (strcmp(argv[i], "REGTESTS") == 0)
{
include_tests = 1;
}
- s = s + sprintf(s, "#define %s\n", argv[i]);
+ if (strcmp(argv[i], "MP") == 0 || strcmp(argv[i], "UP") == 0)
+ {
+ s = s + sprintf(s, "#if ! defined(MP) && ! defined(UP)\n");
+ s = s + sprintf(s, "#define %s\n", argv[i]);
+ s = s + sprintf(s, "#endif /* ! defined(MP) && ! defined(UP) */\n");
+ }
+ else
+ {
+ s = s + sprintf(s, "#define %s\n", argv[i]);
+ }
strcat(config, argv[i]);
if (i != (argc - 1))
{