reactos.git
17 years agoBig merge: thanks alex and greatlord. Not a complete merge but most
Art Yerkes [Mon, 4 Sep 2006 05:52:23 +0000 (05:52 +0000)]
Big merge: thanks alex and greatlord.  Not a complete merge but most
relevant things for ppc right now.
hal
ntoskrnl
include
lib/rtl
lib/cmlib
some freeldr components

svn path=/branches/powerpc/; revision=23907

17 years agoUser32 bitmap.c:
James Tabor [Mon, 4 Sep 2006 03:08:18 +0000 (03:08 +0000)]
User32 bitmap.c:
 - Patch by Michael Kaufmann
  - CopyImage: Handle the flags LR_COPYDELETEORG, LR_CREATEDIBSECTION, and LR_MONOCHROME.

svn path=/trunk/; revision=23906

17 years agoUser32 combo.c:
James Tabor [Mon, 4 Sep 2006 03:03:14 +0000 (03:03 +0000)]
User32 combo.c:
 - Patch by Dmitry Timoshkov
  - do not force repainting on WM_WINDOWPOSCHANGED in combobox, it
    breaks Z-order based painting.
  - do nothing in the combobox WM_ERASEBKGND handler do all painting in
    WM_PAINT like Windows does.

svn path=/trunk/; revision=23905

17 years agoAdding small hack to getting SetPixel color right when it is more that 3 bytes long.
Magnus Olsen [Sun, 3 Sep 2006 22:54:22 +0000 (22:54 +0000)]
Adding small hack to getting SetPixel color right when it is more that 3 bytes long.
This hack allown us pass one more test. (Debuging in progress)

svn path=/trunk/; revision=23904

17 years ago- Final cleanup for now:
Alex Ionescu [Sun, 3 Sep 2006 21:06:30 +0000 (21:06 +0000)]
- Final cleanup for now:
  - main.c -> freeldr.c + cleanups and nice formatitng.
  - Move out variables that were in main.c to ex\init.c or cpu.c, depending.
  - Separate i386/kernel.c into i386/kiinit.c for X86-specific intiailization, and /krnlinit.c for portable initialization across all architectures. Also move out global variables appropriately.
  - main_asm.S -> cpu.S

svn path=/trunk/; revision=23903

17 years agoReorder the file
Hervé Poussineau [Sun, 3 Sep 2006 21:02:09 +0000 (21:02 +0000)]
Reorder the file
Add some more defines/typdefs from Wine sspi.h
Fix a few typos

svn path=/trunk/; revision=23902

17 years ago- Add Ke386SetInterruptDescriptorTable inlined function to set the IDT.
Alex Ionescu [Sun, 3 Sep 2006 19:57:55 +0000 (19:57 +0000)]
- Add Ke386SetInterruptDescriptorTable inlined function to set the IDT.
- Rename and fixup initial stacks, instead of using 16 different variables all with confusining meanings and values. Define P0BootStack as the initial kernel stack, and KiDoubleFaultStack as the double-fault trap (and initial DPC) stack.
- Fix call to KiInitializePcr which was setting an incorrect DPC stack.
- Make space on the initial stack for a KTRAP_FRAME as well, not only for the FPU save area.
- Also push initial CR0 NPX state on the initial stack.
- Load the IDT and GDT directly in KiRosPrepareForSystemStartup.
- Completely rewrite main_asm.S in Intel syntax and clean it up.

svn path=/trunk/; revision=23901

17 years agoAdd comptypeDIB definition to headers
Aleksey Bragin [Sun, 3 Sep 2006 19:38:16 +0000 (19:38 +0000)]
Add comptypeDIB definition to headers

svn path=/trunk/; revision=23900

17 years agoFixed one more bug, we did create wrong bpp if we got HDC = NULL for CreateDIBitmap...
Magnus Olsen [Sun, 3 Sep 2006 18:16:08 +0000 (18:16 +0000)]
Fixed one more bug, we did create wrong bpp if we got HDC = NULL for CreateDIBitmap, when I read wine code
it is always 1Bpp and 1Plans and we are doing same now if HDC is NULL, some wine test deepness on it.
Hopply it will take care of some program problem.

svn path=/trunk/; revision=23899

17 years ago- Add Ke386SetFs, Ds, Es (using Ke386SetSeg) and Ke386SetTr new inlined commands.
Alex Ionescu [Sun, 3 Sep 2006 17:18:08 +0000 (17:18 +0000)]
- Add Ke386SetFs, Ds, Es (using Ke386SetSeg) and Ke386SetTr new inlined commands.
- Also setup an NMI Task gate after the double fault task gate. Will be useful when we hand to handle NMIs later.
- Setup FS in KiSystemStartup and initialize the TSS before the PCR. Also add a bit more support for SMP systems (To skip boot-cpu-only initialization).
- Also setup DS/ES directly in KiSystemStartup.
- Initialize KD at phase 0 in KiSystemStartup, not in KiInitializeKernel, and also check for debug break at this time.

