Commit graph

22997 commits

Author SHA1 Message Date
Magnus Olsen 07f3fc4c5d remove the start of reactos vbe directdraw support until it is ready. allot problem with current code. so I discde to remove it from reactos, untill it is stable.
svn path=/trunk/; revision=24786
2006-11-19 20:24:15 +00:00
Aleksey Bragin 0cd52c45f5 Add a typecast to remove a warning
svn path=/trunk/; revision=24785
2006-11-19 20:06:44 +00:00
Ged Murphy fc73d244e4 - merge the latest code from my minibranch:
- use a static image to refer to when choosing your image brightness so returning to normal (100) displays the original colours
- allow  individual colours (RGB) to be adjusted as well as adjusting them all simultaneously
- apply the chosen brightness from the dialog to the main image
- implement greyscale, so an image can be displayed in black and white
- implement inverting of colours so an image can be displayed as a negative.



svn path=/trunk/; revision=24784
2006-11-19 19:49:45 +00:00
Johannes Anderwald 54b8308c2b - fix prototype
svn path=/trunk/; revision=24783
2006-11-19 19:43:54 +00:00
Magnus Olsen 67e5e2ef0a the new desgin of ddraw are in place some files need be rename.
1. this version does not working and contain allot of bugs
2. HAL are not setup right yet
3. HEL are not setup right yet
4. crashing VS when u try debug it from vs if it compile with gcc. 
5. implement HEL in user mode. 
6. remove some code that was working for it is not longer compatible with new desgin

