Commit graph

57711 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto de36490031 [NTVDM]
Since the BIOS registers the whole range of possible interrupts, we register their stubs in an array-form so that the BIOS always registers INT n at the same place. We save 561 bytes of memory.

svn path=/trunk/; revision=63366
2014-05-19 01:12:25 +00:00
Hermès Bélusca-Maïto 65a58c440e [NTVDM]
Correctly NULL-terminate the command-lines when needed (and avoid buffer overruns).

svn path=/trunk/; revision=63365
2014-05-18 23:45:43 +00:00
Hermès Bélusca-Maïto 3e159aa702 [KERNEL32]: Remove temporary DPRINTs and fix comments.
svn path=/trunk/; revision=63364
2014-05-18 23:17:25 +00:00
Hermès Bélusca-Maïto 3384092338 [KERNEL32]: Fix the newline adding (see r63361).
svn path=/trunk/; revision=63363
2014-05-18 23:13:12 +00:00
Hermès Bélusca-Maïto ab209b91b5 [KERNEL32] Improve a dprint (needed when studying spaces in command lines).
svn path=/trunk/; revision=63362
2014-05-18 23:12:24 +00:00
Hermès Bélusca-Maïto 6dead6f19c [KERNEL32]
Usually the command line is made of the application name and its parameters. When launching a DOS program, BaseCheckVDM builds suitable ApplicationName and CommandLine strings "DOS-compatible". ApplicationName is left-trimmed for whitespace and then converted to short-path format, and CommandLine sees the application name part (its first token) removed. We didn't do it before, we do it now. Care is taken when quotes are present in ApplicationName. Finally DOS command lines usually receive a newline character, so we also add it there. This is how behave Windows: just put our ntvdm in Windows, and observe what it receives...

svn path=/trunk/; revision=63361
2014-05-18 22:10:45 +00:00
Cameron Gutman 0e26222a74 [NTOSKRNL]
- Fail device initialization if a filter fails to load so the PnP manager can try again later
- Fix some handle leaks
- Reset device node flags after a remove IRP is sent
[I8042PRT|MOUCLASS|KBDCLASS]
- Implement proper support for PnP remove IRPs
See issue #8238 for more details.

svn path=/trunk/; revision=63360
2014-05-18 20:39:54 +00:00
Christoph von Wittich 05f75e278b [bootdata]
add entries for optional broadcom 57xx drivers (used by the official ReactOS test laptop)

svn path=/trunk/; revision=63359
2014-05-18 18:40:02 +00:00
Amine Khaldi 8926b7a72e [CRT]
* Import _isleadbyte_l().
* Import _mbtowc_l().
* Import mbtowc() instead of our own.
* Fixes some msvcrt tests.
CORE-8080

svn path=/trunk/; revision=63358
2014-05-18 18:35:45 +00:00
Timo Kreuzer 8d02368e52 [NTOSKRNL]
- Fix a bug in MiQueryAddressState that prevented it from returning a valid protection
- Add support for PAE and x64 to MiQueryAddressState
- Acquire the working set lock in MiQueryMemoryBasicInformation before MiQueryAddressState
- Fix RegionSize calculation in MiQueryMemoryBasicInformation
- Handle ZeroBits and Process->VmTopDown in NtAllocateVirtualMemory
- Fix a bug in calculating the ending address of a virtual allocation
- Gracefully handle Vad allocation failure
- Free Vad allocation on failure
- Write values back to usermode only in case of success

svn path=/trunk/; revision=63356
2014-05-18 16:25:40 +00:00
Eric Kohl 005d881ce1 [USETUP]
First part of the partition management code rewrite. This part fixes the handling of primary partitions. Extended partitions and logical drives are not handled yet. Safety checks and warnings are still missing! Partitions created by the new code are accepted by gparted and Windows.


svn path=/trunk/; revision=63355
2014-05-18 15:14:24 +00:00
Timo Kreuzer 9e6083e5c2 [NTOSKRNL]
- Do not ASSERT that a page fault im MmArmAccessFault happens on an invalid page. Instead handle write-on-readonly-PTE faults (Copy-on-write still unhandled). This ASSERT was not triggered so far, since ARM3 mapped all pages as read/write regardless of protection! So all (page file backed) sections mapped into user space were writable and could be happily modified from user mode!
- Fix MI_MAKE_HARDWARE_PTE_USER, so that it respects the actual protection.

svn path=/trunk/; revision=63354
2014-05-18 14:59:31 +00:00
Amine Khaldi ac454fae84 [CMAKE/MSVC]
* Define _ALLOW_KEYWORD_MACROS to get the news MSVC toolchain to allow us to redefine inline (it became a keyword). Reported by David Quintana.

svn path=/trunk/; revision=63353
2014-05-18 14:39:03 +00:00
Cameron Gutman abcd548308 [ACPI]
- Handle IRP_MN_CANCEL_REMOVE_DEVICE, IRP_MN_QUERY_REMOVE_DEVICE, and IRP_MN_REMOVE_DEVICE for child devices
- Fixes issues loading new drivers for ACPI-enumerated devices

