Commit graph

37701 commits

Author SHA1 Message Date
ReactOS Portable Systems Group c417ef7e62 - Get rid of the concept and tracking of "mapped pages". The MapCount was never checked anywhere in terms of page accounting -- only the reference count is.
- Fix the issue with the system attempting to map page 0 into hyperspace.

svn path=/trunk/; revision=42226
2009-07-26 08:20:29 +00:00
Cameron Gutman 698ff57ea6 - Begin using ws2help_new
- I have tested this with various applications in ROS
 - Part 2 of 2

svn path=/trunk/; revision=42225
2009-07-26 06:00:32 +00:00
Cameron Gutman a619244941 - Remove our old ws2help in preparation for the transition to ws2help_new
- This will not build
 - Part 1 of 2

svn path=/trunk/; revision=42224
2009-07-26 05:51:30 +00:00
James Tabor 2c0294638d - [Win32k] Moving forward and replace some of the old header types with the new ones. This will continue and start the win32k object manager rewrite. Finding more bugs and this is still a work in progress. Run across the C_ASSERT bug. I see someone else noticed it.
- Finished the user32 system class proc start-up.
- Tested wine, Firefox 1.15.xx and AbiWord 2.6.8.

svn path=/trunk/; revision=42223
2009-07-26 01:59:08 +00:00
Timo Kreuzer c70b54758f Add hack for gnu ld like in mingw lib, as it uses _image_base__ insetad of __ImageBase
svn path=/trunk/; revision=42222
2009-07-26 00:22:57 +00:00
Stefan Ginsberg 31015fdb85 - Fix memory leak from r42218 ;0)
svn path=/trunk/; revision=42221
2009-07-25 22:19:45 +00:00
ReactOS Portable Systems Group 1093de04f2 - This is a HIGH RISK patch. It has been tested on multiple emulators and configurations but requires broader input.
- Implement several changes to PFN database management:
  - The PTEs for the PFN Database are now created by ARM3. Unlike the old code which create PTE for every page on the machine, ARM3 only creates PTEs to account for pages that should be in the PFN database.
  - A second related change is what "pages should be in the PFN database". Previously, reserved or otherwise non-existing (ie: holes) memory regions would get a PFN entry created and marked as "BIOS". This is wasteful and not compatible with Windows: there should not be PFN entries created at all.
    - So we removed BIOS PFN entries, and now only create PTEs for valid pages as listed in the physical memory ranges.
    - This allows machines with "holes" in their physical address space not to waste dozens of MBs of nonpaged pool
    - Also saves memory on regular machines too, since 1-4MB worth of memory will now not be in the DB anymore
  - To keep track of pages that are invalid/unknown/ignored, there is now a "PFN Bitmap". This bitmap has one bit set for each valid PFN in the database.
    - And so, MiGetPfnEntry now also validates that, if there is a PFN Bitmap, the requested PFN is actually present in the database.
  - This introduces a major functional change: device pages, reserved pages, and other BIOS pages cannot be referenced, shared, or managed in any meaningful way.
    - We have attempted to fix parts of the OS that depended on this, but there may still be bugs.
      - A known issue may be an assertion during reboot and/or shutdown in the hyperspace mapping function. It is currently safe to simply "cont" in the debugger a couple of times.
        - We are working on a fix.

svn path=/trunk/; revision=42220
2009-07-25 21:35:31 +00:00
Stefan Ginsberg fba1aea89e - RamdiskWorkerThread: Don't return IoCompleteRequest as we return void (IoCompleteRequest returns void though), msvc doesn't like this.
- Fix calling convention declaration for scsi function prototypes 

svn path=/trunk/; revision=42219
2009-07-25 20:24:50 +00:00
Stefan Ginsberg 45934cfbe5 - Fix most freeldr compilation issues, most notably:
- Define structure packing correctly for msvc.
- Define Ke386EraseFlags for msvc too.
- Don't return a function returning void in a function returning void.
- VideoFadeIn: Don't rely on some fishy gcc extension for allocating memory from the stack -- just use the heap instead.
- Winldr remains

svn path=/trunk/; revision=42218
2009-07-25 20:17:23 +00:00
Cameron Gutman 849236d3ac - Make ipconfig /renew work even if we haven't got an address yet
- Fix several potential crashes
 - Fix an infinite loop caused by us sending a discover packet without adding a protocol first (this is exposed by releasing then renewing)
 - Fixes bug 4630

svn path=/trunk/; revision=42217
2009-07-25 19:51:54 +00:00
Stefan Ginsberg f9f57c59fc - FIELD_OFFSET returns LONG, not LONG_PTR or size_t.
- Define TYPE_ALIGNMENT for msvc.
- Define DbgPrintEx the same way in NDK and DDK
- C_ASSERT is a typedef, so don't put it inside functions as msvc doesn't allow this.
- Kernel now *compiles* with RosBE + msvc _and_ our DDK. Linker errors from the ninth circle of hell remains.

