Commit graph

40653 commits

Author SHA1 Message Date
Samuel Serapion d16e5ecdca - Remove old HalpInitPICs
svn path=/branches/ros-amd64-bringup/; revision=45190
2010-01-21 19:40:32 +00:00
Timo Kreuzer 663e3ac4c2 [HAL]
Fix build

svn path=/branches/ros-amd64-bringup/; revision=45189
2010-01-21 19:34:30 +00:00
Timo Kreuzer f7a3094ecc [NTOS]
Fixup code based on recent changes

svn path=/branches/ros-amd64-bringup/; revision=45188
2010-01-21 19:33:47 +00:00
Timo Kreuzer 4409da3038 [NTOS]
- Comment out NtRaiseException and NtContinue for now
- Use TrapFrame->PreviousMode like done for arm

svn path=/branches/ros-amd64-bringup/; revision=45187
2010-01-21 19:32:39 +00:00
Timo Kreuzer 5f457606f3 Merge trunk r45185
svn path=/branches/ros-amd64-bringup/; revision=45186
2010-01-21 18:34:48 +00:00
Timo Kreuzer b9ebd4c107 [NTOS]
- Fix bugcheck paramters in KiGeneralProtectionFault
- Disable x87 fpu exceptions

svn path=/branches/ros-amd64-bringup/; revision=45185
2010-01-21 18:00:23 +00:00
Timo Kreuzer bc00bfdb25 reduce difference to trunk
svn path=/branches/ros-amd64-bringup/; revision=45184
2010-01-21 17:58:38 +00:00
Christoph von Wittich 051cf08911 [HAL]
-header cleanup
-spaces -> tabs in rbuild file

svn path=/trunk/; revision=45183
2010-01-21 13:43:49 +00:00
Sir Richard 819e842b8e [HAL]: The HAL is a mess. Fix build.
svn path=/trunk/; revision=45182
2010-01-21 13:36:30 +00:00
James Tabor 890497afd7 [Win32k]
- Fixes to region support code. See bug 5124. 

svn path=/trunk/; revision=45181
2010-01-21 13:18:33 +00:00
Sir Richard 202f931c4e [HAL]: Initialize the i8259A PIC controllers in C, and add register structures and enumerations to document the bits. These were taken from ISA System Architecture 3rd Edition and EISA System Architecture 2nd Edition by Mindshare.
[HAL]: Add code to detect EISA systems with ELCR (Edge/Level Control Register). Since the current HAL does not support these, warn users about any level/shared interrupts, since they are likely to cause trouble.

svn path=/trunk/; revision=45180
2010-01-21 12:51:13 +00:00
Cameron Gutman ffdab4c2f5 Merge aicom-network-branch (without NDIS changes for now)
New noteworthy improvements include (in addition to the other improvements made in the commits that were reverted in trunk):
 - Support for sending/receiving packets > 16KB in size
 - Samba-tng works
 - Tracert works
 - Major speed and stability improvements (especially for TCP connections)
 - Use ExAllocatePoolWithTag/ExFreePoolWithTag instead of memtrack

svn path=/trunk/; revision=45172
2010-01-21 03:48:10 +00:00
James Tabor 1964950642 [Win32k]
- Add system region support functions.

svn path=/trunk/; revision=45171
2010-01-21 02:58:52 +00:00
James Tabor d0d7c7c47f [Win32k]
- Implement IntGdiSetBrushOwner for bug 5124. 

svn path=/trunk/; revision=45170
2010-01-21 01:39:19 +00:00
James Tabor 2899820ed5 [User32]
- Revert 44988, fix crash in win user32 wine test.

svn path=/trunk/; revision=45169
2010-01-21 00:49:25 +00:00
James Tabor 25b52444b5 [Win32k]
- System regions do not possess user attribute sections. See bug 5124.
- Read the patch for more information.

svn path=/trunk/; revision=45168
2010-01-21 00:14:06 +00:00
Timo Kreuzer 801f2e9f36 [RTL]
Fix a bug in RtlFindNextForwardRunSet, that was returning the wrong bit position. Found by Amine Khaldi.

svn path=/trunk/; revision=45167
2010-01-20 23:34:21 +00:00
Daniel Reimer 6519a78fee Try to fix FF2 Download.
svn path=/trunk/; revision=45166
2010-01-20 23:19:22 +00:00
Timo Kreuzer 74cd1f3fa7 [CRT]
Remove unused variables. Patch by Amine Khaldi.

svn path=/trunk/; revision=45165
2010-01-20 22:56:01 +00:00
Sir Richard fc405bb3c2 [RBUILD]: Use correct kernel entrypoint symbol name. Forgot to commit this earlier.
Please, next time before you harass us with e-mails, try to read your logs. LD choses a random entrypoint if the symbol cannot be found.