svn path=/trunk/; revision=23898

17 years agoAllow setup to detect extended partitions
Hervé Poussineau [Sun, 3 Sep 2006 12:32:15 +0000 (12:32 +0000)]
Allow setup to detect extended partitions

svn path=/trunk/; revision=23896

17 years ago- Remove LDT initialization, LDT shouldn't be initialized at bootup.
Alex Ionescu [Sun, 3 Sep 2006 07:13:02 +0000 (07:13 +0000)]
- Remove LDT initialization, LDT shouldn't be initialized at bootup.
- Move LDT-only GDT routines to ldt.c
- Cleanup formatting of GDT-related exported function stubs in gdt.c and rename file to abios.c. Those routines deal specifically with the ABIOS GDT selectors and are for ABIOS support.
- Move the lone 2 routines in fpu.c to cpu.c.

svn path=/trunk/; revision=23895

17 years ago- Fix KTSS definition.
Alex Ionescu [Sun, 3 Sep 2006 06:51:03 +0000 (06:51 +0000)]
- Fix KTSS definition.
- Add GetSegment inlines (ie: GetSs, GetDs, etc)
- Fix up definition of KiBootGdt to use KGDTENTRY instead of USHORT. Also define KiGdtDescriptor using KDESCRIPTOR.
- Remove GDT initialization code completely. The GDT is already initialized on boot.
- Remove tss.c and add KiInitializeTss(2) to setup a TSS and proper IOPM/Interrupt Direction map settings for V86/VDM.
- Copy the TSS code over but prettyify it to use NT/NDK structures instead of ugly USHORT typecasts.

svn path=/trunk/; revision=23894

17 years agoFixed, separated mmu related functions. We now get correct translations
Art Yerkes [Sun, 3 Sep 2006 03:37:20 +0000 (03:37 +0000)]
Fixed, separated mmu related functions.  We now get correct translations
in every case.

fat.c: workaround for now.  Need to figure out why the fs is b0rked.

svn path=/branches/powerpc/; revision=23893

17 years agoFixed some more wine test for NtGdiGetDIBits
Magnus Olsen [Sat, 2 Sep 2006 23:58:53 +0000 (23:58 +0000)]
Fixed some more wine test for NtGdiGetDIBits
FIxed so we can now create BITMAPCOREHEADER bitmap (Bugs in NtGdiGetDIBits did stop create of it)

svn path=/trunk/; revision=23892

17 years ago1. Copy DIB_GetBitmapInfo from wine cvs (date 2/9-2006)
Magnus Olsen [Sat, 2 Sep 2006 21:02:03 +0000 (21:02 +0000)]
1. Copy DIB_GetBitmapInfo from wine  cvs (date 2/9-2006)
2. Bugfix NtGdiGetDIBits the BITMAPCOREHEADER is not same as BITMAPINFOHEADER
   we now separate it in if(Bits==NULL) that will allow us pass two more wine tests
   follow winetest is working now
   1. bitmap.c 227 Test failed: GetDIBits doesn't work with a BITMAPCOREHEADER
   2. bitmap.c 233 GetDIBits doesn't work with a BITMAPCOREHEADER
   both of them are fixed now

svn path=/trunk/; revision=23891

17 years agoSeparate Device Manager code (what was left from it in hub.c) from Hub code
Aleksey Bragin [Sat, 2 Sep 2006 20:32:50 +0000 (20:32 +0000)]
Separate Device Manager code (what was left from it in hub.c) from Hub code

svn path=/trunk/; revision=23890

17 years ago- Part 2 of 2: Implement KiDispatchInterrupt in assembly since it's 1) Perf-critical...
Alex Ionescu [Sat, 2 Sep 2006 19:53:24 +0000 (19:53 +0000)]
- Part 2 of 2: Implement KiDispatchInterrupt in assembly since it's 1) Perf-critical 2) Requires us to switch the stack to the DPC stack, which is unsafe (and impossible, unless inlining) in C.

svn path=/trunk/; revision=23889

17 years ago- Part 1.5 of 2: Re-factor KiDispatchInterrupt to separate DPC delivery routine ...
Alex Ionescu [Sat, 2 Sep 2006 19:12:31 +0000 (19:12 +0000)]
- Part 1.5 of 2: Re-factor KiDispatchInterrupt to separate DPC delivery routine (so that it can stay in C, since KiDispatch should be done in ASM so we can switch stacks).
  - Use interrupt enable/disable instead of raising to HIGH_LEVEL.
  - Better use and pairing of locks.
  - Fix a lot of race conditions in DPC dispatching, due to the fact almost all data we're touching is ultra-volatile and can change at any time depending on various locks being held/released + interrupt state.
  - Add stub code/support for tick-hased table-based timer implementation and deferred threads.