svn path=/trunk/; revision=42216
2009-07-25 19:38:52 +00:00
Stefan Ginsberg 64f43cb6a5 - Fix a critical bug in ExAllocatePoolWithQuota spotted by msvc. Because of the current POOL_TAGGING mess in wdm.h, ExAllocatePoolWithQuotaTag is defined to ExAllocatePoolWithQuota, so when ExAllocatePoolWithQuota called the with-tag version, it ended up calling _itself_. Fix this by undefining the broken macro.
svn path=/trunk/; revision=42215
2009-07-25 16:53:25 +00:00
Dmitry Chapyshev 0f8b51f5ac - Add stubs for AppCleanup and videoThunk32
- Partially implement capCreateCaptureWindowW and capGetDriverDescriptionW

svn path=/trunk/; revision=42214
2009-07-25 15:57:18 +00:00
Stefan Ginsberg 50eda0f7b9 - Fix incorrect definition of ZwCreateDebugObject after revision 41969 -- spotted by BugBoy
svn path=/trunk/; revision=42213
2009-07-25 15:31:57 +00:00
Stefan Ginsberg dd27bbdbb7 - Leftover 2 from 42210
svn path=/trunk/; revision=42212
2009-07-25 14:55:52 +00:00
Stefan Ginsberg 709b93538f - Leftover from previous commit
svn path=/trunk/; revision=42211
2009-07-25 14:54:31 +00:00
Stefan Ginsberg bb2feeb63e - Fix most of the network stack for msvc (except tcpip and oskittcp)
- Fix calling convention definitions for ntdd8042.h
- Fix msfs' calling convention

svn path=/trunk/; revision=42210
2009-07-25 14:51:56 +00:00
Stefan Ginsberg ee9bf7482b - Revert 42206 change to ddraw.h as it breaks dxapi
svn path=/trunk/; revision=42209
2009-07-25 14:32:06 +00:00
Stefan Ginsberg d8d66829d7 - Make ks and portcls compile under msvc
svn path=/trunk/; revision=42208
2009-07-25 14:06:06 +00:00
Stefan Ginsberg ac4633793f - Make most of the the video stack compile with msvc
svn path=/trunk/; revision=42206
2009-07-25 13:15:22 +00:00
Stefan Ginsberg 87b36d171a - Make mp HAL MSC compatible
svn path=/trunk/; revision=42205
2009-07-25 11:44:27 +00:00
Stefan Ginsberg 23abd61d3e - Fix some kernel MSC compilation issues:
- ShutdownThreadMain: Define SMP-only variables compatibly
- MmArmInitSystem: Define MiNonPagedPoolStart and MiNonPagedPoolLength externs compatibly
- KdbpCallMainLoop: Add VOID to parameter list

svn path=/trunk/; revision=42204
2009-07-25 11:43:48 +00:00
Aleksey Bragin 21777b7cab - Create a solid black brush for background color of a ConsoleWindowClass.
svn path=/trunk/; revision=42202
2009-07-25 10:24:41 +00:00
Dmitry Chapyshev d86c7f9de6 - Implement capCreateCaptureWindowA and capGetDriverDescriptionA (based on Wine code)
svn path=/trunk/; revision=42198
2009-07-25 09:41:17 +00:00
Dmitry Chapyshev 3b72642a0a - Add avicap32 (stubs only)
- Add mfc42u.dll, msvbvm50.dll, msvbvm60.dll, msvcirt.dll optional entries to reactos.dff

svn path=/trunk/; revision=42197
2009-07-25 09:28:18 +00:00
Dmitry Gorbachev b2085629b4 Do not fail when compiling with GCC 4.4.1
svn path=/trunk/; revision=42196
2009-07-25 09:24:30 +00:00
Dmitry Gorbachev 16aca3f92f Add / update Czech translations. Radek Liska. Bugs #4707 and #4708.
svn path=/trunk/; revision=42195
2009-07-25 09:18:52 +00:00
Dmitry Gorbachev 5687429f69 Undo part of r42190. Sorry.
svn path=/trunk/; revision=42194
2009-07-25 07:59:18 +00:00
Dmitry Gorbachev 6e31a0dd00 Fix some bugs, reported by GCC.
svn path=/trunk/; revision=42193
2009-07-25 07:42:15 +00:00
Dmitry Gorbachev 4deef99ee8 Silence GCC warnings.
svn path=/trunk/; revision=42192
2009-07-25 07:41:42 +00:00
Dmitry Gorbachev 1e3f2b9732 - Declare iswblank() in wctype.h, not isblank().
- Add iswblank() to wchar.h, too.