svn path=/trunk/; revision=63349
2014-05-18 08:54:32 +00:00
Cameron Gutman 0a83347ad4 [NDIS]
- Restore the pending NDIS request before calling the completion routine
- Fixes crash with Broadcom 57xx drivers (link detection still not working)

svn path=/trunk/; revision=63348
2014-05-18 08:43:31 +00:00
Cameron Gutman 9c10a292db [HIVESYS]
- Add PS/2 input devices to the critical device database

svn path=/trunk/; revision=63347
2014-05-18 07:21:58 +00:00
Cameron Gutman a59063a064 [ACPI]
- Fix 2nd stage boot

svn path=/trunk/; revision=63346
2014-05-18 06:58:51 +00:00
Cameron Gutman ae4a8102df [ACPI]
- Start reporting compatible IDs for ACPI-enumerated devices other than processors
- Not sure how this was overlooked for so long...

svn path=/trunk/; revision=63345
2014-05-18 06:19:05 +00:00
Cameron Gutman 689159fedc [ACPI]
- Fix a buffer overrun that caused a BSOD with ACPI enabled on Hyper-V
- Dynamically allocate the hardware ID buffer to prevent another HID overrun
- Switched sprintf to snprintf to prevent this from happening to another ID

svn path=/trunk/; revision=63344
2014-05-18 05:52:09 +00:00
Hermès Bélusca-Maïto 2736ab0dca [NTVDM]: Improve the dumper a bit.
svn path=/trunk/; revision=63343
2014-05-17 23:55:14 +00:00
Hermès Bélusca-Maïto ad69b4a3c0 [NTVDM]
Add a memory dump facility.

svn path=/trunk/; revision=63342
2014-05-17 23:49:35 +00:00
Timo Kreuzer 7c2c3d6d1f [USER32]
Fix sizeof(WCHAR) vs sizeof(CHAR) problem. Patch by Victor Martinez.
CORE-8166 #resolve #comment Committed in r63341, thanks.

svn path=/trunk/; revision=63341
2014-05-17 23:00:34 +00:00
Timo Kreuzer 34ea0a3ea7 [VGA_NEW]
Improve order of check against NULL and assignement. Patch by Victor Martinez.
CORE-8121 #resolve #comment Committed in r63340, thanks

svn path=/trunk/; revision=63340
2014-05-17 22:55:22 +00:00
Timo Kreuzer 1a918ac33b [WIN32K]
Revert r56462. Should fix some win32k crashes. See CORE-7965

svn path=/trunk/; revision=63339
2014-05-17 22:33:42 +00:00
Timo Kreuzer 5e5f4c1d14 [NTOSKRNL]
Fix Mm

svn path=/trunk/; revision=63338
2014-05-17 22:30:43 +00:00
Aleksandar Andrejevic 22679f9a7c [NTVDM][KERNEL32][BASESRV]
Modify BaseSrvFillCommandInfo to always return the correct lengths of the parameters.
In BaseSrvGetNextVDMCommand, check if BaseSrvFillCommandInfo failed.
In CommandThreadProc, expand the size of the environment if necessary.
Add a useful DPRINT1 in BiosKbdBufferPush.
Finish implementing BaseCreateVDMEnvironment.
In GetNextVDMCommand, return the correct lengths of parameters if BaseSrvGetNextVDMCommand
failed.


svn path=/trunk/; revision=63337
2014-05-17 22:26:37 +00:00
Timo Kreuzer bef68d6f6c [NTOSKRNL]
Modify the VAD node code to return a TABLE_SEARCH_RESULT instead of an NTSTATUS, this allows us to avoid a 2nd tree iteration when inserting VADs. Fix several bugs in MiFindEmptyAddressRangeDownBasedTree. This code now contains a compatibility hack, that emulates a bug in the Windows 2003 kernel. Note that this bug is also present in MiFindEmptyAddressRangeDownTree on Windows 2003, but will not be exposed to the user, since it only affects the region above the top-most VAD, which will always be occupied by the PEB or TEB. Implement MEM_TOPDOWN in NtAllocateVirtualMemory. See CORE-6392

svn path=/trunk/; revision=63336
2014-05-17 20:34:11 +00:00
Amine Khaldi f88752ba0e [FREETYPE]
* Update to 2.5.3. Based on the sync done by Ivan Di Francesco.
CORE-8033

svn path=/trunk/; revision=63335
2014-05-17 18:52:24 +00:00
Timo Kreuzer aa3d15ae6c [TESTDATA]
Fix test.dll

svn path=/trunk/; revision=63334
2014-05-17 18:36:22 +00:00
Timo Kreuzer 9f835ff3ff [NTDLL_APITEST]
Add more tests for NtMapViewOfSection. Fix some tests, so that everything works on windows 2003.