svn path=/trunk/; revision=23888

17 years ago- Fix a bug in RtlFillMemory.
Alex Ionescu [Sat, 2 Sep 2006 16:36:48 +0000 (16:36 +0000)]
- Fix a bug in RtlFillMemory.
- Fix overlap check comments.

svn path=/trunk/; revision=23887

17 years ago- Add missing volatile statements to KPROCESS, KTHREAD, KPRCB and KDPC_DATA.
Alex Ionescu [Sat, 2 Sep 2006 16:19:00 +0000 (16:19 +0000)]
- Add missing volatile statements to KPROCESS, KTHREAD, KPRCB and KDPC_DATA.
- Fix KDPC definition in DDK. You can always count on the w32api to get even the simplest structures wrong.
- Fix memory overwrite bug in KiInitSpinlocks.
- Part 1 of 2: Cleanup and improve DPC implementation to add partial support for Threaded DPCs and remove SMP vs non-SMP ifdefs. (At the expense of, oh God, 5 wasted CPU cycles!).

svn path=/trunk/; revision=23886

17 years agoAdd forgotten "xs-native.cpp" to the MSVC project of ROS Explorer
Aleksey Bragin [Sat, 2 Sep 2006 11:27:36 +0000 (11:27 +0000)]
Add forgotten "xs-native.cpp" to the MSVC project of ROS Explorer

svn path=/trunk/; revision=23885

17 years agoAutosyncing with Wine HEAD
The Wine Synchronizer [Sat, 2 Sep 2006 06:27:09 +0000 (06:27 +0000)]
Autosyncing with Wine HEAD

svn path=/trunk/; revision=23883

17 years agoAutosyncing with Wine HEAD
The Wine Synchronizer [Sat, 2 Sep 2006 06:24:20 +0000 (06:24 +0000)]
Autosyncing with Wine HEAD

svn path=/trunk/; revision=23882

17 years ago- Move machine-specific initializations to KeInit2.
Alex Ionescu [Sat, 2 Sep 2006 05:10:16 +0000 (05:10 +0000)]
- Move machine-specific initializations to KeInit2.
- Initialize bugcheck messages much earlier, separate clock initialization from KeInit2.
- Completely move out and isolate ROS/FREELDR PE loading hacks to KiRosPrepareForSystemStartup so that KiSystemStartup is clean of them.

svn path=/trunk/; revision=23881

17 years ago- More Initialization changes:
Alex Ionescu [Sat, 2 Sep 2006 04:40:09 +0000 (04:40 +0000)]
- More Initialization changes:
   - Initialize bugcheck lists, timer DPC, profile list/locks, timer lists, the swap lists and syscall table as part of KiInitSystem (portable).
   - Add more initialization for the initial/idle process+thread (some code disabled due to dispatcher problems).
   - Add code to support future Timer implementation (based on tick-hashes)
   - Separate post-boostrap initialization code in KiInitializeKernel.
   - Add some support for future SMP paths.
   - Create a DPC stack.
- Changes based on WI4 and my automated parsing tool.

svn path=/trunk/; revision=23880

17 years ago- More kernel initialization changes and cleanups.
Alex Ionescu [Sat, 2 Sep 2006 02:59:44 +0000 (02:59 +0000)]
- More kernel initialization changes and cleanups.
- Start support for an initial boot thread.

svn path=/trunk/; revision=23879

17 years agoFix creating the console system menu items
Thomas Bluemel [Fri, 1 Sep 2006 23:18:23 +0000 (23:18 +0000)]
Fix creating the console system menu items

svn path=/trunk/; revision=23878

17 years agoAdd softpub.h header
Hervé Poussineau [Fri, 1 Sep 2006 23:06:32 +0000 (23:06 +0000)]
Add softpub.h header

svn path=/trunk/; revision=23877

17 years agoAutosyncing with Wine HEAD
The Wine Synchronizer [Fri, 1 Sep 2006 22:47:57 +0000 (22:47 +0000)]
Autosyncing with Wine HEAD

svn path=/trunk/; revision=23876

17 years agoAdd a stub sensapi.dll. This is a step to fix bug 1751
Hervé Poussineau [Fri, 1 Sep 2006 22:41:31 +0000 (22:41 +0000)]
Add a stub sensapi.dll. This is a step to fix bug 1751

svn path=/trunk/; revision=23875

17 years agoAdd some error codes (taken from Wine)
Hervé Poussineau [Fri, 1 Sep 2006 22:10:56 +0000 (22:10 +0000)]
Add some error codes (taken from Wine)

svn path=/trunk/; revision=23874

17 years agoDon't call BeginPaint/EndPaint while processing a WM_DRAWITEM message
Thomas Bluemel [Fri, 1 Sep 2006 21:53:31 +0000 (21:53 +0000)]
Don't call BeginPaint/EndPaint while processing a WM_DRAWITEM message

