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