[ros-diffs] [tkreuzer] 44831: [HAL] - begin integrating halamd64 into halx86 - Move some amd64 specific stuff into halx86 - use hal_generic for amd64, too

tkreuzer at svn.reactos.org tkreuzer at svn.reactos.org
Thu Dec 31 17:51:05 CET 2009


Author: tkreuzer
Date: Thu Dec 31 17:51:05 2009
New Revision: 44831

URL: http://svn.reactos.org/svn/reactos?rev=44831&view=rev
Log:
[HAL]
- begin integrating halamd64 into halx86
- Move some amd64 specific stuff into halx86
- use hal_generic for amd64, too

Added:
    branches/ros-amd64-bringup/reactos/hal/halx86/generic/amd64/   (with props)
    branches/ros-amd64-bringup/reactos/hal/halx86/generic/amd64/irq.S
      - copied unchanged from r44816, branches/ros-amd64-bringup/reactos/hal/halamd64/generic/irq.S
    branches/ros-amd64-bringup/reactos/hal/halx86/generic/amd64/systimer.S
      - copied unchanged from r44816, branches/ros-amd64-bringup/reactos/hal/halamd64/generic/systimer.S
    branches/ros-amd64-bringup/reactos/hal/halx86/generic/x86bios.c
      - copied unchanged from r44816, branches/ros-amd64-bringup/reactos/hal/halamd64/generic/x86bios.c
Removed:
    branches/ros-amd64-bringup/reactos/hal/halamd64/generic/irq.S
    branches/ros-amd64-bringup/reactos/hal/halamd64/generic/systimer.S
    branches/ros-amd64-bringup/reactos/hal/halamd64/generic/x86bios.c
    branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic_amd64.rbuild
Modified:
    branches/ros-amd64-bringup/reactos/hal/hal.rbuild
    branches/ros-amd64-bringup/reactos/hal/halamd64/generic/generic.rbuild
    branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic.rbuild

