Commit Graph

42088 Commits

Author SHA1 Message Date
Stefan Ginsberg
b129412701 - Replace more magic values with symbolic constants
- Fix a peculiar header duplication

svn path=/trunk/; revision=35531
2008-08-22 14:55:20 +00:00
Jeffrey Morlan
8b52a8e50a - Extract the line-reading code in ProcessInput to a separate function (ReadLine) that the parser can call. Now line continuations (using ^ at the end of a line) and multi-line parenthesized blocks work.
- ReadBatchLine: Don't strip the trailing \n, the parser needs it. Remove handling of :labels and @quiet commands, now done by the parser.
- ReadCommand: Add a \n to the line. Move PrintPrompt call out, since the prompt shouldn't be printed for additional lines read in a command beyond the first.

svn path=/trunk/; revision=35530
2008-08-22 14:37:11 +00:00
Stefan Ginsberg
16ab5c9a07 - Add EFLAGS_IOPL to asm.h and make use of it in assembly
- Fix a potential 64-bit warning in handle.c
- Comment fixes

svn path=/trunk/; revision=35529
2008-08-22 14:29:01 +00:00
Timo Kreuzer
71d0b42136 LdrPEProcessImportDirectoryEntry: ULONG -> ULONG_PTR to fix imports.
svn path=/branches/ros-amd64-bringup/; revision=35528
2008-08-22 13:06:39 +00:00
Timo Kreuzer
c5cef89ee9 Fix handling of stack
svn path=/branches/ros-amd64-bringup/; revision=35527
2008-08-22 12:20:01 +00:00
Timo Kreuzer
cecff4323b Move KiSystemStartup again to kiinit.c, implement an intermediate function KiInitializeKernelAndGotoIdleLoop that is now called from the asm function KiSetupStackAndInitializeKernel. This way we avoid using "hardcoded" constants.
svn path=/branches/ros-amd64-bringup/; revision=35526
2008-08-22 11:13:51 +00:00
Timo Kreuzer
adc315d4cc Fix _interlockedbittest intrinsics. For some strange reason they were working correctly on x86, the compiler seemed to know "what it means". But that doesn't work on amd64, here we need *a as "=m" operand, not a.
svn path=/branches/ros-amd64-bringup/; revision=35525
2008-08-22 10:54:47 +00:00
Timo Kreuzer
3c6891fdc8 revert my last change, yes it IS a stupid idea to mess with the stack in the middle of a C function....
svn path=/branches/ros-amd64-bringup/; revision=35524
2008-08-22 10:07:57 +00:00
Art Yerkes
f1fe2984b3 Commit bugboy's patch from bug 2392, and remove DeviceDesc, which isn't needed
anymore.

svn path=/trunk/; revision=35523
2008-08-22 05:58:56 +00:00
Stefan Ginsberg
7e8e8407d0 - Fix kernel mode debug output broken in 35520
- Patch by Alex

svn path=/trunk/; revision=35522
2008-08-22 00:39:26 +00:00
Stefan Ginsberg
81af67a6fe - Use correct bug code when crashing due to closing a protected handle
- Add INVALID_KERNEL_HANDLE bug code

svn path=/trunk/; revision=35521
2008-08-22 00:26:52 +00:00
Stefan Ginsberg
b9a32878e1 - Patch by Alex Ionescu: Fix a typo, and code cleanup
svn path=/trunk/; revision=35520
2008-08-21 22:41:17 +00:00
Stefan Ginsberg
ea3057f862 - Change ASSERT to C_ASSERT
svn path=/trunk/; revision=35519
2008-08-21 21:25:16 +00:00
Timo Kreuzer
734fd03c81 Implement KiSystemStartup in C instead of asm, implement KiSwapStack intrinsic, get rid of KiSetupStackandInitializeKernel, instead do the work in KiSystemStartupReal in C. Move Stack definitions into trap.S and get rid of the whole boot.S file. Comment out the sync loop for the moment and add a comment why it doesn't work (InterlockedBitTestAndSet64 doesn't work correctly).
svn path=/branches/ros-amd64-bringup/; revision=35518
2008-08-21 21:16:57 +00:00
Timo Kreuzer
0aaed0f738 Update syscall stubs
svn path=/branches/ros-amd64-bringup/; revision=35517
2008-08-21 21:10:17 +00:00
Aleksey Bragin
83029d2dd8 - "When releasing the gmutex my awesome code was removing the woken flag" (c) Alex Ionescu.
svn path=/trunk/; revision=35516
2008-08-21 21:07:52 +00:00
Timo Kreuzer
d733da9c08 Fix hal build
svn path=/branches/ros-amd64-bringup/; revision=35515
2008-08-21 20:24:34 +00:00
Jeffrey Morlan
4cdc27c1a2 - Begin writing a real parser for cmd. &, &&, ||, and () are implemented. The parenthesized blocks aren't too useful yet as the parser can't read additional lines; doing this will require some restructuring in cmd.c.
- Remove ^-removing hacks in echo and set.