svn path=/trunk/; revision=45162
2010-01-20 14:09:50 +00:00
Dmitry Gorbachev d6fa8735be Fix build-2.
svn path=/trunk/; revision=45161
2010-01-20 10:59:39 +00:00
Dmitry Gorbachev 274f2bcdb3 Fix build.
svn path=/trunk/; revision=45160
2010-01-20 10:38:40 +00:00
Sir Richard 01d2a95033 [NTOS]: Implement KiSwapProcess in C.
[NTOS]: Implement KiIsNpxPresent and KiIsNpxErrataPresent in C. It's much clearer what these are doing now.
[NTOS]: Implement KiFlushNPXState and fix some bugs that were present in the ASM version, such as a wrong NPX state check.
[NTOS]: Implement working intrinsics for fxrstor, fxsave, fnsave and enable them for flushing. We'll update the FPU trap code to use these later.

svn path=/trunk/; revision=45156
2010-01-20 04:05:08 +00:00
James Tabor 04a018d92b - Add dclevel flags.
svn path=/trunk/; revision=45155
2010-01-20 01:40:27 +00:00
Sir Richard fdc6352f10 [NTOS]: Workaround for GCC 4.4.x bug reported by Dmitry.
svn path=/trunk/; revision=45154
2010-01-19 22:21:12 +00:00
Kamil Hornicek 6a901b0a67 - fix build, thanks Black_Fox
svn path=/trunk/; revision=45153
2010-01-19 21:19:56 +00:00
Sir Richard 2b21bf41f4 [FREELDR]: Jump to a standard 1-parameter STDCALL kernel entrypoint instead of a FASTCALL double-parameter entrypoint.
[NTOS]: Make KiSystemStartup the real C entrypoint of the kernel, and move the "Am I being booted by FreeLDR" logic inside it -- it will then call KiRosPrepareForSystemStartup as earlier.
[NTOS]: Move the Double Fault and Boot Stack declaration in C code, with the proper alignment attribute.
[NTOS]: Although the concern that KiSystemStartup cannot be 100% C since it modifies ESP is real (Thomas' original fix of Alex's code), we don't need that much of it in assembly. Instead, write a simple trampoline (KiSwitchToBootStack) inline which switches stacks and jumps to a second-stage C function.
[NTOS]: Completely remove boot.S as it isn't needed anymore, ReactOS startup is back to being (nearly) 100% C.

svn path=/trunk/; revision=45152
2010-01-19 18:27:24 +00:00
Sir Richard b5b72b8be6 [NTOS]: Try backing out a change to see if thix fixes BuildBot.
svn path=/trunk/; revision=45150
2010-01-19 15:26:16 +00:00
Daniel Reimer 87ee3e1f91 Update the d3dx9_XX.dll files to the recent wine release version. Mostly stubs, but many games appreciate their existance.
svn path=/trunk/; revision=45149
2010-01-19 10:09:33 +00:00
Sir Richard bb3df24b50 [NTOS]: Implement GUI thread promotion during the first GUI system call in C. This is tricky due to EBP, and actually requires some tiny inline ASM magic to make it work right.
[NTOS]: Implement SYSENTER system calls in C as well.

All system calls are now handled in C. This code will be further optimized/refined soon.

svn path=/trunk/; revision=45148
2010-01-19 09:45:30 +00:00
Sir Richard d4efc1a06c [NTOS]: Convert system call handling to C. Only kernel system calls are done this way for now, not SYSENTER calls from user-mode. A small ASM trampoline is used inline for the call itself.
svn path=/trunk/; revision=45147
2010-01-19 09:20:40 +00:00
Sir Richard 9ef69503ed [NTOS]: Fix build.
svn path=/trunk/; revision=45146
2010-01-19 08:51:37 +00:00
Sir Richard 7bd79bce9e [NTOS]: We don't actually need wrappers for NtContinue/NtRaiseException. These are now fully portable C code, so move them appropriately.
svn path=/trunk/; revision=45145
2010-01-19 08:41:03 +00:00
Sir Richard 94d748c642 [NTOS]: Kei386EoiHelper now jumps into the C KiEoiHelper. All interrupt exit is now done through the C trap exit code.
[NTOS]: The ASM KiServiceExit/KiServiceExit2 are no more. All system call exit is now done through the C trap exit code.

svn path=/trunk/; revision=45144
2010-01-19 08:35:37 +00:00
Sir Richard b6fb14da50 [NTOS]: Implement the special NtRaiseException in C as well, just like we did for NtContinue.
svn path=/trunk/; revision=45143
2010-01-19 08:26:25 +00:00
Sir Richard e8437a07f6 [NTOS]: Implement "Edited Trap Frame" exit. This funky trick is actually how NT emulates longjmp/setjmp when doing an NtContinue: it allows arbitrary return with a new CS/ESP.
[NTOS]: Implement C version of KiServiceExit, the second system call exit routine. This one sets a new EAX value to be returned to the caller and is used by system calls.
[NTOS]: Implement NtContinue in C instead of ASM. Due to the changes above, this can now be done in C and use the new KiServiceExit.