svn path=/trunk/; revision=24782
2006-11-19 19:13:35 +00:00
Johannes Anderwald d926e80e5c fix typo
svn path=/trunk/; revision=24781
2006-11-19 19:08:42 +00:00
Alex Ionescu 62f904960f - Change kdcom.sys to kdcom.dll.
- Remove all kdcom exports and files from HAL and link with kdcom.dll instead.
- Add support in freeldr for loading kdcom.dll (and theoretically any other import, such as the Code Integrity DLL for kernel-mode signing, but for now I've only tested this one).
- Refactor some of the HAL loading code to make it generic for any image.
- Load HAL manually when loading kernel, before processing imports, to make sure that HAL is index 1 in the loader modules and loads before KDCOM.
- Fix some build problems.

svn path=/trunk/; revision=24780
2006-11-19 19:00:03 +00:00
Alex Ionescu 4c45bdc2ea - Fix last-minute compiler bug.
svn path=/trunk/; revision=24779
2006-11-19 18:12:27 +00:00
Alex Ionescu 312f07d0e5 - Major changes to HAL/kernel loading and freeldr hacks:
- Add PE routines for traversing the import table and fixing up the imports.
  - Add routine for getting the LOADER_MODULE for a freeldr module by name.
  - Add the ability to load a not-yet-loaded-driver that's in an import entry (ie: dependencies). Only used for HAL now.
  - Map HAL in the same was as the kernel, instead of relocating it as a hack from within the kernel.
  - Refactor some routines to better share code. Don't read freed memory anymore.
  - Use LdrRelocateImageWithBias instead of quintuplicating relocation code.
  - Parse kernel and HAL imports while PE-loading from within freeldr.
  - Remove dozens of freeldr.c hacks from the kernel. Remove slow code which was making two copies of the parameter block and wasting over 30KB in static strings that were immediately copied to other strings...
  - Don't use HalModuleObject and NtoskrnlModuleObject anymore. Remove LdrSafePEProcessModule and other similar boot-time hacks. Reimplement MmGetSystemRoutineAddress.
- NDK/DDK fixes.
- Add KDCOM to bootcd/installation.

svn path=/trunk/; revision=24778
2006-11-19 17:53:31 +00:00
Aleksey Bragin c157acf875 - Add a null-check to the IopLoadServiceModule.
- Add a DPRINT1 saying about the possible memory-overwrite bug. This is a hack to get a bootable tree, but still have a note when The Bug happens (look for 'weird' in the debug log).

svn path=/trunk/; revision=24777
2006-11-19 17:22:18 +00:00
Magnus Olsen a24ea27b47 - Change movw $0x0000,%ax to xorw %ax,%ax (because of probable bug in binutils, which compiles the first instruction into something weird)
- Add segment registers save+restore in Int386() in FreeLdr (thanks to tamlin too)

svn path=/trunk/; revision=24776
2006-11-19 17:01:23 +00:00
Alex Ionescu e59260f8cb - Add kdcom driver. It contains the exact same functions as in HAL/kdbg.c (not yet used).
- Fix halxbox compile.

svn path=/trunk/; revision=24775
2006-11-17 06:14:31 +00:00
Alex Ionescu 1a3b63b4c4 - Fix some more MSVC problems.
- 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
2006-11-17 04:18:41 +00:00
Alex Ionescu 5ec8f2dc40 - MSVC VCPROJ Maker:
* 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
2006-11-17 02:44:37 +00:00
Hervé Poussineau deefef4098 Fix HAL compilation
svn path=/trunk/; revision=24772
2006-11-16 20:52:13 +00:00
Ged Murphy 265fc33b63 - Add test code for adjusting the brightness of an image. It's a bit of a hack at the moment, but adjusting the trackbar in the brightness dialog will alter the brightness of the small image.
- save pointer to the bitmap header and bitmap bits in the image struct.

svn path=/trunk/; revision=24771
2006-11-16 18:49:58 +00:00
Alex Ionescu 596c3bee62 - Reorganize HAL exports and export KeTRyToAcquireQueuedSpinlock and KeTryToAcquireQueuedSpinLockRaisetoSynch.
- 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
2006-11-16 17:30:52 +00:00
Aleksey Bragin 4a33b4c040 Use Uint32x32To64() function instead of ULONG * ULONG. Fixes partition length truncation.
See issue #1871 for more details.

svn path=/trunk/; revision=24769
2006-11-16 17:26:31 +00:00
Magnus Olsen cb8322a4e3 remove two compiling warnings thx frik85 to notice it.
svn path=/trunk/; revision=24768
2006-11-16 15:56:10 +00:00
Alex Ionescu 0cb9e0fd78 - Purposefully add 6 debug prints to RtlpGetRegistryHandle, which, while ndis.sys is initializing, should BSOD the system. I have seen this "RtlpGetRegistryHandle" BSOD randomly during boot (But always with the same stack trace), and a local HAL patch managed to cause it 100% of the time. I know that the problem had nothing to do with the HAL or registry paths, because it came up before too when I added debug prints to fstub. These 6 prints 100% reproduce the problem on my machine with GCC 3.4.5. It is my hope it will do the same for everyone. This is a nasty bug, either stack related or some critical structure is being damaged. I am breaking trunk because it's been here for a long time, but now I found a way to repro it so that we can work together to try finding it. In a way, trunk was always broken, but this patch should force a freeze. Please help.
svn path=/trunk/; revision=24767
2006-11-16 07:09:37 +00:00
Alex Ionescu 8c3485a307 - Remove internal HAL function from ntifs
- Make sure obfuncs.h includes obtypes.h if it's ever included separately.
- Add ARC_STATUS and ARC Error Codes.

svn path=/trunk/; revision=24766
2006-11-16 06:55:59 +00:00
Thomas Bluemel a1e3bd38a5 Fix some compilation errors
svn path=/trunk/; revision=24765
2006-11-15 20:24:55 +00:00
Aleksey Bragin 8b93146888 Properly use the second param.
svn path=/trunk/; revision=24764
2006-11-15 16:57:15 +00:00
Aleksey Bragin 44eba681e0 Fix build by:
- 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
2006-11-15 10:42:46 +00:00
Alex Ionescu b649dd5293 - Export ExiTryToAcquireFastMutex from ntoskrnl, I had forgotten to export this ages ago when adding the other Exi*FastMutex* stuff.
- 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
2006-11-15 00:08:51 +00:00
Ged Murphy 6e572dc57a - split the main header file into seperate files as it was becoming annoying to maintain
- 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
2006-11-14 23:15:02 +00:00
Alex Ionescu 3047ba1df7 - Build fixes.
svn path=/trunk/; revision=24760
2006-11-14 22:42:59 +00:00
Alex Ionescu 7b4b9aec8f - Delete HAL cruft files.
- 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
2006-11-14 20:59:48 +00:00
Hervé Poussineau f651c1f8b6 Don't force screensaver file names to have at least 4 chars
Terminate the string just after the last read character.

svn path=/trunk/; revision=24758
2006-11-14 18:35:29 +00:00
Alex Ionescu 5a7f46becc - Implement HalSystemVectorDispatchEntry, KeFlushWriteBuffer, HalFlushCommonBuffer, HalAllocateCrashDumpRegisters.
- 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
2006-11-14 18:17:33 +00:00
Johannes Anderwald 66920d049e - print debug logs on stdout
- sysreg is now ready for deployment

svn path=/trunk/; revision=24756
2006-11-14 17:10:26 +00:00
Johannes Anderwald a6ae267b13 - dump reached checkpoints when an BSOD is detected
- 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
2006-11-14 16:58:42 +00:00
Johannes Anderwald b768b7fc2f - update testboot script
svn path=/trunk/; revision=24754
2006-11-14 16:51:32 +00:00
Magnus Olsen bd41c3c6dc fixing Usurp bug repot in irc channel, if a screensaver does not exists it try execute a no exiting screensaver it make reactos freze on real hw and in qemu, acoring Usurp. With this change it does not longer freze and does not either try execute a no existing screensaver. Thx Usurp for testing it.
svn path=/trunk/; revision=24753
2006-11-14 16:50:47 +00:00
Johannes Anderwald 4db3b4d934 - ignore failure if dir already exists
svn path=/trunk/; revision=24752
2006-11-14 16:26:15 +00:00
Johannes Anderwald dd14ad52ea - update svn properties
- improve error checking
- return -2 when the test fails
- add a few test configs (required for sysregtest target)

svn path=/trunk/; revision=24751
2006-11-14 12:58:52 +00:00
Johannes Anderwald 8269b5eebd - implement target sysregtest which compiles all required modules and generates an unattended bootcdregtest which is feed to sysregtest and executes the required tests
- fix regtest target

svn path=/trunk/; revision=24750
2006-11-14 12:47:42 +00:00
The Wine Synchronizer 2822449d9a Autosyncing with Wine HEAD
svn path=/trunk/; revision=24747
2006-11-13 15:20:30 +00:00
The Wine Synchronizer d953e5a54b Autosyncing with Wine HEAD
svn path=/trunk/; revision=24746
2006-11-13 14:51:39 +00:00
Aleksey Bragin 23c4a96e42 Dmitry G. Gorbachev: After kbd controller init, the System Flag should be set to 1.
Fixes rebooting on real hardware (famous "Flushing cache" hang).
See issue #1842 for more details.

svn path=/trunk/; revision=24744
2006-11-13 12:40:02 +00:00
Aleksey Bragin e884800c6c Delete unneeded files
svn path=/trunk/; revision=24743
2006-11-13 10:14:08 +00:00
Alex Ionescu abe724dba9 - Make HalMakeBeep a bit nicer by making the PUCHAR typedef part of the TIMER constants.
svn path=/trunk/; revision=24742
2006-11-13 04:34:57 +00:00
Alex Ionescu 30c16d9652 - Add some more descriptive comments to HalpReboot (and rename it from HalReboot) since some of the operations lacked comments.
- 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
2006-11-13 04:33:45 +00:00
Alex Ionescu 0e8c70ba22 - Re-implement messy portio.c by using MSVC-compatible intrinsics instead. 20 lines of code become 1, yay!
svn path=/trunk/; revision=24740
2006-11-13 04:31:39 +00:00
Alex Ionescu 6652f94900 - Fix a typo in DbgkCreateThread which caused a boot-time crash/regression.
svn path=/trunk/; revision=24739
2006-11-13 01:47:10 +00:00
Alex Ionescu afb3f6c5c3 - Fix build error.
svn path=/trunk/; revision=24738
2006-11-12 23:32:11 +00:00
Alex Ionescu 4d578c637e - FSTUB Patch for Mount Manager Support, Part 1:
- 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
2006-11-12 22:51:06 +00:00
Alex Ionescu 03d84cb508 - Move out SEH-support routines from ntoskrnl/rtl to lib/rtl
- 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
2006-11-12 22:43:43 +00:00
Alex Ionescu b66b8bdcea - Implement IoSetCompletionRoutineEx, which is a safe way to set completion routines that almost all newer drivers will be using (XP+).
svn path=/trunk/; revision=24735
2006-11-12 22:39:09 +00:00
Alex Ionescu 1c3d0f91a1 - Argh, another forgotten file. Too many local changes :(
svn path=/trunk/; revision=24734
2006-11-12 22:37:52 +00:00