svn path=/trunk/; revision=35514
2008-08-21 20:18:35 +00:00
Timo Kreuzer
9cc6529e5e Add KeSetCurrentIrql
svn path=/branches/ros-amd64-bringup/; revision=35513
2008-08-21 18:15:23 +00:00
Timo Kreuzer
7e667e38c4 Implement KxGetCurrentIrql, KxLowerIrql, KxRaiseIrql and KxRaiseIrqlToDpcLevel and use them for the Ke/Kf exports.
svn path=/branches/ros-amd64-bringup/; revision=35512
2008-08-21 18:13:42 +00:00
Timo Kreuzer
5e2d40364e fix build ;-)
svn path=/branches/ros-amd64-bringup/; revision=35511
2008-08-21 18:10:08 +00:00
Timo Kreuzer
56d9201788 Make KeGetCurrentIrql, KeLowerIrql, KfRaiseIrql, KeRaiseIrql, KeRaiseIrqlToDpcLevel and KeRaiseIrqlToSynchLevel intrinsics as in the WDK 2008.
svn path=/branches/ros-amd64-bringup/; revision=35510
2008-08-21 18:07:45 +00:00
Timo Kreuzer
c4c7933979 On SMP builds SYNCH_LEVEL is (IPI_LEVEL - 2) or 12
svn path=/branches/ros-amd64-bringup/; revision=35509
2008-08-21 18:04:23 +00:00
Jeffrey Morlan
07912f2b23 - Implement X>&Y redirections. Hold redirections in a linked list structure, because order matters (>x 2>&1 is not the same as 2>&1 >x). Allow redirection of any handle number from 0 to 9.
- Allow quotes around the redirection file name.
- Batch: Fix buffer overflow bug (incorrect size for bc->BatchFilePath)

svn path=/trunk/; revision=35508
2008-08-21 15:33:59 +00:00
Cameron Gutman
3b1ae0bb37 - Replace MmMapLockedPages with MmGetSystemAddressForMdlSafe
- Add a check to UnlockRequest
 - Enclose MmProbeAndLockPages in SEH
 - Fixes bug 3672

svn path=/branches/aicom-network-fixes/; revision=35507
2008-08-21 14:46:03 +00:00
Timo Kreuzer
bebc0f9c06 Implement KeGetCurrentIrql as intrinsic.
svn path=/branches/ros-amd64-bringup/; revision=35506
2008-08-21 13:33:57 +00:00
Timo Kreuzer
ae1ea8b593 Remove private __lidt definition.
svn path=/branches/ros-amd64-bringup/; revision=35505
2008-08-21 13:30:39 +00:00
Timo Kreuzer
c00498727e Implement __readcr8, __writecr8, __lidt and __sidt intrinsics.
svn path=/branches/ros-amd64-bringup/; revision=35504
2008-08-21 13:30:00 +00:00
Aleksey Bragin
4af7567008 - Add missing MmCallDllInitialize prototype.
- Make IopOpenRegistryKeyEx NTAPI.
- Patch by Alex Ionescu.

svn path=/trunk/; revision=35503
2008-08-21 11:04:50 +00:00
Aleksey Bragin
d1213e5977 - Fix definition of BOOT_DRIVER_LIST_ENTRY (Information provided by Alex Ionescu).
svn path=/trunk/; revision=35502
2008-08-21 10:58:53 +00:00
Art Yerkes
36b8b4a111 Merge aicom-network-fixes up to 35486
svn path=/trunk/; revision=35499
2008-08-21 03:38:49 +00:00
Gregor Brunmar
4d54d71f8f Added some more parameter error checking to D3D9::CreateDevice()
svn path=/trunk/; revision=35498
2008-08-21 03:19:02 +00:00
Gregor Brunmar
52aa41d8e0 * Removed unused header file
* Fixed signed/unsigned comparison warning

svn path=/trunk/; revision=35497
2008-08-21 02:34:28 +00:00
Timo Kreuzer
0d5cd90543 Fix KiSystemStartupReal, KiGetMachineBootPointers and KiInitializePcr. Add trap.S for ISRs (unimplemented). Add except.c with KiInterruptInitTable and KeInitExceptions, initializing the IDT. Add irql.c for IRQL functions (unimplemented). Update stubs file. Based on info from http://www.msuiche.net/papers/Windows_Vista_64bits_and_unexported_kernel_symbols.pdf. We now reach KiSetupStackAndInitializeKernel, but there's a few things still missing.
svn path=/branches/ros-amd64-bringup/; revision=35496
2008-08-20 23:54:52 +00:00
Timo Kreuzer
29e9dfd5d6 Also initialize data segment descriptor in the gdt.
svn path=/branches/ros-amd64-bringup/; revision=35495
2008-08-20 23:48:28 +00:00
Timo Kreuzer
9576c5f7f6 - Add X86_MSR_GSBASE, X86_MSR_KERNEL_GSBASE constants
- Add KIDT_INIT structure for the idt init table
- Add prototypes for ISRs

