Commit graph

19485 commits

Author SHA1 Message Date
Alex Ionescu 58964b9893 - Fix another V86 Mode exit bug which could cause non-volatiles to be incorrectly restored.
- Make traps use the shared EOI (End Of Interrupt) helper instead of their own custom trap exit code.

svn path=/trunk/; revision=20919
2006-01-16 19:59:32 +00:00
Alex Ionescu 4334f8a57f - Fix a bad bug in the system call handler and interrupt/trap exit code which was causing a jump to the incorrect epilogue if V86 mode was detected.
- Replaced most of the trap prolog code by the KiDebugService entry trap code from syscall.S. Eventually, after remaining bugs are fixed, the code will be shared across all traps and not duplicated anymore. (For documnetation's sake, changing the prolog has the following effects: DR registers are not saved anymore (they will be later), DS/ES are set to RPL3 DATA, not RPL0 DATA, GS is not touched (it shoudl be 0, not RPL0_DATA). PreviousMode is not touched at all, the Debug Trap Frame header is properly setup).

svn path=/trunk/; revision=20918
2006-01-16 19:32:55 +00:00
Alex Ionescu 707ff20f85 - Update asm.h with more definitions.
svn path=/trunk/; revision=20917
2006-01-16 17:17:49 +00:00
Alex Ionescu 2c7e1a713e - Merge breakpoint.S and tblfush.S into cpu.S
svn path=/trunk/; revision=20916
2006-01-16 17:17:16 +00:00
Alex Ionescu 3a99d30e3e Do set ESP0, but after we save the old value for the V86 hack.
svn path=/trunk/; revision=20915
2006-01-16 17:07:45 +00:00
Alex Ionescu 68d8925879 Disable correct usage of ESP0 since it seems the V86 code is still not ready to handle that. This should fix the V86 exceptions some people have been having.
svn path=/trunk/; revision=20914
2006-01-16 17:05:50 +00:00
Christoph von Wittich 7d5b2bb49d implemented HBMMENU_CALLBACK (now some of the Miranda icons are displayed)
svn path=/trunk/; revision=20913
2006-01-16 16:45:27 +00:00
Thomas Bluemel a66e25af32 fixed difference in signedness warnings and a uninitialized variable warning
svn path=/trunk/; revision=20912
2006-01-16 16:29:02 +00:00
Alex Ionescu da4ac0b789 - Fix some nasty context switch bugs:
* We did not update the KPCR's stacklimit/initialstack with the new thread's stacklimit/initialstack.
  * We always assumed V86 frame bias in KeInitializeThreadContext.
  * We did not properly update ESP0 during context switch, to make space for the NPX frame and V86 bias.
  * We did not update fs:18h to point to the new TEB.
  * We did not clear out GS when switching processes, nor update the TSS's cr3.
  * If a new LDT was being updated, we over-wrote EBP (which was supposed to point to the TSS) by the GDT pointer.
  * We used a push/pop esp0 hack which hid the fact we never updated esp0.

svn path=/trunk/; revision=20911
2006-01-16 02:21:22 +00:00
Gé van Geldorp 9c9b29ed6e New wininet vendor import
svn path=/trunk/; revision=20909
2006-01-15 22:25:16 +00:00
Gé van Geldorp 6a168b6bb3 Drop old wininet in preparation for new vendor import
svn path=/trunk/; revision=20908
2006-01-15 22:22:02 +00:00
Gé van Geldorp 4b714cc7f4 wintrust vendor import
svn path=/trunk/; revision=20905
2006-01-15 21:58:59 +00:00
Gé van Geldorp aa886b4606 Delete old (unused) wintrust version
svn path=/trunk/; revision=20904
2006-01-15 21:54:47 +00:00
Alex Ionescu ee329f30db - Don't bother with clearing the DRs in the CONTEXT, just clear DR7 in the trap frame after the conversion.
svn path=/trunk/; revision=20901
2006-01-15 20:26:53 +00:00
Magnus Olsen 1a6b709e32 Implement XMillimeter and YMillimeter calculation, it not 100% correct for I assume the monitor DPI is always 72DPI
svn path=/trunk/; revision=20900
2006-01-15 20:25:53 +00:00
Alex Ionescu e129f72183 - Use old-style NPX state when creating the thread context. Fixes regression in 1st-stage install.
svn path=/trunk/; revision=20899
2006-01-15 20:13:08 +00:00
Ged Murphy bfa1e86e2a help update
svn path=/trunk/; revision=20898
2006-01-15 19:06:18 +00:00
Hartmut Birr d95e04f38a - Allocated the initial stacks page aligned.
- Add a guard page for the initial stacks.
- Fixed the size of the initial stacks.

svn path=/trunk/; revision=20897
2006-01-15 18:28:40 +00:00
Hartmut Birr 328e260852 Fixed the stack for the first thread.
svn path=/trunk/; revision=20896
2006-01-15 18:21:43 +00:00
Ged Murphy 208e318f73 Change toolbars from 16 to 15 pixels high
svn path=/trunk/; revision=20895
2006-01-15 16:47:18 +00:00
Thomas Bluemel 48939cfdc4 implemented LsaDelete() (client only)
svn path=/trunk/; revision=20894
2006-01-15 14:34:58 +00:00
Thomas Bluemel 12fcc64d56 implemented LsarClose()
svn path=/trunk/; revision=20893
2006-01-15 14:18:43 +00:00
Martin Fuchs 7548ba36d1 Explorer: sort drives by path name; ignore hidden attribute of NTFS volumes
This resolves Bugzilla issue 1236

svn path=/trunk/; revision=20892
2006-01-15 13:44:14 +00:00
Thomas Bluemel 88a9cea5ae disable starting lsass.exe for now
svn path=/trunk/; revision=20891
2006-01-15 13:25:50 +00:00
Thomas Bluemel 5e85dccad2 - use RPC for communication with lsass
- start lsass.exe on startup

svn path=/trunk/; revision=20890
2006-01-15 13:19:57 +00:00
Martin Fuchs 1fbded087b change explorer sort order so that virtual folders are moved after physical folders
svn path=/trunk/; revision=20889
2006-01-15 12:30:17 +00:00
Hartmut Birr 0f462fdea6 Fix the smp build.
svn path=/trunk/; revision=20888
2006-01-15 10:17:35 +00:00
Alex Ionescu 20e6dde401 - Update KeContextToTrapFrame to support separate ContextFlags parameters in the scenario where we want to convert more then the Context's flag specify
- Rename some of the internal FPU flags to external names and make them global.
- Improve context creation of new threads to initialize the virgin NPX state for new threads, to clear DR debug registers, to properly convert the context to a trap frame, to set the right segment registers, to set the debugging mark in the trap frame, and to properly set the initial eflags.
- Add stubs for upcoming support for extended/floating point registers in KeContextToTrapFrame and KeTrapFrameToContext.

svn path=/trunk/; revision=20887
2006-01-15 09:23:55 +00:00
Hartmut Birr 1b8586982f Fixed the initialisation of the feature bits.
svn path=/trunk/; revision=20886
2006-01-15 09:14:04 +00:00
Hartmut Birr 244b5bb3cc Lower the irql on exit in KeInsertQueueDpc.
svn path=/trunk/; revision=20885
2006-01-15 08:53:01 +00:00
Hartmut Birr aab50d9dd5 Fix the check for an empty list.
svn path=/trunk/; revision=20884
2006-01-15 08:51:20 +00:00
Hartmut Birr 68151ba039 Bochs debug output is only a simple print routine and not a wrapper which can handle faults.
svn path=/trunk/; revision=20883
2006-01-15 08:49:26 +00:00
Thomas Bluemel ba9679e15b implemented FindFirstStreamW() and FindNextStreamW() (untested!)
svn path=/trunk/; revision=20882
2006-01-15 03:11:31 +00:00
Martin Fuchs e592a21cc6 release mozctl_install_semaphore semaphore when the user doesn't want to download the mozilla control
svn path=/trunk/; revision=20881
2006-01-15 01:24:59 +00:00
Royce Mitchell III 1eafbf2c6b fix "line #=0" and "missing function name" bugs in rsym data. There's one issue this fix causes - apparently macros will have their file/line # reported, instead of the location they are being invoked, but this is a far cry better than before.
svn path=/trunk/; revision=20880
2006-01-15 01:12:00 +00:00
Martin Fuchs d39838f086 remove incorrect include directory
svn path=/trunk/; revision=20879
2006-01-15 00:51:40 +00:00
Martin Fuchs 6c9463c494 fix Expat includes
svn path=/trunk/; revision=20878
2006-01-15 00:47:25 +00:00
Alex Ionescu d8b6e8e1a5 Fix msvc warnings
svn path=/trunk/; revision=20877
2006-01-15 00:45:06 +00:00
Martin Fuchs efa50c8848 Update XMLStorage to Expat 2.0
svn path=/trunk/; revision=20876
2006-01-15 00:09:32 +00:00
Martin Fuchs 1f209472ae update header files to Expat Version 2.0
svn path=/trunk/; revision=20875
2006-01-15 00:06:30 +00:00
Martin Fuchs 4de4f141b6 update to Expat Version 2.0
svn path=/trunk/; revision=20874
2006-01-15 00:06:16 +00:00
Thomas Bluemel 240a8443b4 RegDisablePredefinedCacheEx() should also disable the cache for HKU
svn path=/trunk/; revision=20873
2006-01-14 23:54:05 +00:00
Thomas Bluemel 3384b413ab fixed a buffer overflow when the referenced domain length is 0
svn path=/trunk/; revision=20872
2006-01-14 23:37:56 +00:00
Nathan Woods f34d84db46 Freeloader: Check return code of RegOpenKey() in FrLdrLoadBootDrivers() for failure
Another one...


svn path=/trunk/; revision=20871
2006-01-14 23:35:20 +00:00
Thomas Bluemel e4484b0bde - implemented RegDisablePredefinedCache()
- added stubs for RegEnableReflectionKey(), RegDisableReflectionKey() and RegQueryReflectionKey()

svn path=/trunk/; revision=20870
2006-01-14 23:17:26 +00:00
Thomas Bluemel 55317536c0 add stubs for CancelIoEx() and CancelSynchronousIo()
svn path=/trunk/; revision=20869
2006-01-14 22:47:35 +00:00
Thomas Bluemel 0c13546927 added stubs for SetFileBandwidthReservation(), GetFileBandwidthReservation(), SetFileCompletionNotificationModes() and OpenFileById(). Thanks also to Alex
svn path=/trunk/; revision=20868
2006-01-14 22:25:20 +00:00
Nathan Woods df36b0db90 Freeloader: Check return code of RegOpenKey() in FrLdrLoadBootDrivers() for failure
svn path=/trunk/; revision=20866
2006-01-14 21:57:07 +00:00
Thomas Bluemel 24460a5027 remove debug information I forgot to remove
svn path=/trunk/; revision=20865
2006-01-14 20:36:49 +00:00
Thomas Bluemel 70dcf02781 make the initial kernel_stack large enough to have enough space for the fx savings area
svn path=/trunk/; revision=20864
2006-01-14 20:36:01 +00:00