Commit graph

24357 commits

Author SHA1 Message Date
Aleksey Bragin ed06eba9e3 ... and pciide/pciidex.
svn path=/trunk/; revision=26260
2007-04-04 15:22:03 +00:00
Aleksey Bragin 2682573ee6 - Fix up npfs/msfs drivers paths.
svn path=/trunk/; revision=26259
2007-04-04 15:15:43 +00:00
Alex Ionescu f623df7b11 - Refactor device attachment into a private routine.
- We shouldn't allow attaching to a device that's still initlizaing, but ROS currently does because of some device that tries to do this, in the PnP manager or early boot-phase drivers (it has an auto-generated name). Please fix this!

svn path=/trunk/; revision=26258
2007-04-04 03:19:27 +00:00
Alex Ionescu 6a5123b065 - Implement IopAttachDeviceToDeviceStackSafe for future use.
- Use OBJ_KERNEL_HANDLE for various internal Device Object handles.
- Fix bug in IopStartNextPacketByKeyEx which didn't actually read the flags to see if the I/O was cancelleable or not.
- Fail DO creation if the VPB couldn't be created.
- Fix completely wrong implementation of IoGetDeviceAttachmentBaseRef. It was getting the attached device instead of the base device, and wasn't even referencing it!.
- 

svn path=/trunk/; revision=26257
2007-04-04 02:49:41 +00:00
Alex Ionescu 0c5f9a2ec6 - Remove "zero-stream" from null, NT doesn't support this.
- Implement Fast I/O Dispatch entrypoints for null.
- Support query file information and lock IRPs, just like NT.
- Remove query volume information IRP, not supported by NT.
- Page the entire driver.

svn path=/trunk/; revision=26256
2007-04-03 16:22:44 +00:00
Alex Ionescu ca95775748 - Don't load NT4 audio drivers by default anymore.
- Don't load beep.sys in non-setup mode.
- Improve beep driver by making it use device queues instead of instantly completing beep requests, and make it cancel-safe, unloadable, and thread-safe in regards to timers. Also reduce memory footprint by making the entire driver pageable and dynamically locking/unlocking the image section by keeping a reference count of opens.

svn path=/trunk/; revision=26254
2007-04-03 16:01:58 +00:00
Aleksey Bragin 295322ab9b - Remove unneeded DPRINT1().
svn path=/trunk/; revision=26253
2007-04-03 15:18:05 +00:00
Alex Ionescu 4b795a9e2d - Add "fs" to npfs and msfs.
- Put blue in drivers\setup.
- Re-organize Audio stack in /wdm and /ksfilter directories.

svn path=/trunk/; revision=26252
2007-04-03 14:55:54 +00:00
Alex Ionescu baf845546d - Add missing .rbuild files from last commit.
- Move serial stack to /serial.
- Move parallel stack to /parallel and make room for parport/parclass (NT5+ Parallel stack).

svn path=/trunk/; revision=26251
2007-04-03 14:22:00 +00:00
Alex Ionescu d03eaaa66d - Cleanup /storage directory and prepare for NT5+ Storage Stack and Floppy Port/Class drop.
svn path=/trunk/; revision=26250
2007-04-03 14:14:25 +00:00
Aleksey Bragin 3340addefa - Remove old unused code for sending sense requests.
- Bugfix new sense request code (it was saving a pointer to the wrong SRB).
- Implement requests, which bypass frozen queue. CdRom should now work properly.
- Some very small code reformating.

svn path=/trunk/; revision=26249
2007-04-02 20:24:54 +00:00
Alex Ionescu 05d2982786 - Revert 26244, 26245, 26246, 26247.
- Stop committing on crack.
- Read IRC logs and use your head.
- GCC 3.4.5 is buggy, don't use. Don't break good code to hide compiler bugs.

