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/ha... ============================================================================== --- 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/ha... ============================================================================== --- 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/ha... ============================================================================== --- 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@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/ha... ============================================================================== --- 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@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@0 -.func HalpCalibrateStallExecution@0 -_HalpCalibrateStallExecution@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/ha... ============================================================================== --- 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/ha... ============================================================================== --- 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/ha... ============================================================================== --- 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>