svn path=/trunk/; revision=23873

17 years agodisable code that dereferences a random pointer
Thomas Bluemel [Fri, 1 Sep 2006 18:56:06 +0000 (18:56 +0000)]
disable code that dereferences a random pointer

svn path=/trunk/; revision=23871

17 years agoDon't leak a reference in NtReleaseSemaphore() in case KeReleaseSemaphore() raises...
Thomas Bluemel [Fri, 1 Sep 2006 18:41:00 +0000 (18:41 +0000)]
Don't leak a reference in NtReleaseSemaphore() in case KeReleaseSemaphore() raises and exception

svn path=/trunk/; revision=23870

17 years agoremove superfluous dereference
Thomas Bluemel [Fri, 1 Sep 2006 18:20:44 +0000 (18:20 +0000)]
remove superfluous dereference

svn path=/trunk/; revision=23869

17 years ago- Use a more generic print service
Ged Murphy [Fri, 1 Sep 2006 16:55:36 +0000 (16:55 +0000)]
- Use a more generic print service
- don't assign a service name at the start as it causes problems when query(ex) doesn't supply one.
- Simplify the service starting code.
- Add missing options to the print type
- rewrite the querying functionality to be cleaner, and use existing code.
- remove the braces I left, used for collapsing dbg info

svn path=/trunk/; revision=23868

17 years agoFix indentation, no code changes.
Eric Kohl [Fri, 1 Sep 2006 15:49:50 +0000 (15:49 +0000)]
Fix indentation, no code changes.

svn path=/trunk/; revision=23867

17 years ago- More initialization cleanup.
Alex Ionescu [Fri, 1 Sep 2006 13:13:08 +0000 (13:13 +0000)]
- More initialization cleanup.

svn path=/trunk/; revision=23866

17 years agoFix build when compilation units are enabled for usetup.c
Hervé Poussineau [Fri, 1 Sep 2006 12:58:56 +0000 (12:58 +0000)]
Fix build when compilation units are enabled for usetup.c

svn path=/trunk/; revision=23865

17 years ago- Fix bugs in RtlCompareMemory, RtlCompareMemoryULong
Alex Ionescu [Fri, 1 Sep 2006 12:38:57 +0000 (12:38 +0000)]
- Fix bugs in RtlCompareMemory, RtlCompareMemoryULong

svn path=/trunk/; revision=23864

17 years agoRemove trailing whitespace
Eric Kohl [Fri, 1 Sep 2006 11:16:32 +0000 (11:16 +0000)]
Remove trailing whitespace

svn path=/trunk/; revision=23863

17 years agoFix option selection in bootcd
Hervé Poussineau [Fri, 1 Sep 2006 09:53:33 +0000 (09:53 +0000)]
Fix option selection in bootcd
Fix SetupOpenFileQueue, SetupCloseFileQueue and SetupCommitFileQueueW prototypes to match setupapi.dll ones

svn path=/trunk/; revision=23862

17 years agoMost of an implementation of page lookup for PPC. Written for
Art Yerkes [Fri, 1 Sep 2006 09:46:44 +0000 (09:46 +0000)]
Most of an implementation of page lookup for PPC.  Written for
understanding and also to provide a way to inspect virtual to phyiscal
translations.  We should and will do this with ofw most of the time, but
we'll have to do it ourselves in the delicate time before jumping to
ntoskrnl.

svn path=/branches/powerpc/; revision=23861

17 years agoAdding methods to inquire about virtual memory setup.
Art Yerkes [Fri, 1 Sep 2006 06:53:49 +0000 (06:53 +0000)]
Adding methods to inquire about virtual memory setup.

svn path=/branches/powerpc/; revision=23858

17 years ago- Add back defines accidentaly removed.
Alex Ionescu [Fri, 1 Sep 2006 03:19:25 +0000 (03:19 +0000)]
- Add back defines accidentaly removed.

svn path=/trunk/; revision=23854

17 years ago- Fix bug in RtlZero, Fill, Move memory where the last 1-3 bytes weren't being copied.
Alex Ionescu [Fri, 1 Sep 2006 03:15:32 +0000 (03:15 +0000)]
- Fix bug in RtlZero, Fill, Move memory where the last 1-3 bytes weren't being copied.

svn path=/trunk/; revision=23853

17 years ago- Multiple changes to low-level Kernel initalization sequence to bring it a bit close...
Alex Ionescu [Fri, 1 Sep 2006 03:05:30 +0000 (03:05 +0000)]
- Multiple changes to low-level Kernel initalization sequence to bring it a bit closer to Windows.
- Main difference is new CPU detection algorithms for ID, cache, etc, as well as using KF_ Kernel Feature bits instead of x86 CPU features (For portability).
- Also many many other cleanups and re-sequencing.

svn path=/trunk/; revision=23852

17 years agoforgot to turn debugging off
Ged Murphy [Thu, 31 Aug 2006 22:51:28 +0000 (22:51 +0000)]
forgot to turn debugging off