svn path=/trunk/; revision=26248
2007-04-02 15:08:54 +00:00
Magnus Olsen 3fd4c41408 some gcc 3.4.5 fixed; but not all we need
svn path=/trunk/; revision=26247
2007-04-02 10:32:21 +00:00
Magnus Olsen ceac8e2667 fixing the build for gcc 3.4.5
svn path=/trunk/; revision=26246
2007-04-02 09:48:51 +00:00
Magnus Olsen fbfe1712be fixing the build for gcc 3.4.5
svn path=/trunk/; revision=26245
2007-04-02 09:01:15 +00:00
Magnus Olsen 550b42f6d2 fixing the build for gcc 3.4.5
svn path=/trunk/; revision=26244
2007-04-02 08:58:34 +00:00
Aleksey Bragin cfb33d951a - Revert double spinlock releasing introduced by 26242 (but thanks for fixing DPRINT :) ).
svn path=/trunk/; revision=26243
2007-04-02 08:00:31 +00:00
Dmitry Gorbachev 982ab11661 Do not assume ReleaseSpinLock == LowerIrql.
svn path=/trunk/; revision=26242
2007-04-01 22:04:26 +00:00
Hervé Poussineau 4b824a0114 Take care of ROS_AUTOMAKE variable in rbuild
svn path=/trunk/; revision=26241
2007-04-01 20:47:00 +00:00
Aleksey Bragin f32c6a7cd9 - Add more compile-time checks for KPRCB C vs. asm fields match.
svn path=/trunk/; revision=26240
2007-04-01 19:35:05 +00:00
Aleksey Bragin d860e7b5eb - Rename scsiport-new to scsiport (couldn't do that in the previous commit).
svn path=/trunk/; revision=26239
2007-04-01 19:27:59 +00:00
Aleksey Bragin 4e7b22b216 - Commit "new" storage stack drivers support based on NT4 DDK's sample drivers (with some modifications and a couple of hacks - they are marked with "HACK" keyword in the source code).
- ReactOS boots/works (faster/stabler), VMWare bug is gone.
- Delete the old scsiport, switching to the new scsiport instead.
NOTE(!): Before commenting this commit read license.txt files. If you still want to comment, read license.txt again, it should help.
- Warnings fixes, improvements, etc to the code will come later.

svn path=/trunk/; revision=26238
2007-04-01 19:25:38 +00:00
Magnus Olsen 934ee21b1f this file is auotgenreate sorry, thx alex
svn path=/trunk/; revision=26237
2007-04-01 19:00:29 +00:00
Magnus Olsen 1c0e162f29 some have delete the napi.h I do not known how did that. it break the win32k complete it is a private header file
svn path=/trunk/; revision=26236
2007-04-01 18:48:25 +00:00
Saveliy Tretiakov f18384ae4f Implement UserUnloadKeyboardLayout()
svn path=/trunk/; revision=26234
2007-04-01 17:34:00 +00:00
Saveliy Tretiakov 9e8d69fa5d Implement NtUserUnloadKeyboardLayout()
svn path=/trunk/; revision=26233
2007-04-01 17:30:44 +00:00
Saveliy Tretiakov 36af38d7dd Add missing check
svn path=/trunk/; revision=26232
2007-04-01 17:27:59 +00:00
Saveliy Tretiakov 9a92415ba4 Implement EngUnloadImage
svn path=/trunk/; revision=26231
2007-04-01 17:20:50 +00:00
Saveliy Tretiakov d1004e8c13 Implement EngUnloadImage()
svn path=/trunk/; revision=26230
2007-04-01 17:15:58 +00:00
Saveliy Tretiakov eecef5a1de Implement SystemUnloadGdiDriverInformation
svn path=/trunk/; revision=26229
2007-04-01 17:15:08 +00:00
Saveliy Tretiakov 0048eddd14 Fix build
svn path=/trunk/; revision=26228
2007-04-01 17:14:24 +00:00
Aleksey Bragin b684c23b8e - Remove audit brake / svn:needs-lock property, since these drivers are going to become svn history soon.
svn path=/trunk/; revision=26227
2007-04-01 16:29:16 +00:00
Aleksey Bragin 1d3fb59485 - Move handlers of SRB_FUNCTION_ATTACH and RELEASE to a standalone function, and don't do reference/dereference of the DeviceObject
- Implement RELEASE_QUEUE and FLUSH_QUEUE srb functions
- Turn off DPRINTs, since scsiport seems to finally work (without advanced features, but enough to install and boot using ATAPI and DISK drivers)!

svn path=/trunk/; revision=26226
2007-04-01 12:13:55 +00:00
Aleksey Bragin 01da330bc2 - More DPRINTs added to ease debugging
- Bugfixes: IOCTL_SCSI_GET_CAPABILITIES fixed, setting inquiry operation in CDB fixed, storing information about bus scanning fixed

svn path=/trunk/; revision=26225
2007-04-01 11:17:48 +00:00
KJK::Hyperion 643b171651 !!! ATTENTION EVERYONE - do a make clean after getting this revision !!!
!!! ATTENTION PSEH USERS - new features & a change in rules !!!

modified   include/reactos/libs/pseh/framebased.h
modified   include/reactos/libs/pseh/framebased/internal.h
deleted    include/reactos/libs/pseh/setjmp.h
modified   lib/pseh/framebased.c
deleted    lib/pseh/i386/setjmp.asm
modified   lib/pseh/pseh.rbuild
   Big PSEH revamp. If God is kind and merciful, this might be the last revision to PSEH ever
   !!! RULE CHANGE !!! Obsoleted _SEH_NO_NATIVE_NLG, do NOT use it anymore, it will now cause fatal compile-time errors
   !!! RULE CHANGE !!! As a side effect to the fix for a bug where a _SEH_TRY nested in a _SEH_HANDLE would lead to stack corruption, using "return" or "goto" from anywhere inside a PSEH block is now FORBIDDEN; all code that already did has been fixed in this revision
   !!! NEW FEATURE !!! To leave a PSEH block from anywhere inside it, use the new _SEH_YIELD(<statement>) macro; examples: _SEH_YIELD(return value), _SEH_YIELD(goto label), _SEH_YIELD(returnvalue = value; goto label); ALWAYS ensure a _SEH_YIELD() leads outside the top-level _SEH_TRY block - do NOT goto into an ancestor _SEH_TRY block!!! Also note that _SEH_YIELD() disables SEH protection for the enclosed statement, so do NOT perform operations that might throw exceptions inside a _SEH_YIELD(); finally, ensure the enclosed statement does NOT allow execution to continue, or _SEH_YIELD() will get in an infinite loop; bear with me, for I have done the impossible, so don't expect miracles
   Don't use a fake setjmp/longjmp *ever*, too dangerous; removed _SEHLongJmp & _SEHSetJmp, obsoleted _SEH_NO_NATIVE_NLG
   On GCC, use __builtin_setjmp/__builtin_longjmp instead of setjmp/longjmp; they produce efficient code that plays well with optimizations, require no external library and are designed specifically for exception handling; should result in faster code and no hidden bugs
   Use inline code to enter/leave trylevels; yields much better binary code
   Inline handlers inside _SEH_PortableFrame_t instead of pointing to them; yields better code for the most common usages
   Turn all top-level statements generated by macros from bare scopes into for loops, to ensure they are used correctly as stand-alone statements
   Removed bitrotten old syntax, because it wasn't being used nor maintained

modified   dll/3rdparty/freetype/freetype.rbuild
modified   dll/win32/kernel32/kernel32.rbuild
modified   drivers/network/tcpip/tcpip.rbuild
modified   lib/drivers/ip/ip.rbuild
modified   lib/rtl/rtl.rbuild
modified   ntoskrnl/ntoskrnl.rbuild
modified   subsystems/win32/win32k/win32k.rbuild
   Removed obsolete _SEH_NO_NATIVE_NLG define

modified   drivers/network/afd/afd/lock.c
modified   drivers/network/afd/afd/tdi.c
modified   subsystems/csr/csrsrv/api.c
modified   subsystems/win32/win32k/ntuser/clipboard.c
modified   subsystems/win32/win32k/ntuser/window.c
   Use the new _SEH_YIELD macro to return/goto from SEH blocks

modified   tools/rbuild/backend/mingw/modulehandler.cpp
modified   tools/rbuild/backend/mingw/modulehandler.h
modified   tools/rbuild/module.cpp
modified   tools/rbuild/project.dtd
modified   tools/rbuild/rbuild.h
   Don't use the obsolete _SEH_NO_NATIVE_NLG flag anymore
   Only add underscores to imported symbols when module is marked underscoresymbols="true"; fixes debugsup and, indirectly, PSEH tracing

modified   lib/3rdparty/mingw/mingw.rbuild
   Build with underscoresymbols="true"

svn path=/trunk/; revision=26224
2007-04-01 00:07:25 +00:00
Dmitry Gorbachev 9ce1b28fc1 Fix the bug introduced in r26219.
svn path=/trunk/; revision=26223
2007-03-31 22:18:16 +00:00
Aleksey Bragin ebf23937a3 - Fix a few obvious bugs (incorrect DeviceExtension pointer arithmetic, non-initialized field usage).
- Packets are sequentially numbered.

Now all devices are perfectly enumerated (SpBuildDeviceMap() may still need work, but later), and problem occurs later when servicing IOCTLs.

svn path=/trunk/; revision=26222
2007-03-31 20:47:42 +00:00
Aleksey Bragin fd27183f35 - Implement timeouts / retrying after timeout.
svn path=/trunk/; revision=26221
2007-03-31 20:03:07 +00:00
Aleksey Bragin fc3d38d1cb - Finish ScsiPortInitialize() refactoring / improving. Only DMA stuff and 2-interrupts case are missing now.
svn path=/trunk/; revision=26220
2007-03-31 18:37:07 +00:00
Dmitry Gorbachev c08f45390a Do not wait for explorer startup. Hack.
svn path=/trunk/; revision=26219
2007-03-31 11:52:24 +00:00
Magnus Olsen 151cc9133b more compatible fix betwin reactos ddk and ms DDK version 3790.1830
svn path=/trunk/; revision=26218
2007-03-30 22:58:02 +00:00
Magnus Olsen 898210e00d more compatible fix betwin reactos ddk and ms DDK version 3790.1830
svn path=/trunk/; revision=26217
2007-03-30 21:17:33 +00:00
Dmitry Gorbachev fda50948f1 Fix a bug.
svn path=/trunk/; revision=26216
2007-03-30 21:08:23 +00:00
Magnus Olsen 1ca4f18dc7 more compatible fix betwin reactos ddk and ms DDK version 3790.1830
svn path=/trunk/; revision=26215
2007-03-30 21:08:09 +00:00
Magnus Olsen 043a16c1dc more compatible fix betwin reactos ddk and ms DDK version 3790.1830
svn path=/trunk/; revision=26214
2007-03-30 20:49:26 +00:00
Magnus Olsen a6246fbb17 more compatible fix betwin reactos ddk and ms DDK version 3790.1830
svn path=/trunk/; revision=26213
2007-03-30 20:04:05 +00:00
Aleksey Bragin 7ea1266acd - Fix ScsiPortGetDeviceBase() / ScsiPortSetDeviceBase().
svn path=/trunk/; revision=26212
2007-03-30 19:24:11 +00:00
Aleksey Bragin c891e7315a - Further work on ScsiPortInitialize(): old PortConfig section is deleted.
- SpiGetPciData() code improved, part of the code is transferred into a new function.

Right now a crash is introduced in ScsiPortFreeDeviceBase(), because of the changes in ScsiPortInitialize(): will be fixed by the next commit.

svn path=/trunk/; revision=26211
2007-03-30 19:10:29 +00:00
Aleksey Bragin 1f9a18b920 - Revert useless commit:
* No need to copy stuff from DDK, it's prohibited (#define _INC_NEWDEV)
 * #pragma was put there especially, and no reason to remove it was said
 * pushpack / poppack does not do anything if there are no structs definitions

svn path=/trunk/; revision=26210
2007-03-30 15:39:27 +00:00
Magnus Olsen dedbc24d60 more compatible fix betwin reactos ddk and ms DDK version 3790.1830
svn path=/trunk/; revision=26209
2007-03-30 15:32:34 +00:00