svn path=/trunk/; revision=45142
2010-01-19 08:20:12 +00:00
Sir Richard aba18024bd [NTOS]: Implement KiServiceExit2, C Version. This is used for exiting to user-mode with full state restore (as in NtContinue, thread startup, NtRaiseException...).
[NTOS]: Implement system service exit (for system calls or KiServiceExit2) in KiExitTrap. Both iret (for user calls), jmp (for kernel calls) and sysexit (for user fast calls) are implemented.
[NTOS]: Implement KiThreadStartup in C instead of ASM. It is the first caller of the new KiServiceExit2. Threads now start up in C!

svn path=/trunk/; revision=45141
2010-01-19 06:34:15 +00:00
Sir Richard bf8b9467dc [NTOS]: Implement KeUpdateSystemTime and KeUpdateRunTime in C instead of ASM. Based off eVb's ARM implementation, with multiple bugs fixed (incorrect update of system counters, incorrect expiration of timers, remove non-used debug features, use locks when needed).
[NTOS]: Implement KiComputeTimerTableIndex in C instead of ASM. Based off eVb's ARM implementation, bugfixed to do correct math instead.

As a side effect, this should fix timers on ARM ;-)

svn path=/trunk/; revision=45140
2010-01-19 06:16:47 +00:00
Christoph von Wittich d6b8e75c83 [WINDOWSCODECS]
update wincodec.idl to wine 1.1.36

svn path=/trunk/; revision=45139
2010-01-18 20:39:30 +00:00
Christoph von Wittich 4762ec5ea0 [WINDOWSCODECS]
update windowscodecs to wine 1.1.36

svn path=/trunk/; revision=45138
2010-01-18 20:36:58 +00:00
Timo Kreuzer 1108cf10b1 [NTOS]
Fix possible NULL pointer dereference. Spotted by Amine Khaldi.

svn path=/trunk/; revision=45137
2010-01-18 17:24:28 +00:00
Christoph von Wittich 27a2254546 [MSHTML_WINETEST]
update mshtml winetest to wine 1.1.36

svn path=/trunk/; revision=45136
2010-01-18 16:59:11 +00:00
Christoph von Wittich 24cd3eb4cb [MSXML3]
update msxml3 to wine 1.1.36

svn path=/trunk/; revision=45135
2010-01-18 16:53:59 +00:00
Timo Kreuzer b90d243037 [NTOS]
Fix buffer overrun in ExFreePoolWithTag when dealing with a PoolType other than NonPagedPool and PagedPool. Spotted by Amine Khaldi.

svn path=/trunk/; revision=45134
2010-01-18 16:43:58 +00:00
Christoph von Wittich 29193e1051 [MSHTML]
update mshtml to wine 1.1.36

svn path=/trunk/; revision=45133
2010-01-18 16:27:14 +00:00
Timo Kreuzer 31842662a8 [NTOS]
KiTrap0DHandler: fix buffer overrun (Spotted by Amine Khaldi) and optimize the code by checking the counter variable, instead of Instruction, this works the same, but the compiler can make sense of it and safe one comparison.

svn path=/trunk/; revision=45132
2010-01-18 16:16:59 +00:00
Sylvain Petreolle f783339b11 [ADVAPI]
Sync OpenEventLogA with wine.
RtlCreateUnicodeStringFromAsciiz breaks null checks.

svn path=/trunk/; revision=45131
2010-01-18 16:03:30 +00:00
Christoph von Wittich ebaf29efc8 [QUARTZ]
update quartz to wine 1.1.36

svn path=/trunk/; revision=45130
2010-01-18 14:28:36 +00:00
Cameron Gutman eaf8ca78e4 - Fix calculation of the maximum data size (it previously calculated 65519 (0xFFFF - sizeof(ICMPv4Header) - sizeof(LARGE_INTEGER)) which was wrong because the real maximum was 65499 (0xFFFF - sizeof(IPv4Header) - sizeof(ICMPv4Header) - sizeof(LARGE_INTEGER)))
- Implement -f and -i options
 - Note: This raises our max ping data size to 65507 (0xFFFF - sizeof(IPv4Header) - sizeof(ICMPv4Header)) so we match linux's (iputils) ping max size but Windows' max is 65500 and I'm not sure if we should change our code to match Windows or not

svn path=/branches/aicom-network-branch/; revision=45129
2010-01-18 00:52:31 +00:00
Matthias Kupfer cea3c125e2 - fix file path in header
- add German translation

svn path=/trunk/; revision=45128
2010-01-17 22:37:09 +00:00