svn path=/trunk/; revision=42191
2009-07-25 07:41:14 +00:00
Dmitry Gorbachev 1c413906b2 Fix "misrepresented license in FreeLDR", Robert Millan (rmh.reactos at aybabtu.com), bug #4673.
svn path=/trunk/; revision=42190
2009-07-25 07:40:39 +00:00
Dmitry Gorbachev 759abadd3d Do not fail with 'l' type modifier. Bug #4438.
svn path=/trunk/; revision=42189
2009-07-25 07:40:35 +00:00
Cameron Gutman adb1a3f3c8 ws2_32_new compatibility fixes
- Fix the rest of the code which was using errno instead of WSAGetLastError()
 - Remove some dead code

svn path=/trunk/; revision=42188
2009-07-25 02:28:11 +00:00
Cameron Gutman daba4d6880 ws2_32_new compatibility fixes
- Use Sleep() to wait when we have no interfaces because select() will fail and return without waiting
 - Use WSAGetLastError() instead of errno

svn path=/trunk/; revision=42187
2009-07-25 02:01:13 +00:00
James Tabor 1871ebd28c - Removed unused ppi pointer.
svn path=/trunk/; revision=42186
2009-07-25 01:42:04 +00:00
James Tabor 3ac2563fbb - [Win32k] More work on classes. ReactOS seems to return the opposite WinProc and sometimes it is a CallProcData handle. This is confusing the class wine tests. The last thing it should do is return CallProcData handle after attempting to find the right proc. Fixed message class bits. Moved CallProc to CallProcData and updated related code. Started alternate function to replace NtUserGetClassLong and NtUserGetWindowLong.
- Tested wine, Firefox 1.15.xx and AbiWord 2.6.8.

svn path=/trunk/; revision=42185
2009-07-25 00:41:22 +00:00
Cameron Gutman f9fe2ff6a8 - Add support for adapters added after DHCP is started
- Automatically request an IP address after an interface becomes ready (needed for DHCP support on WLAN adapters)

svn path=/trunk/; revision=42182
2009-07-24 21:06:20 +00:00
Cameron Gutman 15a5343ec1 - Implement OID_GEN_HARDWARE_STATUS
svn path=/trunk/; revision=42180
2009-07-24 20:49:39 +00:00
Dmitry Gorbachev 3c44feca52 - Turn a macro into an inline function to avoid a warning.
- Remove a stray acute accent.

svn path=/trunk/; revision=42179
2009-07-24 19:52:05 +00:00
Stefan Ginsberg e603692f33 - Leftover from 42176
svn path=/trunk/; revision=42178
2009-07-24 19:39:07 +00:00
Stefan Ginsberg dd85cb77ca - Kill off diskdump too
svn path=/trunk/; revision=42177
2009-07-24 19:09:39 +00:00
Stefan Ginsberg 00e30f7010 - Get rid of ccros.h, deprecated by revision 42175
svn path=/trunk/; revision=42176
2009-07-24 17:35:28 +00:00
ReactOS Portable Systems Group ab184fab15 - Remove deprecated/old/buggy/unused code.
- Make MxGetNextPage return the lowest free physical page, not the highest.
  - This way we fragment the address space less.
  - Also makes calculation of "forgotten" pages when we build the PFN database earlier.
- Remove MmAllocEarlyPage and use MxGetNextPage instead.

svn path=/trunk/; revision=42175
2009-07-24 15:49:27 +00:00
Timo Kreuzer ce0ed78587 - move delayimp.h to psdk
svn path=/trunk/; revision=42174
2009-07-24 11:29:54 +00:00
Dmitry Gorbachev f9341cafca Add missing license.
svn path=/trunk/; revision=42173
2009-07-24 10:52:49 +00:00
Timo Kreuzer 07203a50c1 [delayimp]
- move IndexFromPImgThunkData and PFromRva to delayimp.h
- use __ImageBase insetad of _image_base__
- fix include guard
- RVA is a DWORD, not a PVOID

svn path=/trunk/; revision=42172
2009-07-24 10:25:53 +00:00
Ged Murphy 9e27cfbe88 Add a missing mockup image
svn path=/trunk/; revision=42171
2009-07-24 07:44:51 +00:00
Timo Kreuzer 7fa58c4d87 Add license header (LGPL)
svn path=/trunk/; revision=42170
2009-07-24 04:30:09 +00:00
Timo Kreuzer ceff19824f Implement delayimp lib
This library will allow to delay import from dlls, if used together with the corresponding delayimport lib for that dll. An initial patch for dlltool can be found in bug #4730.
Based on Matt Pietrek's "Under the Hood" article: http://www.microsoft.com/msj/1298/hood/hood1298.aspx and msdn documentation.

svn path=/trunk/; revision=42169
2009-07-24 04:24:36 +00:00