svn path=/trunk/; revision=23850

17 years ago- Some cleanups
Alex Ionescu [Thu, 31 Aug 2006 18:10:11 +0000 (18:10 +0000)]
- Some cleanups
- Add support for recovering from user-mode win32k callback fault.
- Also add support for debug register saving/reloading during user-mode callbacks and return.

svn path=/trunk/; revision=23849

17 years agofirst commit of an overhaul of sc.exe
Ged Murphy [Thu, 31 Aug 2006 17:59:02 +0000 (17:59 +0000)]
first commit of an overhaul of sc.exe
- establish a connection to the SCM for each separate request, allowing the minimum privlidges required, instead of a generic (over privlidged) one.
- start to move service printing to separate functions and reduce code duplication
- make output 100% as per Windows
- fix some commands, e.g. 'interrogate'
- improve error checking
- improve code structure

svn path=/trunk/; revision=23848

17 years agoPass additional arguments to a service when it is started by a call to StartService.
Eric Kohl [Thu, 31 Aug 2006 17:16:19 +0000 (17:16 +0000)]
Pass additional arguments to a service when it is started by a call to StartService.

svn path=/trunk/; revision=23846

17 years ago- Remove some deprecated code and custom ROS exports/code.
Alex Ionescu [Thu, 31 Aug 2006 17:10:58 +0000 (17:10 +0000)]
- Remove some deprecated code and custom ROS exports/code.

svn path=/trunk/; revision=23845

17 years agoAdd stubs for the condition variable functions
Thomas Bluemel [Thu, 31 Aug 2006 16:56:49 +0000 (16:56 +0000)]
Add stubs for the condition variable functions

svn path=/trunk/; revision=23844

17 years agoChange a very ugly done DbgPrint() function to a good implementation. Now Freeldr...
Aleksey Bragin [Thu, 31 Aug 2006 16:08:17 +0000 (16:08 +0000)]
Change a very ugly done DbgPrint() function to a good implementation. Now Freeldr shows all DPRINTs from e.g. cmlib correctly.

svn path=/trunk/; revision=23843

17 years agoSylvain Petreolle: Partly fix unicode build of cmd (a typo)
Aleksey Bragin [Thu, 31 Aug 2006 14:14:42 +0000 (14:14 +0000)]
Sylvain Petreolle: Partly fix unicode build of cmd (a typo)

svn path=/trunk/; revision=23842

17 years agoAdd ATTACH_PARENT_PROCESS constant
Hervé Poussineau [Thu, 31 Aug 2006 14:11:33 +0000 (14:11 +0000)]
Add ATTACH_PARENT_PROCESS constant

svn path=/trunk/; revision=23841

17 years agoRemove some code duplication when calling PopupError
Hervé Poussineau [Thu, 31 Aug 2006 12:35:39 +0000 (12:35 +0000)]
Remove some code duplication when calling PopupError
Add ConAttachConsole stub

svn path=/trunk/; revision=23840

17 years agoFix build for Linux people, where gcc claims that it doesn't support I64 for printf...
Hervé Poussineau [Thu, 31 Aug 2006 12:31:34 +0000 (12:31 +0000)]
Fix build for Linux people, where gcc claims that it doesn't support I64 for printf. Thanks Usurp on IRC

svn path=/trunk/; revision=23839

17 years agoFix Linux build (filename case problem...) Thanks gregj on IRC
Hervé Poussineau [Thu, 31 Aug 2006 11:09:05 +0000 (11:09 +0000)]
Fix Linux build (filename case problem...) Thanks gregj on IRC

svn path=/trunk/; revision=23837

17 years agoCleanup in .inf file handling of usetup:
Hervé Poussineau [Thu, 31 Aug 2006 09:13:03 +0000 (09:13 +0000)]
Cleanup in .inf file handling of usetup:
- Equivalent setupapi functions have the same protoype as in Win32 API
- Extra functions have the INF_* prefix

svn path=/trunk/; revision=23836

17 years agoSome intermediate work. We start loading the kernel now.
Art Yerkes [Thu, 31 Aug 2006 08:01:30 +0000 (08:01 +0000)]
Some intermediate work.  We start loading the kernel now.
Working on early boot memory mapping.  We'll rely heavily on open
firmware until we're on our own page table.

svn path=/branches/powerpc/; revision=23835

17 years agoClean up console functions in usetup. We now have 2 categories:
Hervé Poussineau [Thu, 31 Aug 2006 06:14:25 +0000 (06:14 +0000)]
Clean up console functions in usetup. We now have 2 categories:
- The same functions as in Win32 Console API, prefixed with Con
- The helpers (which call Con* functions) prefixed with CONSOLE_
Do according changes in other files

svn path=/trunk/; revision=23834