svn path=/branches/ros-amd64-bringup/; revision=35494
2008-08-20 22:55:59 +00:00
Timo Kreuzer
bfb63a8031 Setup a page for the Idt and a page for the gdt + tss. Setup the newly created gdt accordingly. Set gdtr and idtr.
svn path=/branches/ros-amd64-bringup/; revision=35493
2008-08-20 22:48:47 +00:00
Timo Kreuzer
a215070e56 revert my last commit to avoid polluting other files with hack code. I am also not going to need that piece of code for amd64.
svn path=/branches/ros-amd64-bringup/; revision=35492
2008-08-20 22:38:23 +00:00
Jeffrey Morlan
ed0615e6ac Always set the console's event on any keypress, even in line input mode.
svn path=/trunk/; revision=35489
2008-08-20 20:55:39 +00:00
Jeffrey Morlan
fca286cbda Fix infinite loop during generic table lookups. Patch by Alex Ionescu
svn path=/trunk/; revision=35487
2008-08-20 19:15:00 +00:00
Cameron Gutman
3b40e9b047 - Reapply r35481
svn path=/branches/aicom-network-fixes/; revision=35486
2008-08-20 19:06:43 +00:00
Cameron Gutman
df19533df7 - Fix IRP cancellation issues
- Ping doesn't hang anymore

svn path=/branches/aicom-network-fixes/; revision=35485
2008-08-20 18:50:26 +00:00
Cameron Gutman
67fae61a27 - Revert 35477-35481
svn path=/branches/aicom-network-fixes/; revision=35484
2008-08-20 18:46:38 +00:00
Johannes Anderwald
46ba64139f - Implement SHParseDisplayName by Paul paulvgenderen at gmail.com
svn path=/trunk/; revision=35482
2008-08-20 17:29:18 +00:00
Cameron Gutman
9b492699af - Fix handling of cancelled IRPs
svn path=/branches/aicom-network-fixes/; revision=35481
2008-08-20 17:29:01 +00:00
Cameron Gutman
6159e6d129 - Don't forget about ConnectIrp (This fix was lost in the merge)
- Don't destroy the same socket twice
 - Don't unlock the same socket twice
 - Don't destroy a socket with pending IRPs

svn path=/branches/aicom-network-fixes/; revision=35480
2008-08-20 14:56:12 +00:00
Cameron Gutman
3def13f731 - Fix build
svn path=/branches/aicom-network-fixes/; revision=35479
2008-08-20 14:48:42 +00:00
Cameron Gutman
a796846871 - The rest of the merge
- This will most likely need fixing later

svn path=/branches/aicom-network-fixes/; revision=35478
2008-08-20 14:43:33 +00:00
Cameron Gutman
8b269440fd - Reapply arty's datagram cancellation work
- Part 1 of 3

svn path=/branches/aicom-network-fixes/; revision=35477
2008-08-20 14:21:08 +00:00
Johannes Anderwald
e577021a2b - Do not pass SHGDN_INFOLDER flag
- Implement IPersistFolder2 for control panel shell folder 
- Replace _InsertMenuItem with unicode 
- Pass the pidl of shellfolder and selected drive to SH_ShowDriveProperties to construct a valid IDataObject which is passed to drive PropertySheet handlers
- Release HPSX array only if it was constructed
- Optimize AddShellPropSheetExCallback for file property dialog
- Pass the pidl of the parent shell folder and selected item to SH_ShowPropertiesDialog and construct a IDataObject from it
- Check for success for created IDataObject and HPSX array
- Add a lot of  buffer checks for the OpenNew shell extension
- Pass the full filename of the item from Admin Tools shellfolder when IShellFolder_GetDisplayNameOf is called with SHGDN_FORPARSING
- Implement initializing the AdminTools folder 
- Implement IShellFolder_SetNameOf for the desktop shell folder to support renaming desktop items and sub folders
- Implement ISFHelper interface for desktop shell folder to support deleting with backspace key and fixes the new item shell service for items and directories
- Implement hiding (deleting) shell extensions from desktop
- Display a messagebox if shell extensions should be really deleted
- Fix the IShellFolder_GetAttributesOf for the Mycomputer shell folder
- Implement changing drive name with rename verb using IShellFolder_SetNameOf (MyComputer)
- Implement Initializing the MyComputer shell folder properly
- Fix Shellfolder attributes for MyDocuments shell folder
- Fix Shellfolder attributes for Netplaces shell folder
- Implement Initializing the Netplaces shell folder properly
- Remove the 'properties' and 'open' verb from recycle bin shell folder, these verbs are statically generated
- Directories cannot have the link attribute
- Implement IShellExtInit interface for the new item shell service
- Implement the default context menu based on the existing item context menu and background context menu and delete old implementation
- Implement copy&paste of files and directories
- Implement creating links to files
- Check if a dynamic shell extension has already been loaded
- Free static / dynamic shell extensions on release

svn path=/trunk/; revision=35476
2008-08-20 13:47:47 +00:00