svn path=/trunk/; revision=63333
2014-05-17 18:35:39 +00:00
Amine Khaldi a17de02b71 [LIBJPEG]
* Update to release 9a. Based on the sync done by Ivan Di Francesco.
CORE-8033

svn path=/trunk/; revision=63332
2014-05-17 18:14:51 +00:00
Aleksandar Andrejevic 9de7dafcc9 [NTVDM]
DosResizeMemory shouldn't succeed unless the memory block has been resized to the specified amount.


svn path=/trunk/; revision=63331
2014-05-17 15:29:07 +00:00
Eric Kohl a47b155648 [NTOSKRNL]
Partial revert of r63326! The correct partition numbers cause boot failures.

svn path=/trunk/; revision=63330
2014-05-17 14:42:28 +00:00
Amine Khaldi 1a4036b369 [WINSCARD]
* Import from Wine 1.7.17.
* Properly stub some exports thanks to our previous code.
* Add to build.
CORE-8224 #resolve #comment Added in r63328. Thanks for reporting!
CORE-8080

svn path=/trunk/; revision=63329
2014-05-17 14:06:12 +00:00
Amine Khaldi b0f91e882d [PSDK]
* Add some missing definitions.
* Fix SCardReleaseStartedEvent().

svn path=/trunk/; revision=63328
2014-05-17 14:00:54 +00:00
Hermès Bélusca-Maïto 9ef81cf038 [GREEN]: Fix 2nd parameter of ObOpenObjectByName.
svn path=/trunk/; revision=63327
2014-05-17 13:26:32 +00:00
Eric Kohl 7a4fd32957 [NTOSKRNL]
xHalIoReadPartitionTable: Only used non-container partition entries have a non-zero partition number.

svn path=/trunk/; revision=63326
2014-05-17 12:55:06 +00:00
Amine Khaldi 1d4476db48 [FONTS]
* Update tahoma.ttf and tahomabd.ttf.
CORE-7909 #resolve #comment Committed in r63325. Thanks Ștefan!
CORE-8080

svn path=/trunk/; revision=63325
2014-05-17 11:40:54 +00:00
Amine Khaldi dd17546bfe [RAPPS]
* Some list entries fixes.
* Mention that Turkish translations were done by Erdem Ersoy.
CORE-7710 #resolve #comment Committed in r63324.

svn path=/trunk/; revision=63324
2014-05-17 11:25:50 +00:00
Timo Kreuzer c64645fd66 [SPEC2DEF]
Fix def file generation on non-86

svn path=/trunk/; revision=63323
2014-05-17 10:58:10 +00:00
Amine Khaldi 778c8e998c [CRT]
* Update _sopen_s().
* Fixes some msvcrt tests.
CORE-8080

svn path=/trunk/; revision=63322
2014-05-17 10:41:36 +00:00
Amine Khaldi fa9bf9ef6e [CRT]
* Import _chsize_s().
* Update _chsize().
CORE-8080

svn path=/trunk/; revision=63321
2014-05-17 10:35:35 +00:00
Amine Khaldi 9273fa01fa [CRT]
* Update _fseeki64().
* Fixes some msvcrt tests.
CORE-8080

svn path=/trunk/; revision=63320
2014-05-17 10:28:57 +00:00
James Tabor ef2221fd12 [ConSrv]
- Move Alt-Escape, Space and Tab to ConWndProc, disable GuiProcessKeyCallback.
- Alt-Space was not getting launched out of GuiProcessKeyCallback. The key needed translated.
- Reduce code for system menus.

svn path=/trunk/; revision=63319
2014-05-17 02:15:50 +00:00
James Tabor fdc93df98f [ConSrv]
- Readjust the bytes to wide character size.

svn path=/trunk/; revision=63318
2014-05-16 21:05:37 +00:00
James Tabor d5880674f2 [NtUser|User32]
- Fully strip the Atl-F4 from the Pop Up System Menu.
- Fix menu.c:1418: Test failed: InsertMenuItem should have failed. Both A/W...
- Fix menu key by Item when cloning menus.

svn path=/trunk/; revision=63317
2014-05-16 20:43:23 +00:00
James Tabor a61decb1c0 [ConSrv]
- Strip the Atl-F4 from the Pop Up System Menu since we do not support it.


svn path=/trunk/; revision=63315
2014-05-16 18:26:00 +00:00
Kamil Hornicek 07c315c504 [OPENGL32]
- don't try to free an invalid address

svn path=/trunk/; revision=63314
2014-05-16 15:52:15 +00:00
Hermès Bélusca-Maïto 2d601a6dfc [NTVDM]
Implement INT 21h, AH=5Ch "Lock/Unlock Region of File".

svn path=/trunk/; revision=63311
2014-05-16 00:56:46 +00:00
Hermès Bélusca-Maïto a242a67b73 [NTVDM]
Partially implement INT 21h, AH=60h -- "Canonicalize File Name or Path".

svn path=/trunk/; revision=63310
2014-05-16 00:34:54 +00:00