Modified: branches/ros-amd64-bringup/reactos/hal/hal.rbuild
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/hal/hal.rbuild?rev=44831&r1=44830&r2=44831&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/hal/hal.rbuild [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/hal/hal.rbuild [iso-8859-1] Thu Dec 31 17:51:05 2009
@@ -25,7 +25,7 @@
 	</if>
 	<if property="ARCH" value="amd64">
 		<directory name="halx86">
-			<xi:include href="halx86/hal_generic_amd64.rbuild" />
+			<xi:include href="halx86/hal_generic.rbuild" />
 		</directory>
 		<directory name="halamd64">
 			<xi:include href="halamd64/directory.rbuild" />

Modified: branches/ros-amd64-bringup/reactos/hal/halamd64/generic/generic.rbuild
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/hal/halamd64/generic/generic.rbuild?rev=44831&r1=44830&r2=44831&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/hal/halamd64/generic/generic.rbuild [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/hal/halamd64/generic/generic.rbuild [iso-8859-1] Thu Dec 31 17:51:05 2009
@@ -1,20 +1,16 @@
 <?xml version="1.0"?>
 <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
 <group>
-	<module name="hal_generic" type="objectlibrary">
-		<include base="hal_generic">../include</include>
+	<module name="hal_generic_amd64" type="objectlibrary">
+		<include base="hal_generic_amd64">../include</include>
 		<include base="ntoskrnl">include</include>
 		<define name="_DISABLE_TIDENTS" />
 		<define name="_NTHAL_" />
-		<define name="_X86BIOS_" />
 		<file>halinit.c</file>
-		<file>irq.S</file>
 		<file>misc.c</file>
 		<file>mps.S</file>
-		<file>systimer.S</file>
 		<file>usage.c</file>
 		<file>pic.c</file>
-		<file>x86bios.c</file>
 		<pch>../include/hal.h</pch>
 	</module>
 </group>

Removed: branches/ros-amd64-bringup/reactos/hal/halamd64/generic/irq.S
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/hal/halamd64/generic/irq.S?rev=44830&view=auto
==============================================================================
--- branches/ros-amd64-bringup/reactos/hal/halamd64/generic/irq.S [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/hal/halamd64/generic/irq.S (removed)
@@ -1,85 +1,0 @@
-/*
- * FILE:            hal/halx86/generic/irq.S
- * COPYRIGHT:       See COPYING in the top level directory
- * PURPOSE:         Software, System and Hardware IRQ Management
- * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
- */
-
-/* INCLUDES ******************************************************************/
-
-#include <asm.h>
-#include <internal/i386/asmmacro.S>
-.intel_syntax noprefix
-
-.macro UNIMPLEMENTED func
-    jmp 2f
-1:
-    .ascii "Sorry, asm function "
-    .ascii func
-    .ascii " is unimplemented!\n\0"
-2:
-    movabs rcx, offset 1b
-    call _DbgPrint
-    ret
-.endm
-
-
-
-/* GLOBALS *******************************************************************/
-
-
-
-/* FUNCTIONS *****************************************************************/
-
-.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
-    shl eax, cl
-    not eax
-
-    /* Set IRR */
-//    and gs:[KPCR_IRR], eax
-    ret
-.endfunc
-
-.globl _HalBeginSystemInterrupt
-.func _HalBeginSystemInterrupt
-_HalBeginSystemInterrupt:
-    UNIMPLEMENTED "HalBeginSystemInterrupt"
-.endfunc
-

Removed: branches/ros-amd64-bringup/reactos/hal/halamd64/generic/systimer.S
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/hal/halamd64/generic/systimer.S?rev=44830&view=auto
==============================================================================
--- branches/ros-amd64-bringup/reactos/hal/halamd64/generic/systimer.S [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/hal/halamd64/generic/systimer.S (removed)
@@ -1,118 +1,0 @@
-/*
- * FILE:            hal/halx86/generic/timer.S
- * COPYRIGHT:       See COPYING in the top level directory
- * PURPOSE:         System Timer Interrupt and Management
- * PROGRAMMER:      Alex Ionescu (alex at relsoft.net)
- */
-
-/* INCLUDES ******************************************************************/
-
-#include <asm.h>
-#include <ndk/amd64/asmmacro.S>
-
-/* GLOBALS *******************************************************************/
-
-.data
-
-_UnhandledMsg:
-    .asciz "\n\x7\x7!!! Unhandled or Unexpected Code at line: %lx!!!\n"
-
-.global _MsgUnimplemented
-_MsgUnimplemented:
-.asciz "WARNING:  %s at %s:%d is UNIMPLEMENTED!\n"
-
-
-/* FUNCTIONS *****************************************************************/
-
-.text
-.code64
-
-.global _HalpReleaseCmosSpinLock
-.func HalpReleaseCmosSpinLock
-_HalpReleaseCmosSpinLock:
-
-.endfunc
-
-.global _HalpAcquireSystemHardwareSpinLock
-.func HalpAcquireSystemHardwareSpinLock
-_HalpAcquireSystemHardwareSpinLock:
-
-.endfunc
-
-.global _HalpCalibrateStallExecution at 0
-.func HalpCalibrateStallExecution at 0
-_HalpCalibrateStallExecution at 0:
-
-.endfunc
-
-.globl _HalpProfileInterrupt
-.func HalpProfileInterrupt
-_HalpProfileInterrupt:
-
-.endfunc
-
-
-.globl _KeStallExecutionProcessor
-.func KeStallExecutionProcessor
-_KeStallExecutionProcessor:
-
-    /* Get the number of microseconds required */
-    jecxz Done
-
-    /* Multiply by the stall factor */
-    mov eax, gs:[KPCR_STALL_SCALE_FACTOR]
-    mul ecx
-
-    /* Align to 16 bytes */
-    .align 16
-
-    /* Jump to subtraction loop */
-    jmp SubtractLoop
-
-    /* Align to 16 bytes */
-    .align 16
-
-    /* Subtract one count */
-SubtractLoop:
-    sub eax, 1
-    jnz SubtractLoop
-
-Done:
-    /* Return */
-    ret 4
-.endfunc
-
-
-.globl _HalpQuery8254Counter
-.func HalpQuery8254Counter
-_HalpQuery8254Counter:
-
-    /* Save EFLAGS and disable interrupts */
-    pushfq
-    cli
-
-    /* Set timer data */
-    mov al, 0
-    out 0x43, al
-    jmp $+2
-
-    /* Read current timer */
-    in al, 0x40
-    jmp $+2
-    movzx ecx, al
-    in al, 0x40
-    mov ch, al
-
-    /* Return it and restore interrupt state */
-    mov eax, ecx
-    popfq
-    ret
-.endfunc
-
-.globl _HalpClockInterrupt
-.func HalpClockInterrupt
-_HalpClockInterrupt:
-    UNIMPLEMENTED _HalpClockInterrupt
-    iret
-.endfunc
-

Removed: branches/ros-amd64-bringup/reactos/hal/halamd64/generic/x86bios.c
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/hal/halamd64/generic/x86bios.c?rev=44830&view=auto
==============================================================================
--- branches/ros-amd64-bringup/reactos/hal/halamd64/generic/x86bios.c [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/hal/halamd64/generic/x86bios.c (removed)
@@ -1,69 +1,0 @@
-/*
- * PROJECT:         ReactOS HAL
- * LICENSE:         See COPYING in the top level directory
- * FILE:            hal/halamd64/generic/x86bios.c
- * PURPOSE:         
- * PROGRAMMERS:     
- */
-
-/* INCLUDES ******************************************************************/
-
-#include <hal.h>
-//#define NDEBUG
-#include <debug.h>
-
-NTSTATUS
-NTAPI
-x86BiosAllocateBuffer (
-    ULONG *Size,
-    USHORT *Segment,
-    USHORT *Offset)
-{
-    UNIMPLEMENTED;
-    return STATUS_UNSUCCESSFUL;;
-
-}
-
-BOOLEAN
-NTAPI
-x86BiosCall (
-    ULONG InterruptNumber,
-    X86_BIOS_REGISTERS *Registers)
-{
-    UNIMPLEMENTED;
-    return FALSE;
-}
-
-NTSTATUS
-NTAPI
-x86BiosFreeBuffer (
-    USHORT Segment,
-    USHORT Offset)
-{
-    UNIMPLEMENTED;
-    return STATUS_UNSUCCESSFUL;;
-}
-
-NTSTATUS
-x86BiosReadMemory (
-    USHORT Segment,
-    USHORT Offset,
-    PVOID Buffer,
-    ULONG Size)
-{
-    UNIMPLEMENTED;
-    return STATUS_UNSUCCESSFUL;;
-}
-
-NTSTATUS
-NTAPI
-x86BiosWriteMemory (
-    USHORT Segment,
-    USHORT Offset,
-    PVOID Buffer,
-    ULONG Size)
-{
-    UNIMPLEMENTED;
-    return STATUS_UNSUCCESSFUL;;
-}
-

Propchange: branches/ros-amd64-bringup/reactos/hal/halx86/generic/amd64/
------------------------------------------------------------------------------
--- bugtraq:logregex (added)
+++ bugtraq:logregex Thu Dec 31 17:51:05 2009
@@ -1,0 +1,2 @@
+([Ii]ssue|[Bb]ug)s? #?(\d+)(,? ?#?(\d+))*(,? ?(and |or )?#?(\d+))?
+(\d+)

Propchange: branches/ros-amd64-bringup/reactos/hal/halx86/generic/amd64/
------------------------------------------------------------------------------
    bugtraq:message = See issue #%BUGID% for more details.

Propchange: branches/ros-amd64-bringup/reactos/hal/halx86/generic/amd64/
------------------------------------------------------------------------------
    bugtraq:url = http://www.reactos.org/bugzilla/show_bug.cgi?id=%BUGID%

Propchange: branches/ros-amd64-bringup/reactos/hal/halx86/generic/amd64/
------------------------------------------------------------------------------
    tsvn:logminsize = 10

Modified: branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic.rbuild
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic.rbuild?rev=44831&r1=44830&r2=44831&view=diff
==============================================================================
--- branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic.rbuild [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic.rbuild [iso-8859-1] Thu Dec 31 17:51:05 2009
@@ -5,35 +5,49 @@
 		<include>include</include>
 		<include base="ntoskrnl">include</include>
 		<define name="_NTHAL_" />
+		<define name="_X86BIOS_" />
 		<directory name="generic">
 			<directory name="bus">
 				<file>bushndlr.c</file>
 				<file>isabus.c</file>
 				<file>halbus.c</file>
+				<file>pcibus.c</file>
 				<file>pcidata.c</file>
 				<file>sysbus.c</file>
 			</directory>
 			<file>beep.c</file>
-			<file>bios.c</file>
 			<file>cmos.c</file>
 			<file>dma.c</file>
 			<file>drive.c</file>
 			<file>display.c</file>
-			<file>halinit.c</file>
-			<file>misc.c</file>
 			<file>profil.c</file>
 			<file>reboot.c</file>
 			<file>sysinfo.c</file>
 			<file>timer.c</file>
-			<file>usage.c</file>
+			<file>x86bios.c</file>
 			<if property="ARCH" value="i386">
+				<file>bios.c</file>
+				<file>halinit.c</file>
+				<file>misc.c</file>
+				<file>usage.c</file>
 				<directory name="i386">
 					<file>portio.c</file>
 					<file>systimer.S</file>
 					<file>v86.s</file>
 				</directory>
 			</if>
+			<if property="ARCH" value="amd64">
+				<directory name="amd64">
+					<file>irq.s</file>
+					<file>systimer.S</file>
+				</directory>
+			</if>
 		</directory>
+		<if property="ARCH" value="amd64">
+			<directory name="mp">
+				<file>apic.c</file>
+			</directory>
+		</if>
 		<directory name="include">
 			<pch>hal.h</pch>
 		</directory>

Removed: branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic_amd64.rbuild
URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic_amd64.rbuild?rev=44830&view=auto
==============================================================================
--- branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic_amd64.rbuild [iso-8859-1] (original)
+++ branches/ros-amd64-bringup/reactos/hal/halx86/hal_generic_amd64.rbuild (removed)
@@ -1,35 +1,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
-<group>
-	<module name="hal_generic_amd64" type="objectlibrary">
-		<include>include</include>
-		<include base="ntoskrnl">include</include>
-		<define name="_DISABLE_TIDENTS" />
-		<define name="_NTHAL_" />
-		<directory name="generic">
-			<directory name="bus">
-				<file>bushndlr.c</file>
-				<file>isabus.c</file>
-				<file>halbus.c</file>
-				<file>pcibus.c</file>
-				<file>pcidata.c</file>
-				<file>sysbus.c</file>
-			</directory>
-			<file>beep.c</file>
-			<file>cmos.c</file>
-			<file>dma.c</file>
-			<file>drive.c</file>
-			<file>display.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>
-		</directory>
-		<directory name="include">
-			<pch>hal.h</pch>
-		</directory>
-	</module>
-</group>




More information about the Ros-diffs mailing list