17 years ago- Don't do fast system calls with the wrong DS/ES selectors.
Alex Ionescu [Thu, 31 Aug 2006 05:25:58 +0000 (05:25 +0000)]
- Don't do fast system calls with the wrong DS/ES selectors.
- Properly load DS/ES on system startup and GDT load
- Use proper DS/ES during deprecated IRQ handling.
- Always use GS as 0 for all of the above.
- *FINALLY* fixes the oldest bug there ever was -> DS/ES corruption noticed in VMWare (And recently in QEMU+KERNELKQEMU, since it behaves internally like vmware). Hacks in trap code have FINALLY been removed!

svn path=/trunk/; revision=23833

17 years ago- Implement more parts of the GPF Handler.
Alex Ionescu [Thu, 31 Aug 2006 04:10:33 +0000 (04:10 +0000)]
- Implement more parts of the GPF Handler.
- Add support for lazy loading.
- QEMU + -kernel-qemu seems to work now.
- Hack away the Win32k bug that's been there for ages (copy to user-mode from kernel-mode failing due to probe due to incorrect previous mode). It's not the right fix, but nobody seems to be willing to fix it, and it doesn't make anything less stable, sicne the actually copy is in SEH anyway. It opens a security vuln. (wow, not like we have 15000) in exchange for fixing dozens of win32k bugs and failures.

svn path=/trunk/; revision=23832

17 years agoTesting commit
Pablo Borobia [Thu, 31 Aug 2006 03:12:14 +0000 (03:12 +0000)]
Testing commit

svn path=/trunk/; revision=23831

