Commit Graph
40673 Commits
Author SHA1 Message Date
Timo Kreuzer fbe7bbfcdb Update trap.S to conform
svn path=/branches/ros-amd64-bringup/; revision=45329
2010-01-30 00:30:08 +00:00
Timo Kreuzer 459f389307 Update some asm macros, partly adding MASM/ML support
svn path=/branches/ros-amd64-bringup/; revision=45328
2010-01-30 00:22:03 +00:00
Timo Kreuzer fde64b37c3 make use of the new file
svn path=/branches/ros-amd64-bringup/; revision=45327
2010-01-29 23:41:52 +00:00
Timo Kreuzer 5a811f8ce2 Add include/reactos/asm.h
This file replaces asmmacro.S and shall provide GAS/ML64 compatibility definitions

svn path=/branches/ros-amd64-bringup/; revision=45326
2010-01-29 23:29:58 +00:00
Timo Kreuzer 6b38c83e7a [NTOS]
MSVC compatibility fix: use DECLSPEC_ALIGN and remove inline asm (it was testcode anyway)

svn path=/branches/ros-amd64-bringup/; revision=45325
2010-01-29 23:25:05 +00:00
Timo Kreuzer ef3224edab Fix parameters of KeUpdateSystemTime, make it regparm only for X86 ans remove the now deprecated stub.
Add a few stubs for MSVC

svn path=/branches/ros-amd64-bringup/; revision=45318
2010-01-29 13:23:00 +00:00
Timo Kreuzer a0055ff789 Use __inline instead of inline
svn path=/branches/ros-amd64-bringup/; revision=45314
2010-01-29 05:25:26 +00:00
Timo Kreuzer b4c3b1e6f6 unimplement a bunch or intrinsics for msc, as we cannot use inline asm.
svn path=/branches/ros-amd64-bringup/; revision=45313
2010-01-29 05:23:59 +00:00
Timo Kreuzer 9943d23d5d fix the same typo once more
svn path=/branches/ros-amd64-bringup/; revision=45295
2010-01-28 02:37:28 +00:00
Timo Kreuzer 01afdbbe91 [CRT]
Implement sin() in C. Code is actually 99% identical to cos.
Note: We are using even exponents for sin, too, as this results in higher precision than using uneven exponents.

svn path=/branches/ros-amd64-bringup/; revision=45294
2010-01-28 01:18:12 +00:00
Timo Kreuzer 80be387663 fix a typo
svn path=/branches/ros-amd64-bringup/; revision=45292
2010-01-28 00:59:40 +00:00
Timo Kreuzer c21ada51d6 [CRT]
- implement generic C version of cos(). On amd64 machines it will compile into very optimized SSE2 code. No need to use assembly.

svn path=/branches/ros-amd64-bringup/; revision=45290
2010-01-27 23:42:34 +00:00
Timo Kreuzer 9c9f4a9fd7 Revert r45245 - r45247
Although the idea of using mingw-w64's routines is good, we can't because it's using x87. We need SSE2.

svn path=/branches/ros-amd64-bringup/; revision=45255
2010-01-25 22:01:02 +00:00
Samuel Serapion 3ec17c4a18 Fix amd64 libcntpr.
svn path=/branches/ros-amd64-bringup/; revision=45247
2010-01-25 11:54:37 +00:00
Samuel Serapion 835a07e605 Forgot to svn add spec file.
svn path=/branches/ros-amd64-bringup/; revision=45246
2010-01-25 11:19:50 +00:00
Samuel Serapion 2ce7897109 [MSVCRT]
- Convert to spec, based on wine. Tons of stuff missing but compiles, links and runs abiword and firefox.
- Export floating point functions.
[CRT]
- Implement acosf, asinf, atanf, atan2f, copysign, copysignf, exp, expf, fabs, fmod, fmodf, hypotf, ceil, ceilf, cos, cosf, floor, floorf, log, log10, sin, sinf, tan, tanf, ldexp, log10f, logb, logbf, logf, modff, nextafter, nextafterf, powf, sinhf, sqrt, sqrtf, tanf, tanhf in amd64 compatible way. Made possible by mingw-w64.

svn path=/branches/ros-amd64-bringup/; revision=45245
2010-01-25 11:10:06 +00:00
Samuel Serapion 1ac4e0fac7 - commctrl.h: revert a change from 45098 which is incorrect.
- make some floating point math available on x64
- build fixes.

svn path=/branches/ros-amd64-bringup/; revision=45208
2010-01-23 04:18:57 +00:00
Samuel Serapion 351f173762 Fix build.
svn path=/branches/ros-amd64-bringup/; revision=45193
2010-01-21 19:54:40 +00:00
Timo Kreuzer ed70a6466b fix build with USERMODE = 1
svn path=/branches/ros-amd64-bringup/; revision=45192
2010-01-21 19:48:38 +00:00
Timo Kreuzer 9034baffe6 [FREELDR]
Remove deprecated reactos loader code

svn path=/branches/ros-amd64-bringup/; revision=45191
2010-01-21 19:43:08 +00:00
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