From: Timo Kreuzer Date: Tue, 10 Nov 2009 02:40:48 +0000 (+0000) Subject: Merge trunk HEAD (r44067) X-Git-Tag: backups/aicom-network-stable@46924^3~56^2~192 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=843b9ee1eb7917938af9f41ce9353f37c46222dc Merge trunk HEAD (r44067) svn path=/branches/ros-amd64-bringup/; revision=44069 --- 843b9ee1eb7917938af9f41ce9353f37c46222dc diff --cc reactos/boot/bootdata/packages/reactos.dff index a877ffe7f3a,bf616387568..7f78ba8c44d --- a/reactos/boot/bootdata/packages/reactos.dff +++ b/reactos/boot/bootdata/packages/reactos.dff @@@ -662,14 -661,17 +662,16 @@@ media\sounds\ReactOS_LogOn.wa boot\bootdata\bootcdregtest\regtest.cmd 7 optional ; Subsystems -subsystems\win32\csrss\csrss.exe 1 -subsystems\win32\csrss\win32csr\win32csr.dll 1 -subsystems\ntvdm\ntvdm.exe 1 -subsystems\win32\win32k\win32k.sys 1 +;subsystems\win32\csrss\csrss.exe 1 +;subsystems\win32\csrss\win32csr\win32csr.dll 1 +;subsystems\ntvdm\ntvdm.exe 1 +;subsystems\win32\win32k\win32k.sys 1 ; Optional/proprietary files -modules\optional\netkvm2k.inf 6 optional -modules\optional\netkvm2k.cat 6 optional -modules\optional\netkvm.sys 2 optional +modules\optional\kvmnet.inf 6 optional +modules\optional\kvmnet.sys 2 optional + modules\optional\alcxwdm.inf 6 optional + modules\optional\alcxwdm.sys 2 optional modules\optional\mfc42.dll 1 optional modules\optional\mfc42u.dll 1 optional modules\optional\mfc71.dll 1 optional diff --cc reactos/boot/freeldr/freeldr/bootmgr.c index eaa69ebb158,758b952e68a..2cbac6f6b9b --- a/reactos/boot/freeldr/freeldr/bootmgr.c +++ b/reactos/boot/freeldr/freeldr/bootmgr.c @@@ -143,8 -140,8 +140,8 @@@ VOID RunLoader(VOID // to have different install methods, etc. LoadReactOSSetup(); } -#ifdef __i386__ +#if defined(__i386__) || defined(__x86_64__) - else if (_stricmp(SettingValue, "ReactOSSetup2") == 0) + else if (_stricmp(BootType, "ReactOSSetup2") == 0) { // WinLdr-style boot LoadReactOSSetup2(); diff --cc reactos/boot/freeldr/freeldr/options.c index cc58e1d2afd,2c1f6c68648..4dabc89c6f4 --- a/reactos/boot/freeldr/freeldr/options.c +++ b/reactos/boot/freeldr/freeldr/options.c @@@ -102,16 -113,6 +113,7 @@@ VOID DoOptionsMenu(VOID case REBOOT: OptionMenuReboot(); break; - } + #endif + } } + - VOID OptionMenuReboot(VOID) - { - UiMessageBox("The system will now reboot."); - - #ifdef __i386__ - DiskStopFloppyMotor(); - SoftReboot(); - #else - #endif - } diff --cc reactos/dll/win32/acledit/acledit.c index 4c36213f93f,aae903ef93e..99e0e99b3bd --- a/reactos/dll/win32/acledit/acledit.c +++ b/reactos/dll/win32/acledit/acledit.c @@@ -14,9 -14,9 +14,9 @@@ * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ -/* $Id: acledit.c 35011 2008-08-01 16:29:40Z sginsberg $ +/* $Id$ * * PROJECT: ReactOS Access Control List Editor * FILE: lib/acledit/acledit.c diff --cc reactos/dll/win32/kernel32/thread/thread.c index cb5dab74b7c,3fb6a6da7e7..ee94309aa0e --- a/reactos/dll/win32/kernel32/thread/thread.c +++ b/reactos/dll/win32/kernel32/thread/thread.c @@@ -651,33 -651,32 +651,37 @@@ SetThreadPriorityBoost(IN HANDLE hThrea /* * @implemented */ - BOOL WINAPI + BOOL + WINAPI GetThreadSelectorEntry(IN HANDLE hThread, - IN DWORD dwSelector, - OUT LPLDT_ENTRY lpSelectorEntry) + IN DWORD dwSelector, + OUT LPLDT_ENTRY lpSelectorEntry) { +#ifdef _M_IX86 - DESCRIPTOR_TABLE_ENTRY DescriptionTableEntry; - NTSTATUS Status; - - DescriptionTableEntry.Selector = dwSelector; - Status = NtQueryInformationThread(hThread, - ThreadDescriptorTableEntry, - &DescriptionTableEntry, - sizeof(DESCRIPTOR_TABLE_ENTRY), - NULL); - if(!NT_SUCCESS(Status)) - { - SetLastErrorByStatus(Status); - return FALSE; - } + DESCRIPTOR_TABLE_ENTRY DescriptionTableEntry; + NTSTATUS Status; - *lpSelectorEntry = DescriptionTableEntry.Descriptor; - return TRUE; + /* Set the selector and do the query */ + DescriptionTableEntry.Selector = dwSelector; + Status = NtQueryInformationThread(hThread, + ThreadDescriptorTableEntry, + &DescriptionTableEntry, + sizeof(DESCRIPTOR_TABLE_ENTRY), + NULL); + if (!NT_SUCCESS(Status)) + { + /* Fail */ + SetLastErrorByStatus(Status); + return FALSE; + } + + /* Success, return the selector */ + *lpSelectorEntry = DescriptionTableEntry.Descriptor; + return TRUE; +#else + DPRINT1("Calling GetThreadSelectorEntry!\n"); + return FALSE; +#endif } /* diff --cc reactos/dll/win32/odbc32/proxyodbc.c index cddfdcf0809,58d587082f5..b20157f4bbc --- a/reactos/dll/win32/odbc32/proxyodbc.c +++ b/reactos/dll/win32/odbc32/proxyodbc.c @@@ -15,11 -15,11 +15,11 @@@ * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * * NOTES: - * Proxy ODBC driver manager. This manager delegates all ODBC - * calls to a real ODBC driver manager named by the environment + * Proxy ODBC driver manager. This manager delegates all ODBC + * calls to a real ODBC driver manager named by the environment * variable LIB_ODBC_DRIVER_MANAGER, or to libodbc.so if the * variable is not set. * diff --cc reactos/dll/win32/shell32/she_ocmenu.c index 6f393a82f1c,c98a45acef7..0699d19ddc3 --- a/reactos/dll/win32/shell32/she_ocmenu.c +++ b/reactos/dll/win32/shell32/she_ocmenu.c @@@ -449,10 -448,10 +448,10 @@@ StoreNewSettings(LPCWSTR szFileName, WC } /* insert the entry */ - result = (*AddMRUStringW)((HANDLE)hList, szAppName); + result = (*AddMRUStringW)(hList, szAppName); /* close mru list */ - (*FreeMRUList)(hList); + (*FreeMRUListProc)((HANDLE)hList); /* create mru list key */ RegCloseKey(hKey); } diff --cc reactos/hal/halamd64/generic/generic.rbuild index 7c22ec5013e,8eb4d951a8a..d613424851b --- a/reactos/hal/halamd64/generic/generic.rbuild +++ b/reactos/hal/halamd64/generic/generic.rbuild @@@ -11,6 -10,6 +11,7 @@@ misc.c mps.S systimer.S ++ usage.c ../include/hal.h diff --cc reactos/hal/halamd64/generic/halinit.c index d3d834bf19a,d3d834bf19a..152618c1674 --- a/reactos/hal/halamd64/generic/halinit.c +++ b/reactos/hal/halamd64/generic/halinit.c @@@ -130,8 -130,8 +130,8 @@@ DPRINT1("HalInitSystem 6\n") } else if (BootPhase == 1) { -- /* Initialize the default HAL stubs for bus handling functions */ -- HalpInitNonBusHandler(); ++ /* Initialize bus handlers */ ++ //HalpInitBusHandler(); /* Enable the clock interrupt */ PKIDTENTRY64 IdtEntry = &((PKIPCR)KeGetPcr())->IdtBase[0x30]; diff --cc reactos/hal/halamd64/generic/systimer.S index 79d282a56ff,298cea2619f..d8cb93ae09a --- a/reactos/hal/halamd64/generic/systimer.S +++ b/reactos/hal/halamd64/generic/systimer.S @@@ -17,12 -17,12 +17,38 @@@ _HalpLastPerfCounterLow: .long _HalpLastPerfCounterHigh: .long 0 _HalpPerfCounterLow: .long 0 _HalpPerfCounterHigh: .long 0 ++_HalpSystemHardwareFlags: .long 0 _UnhandledMsg: .asciz "\n\x7\x7!!! Unhandled or Unexpected Code at line: %lx!!!\n" /* FUNCTIONS *****************************************************************/ ++.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: diff --cc reactos/hal/halx86/hal_generic_amd64.rbuild index c343b64e268,ad0bccfe9e0..157c41d60ad --- a/reactos/hal/halx86/hal_generic_amd64.rbuild +++ b/reactos/hal/halx86/hal_generic_amd64.rbuild @@@ -4,16 -4,21 +4,22 @@@ include include + + + bushndlr.c + isabus.c + halbus.c ++ pcibus.c + pcidata.c + sysbus.c + beep.c - bus.c cmos.c dma.c drive.c display.c -- pci.c profil.c reboot.c sysinfo.c diff --cc reactos/ntoskrnl/ke/freeldr.c index bfb65d9c8dd,65fd00dce75..ddb4cb8d33e --- a/reactos/ntoskrnl/ke/freeldr.c +++ b/reactos/ntoskrnl/ke/freeldr.c @@@ -9,16 -9,16 +9,16 @@@ /* INCLUDES *****************************************************************/ #include - //#define NDEBUG + #define NDEBUG #include - #ifdef _M_PPC + #if defined(_PPC_) #include #define KERNEL_RVA(x) RVA(x,0x80800000) -#define KERNEL_DESCRIPTOR_PAGE(x) (((ULONG_PTR)x + KernelBase) >> PAGE_SHIFT) +#define KERNEL_DESCRIPTOR_PAGE(x) (((ULONG_PTR)(x) + KernelBase) >> PAGE_SHIFT) #else #define KERNEL_RVA(x) RVA(x,KSEG0_BASE) -#define KERNEL_DESCRIPTOR_PAGE(x) (((ULONG_PTR)x &~ KSEG0_BASE) >> PAGE_SHIFT) +#define KERNEL_DESCRIPTOR_PAGE(x) (((ULONG_PTR)(x) & ~KSEG0_BASE) >> PAGE_SHIFT) #endif typedef struct _BIOS_MEMORY_DESCRIPTOR @@@ -29,12 -29,8 +29,11 @@@ /* GLOBALS *******************************************************************/ +/* Function pointer for early debug prints */ +ULONG (*FrLdrDbgPrint)(const char *Format, ...); + /* FreeLDR Loader Data */ PROS_LOADER_PARAMETER_BLOCK KeRosLoaderBlock; - BOOLEAN AcpiTableDetected = FALSE; ADDRESS_RANGE KeMemoryMap[64]; ULONG KeMemoryMapRangeCount; @@@ -952,7 -974,7 +977,7 @@@ KiRosFrldrLpbToNtLpb(IN PROS_LOADER_PAR /* Build entries for ReactOS memory ranges, which uses ARC Descriptors */ KiRosBuildOsMemoryMap(); - #if defined(_M_IX86) || defined(_M_AMD64) -#if defined(_X86_) ++#if defined(_X86_) || defined(_M_AMD64) /* Build entries for the reserved map, which uses ARC Descriptors */ KiRosBuildReservedMemoryMap(); #endif diff --cc reactos/ntoskrnl/mm/ARM3/miarm.h index a02664a29c8,e319eee432a..ed86fe31656 --- a/reactos/ntoskrnl/mm/ARM3/miarm.h +++ b/reactos/ntoskrnl/mm/ARM3/miarm.h @@@ -89,9 -86,12 +90,12 @@@ typedef struct _POOL_HEADE // Everything depends on this // C_ASSERT(sizeof(POOL_HEADER) == 8); -C_ASSERT(sizeof(POOL_HEADER) == sizeof(LIST_ENTRY)); +//C_ASSERT(sizeof(POOL_HEADER) == sizeof(LIST_ENTRY)); + extern ULONG ExpNumberOfPagedPools; extern POOL_DESCRIPTOR NonPagedPoolDescriptor; + extern PPOOL_DESCRIPTOR ExpPagedPoolDescriptor[16 + 1]; + extern PVOID PoolTrackTable; // // END FIXFIX @@@ -155,11 -155,17 +159,17 @@@ extern PVOID MmPagedPoolStart extern PVOID MmPagedPoolEnd; extern PVOID MmNonPagedSystemStart; extern PVOID MiSystemViewStart; -extern ULONG MmSystemViewSize; +extern ULONG_PTR MmSystemViewSize; extern PVOID MmSessionBase; extern PVOID MiSessionSpaceEnd; -extern ULONG MmSizeOfPagedPoolInBytes; +extern ULONG_PTR MmSizeOfPagedPoolInBytes; extern PMMPTE MmSystemPagePtes; + extern PVOID MmSystemCacheStart; + extern PVOID MmSystemCacheEnd; + extern MMSUPPORT MmSystemCacheWs; + extern SIZE_T MmAllocatedNonPagedPool; + extern ULONG_PTR MmSubsectionBase; + extern ULONG MmSpecialPoolTag; NTSTATUS NTAPI