17 years ago- Write new, optimized, small, working and clean functions (fixes booting, last few...
Alex Ionescu [Thu, 31 Aug 2006 01:20:55 +0000 (01:20 +0000)]
- Write new, optimized, small, working and clean functions (fixes booting, last few commits broke it for me):
    - RtlCompareMemory
    - RtlCompareMemoryUlong
    - RtlFillMemory
    - RtlFillMemoryUlong
    - RtlFillMemoryUlongUlong
    - RtlMoveMemory
    - RtlZeroMemory
    - RtlPrefetchMemoryNonTemporal
    - RtlUshortByteSwap
    - RtlUlongByteSwap
    - RtlUlonglongByteSwap

svn path=/trunk/; revision=23830

17 years agoFix difference in signedness warnings
Thomas Bluemel [Wed, 30 Aug 2006 21:47:38 +0000 (21:47 +0000)]
Fix difference in signedness warnings

svn path=/trunk/; revision=23829

17 years agoUse the new ProbeForWriteIoStatusBlock macro
Thomas Bluemel [Wed, 30 Aug 2006 21:45:17 +0000 (21:45 +0000)]
Use the new ProbeForWriteIoStatusBlock macro

svn path=/trunk/; revision=23828

17 years ago- Fix some probing macros
Thomas Bluemel [Wed, 30 Aug 2006 21:44:12 +0000 (21:44 +0000)]
- Fix some probing macros
- Add probing macros for IO_STATUS_BLOCK structures
- Added two inline functions ProbeArrayForRead() and ProbeArrayForWrite(), mainly for use in win32k as they also check for integer overflows.

svn path=/trunk/; revision=23827

17 years agoWrote RtlUshotByteSwap RtlUlongByteSwap and RtlUlonglongByteSwap to asm code.
Magnus Olsen [Wed, 30 Aug 2006 21:17:53 +0000 (21:17 +0000)]
Wrote  RtlUshotByteSwap RtlUlongByteSwap and  RtlUlonglongByteSwap to asm code.
   but we need a C api for header to linking it right. Put the asm version to i386

svn path=/trunk/; revision=23826

17 years agoRevert r23824. This needs to go into the clipboard branch for now.
Thomas Bluemel [Wed, 30 Aug 2006 20:59:32 +0000 (20:59 +0000)]
Revert r23824. This needs to go into the clipboard branch for now.

svn path=/trunk/; revision=23825

17 years ago* added GetLayout definition
Pablo Borobia [Wed, 30 Aug 2006 20:56:17 +0000 (20:56 +0000)]
* added GetLayout definition
* added Clipboards definitions
* added GetLastInputInfo definition

svn path=/trunk/; revision=23824

17 years agoRevert r23810, r23811, r23813. The clipboard changes are in the clipboard branch...
Thomas Bluemel [Wed, 30 Aug 2006 20:40:07 +0000 (20:40 +0000)]
Revert r23810, r23811, r23813. The clipboard changes are in the clipboard branch for now.

svn path=/trunk/; revision=23823

17 years agompr.dll can now be autosynced with Wine
Hervé Poussineau [Wed, 30 Aug 2006 20:37:56 +0000 (20:37 +0000)]
mpr.dll can now be autosynced with Wine

svn path=/trunk/; revision=23822

17 years agoupdate msi wine regtest
Ged Murphy [Wed, 30 Aug 2006 20:37:49 +0000 (20:37 +0000)]
update msi wine regtest

svn path=/trunk/; revision=23821

17 years agoupdate comctl32 winetest
Ged Murphy [Wed, 30 Aug 2006 20:28:33 +0000 (20:28 +0000)]
update comctl32 winetest

svn path=/trunk/; revision=23818

17 years agoavifil32.dll can now be autosynced with Wine
Hervé Poussineau [Wed, 30 Aug 2006 20:16:11 +0000 (20:16 +0000)]
avifil32.dll can now be autosynced with Wine

svn path=/trunk/; revision=23816

17 years agowineimport.cmd (>= r23814) is now able to handle msi.dll autosync. Mark it as such.
Hervé Poussineau [Wed, 30 Aug 2006 20:01:42 +0000 (20:01 +0000)]
wineimport.cmd (>= r23814) is now able to handle msi.dll autosync. Mark it as such.

svn path=/trunk/; revision=23815

17 years ago* Added more clipboard regression tests
Pablo Borobia [Wed, 30 Aug 2006 19:46:40 +0000 (19:46 +0000)]
* Added more clipboard regression tests

svn path=/trunk/; revision=23813

17 years agoAdd msi_ros.diff
Hervé Poussineau [Wed, 30 Aug 2006 19:41:09 +0000 (19:41 +0000)]
Add msi_ros.diff

svn path=/trunk/; revision=23812

17 years agoshel32.dll part:
Pablo Borobia [Wed, 30 Aug 2006 19:35:54 +0000 (19:35 +0000)]
shel32.dll part:

* Clipboard implemtation in win32k and user32
* Added a clipboard system for each Window Station
* GetLastInputInfo implementation
* GetLayout in win32k Stubs
* Shell32 changes to cut/copy & paste link/paste
* Implemented ALT+PrintScreen to clipboard

svn path=/trunk/; revision=23811

17 years agouser32.dll part:
Pablo Borobia [Wed, 30 Aug 2006 19:35:22 +0000 (19:35 +0000)]
user32.dll part:

* Clipboard implemtation in win32k and user32
* Added a clipboard system for each Window Station
* GetLastInputInfo implementation
* GetLayout in win32k Stubs
* Shell32 changes to cut/copy & paste link/paste
* Implemented ALT+PrintScreen to clipboard

svn path=/trunk/; revision=23810

17 years ago- It should now be safe to remove the V86 ESP0 hack, since V86 mode works fine (teste...
Alex Ionescu [Wed, 30 Aug 2006 19:29:16 +0000 (19:29 +0000)]
- It should now be safe to remove the V86 ESP0 hack, since V86 mode works fine (tested on VMWare/QEmu).

svn path=/trunk/; revision=23809

17 years agoUpdate MSI to current Wine version.
Hervé Poussineau [Wed, 30 Aug 2006 19:24:26 +0000 (19:24 +0000)]
Update MSI to current Wine version.
Autosync will be put in place very soon for this dll.

svn path=/trunk/; revision=23808

17 years ago[WINESYNC]
Ged Murphy [Wed, 30 Aug 2006 19:18:49 +0000 (19:18 +0000)]
[WINESYNC]
update comctl32 to Wine_0.9.20

svn path=/trunk/; revision=23807

17 years agoImplement Slim Reader/Writer (SRW) locks:
Thomas Bluemel [Wed, 30 Aug 2006 19:02:42 +0000 (19:02 +0000)]
Implement Slim Reader/Writer (SRW) locks:
- Implement AcquireSRWLockExclusive(), AcquireSRWLockShared(), InitializeSRWLock(), ReleaseSRWLockExclusive(), ReleaseSRWLockShared()
- NOTE: Some versions of GCC have a code generation bug with specially aligned structures on the stack. If compiled with such a compiler, the code might trigger special assertions. Pushlocks are also affected by this compiler bug.
- NOTE: The algorithms are most likely not the same as in Windows. Applications are supposed to treat the lock variables as opaque data, therefore it shouldn't matter.

svn path=/trunk/; revision=23806

17 years agoFix MsiGetFeatureStateA/W and MsiGetComponentStateA/W prototypes
Hervé Poussineau [Wed, 30 Aug 2006 18:08:21 +0000 (18:08 +0000)]
Fix MsiGetFeatureStateA/W and MsiGetComponentStateA/W prototypes

svn path=/trunk/; revision=23805

17 years agoKill inline asm code compete in RtlUlongByteSwap for it doing swap wrong.
Magnus Olsen [Wed, 30 Aug 2006 17:51:36 +0000 (17:51 +0000)]
Kill inline asm code compete in RtlUlongByteSwap for it doing swap wrong.
we go back using the C version. Thanks Fireball

svn path=/trunk/; revision=23804

17 years ago- Fix KeRaiseUserException (can't use "return" from SEH_HANDLE).
Alex Ionescu [Wed, 30 Aug 2006 17:01:58 +0000 (17:01 +0000)]
- Fix KeRaiseUserException (can't use "return" from SEH_HANDLE).

svn path=/trunk/; revision=23803

17 years ago- Some fixes to KiDispatchException: Add support for forwarding exception back to...
Alex Ionescu [Wed, 30 Aug 2006 16:58:12 +0000 (16:58 +0000)]
- Some fixes to KiDispatchException: Add support for forwarding exception back to user-mode, protect against V86 or invalid-stack faults, handle stack overflow exception while handling usermode exception (Thanks KJK for the SEH_FILTER help). Decrement EIP by one when hitting an INT3, to get the correct address.
- Remove two associated kernel fun entries.

svn path=/trunk/; revision=23802

17 years ago- fix indentation and remove trailing whitespace
Eric Kohl [Wed, 30 Aug 2006 10:53:37 +0000 (10:53 +0000)]
- fix indentation and remove trailing whitespace
- StartServiceA/W: terminate argument buffer with a double zero.

svn path=/trunk/; revision=23801

17 years agoAdd missing includes in .rc file
Hervé Poussineau [Wed, 30 Aug 2006 10:40:59 +0000 (10:40 +0000)]
Add missing includes in .rc file
Sort them in alphabetical order

svn path=/trunk/; revision=23800

17 years agoImplement RtlRandomEx by copy RtlRandom code.
Magnus Olsen [Wed, 30 Aug 2006 10:13:01 +0000 (10:13 +0000)]
Implement RtlRandomEx by copy RtlRandom code.
ms have two different implement, One random is faster that other, (in some doc I read (maybe from osr) some year ago),  the RtlRandomEx  is not document in the free ddk/sdk, but it is include in ddk/ifs kit, according the doc.

svn path=/trunk/; revision=23799

17 years ago* remove useless cast
Johannes Anderwald [Wed, 30 Aug 2006 09:45:08 +0000 (09:45 +0000)]
* remove useless cast

svn path=/trunk/; revision=23798

17 years ago- fix definition of FONTENUMPROC
Johannes Anderwald [Wed, 30 Aug 2006 09:17:47 +0000 (09:17 +0000)]
- fix definition of FONTENUMPROC

svn path=/trunk/; revision=23797

17 years ago- Update kernel fun.
Alex Ionescu [Wed, 30 Aug 2006 06:56:06 +0000 (06:56 +0000)]
- Update kernel fun.

svn path=/trunk/; revision=23796

17 years ago- Implement RtlCaptureStackBackTrace and RtlWalkFrameChain and add definitions to...
Alex Ionescu [Wed, 30 Aug 2006 06:52:10 +0000 (06:52 +0000)]
- Implement RtlCaptureStackBackTrace and RtlWalkFrameChain and add definitions to ntifs.h
- Get rid of KeRosGetStackFrames and replace usage by RtlWalkFrameChain or RtlCaptureStackBackTrace, depending.
- Remove this entry from Kernel Fun.

svn path=/trunk/; revision=23795

17 years ago- Add about two dozen new bugcheck codes and strings.
Alex Ionescu [Wed, 30 Aug 2006 05:22:56 +0000 (05:22 +0000)]
- Add about two dozen new bugcheck codes and strings.
- Major cleanup of exp.c to move out deprecated and old code.
- Use KdDebuggerNotPresent to determine if KDBG is there or not. KdDebuggerEnable is now set whenever booting with debugging -- even if only serial port or screen debugging.
- Complete cleanup and major rewrite/improvement of bugcheck code:
  - Moved stack dump routines to bug.c and cleaned them up. Next step is to remove most of them and implement them properly as part of RtlCaptureStackBackTrace and RtlWalkFrameChain.
  - Use InbvDisplayString for everything now. BSODs will only truly show on screen. (however, part of the KeBugCheckWithTf improvements, a special "if debugger enabled" BSOD will also be displayed for debugging purposes).
  - Do checksum calculation in bugcheck callbacks.
  - Detect and display which drivers belong to which EIP.
  - Implemented code to select the proper verbose BSOD message depending on the bug check code.
  - Also implemented code to detect a variety of "known" bug check codes and to recover more data on them, and/or modify them accordingly. Sadly ROS doesn't yet make use of most of these codes.
  - Factored out and split some code into individual routines.
  - Look and functionality is now identical to Windows XP.
  - Stack trace will only be shown if KDBG isn't connected. If KDBG is connected you can do "bt" anyway (which is more powerful).

svn path=/trunk/; revision=23794

17 years ago- Jesus Christ... will Hell freeze over before someone finally listens and implements...
Alex Ionescu [Wed, 30 Aug 2006 01:22:41 +0000 (01:22 +0000)]
- Jesus Christ... will Hell freeze over before someone finally listens and implements a proper PE loader in Freeloader?

svn path=/trunk/; revision=23793