- Get rid of HAL's own intrisics and use intrin_i.h and/or MSVC intrinsics from intrin.h
- If anyone knows how to make a .DEF file that is not only understood by both compilers, but also creates a proper import library, please let me know.
svn path=/trunk/; revision=24774
* Don't insert NDEBUG as a define, files define this manually already.
* Don't add _CRT flags, since the RTM WDK defines them properly.
* Force warning.h to be included just like the WDK does.
* Disable WPO and LTCG for now.
* Disable 64-bit warnings for now.
* Fix assembly custom steps. NASMW for .asm, and GAS for .S.
- Please remember that you NEED the WDK 6000 RTM installed to use MSVC for building ReactOS. Don't change global build settings just because you were too lazy to download it and think that because your Win32 app doesn't need it, it's ok to break other people's native/system/kernel/hal builds. Change it locally if you're lazy, but don't revert these changes again.
svn path=/trunk/; revision=24773
- Add stub for HalSetTimeIncrement.
- Cleanup CMOS-related routines (Get/Set environment value and get/set RTC). Fixup some prototypes as well. Inline HalpReadCmos/HalpWriteCmos instead of having a separate function.
- Fixup wrong protypes for various Queued Spinlock functions.
- Use __rdtsc intrinsic instead of Ke386RdTsc.
- Other MSVC compilation fixes.
svn path=/trunk/; revision=24770
- Matching HAL MP HalStartNextProcessor() and commenting out a call to HaliStartApplicationProcessor() (because it needs ProcessorContext). Proper fix should be done.
- Removing HalReportResourceUsage from MP version, and marking what it did differently as FIXME in the generic version.
svn path=/trunk/; revision=24763
- Remove fmutex.c and fastmutex functions from HAL. The whole point of having the Exi ones in the kernel was that HAL calls them through forward exports now (so any old driver can still link with HAL). Now we don't duplicate the implementation anymore.
- Remove DriverEntry, it's useless. Also move HalReportResourceUsage to halinit because it's a call-once-on-boot function much akin a HalInitPhase2 function, so delete resource.c
- Keep track of interrupt affinity and active processor mask each time a new CPU initializes.
svn path=/trunk/; revision=24762
- split the open / new file code
- Add a dialog for adjusting the brightness. The code for adjusting the brightness will follow soon, as will many other image adjusting dialogs.
- change the menus to show the image adjustment tools which will be present
- remove the horrible image property dialog code. I'll rewrite it at a later stage
- Set Arial as the default font
- fix a few API's to be 64-bit compatable
- reduce msvc warnings
svn path=/trunk/; revision=24761
- Implement (or cleanup + mark as implemented, these are 4 line functions) HalDisplayString, HalAcquireDisplayOwnership, HalSetDisplayParameters, HalQueryDisplayParameters, HalInitailizeProcessor, HalAllProcessorsStarted, HalStartNextProcessor, HalProcessorIdle, HalRequestIpi.
- Fix some prototype definitions and cleanup some formatting.
svn path=/trunk/; revision=24759
- Add lots of missing PCI definitions to the DDK, and to the internal file pci.h
- Make HAL compilable with the WDK thanks to a nice hack/trick I found.
svn path=/trunk/; revision=24757
- dump rest of log file when a BSOD is detected
- write debugging data to ROSBOOT_DEBUG_FILE when reading from a pipe
- update configuration files
- silence debug print in sym_file.cpp
svn path=/trunk/; revision=24755
- Stall the CPU after each I/O command to simulate I/O delay.
- Flush write buffers before rebooting.
- Refactor sending the reset command since it's not always a matter of using the keyboard port.
- HalReturnToFirmware does a HalpReboot no matter what parameter is sent.
svn path=/trunk/; revision=24741
- Create new /fstub directory in the kernel tree and move iomgr's xhal functions there.
- Delete disk.c entirely from iomgr.c and spread it across fstub.
- Entirely reimplement from scratch IoWritePartitionTable, IoReadPartitionTable, IoSetPartitionInformation, HalExamineMbr. Lots of bug fixes in terms of wrong assumptions and compatibility with weird partition tables.
- Fix prototype of IoAssignDriveLetters, but for now, keep the old code (xHalIoAssignDriveLetters) because this has not been rewritten yet.
- Move some functions to fstubex.c for future implementation, and some to volume.c. Move the HAL table to halstub.c
- Make use of the hal.h file commited earlier.
- Move IoAssignDriveLetters from halfuncs to iofuncs.h
- Implement missing functions in HAL (IoRead/Write/Set PartitionInfo) and make them call into the ntoskrnl exports.
svn path=/trunk/; revision=24737
- Re-implement the routines in intel syntax and also cleanup the formatting.
- Also re-implement the way the routines work, by following Matt Pietrek's c code that he wrote in one of his articles after looking at the disassembly.
- Also used a patch for mingw found on Google which contained some implementations in C.
- New changes mostly add protection during unwinding, faster speed, and add implementations for __except_handler2 and _abnormal_termination which were not previously present.
svn path=/trunk/; revision=24736
- Adds PsNtDllPathName constant string since we use it in two place (PsLocateSystemDll and DbgkpCreateThread).
- Adds PsImageNotifyEnabled boolean flag and sets it to true (although it should only be when a routine is installed, but ROS doesn't do this yet.
svn path=/trunk/; revision=24733
- Implement FsRtlMdlReadDev (this function is not called, no risk of regressions).
- Move FsRtlAcquireFileExclusive and FsRtlReleaseFileExclusive from filelock.c to fastio.c.
- Bugfix these functions to actually call FsRtlEnter/ExitFileSystem.
- Huge cleanusp of filelock.c, but no code changes, except the usage of some simpler macros provided by NTIFS.H (with equivalent code).
svn path=/trunk/; revision=24730
- Add FsRtlCompleteRequest macro to ntifs.h
- Add LDRP_DRIVER_VERIFYING flag to ldrtypes.h
- Add MM_DRIVER_VERIFIER_DATA and DRIVER_SPECIFIED_DRIVER_THUNKS to mmtypes.h
- Add MAXLONGLONG to ntdef.h.
svn path=/trunk/; revision=24729