Aleksey Bragin [Thu, 15 Oct 2009 18:36:35 +0000 (18:36 +0000)]
[kernel32]
- Initialize PreviousStackBase/Limit to NULL in BasepCreateStack. Previously this bug was hidden because those values were ignored by the kernel.
svn path=/trunk/; revision=43485
Stefan Ginsberg [Thu, 15 Oct 2009 18:34:21 +0000 (18:34 +0000)]
- MiReserveAlignedSystemPtes: Add missing lock release, spotted by janderwald
svn path=/trunk/; revision=43484
ReactOS Portable Systems Group [Thu, 15 Oct 2009 17:41:09 +0000 (17:41 +0000)]
- Add required globals for the ARM port.
svn path=/trunk/; revision=43483
ReactOS Portable Systems Group [Thu, 15 Oct 2009 17:23:21 +0000 (17:23 +0000)]
- Fix calculations error in the setup of the paged pool bitmap.
- Initialize the paged pool guarded mutex.
- Add helper routines ExLock/UnlockPool to either acquire the NPP QSL or the PP GM depending on the pool descriptor, instead of hardcoding the NPP QSL.
- Implement InitializePool for the PagedPool case.
- Now call InitializePool for PagedPool as well.
svn path=/trunk/; revision=43482
ReactOS Portable Systems Group [Thu, 15 Oct 2009 17:01:31 +0000 (17:01 +0000)]
- Get rid of mm/mmsup.c and move some of the ROS-internal functions better where they belong.
- Add ARM3/mmsup.c for miscellaneous function helper functions.
- Implemented:
- Move MmIsRecursiveIoFault, MmIsThisanNtAsSystem and MmQuerySystemSize. These belong here.
- Unimplemented:
- Move MmSetBankedSection and fix the prototype. This should probably go somewhere else later.
- Move MmAdjustWorkingSetSize and fix the prototype. This should probably go in procsup.c later.
- Move MmMapUserAddressesToPage. This should also probably go in procsup.c later.
- Move MmSetAddressrangeModified and MmIsNonPagedsystemAddressValid. These should probably go somewhere else later.
svn path=/trunk/; revision=43481
ReactOS Portable Systems Group [Thu, 15 Oct 2009 16:50:49 +0000 (16:50 +0000)]
- Multiple Virtual Memory API fixes:
- MiDoMappedcopy: The MDL should have 16 pages total, so MI_MAPPED_COPY_PAGES should be 14, not 16, to account for the MDL page itself, and the extra add-on page.
- MiDoMappedCopy: Check for working set quota exception.
- NtRead/WriteVirtualMemory: Do not attempt to do any work if the size is 0.
- NtRead/WriteVirtualMemory: Do not return SEH status if we fail to write the number of bytes read/written -- return the function status.
- NtProtectVirtualMemory: Protect the memory while attached to the target process.
- NtProtectVirtualMemory: Do not return SEH status if we fail to write the number of bytes protected -- return the function status.
- NtLock/UnlockVirtualMemory: Fix incorrect function definition. The last parameter is a bitfield. The middle two parameters are pointers, not values.
- VirtualLock/Unlock: Fix calling NtLock/UnlockVirtualMemory with new correct function definitions. Call with MAP_PROCESS.
- NtLock/UnlockVirtualMemory: Apply SEH. Validate flags. Validate parameters.
- NtLock/UnlockVirtualMemory: Attach to the process while doing the operation. Reference the process.
- NtLock/UnlockVirtualMemory: Check for SE_LOCK_MEMORY_PRIVILEGE if MAP_SYSTEM is specified.
- Move MAP_SYSTEM and MAP_PROCESS from ntifs.h to mmtypes.h in NDK.
- NtLock/UnlockVirtualMemory: Return success and semi-legitimate return values saying nothing was actually done.
- NtFlushVirtualMemory: Apply SEH. Validate flags. Validate parameters. Call MmFlushVirtualMemory.
- NtFlushVirtualMemory: Reference the process.
- NtFlushVirtualMemory: Return success and semi-legitimate return values indicating nothing was flushed.
- NtGetWriteWatch: Fix function prototype.
- NtGet/ResetWriteWatch: Apply SEH instead of hacked parameter checks. Validate parameters.
- NtGet/ResetWriteWatch: Reference the process.
- NtGet/ResetWriteWatch: Return semi-legitimate return values indicating nothing was written to.
- These APIs are now owned by ARM3.
svn path=/trunk/; revision=43480
Aleksey Bragin [Thu, 15 Oct 2009 16:47:26 +0000 (16:47 +0000)]
- Fix inverted if condition in TEB initialization, spotted by Stefan.
svn path=/trunk/; revision=43479
Gregor Schneider [Thu, 15 Oct 2009 15:19:58 +0000 (15:19 +0000)]
Remove duplicate libjpeg from rosapps, used one is in trunk
svn path=/trunk/; revision=43478
Aleksey Bragin [Thu, 15 Oct 2009 10:50:12 +0000 (10:50 +0000)]
[fastfat_new]
- Add a helper function for reading (mapping) volume's stream file object.
- Read a boot sector during volume mounting, unpack it and store values in Vcb->Bpb for later usage. In particular, a volume's serial number being empty problem is fixed now. Volume label is still empty.
- Silence more non-important debug prints.
svn path=/trunk/; revision=43477
ReactOS Portable Systems Group [Thu, 15 Oct 2009 05:56:41 +0000 (05:56 +0000)]
- Multiple PEB/TEB creation fixes:
- Set up PEB and TEB under SEH to handle possible paging errors (which are legitimate).
- Also touch the image under SEH to handle image paging errors (also legitimate).
- Should avoid kernel panics in cases where the executable is damaged, invalid, or impossible to page in.
- Initialize more PEB fields.
- Add new INITIAL_PEB structure to support fork() in the future. Also fixes the fact we don't create a PEB for the system process anymore.
- Create PEB while attached to the process.
- Handle UP-only images, and set correct affinity mask in the PEB.
- Set session ID instead of session structure (currently zero).
- Set correct TIB version in the TEB. Due to a historical oddity, the NT TIB identifies itself as '0x1e00', which is 30 shifted 8 bits. 30 is the version identifier of OS/2 3.0, the original 32-bit target of the Windows NT effort.
- Handle initial TEB correctly for fork().
- Move AWE APIs to procsup.c instea of section.c since they are unrelated.
- Move the rewritten PEB/TEB functions to ARM3's procsup.c.
svn path=/trunk/; revision=43476
James Tabor [Thu, 15 Oct 2009 05:23:06 +0000 (05:23 +0000)]
- Revert 43470.
svn path=/trunk/; revision=43475
ReactOS Portable Systems Group [Thu, 15 Oct 2009 04:34:47 +0000 (04:34 +0000)]
- unix is one of many platforms that use LP64, so instead of defining every single possible OS which uses LP64, how about we define the *only* OS that uses LLP64: Win64.
- Fixes building on BSD and Solaris.
svn path=/trunk/; revision=43474
ReactOS Portable Systems Group [Thu, 15 Oct 2009 04:24:13 +0000 (04:24 +0000)]
- Define KeInitializeSpinLock for ARM to unbreak build.
svn path=/trunk/; revision=43473
ReactOS Portable Systems Group [Thu, 15 Oct 2009 04:09:36 +0000 (04:09 +0000)]
- Add some more PTE field macros for portability.
- Define PTE_TOP.
svn path=/trunk/; revision=43472
ReactOS Portable Systems Group [Thu, 15 Oct 2009 04:03:37 +0000 (04:03 +0000)]
- Remove calls to MmMarkPageMapped/UnMapped -- these APIs don't exist anymore.
- Unbreaks part of kernel ARM build.
svn path=/trunk/; revision=43471
Cameron Gutman [Thu, 15 Oct 2009 02:26:16 +0000 (02:26 +0000)]
- Fix a typo
svn path=/trunk/; revision=43470
Cameron Gutman [Thu, 15 Oct 2009 01:23:39 +0000 (01:23 +0000)]
- Import Alex's dnslib
- Add headers and definitions needed for dnslib to build
- Part 2 of 2
svn path=/trunk/; revision=43469
Cameron Gutman [Thu, 15 Oct 2009 01:04:39 +0000 (01:04 +0000)]
- Import Alex's dnslib
- Part 1 of 2
svn path=/trunk/; revision=43468
Hervé Poussineau [Wed, 14 Oct 2009 21:04:44 +0000 (21:04 +0000)]
[freeldr] List in menu all entries from [Operating Systems] section, even if they don't have an associated section
Try to infer the boot type if not specified
See issue #4455 for more details.
svn path=/trunk/; revision=43467
Timo Kreuzer [Wed, 14 Oct 2009 20:46:58 +0000 (20:46 +0000)]
Some 64 bit heap fixes by encoded, merged from amd64 branch
svn path=/trunk/; revision=43466
Timo Kreuzer [Wed, 14 Oct 2009 20:09:13 +0000 (20:09 +0000)]
Define __unaligned to nothing on gcc, we don't need it for amd64, and the old definition was wrong anyway.
Fix definition of UNALIGNED for amd64.
svn path=/trunk/; revision=43465
Sylvain Petreolle [Wed, 14 Oct 2009 19:44:23 +0000 (19:44 +0000)]
fix typo
svn path=/trunk/; revision=43464
Johannes Anderwald [Wed, 14 Oct 2009 18:09:28 +0000 (18:09 +0000)]
- Fix debugging flood
- Pass correct flags to KsProbeStreamIrp
- Remove dead code
svn path=/trunk/; revision=43463
Stefan Ginsberg [Wed, 14 Oct 2009 18:07:29 +0000 (18:07 +0000)]
- Remove a hack from KiGetMachineBootPointers and set the TSS selector properly in KiRosPrepareForSystemStartup instead.
- Use KGDT_TSS in WinLdrSetProcessorContext instead of a hardcoded value.
svn path=/trunk/; revision=43462
Stefan Ginsberg [Wed, 14 Oct 2009 17:21:56 +0000 (17:21 +0000)]
Move x86 assembly macros into the x86 directory.
svn path=/trunk/; revision=43461
Timo Kreuzer [Wed, 14 Oct 2009 17:05:51 +0000 (17:05 +0000)]
Fix definition of PORT_MAXIMUM_MESSAGE_LENGTH for 64 bit
svn path=/trunk/; revision=43460
Johannes Anderwald [Wed, 14 Oct 2009 17:04:08 +0000 (17:04 +0000)]
- Fix debugging flood #2
svn path=/trunk/; revision=43459
Timo Kreuzer [Wed, 14 Oct 2009 17:03:41 +0000 (17:03 +0000)]
Add back PORT_MAXIMUM_MESSAGE_LENGTH for user mode, thanks Stefan
svn path=/trunk/; revision=43458
Johannes Anderwald [Wed, 14 Oct 2009 16:59:07 +0000 (16:59 +0000)]
- Fix debugging flood
svn path=/trunk/; revision=43457
Timo Kreuzer [Wed, 14 Oct 2009 16:56:54 +0000 (16:56 +0000)]
[NDK] remove PORT_MAXIMUM_MESSAGE_LENGTH, it's defined in wdm.h
svn path=/trunk/; revision=43456
Timo Kreuzer [Wed, 14 Oct 2009 16:45:35 +0000 (16:45 +0000)]
Merge amd64 NDK from amd64 branch:
34711, 34712, 34842, 34925, 34967, 34970, 35323, 35324, 35347, 35348, 35361, 35436, 35509, 35588, 35739, 35823, 35952, 35966, 36360, 37323, 37434, 37472, 37536, 37820, 37821, 37869, 37990, 38013, 38014, 43426, 43454
svn path=/trunk/; revision=43455
Aleksey Bragin [Wed, 14 Oct 2009 15:59:14 +0000 (15:59 +0000)]
[fastfat_new]
- Implement shared VCB locking.
- Implement QueryVolumeInfo common handler, and a handler of QueryFsVolumeInfo class. Doesn't currently work due to missing VPB.
svn path=/trunk/; revision=43453
Timo Kreuzer [Wed, 14 Oct 2009 14:29:32 +0000 (14:29 +0000)]
Update ReactOS-amd64.rbuild
svn path=/trunk/; revision=43452
Johannes Anderwald [Wed, 14 Oct 2009 10:24:19 +0000 (10:24 +0000)]
- Implement KSPROPERTY_CONNECTION_ALLOCATORFRAMING for CPortPinWaveCyclic + CPortPinWavePci
svn path=/trunk/; revision=43446
Michael Martin [Wed, 14 Oct 2009 09:50:31 +0000 (09:50 +0000)]
- CmpPrepareKey: If cell signature is CM_KEY_NODE_SIGNATURE, the KeyCell is index leaf, handle it properly by calling CmpPrepareKey vice CmpPrepareIndexOfKeys. Fixes ASSERT in cminit.c that occurs on reboot after installing some applications.
svn path=/trunk/; revision=43445
Christoph von Wittich [Tue, 13 Oct 2009 21:51:16 +0000 (21:51 +0000)]
-revert accidental change
svn path=/trunk/; revision=43444
Christoph von Wittich [Tue, 13 Oct 2009 21:49:36 +0000 (21:49 +0000)]
[BDASUP]
-fix some function declarations
svn path=/trunk/; revision=43443
Christoph von Wittich [Tue, 13 Oct 2009 21:09:08 +0000 (21:09 +0000)]
partial sync to wine 1.1.31
svn path=/trunk/; revision=43442
Gregor Schneider [Tue, 13 Oct 2009 20:34:05 +0000 (20:34 +0000)]
[spider]
- Check for completed stack after dealing cards by installing one function to do this in call three cases, bug #4886
- Fix and simplify drop rules (only by number) and validation rules (by number and type) for two and four color games
- Fix typo in Polish Translation
svn path=/trunk/; revision=43441
Stefan Ginsberg [Tue, 13 Oct 2009 19:45:40 +0000 (19:45 +0000)]
- Add the MMDBG_COPY_* flags and MmDbgCopyMemory's prototype.
- Add KdpCopyMemoryChunks and use it to handle virtual memory read/write (physical memory support still stubbed). The actual copy is still a hack and its only safeguard against invalid memory is still a simple check for NULL.
- Properly implement KdpReadVirtualMemory, KdpWriteVirtualMemory, KdpReadPhysicalmemory and KdpWritePhysicalmemory using KdpCopyMemoryChunks.
- Merge Timo's ReportFlags fix from the AMD64 branch.
- Implement KdpSysWriteMsr and KdpSysReadMsr for x86. SEH is commented as our GPF handler seems to swallow exceptions caused by accessing invalid MSRs.
- Change DataValue parameter of KdpSysReadIoSpace and KdpSysWriteIoSpace to PVOID to better match how it is used.
svn path=/trunk/; revision=43440
Dmitry Gorbachev [Tue, 13 Oct 2009 18:43:42 +0000 (18:43 +0000)]
- See if it is a multibyte code page.
- Remove check against zero.
- Fix comments, formatting.
svn path=/trunk/; revision=43439
Aleksey Bragin [Tue, 13 Oct 2009 18:01:55 +0000 (18:01 +0000)]
[rtl]
- Fix an out-of-bounds read in RtlpDidUnicodeToOemWorked.
See issue #4888 for more details.
svn path=/trunk/; revision=43438
Johannes Anderwald [Tue, 13 Oct 2009 12:29:41 +0000 (12:29 +0000)]
- Fix various bugs such as wrong function definitions, using of uninitialized variables
- Add macros which are not present in the WDK
- Check return type of synchronized interrupt routine
- Use PcHandlePropertyWithTable IPortPinWavePci
- Remove IServiceSink implementation from IPortWaveRt as it is a hack
- Add a small hack to IResource list implementation as prefast doesnt find decl of NumberOfEntries
- Fix build
svn path=/trunk/; revision=43437
Johannes Anderwald [Tue, 13 Oct 2009 12:25:10 +0000 (12:25 +0000)]
- Fix interface definition
svn path=/trunk/; revision=43436
Dmitry Gorbachev [Tue, 13 Oct 2009 03:34:29 +0000 (03:34 +0000)]
Temporary hack to avoid linker errors when building with RosBE 1.5B1.
svn path=/trunk/; revision=43434
Dmitry Gorbachev [Mon, 12 Oct 2009 23:52:56 +0000 (23:52 +0000)]
Check for error.
svn path=/trunk/; revision=43431
Dmitry Gorbachev [Mon, 12 Oct 2009 23:52:33 +0000 (23:52 +0000)]
Fix "array subscript is above array bounds" bug.
svn path=/trunk/; revision=43430
Johannes Anderwald [Mon, 12 Oct 2009 22:44:17 +0000 (22:44 +0000)]
- Add more types
svn path=/trunk/; revision=43425
Johannes Anderwald [Mon, 12 Oct 2009 22:36:10 +0000 (22:36 +0000)]
- Pointer / handle values should be printed with %p. Found by Christoph
- Add the sum / mixer node to the destination pin
- Only create MIXERVOLUME_DATA when there is an actual range
- Use unsigned members to calculate the range
svn path=/trunk/; revision=43424
Matthias Kupfer [Mon, 12 Oct 2009 21:08:35 +0000 (21:08 +0000)]
experimental mouse click lock feature
svn path=/trunk/; revision=43420
Gregor Schneider [Mon, 12 Oct 2009 21:07:19 +0000 (21:07 +0000)]
[spider] Polish translation by Maciej Białas
svn path=/trunk/; revision=43419
Christoph von Wittich [Mon, 12 Oct 2009 21:06:21 +0000 (21:06 +0000)]
[SYSAUDIO]
-pass the correct amount of parameters to DPRINT
svn path=/trunk/; revision=43418
Matthias Kupfer [Mon, 12 Oct 2009 21:02:25 +0000 (21:02 +0000)]
- small fix for SystemParametersInfo-call for DragFullWindows
- disable incomplete UserPref settings
svn path=/trunk/; revision=43417
Aleksey Bragin [Mon, 12 Oct 2009 19:45:12 +0000 (19:45 +0000)]
[kernel32]
- Remove incorrect null-termination of a string. Thanks to Russel for spotting.
See issue #4820 for more details.
svn path=/trunk/; revision=43416
Johannes Anderwald [Mon, 12 Oct 2009 19:21:10 +0000 (19:21 +0000)]
- Add missing types
svn path=/trunk/; revision=43415
Johannes Anderwald [Mon, 12 Oct 2009 19:20:33 +0000 (19:20 +0000)]
[PORTCLS]
- Store MiniportStream & pin instance in subdevice descriptor
- Simplify irp handling code in class IIrpStream
- Rewrite CPortPinWaveCyclic code to handle property request. It now uses PcHandlePropertyWithTable, which calls the supported property request handlers via a callback. The code is now a lot cleaner as KsPropertyHandler peforms input & output length checks and also handles basic support requests
- Implement a Audio position handler for CPortPinWaveCyclic
- Use the IDmaChannel::CopyFrom when copying sound bytes from an dma buffer. Fixes recording of sound with KsStudio
- Make sure that the GUID_NULL handler only adds guid which are not already present in the guid array. Fixes duplicate entries of properties of Nodes in KsStudio
- Handle Basic Support requests in a default way when the driver doesnt provide a BasicSupport handler
svn path=/trunk/; revision=43414
Gregor Schneider [Mon, 12 Oct 2009 18:52:44 +0000 (18:52 +0000)]
[sol], [spider]
- Allow to select a card back from all twelve possibilities (instead of four), related to bug #2535
[spider]
- Fix encoding of the Spanish resource file, thanks elhoir and gabriel_it
svn path=/trunk/; revision=43413
Stefan Ginsberg [Mon, 12 Oct 2009 18:40:18 +0000 (18:40 +0000)]
- Fix usbdlib.h -- don't assume that the basic calling convention is stdcall.
svn path=/trunk/; revision=43412
Johannes Anderwald [Mon, 12 Oct 2009 18:27:00 +0000 (18:27 +0000)]
- Revert 43410
svn path=/trunk/; revision=43411
Johannes Anderwald [Mon, 12 Oct 2009 18:20:23 +0000 (18:20 +0000)]
- Fix typo
svn path=/trunk/; revision=43410
Gregor Schneider [Mon, 12 Oct 2009 17:37:42 +0000 (17:37 +0000)]
[spider]
- Increase dialog width for German, increase "four card difficulty" label width for Spanish
- Compile as Unicode, misc typos
svn path=/trunk/; revision=43408
Johannes Anderwald [Mon, 12 Oct 2009 17:04:15 +0000 (17:04 +0000)]
[KS]
- Activate handling of requests of type KSPROPERTY_TYPE_BASICSUPPORT
- Return correct status code in the GUID_NULL handler
svn path=/trunk/; revision=43407
Johannes Anderwald [Mon, 12 Oct 2009 16:58:46 +0000 (16:58 +0000)]
[WDMAUD.DR>V]
- Use default of 100 audio buffers if there are no prefered frame size available
svn path=/trunk/; revision=43406
Daniel Reimer [Mon, 12 Oct 2009 14:10:57 +0000 (14:10 +0000)]
- Updated DejaVu Fonts to Version 2.30
- Updated 3rd Party Files Document
svn path=/trunk/; revision=43400
Aleksey Bragin [Mon, 12 Oct 2009 13:17:56 +0000 (13:17 +0000)]
[fastfat_new]
- Start implementing volume open requests.
svn path=/trunk/; revision=43397
Michael Martin [Mon, 12 Oct 2009 12:47:54 +0000 (12:47 +0000)]
- Change DIALOG_CreateIndirect location in source to make DEFDLG_SaveFocus available for use.
- DIALOG_CreateIndirect: The current window with focus could have been set in the dialog's procedure, so save the current focused window after sending WM_INITDIALOG and before any other message are sent that modify focus.
- Fixes setting focus on Open and Close dialogs to the FileName edit control in OpenOffice.
svn path=/trunk/; revision=43396
Dmitry Chapyshev [Mon, 12 Oct 2009 12:28:22 +0000 (12:28 +0000)]
- Add some structures
svn path=/trunk/; revision=43395
Dmitry Chapyshev [Mon, 12 Oct 2009 12:25:02 +0000 (12:25 +0000)]
- Stub implement SfcGetNextProtectedFile
svn path=/trunk/; revision=43394
Aleksey Bragin [Mon, 12 Oct 2009 10:22:32 +0000 (10:22 +0000)]
[fastfat_new]
- Implement a stub version of basic information query. Fixes an "autochk.exe" not found problem.
svn path=/trunk/; revision=43393
Michael Martin [Mon, 12 Oct 2009 09:50:57 +0000 (09:50 +0000)]
GetDlgItem: Change to WINE's implementation as ours was incorrect. Remove function GetDlgItemEnumProc and struct GETDLGITEMINFO as they are no longer needed. Fixes drawing issues in Open and Save dialogs for OpenOffice.
svn path=/trunk/; revision=43392
Aleksey Bragin [Mon, 12 Oct 2009 09:37:07 +0000 (09:37 +0000)]
[fastfat_new]
- Downgrade most of file info debug prints.
svn path=/trunk/; revision=43391
Aleksey Bragin [Mon, 12 Oct 2009 09:30:41 +0000 (09:30 +0000)]
[fastfat_new]
- Implement all infrastructue for constructing filenames in FCBs, and use it to build full file names. Every FCB has four names: a short upcased name in ANSI, a long upcased name in Unicode, a name in exact case in Unicode, and finally a full file name including all path up to the root.
- FatiQueryFileNameInformation now returns correct file name, and other places relying on presence of a correct name work now.
svn path=/trunk/; revision=43390
Dmitry Gorbachev [Mon, 12 Oct 2009 03:35:35 +0000 (03:35 +0000)]
- Remove svn:needs-lock, svn:eol-type, and svn:eol-tyle properties.
- Add missing svn:eol-style properties.
svn path=/trunk/; revision=43389
Dmitry Gorbachev [Mon, 12 Oct 2009 03:28:57 +0000 (03:28 +0000)]
Use consistent newline style.
svn path=/trunk/; revision=43388
Dmitry Gorbachev [Mon, 12 Oct 2009 03:28:19 +0000 (03:28 +0000)]
Remove allowwarnings="true" from rbuild file. Fixed in r42970.
svn path=/trunk/; revision=43387
Dmitry Gorbachev [Mon, 12 Oct 2009 03:27:45 +0000 (03:27 +0000)]
[CHEW]
- Fix formatting, comments.
- Delete an empty directory.
svn path=/trunk/; revision=43386
Dmitry Chapyshev [Mon, 12 Oct 2009 02:28:37 +0000 (02:28 +0000)]
- Add Russian translation
svn path=/trunk/; revision=43385
Dmitry Gorbachev [Sun, 11 Oct 2009 23:23:34 +0000 (23:23 +0000)]
Update / add Japanese translations. Tomoya Kitagawa, bug #4884.
svn path=/trunk/; revision=43384
Dmitry Gorbachev [Sun, 11 Oct 2009 23:23:30 +0000 (23:23 +0000)]
Update Japanese translations. Tomoya Kitagawa, bug #4884.
svn path=/trunk/; revision=43383
Stefan Ginsberg [Sun, 11 Oct 2009 21:57:52 +0000 (21:57 +0000)]
- Fix a critical bug in KeFindConfigurationEntry; it passed NULL to KeFindConfigurationNextEntry instead of passing a pointer containing NULL. KeFindConfigurationNextEntry dereferenced this and, because the old bootloader maps NULL, read some bogus value. KeFindConfigurationNextEntry would then try to find something in the configuration tree that matched this, but failed. This was no problem because we currently have no callers of those routines in ReactOS. However, the kdcom.dll from Windows 2003 calls KeFindConfigurationEntry to find COM port entries, and this would have crashed if FreeLdr hadn't mapped it. As it is, it didn't, and kdcom fell back to default values for the COM port (which worked). WinLdr doesn't map NULL and this resulted in a crash during kdcom initialization. Bug introduced in revision 15911 over 4 years ago. KD64 now works when booting with the new boot method.
svn path=/trunk/; revision=43382
Stefan Ginsberg [Sun, 11 Oct 2009 20:40:19 +0000 (20:40 +0000)]
- Woooops, fix MP hal build.
svn path=/trunk/; revision=43381
Stefan Ginsberg [Sun, 11 Oct 2009 20:16:45 +0000 (20:16 +0000)]
- Stub out DbgKdWriteVirtualMemoryApi, DbgKdReadPhysicalMemoryApi, DbgKdWritePhysicalMemoryApi, DbgKdWriteBreakPointExApi, DbgKdRestoreBreakPointExApi, DbgKdSearchMemoryApi and DbgKdFillMemoryApi cases more properly.
- Fail on physical memory write like we do for read too.
- Don't handle OldVlm1/2 as they appear to be deprecated and unhandled in Windows.
- Implement HalHaltSystem to halt execution in a portable way. Default to xHalHaltSystem, a simple infinite loop, if we get called before HAL has initialized. Use this in KiBugCheckDebugBreak and the system shutdown handler instead of x86/AMD64/ARM intrinsics.
- Don't try to halt the CPU if KeBugCheck has been called 3 times or more -- if this happens, something has gone very wrong, and we shouldn't try to do anything special. Just loop infinitely.
- Fix KiBugCheckDebugBreak -- it shouldn't halt execution when called for the first chance as bugcheck callbacks have not been invoked at this point (nor has the BSOD been displayed). Use SEH to protect against a crash instead of checking KdDebuggerNotPresent as the debugger, if it is present, *could* disconnect while the trap is being handled. Also, don't halt execution if the debugger handled the breakpoint, just break again.
- Don't call MmMapIoSpace from HalpReboot! The reboot might take place at elevated IRQL (as high as HIGH_LEVEL if called from KeBugCheck), and thus can't use any Mm support routines. Use a PTE from the reserved HAL region and map it ourselves instead as done in the BIOS call code.
- Acquire the display ownership in HalReturnToFirmware in case the caller hasn't done so (as done in the KD reboot routine, for example).
- Just include ntndk.h in hal.h instead of including 6 NDK headers (which turns into more than half of the NDK anyway since those headers include other NDK headers).
- Crashing and rebooting from KD now works properly.
svn path=/trunk/; revision=43380
Gregor Schneider [Sun, 11 Oct 2009 18:10:48 +0000 (18:10 +0000)]
[spider] Address two more gcc 4.4 parenthesis warnings
svn path=/trunk/; revision=43379
Hervé Poussineau [Sun, 11 Oct 2009 17:10:32 +0000 (17:10 +0000)]
[freeldr] Fix typo: REGISTER -> REGISTRY
svn path=/trunk/; revision=43378
Hervé Poussineau [Sun, 11 Oct 2009 17:08:33 +0000 (17:08 +0000)]
[freeldr] Rework the ramdisk driver to let it be a full device, instead of a deprecated harddisk which was only available once real harddisks were disabled
Add support for /RDPATH switch in WINLDR boot style
svn path=/trunk/; revision=43377
Gregor Schneider [Sun, 11 Oct 2009 16:00:07 +0000 (16:00 +0000)]
[spider]
- Spanish and Italian translations by Javier Agustìn Fernàndez Arroyo and Gabriel Ilardi
- Rename Programmer to Translator in existing resource files, remove Programmer in new ones
See issue #4885 for more details.
svn path=/trunk/; revision=43376
Gregor Schneider [Sun, 11 Oct 2009 14:15:02 +0000 (14:15 +0000)]
[cardlib] Re-add changes that got lost due to an old version being used as base
svn path=/trunk/; revision=43375
Dmitry Chapyshev [Sun, 11 Oct 2009 14:00:18 +0000 (14:00 +0000)]
- Add spider.exe to bootcd
- Add shortcut for spider
svn path=/trunk/; revision=43374
Gregor Schneider [Sun, 11 Oct 2009 12:10:57 +0000 (12:10 +0000)]
Remove solitaires local cardlib copy
svn path=/trunk/; revision=43373
Gregor Schneider [Sun, 11 Oct 2009 12:07:11 +0000 (12:07 +0000)]
[spider]
- Add a spider solitaire clone
- Relies on the Catch22 cardlib
- Supports all three playing modes and full game play
- English and German resources included, own work
- Icon origin: tango solitaire icon with a self drawn spider on top
[cardlib]
- Convert to a static library as suggested in the comments, move to 3rdparty directory
- Allow to modify dragged card stacks (needed for spider)
[solitaire]
- Adapt to cardlib changes, delete local cardlib copy
svn path=/trunk/; revision=43372
Aleksey Bragin [Sun, 11 Oct 2009 10:00:56 +0000 (10:00 +0000)]
- Implement pool corruption tests for testing pool overrun/underrun detectors. Tests invocation is commented out by default.
svn path=/trunk/; revision=43371
Aleksey Bragin [Sun, 11 Oct 2009 09:54:41 +0000 (09:54 +0000)]
[powrprof]
- Implement some powrprof.dll according to regression tests committed in r43368, by Alexander Wurzinger <lohnegrim@gmx.net>.
- Minor bugfix by me.
See issue #3381 for more details.
svn path=/trunk/; revision=43370
Johannes Anderwald [Sun, 11 Oct 2009 09:49:10 +0000 (09:49 +0000)]
- Store KSPROPERTY_SET in Irp when using KsPropertyHandler
- Fix a bug in KsPinDataIntersection
svn path=/trunk/; revision=43369
Aleksey Bragin [Sun, 11 Oct 2009 09:49:09 +0000 (09:49 +0000)]
[powrprof]
- Add more powrprof.dll tests, by Alexander Wurzinger <lohnegrim@gmx.net>.
- Some cleanup and code typo fixes by me.
See issue #3381 for more details.
svn path=/trunk/; revision=43368
Dmitry Gorbachev [Sun, 11 Oct 2009 00:09:41 +0000 (00:09 +0000)]
Fix English resource file. Patch by Joshua Rice, bug #4763.
svn path=/trunk/; revision=43367
James Tabor [Sat, 10 Oct 2009 21:51:24 +0000 (21:51 +0000)]
- Fix exception. Spotted by Stefan Ginsberg.
svn path=/trunk/; revision=43366
Stefan Ginsberg [Sat, 10 Oct 2009 19:27:54 +0000 (19:27 +0000)]
KD64 Compatibility Bringup:
- Add some missing control set structures to windbgkd.h from Singularity and fix some x86 assumptions.
- Use CopyExceptionRecord instead of ExceptionRecord32To64 as we can just copy directly on 64-bit.
- Add KeGetTrapFrameInterruptState macro to retrieve the interrupt state (ON/OFF) from a trap frame.
- Use macros for retrieving certain parameters from CONTEXT in KdpTrap instead of hardcoding x86.
- Add kdsup.c for x86/AMD64/ARM and move certain architecture dependent routines in here.
- Stub out MSR, Bus and I/O Space read/write support and use KdpSys* for Control Space as it is architecture dependent. Also stub out low memory check (for x86 PAE).
- Fix assumptions in the break point code that a breakpoint is 1 byte long (it is 4 byte on ARM, for example). Define the type required to contain a breakpoint per architecture and use KD_BREAKPOINT_SIZE when copying.
- KD supports 32 breakpoints, not 20.
- Be portable when initializing members of the KD version and debugger data block.
- Pointers in the debugger data block should not be sign extended as done in the version block -- fix KdInitSystem and KdUpdateDataBlock that did this.
- Fix some comments that were x86 specific and use more generic terms instead.
- Fix a cast in KeBugCheckWithTf.
svn path=/trunk/; revision=43365
Aleksey Bragin [Sat, 10 Oct 2009 18:22:56 +0000 (18:22 +0000)]
[ntoskrnl]
- Reimplement HalpCalibrateStallExecution which was removed in r24964. Real Windows uses a different algorithm, however existing one seems to work acceptably. This patch is critical for devices support on real hardware. The only downside is that uniata initialization takes a substantial amount of time now, this is going to be investigated. Patch by Daniel Zimmermann.
See issue #4600 for more details.
svn path=/trunk/; revision=43364
Aleksey Bragin [Sat, 10 Oct 2009 13:22:41 +0000 (13:22 +0000)]
- Implement RtlpDidUnicodeToOemWork to check for unmapped characters. Based on a patch by Daniel Zimmerman.
See issue #4548 for more details.
svn path=/trunk/; revision=43363
Aleksey Bragin [Sat, 10 Oct 2009 13:05:02 +0000 (13:05 +0000)]
[freeldr]
Andrew Steinborn <asteinborn78@gmail.com>
- Display error message when boot sector reading fails.
See issue #4641 for more details.
svn path=/trunk/; revision=43362