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
- 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
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
- Comment out NtRaiseException and NtContinue for now
- Use TrapFrame->PreviousMode like done for arm
svn path=/branches/ros-amd64-bringup/; revision=45187
[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
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
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
[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
[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
[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