Commit graph

22072 commits

Author SHA1 Message Date
Alex Ionescu
9e78b36f2e - Fix a bug during exceptions, thanks to W3seek, nice find.
svn path=/trunk/; revision=23720
2006-08-26 15:40:27 +00:00
Magnus Olsen
0e96db4bf5 bug 1769 : from w3seek : Implement some new functions
svn path=/trunk/; revision=23719
2006-08-26 14:28:34 +00:00
Johannes Anderwald
b4e91152db * show selected static control via DrawFocusRect
svn path=/trunk/; revision=23718
2006-08-26 13:43:15 +00:00
Magnus Olsen
a7216d7b12 do right typecast for ReadFile so it compiles on gcc 4.x
svn path=/trunk/; revision=23717
2006-08-26 10:01:03 +00:00
Magnus Olsen
def45d4b5a fixed one waring that thomas got with gcc 4.x
svn path=/trunk/; revision=23716
2006-08-26 09:57:38 +00:00
Hervé Poussineau
916f69a7cb Fix a missing referencing in PsImpersonateClient (dereferenced in PsRevertThreadToSelf)
PspWriteTebImpersonationInfo may be used to set or to clear impersonation info => remove an extra assignment

svn path=/trunk/; revision=23715
2006-08-26 08:46:18 +00:00
Alex Ionescu
617e78ebf0 - Transform TRAP_PROLOG into a GAS macro.
- Remove code in the page fault handler which was corrupting the trap frame.
- Remove some ROS hacks that dealt with the fact the trap frame was getting corrupted, since now it isn't anymore.
- Enable code that checks for Teb->GdiBatchCount during win32k system calls. The bugs that were mentionned in the #if 0 are fixed.

svn path=/trunk/; revision=23714
2006-08-26 06:14:32 +00:00
Brandon Turner
9f5f1ce315 * Implement: /low, /normal, /high, /realtime, /belownormal, and /abovenormal
* Correctly build the string used to create the process.

svn path=/trunk/; revision=23713
2006-08-25 23:12:50 +00:00
Hervé Poussineau
ec5899ca4f Implement IOCTL_SERIAL_WAIT_ON_MASK
Better implementation of IOCTL_SERIAL_SET_WAIT_MASK
Remove "Serial:" prefix on debug output

svn path=/trunk/; revision=23712
2006-08-25 22:07:10 +00:00
Alex Ionescu
3c97814afe - Hervé est un Dieu qui mérite une infinité de bières et de femmes vierges (et nues).
- This should fix booting on VMWare.

svn path=/trunk/; revision=23711
2006-08-25 20:18:34 +00:00
Magnus Olsen
bf4ff7bb94 forget this file thx christ
svn path=/trunk/; revision=23710
2006-08-25 18:26:26 +00:00
Magnus Olsen
87b9d209fd Add frist version of ReactOS net command. I finish frist step early that I calc, you need samba-tng rpcclient to use net command in your path. net command only support follow command "net start, net start serivce_display name, net stop", more will follow later.
The help text I need some help with to fill in the info how thuse command work and design the help text better. 
 


svn path=/trunk/; revision=23709
2006-08-25 17:50:26 +00:00
Hervé Poussineau
10782a0cfa Add an assert in IntEngCreateXlate
svn path=/trunk/; revision=23708
2006-08-25 15:49:31 +00:00
Alex Ionescu
397f1f88d2 - Viva la deprecation! Trunk should now boot and the installer should work.
- Basically revert the new HAL/KERNEL IRQ code by putting the old one in, but without the actual pain of svn reverting and losing all the previous code.
- The old code goes in ntoskrnl\deprecated, and we only add a comment to the .rbuild file, re-export an old function, and initialize the old code in kernel.c. All the other kernel changes stay in-place to be tested.
- Same for hal, basically replace irq.S with irql.c in the .rbuild file, and disable the call to Halpinit1. All the other changes remain.

svn path=/trunk/; revision=23707
2006-08-25 14:50:01 +00:00
Alex Ionescu
bb00cadd67 - Fix some bugs
svn path=/trunk/; revision=23706
2006-08-25 14:15:11 +00:00
Aleksey Bragin
3f4b7e4705 - Enable PIRQ when initializing UHCI, this solves the "no irq" problem on some UHC controllers (most popular type of such controller is the one emulated by VMWare)
- Fix a mistake in the source code resulting in a bugcheck
- Add _X86 to .rbuild (by Thomas)

svn path=/trunk/; revision=23705
2006-08-25 13:20:13 +00:00
Johannes Anderwald
50746a376e * share common painting code
* align static control in same way

svn path=/trunk/; revision=23704
2006-08-25 12:19:42 +00:00
Ged Murphy
a6c41b9d22 delete old dir
svn path=/trunk/; revision=23703
2006-08-25 10:12:28 +00:00
Ged Murphy
7adefa6232 move uptime to rosapps so Alex doesn't blow up into teeny weeny pieces ;)
svn path=/trunk/; revision=23702
2006-08-25 10:11:57 +00:00
Alex Ionescu
387c84f0f5 - Add some debugging code to see why trap frames are screwed up.
svn path=/trunk/; revision=23701
2006-08-25 04:11:45 +00:00
Alex Ionescu
38a0558e07 - We do not speak about the v86 hack.
- This should fix the V86 GPF error.

svn path=/trunk/; revision=23700
2006-08-25 02:23:47 +00:00
Alex Ionescu
b23894894d - Get rid of some code.
svn path=/trunk/; revision=23699
2006-08-25 02:22:50 +00:00
Alex Ionescu
35778c9f25 - If SeCaptureSubjectContextEx is called without a process, at least NULL-initialize the context to catch dereferences of invalid pointers.
svn path=/trunk/; revision=23698
2006-08-25 01:04:44 +00:00
Alex Ionescu
7d305ec8e6 - Fix compiling/linking problems.
- Remove KrnlFun entry - IRQs are now done through a typical NT/ROS trap frame and are synchronized and compatible with trap.S.
- Enable 2nd entry interrupt calls in HalBeginSystemInterrupt, since IRQs now use the right trap frame.

svn path=/trunk/; revision=23697
2006-08-25 00:46:41 +00:00
Ged Murphy
31cc308502 add an 'uptime' command.
Available in either Windows or Linux output. (defaulted to Windows)

svn path=/trunk/; revision=23696
2006-08-25 00:33:27 +00:00
Alex Ionescu
425592dd06 - The last piece of the puzzle: we had to initialize the IDR in HalInitProcessor to set it to the default of 0xFFFFFFB so that we don't get IRQ 0 and IRQ 1 until we're ready to handle them, which was causing the clock interrupt to be called too early.
- Remove irqhand.S and all other remaining pieces of deprecated code.

svn path=/trunk/; revision=23695
2006-08-25 00:30:26 +00:00
Alex Ionescu
5d9935a1fa - Got rid of the deprecated stuff left in irq.c and directly implemented it as part of irqhand.S (which is also deprecated).
- Cleaned up irq.c. Fixed file header, function prototypes, includes, etc, and moved general definitions and externs to ke.h

svn path=/trunk/; revision=23694
2006-08-24 23:25:37 +00:00
Johannes Anderwald
52f5a2cccc * handle PSN_APPLY effectively
* remove no longer used callback
* reenable PropSheet_Changed macros
* fix styles for dialog

svn path=/trunk/; revision=23693
2006-08-24 20:55:13 +00:00
Alex Ionescu
fe2d752e93 - Fix some bugs in clock.S
- Enable clock.S versions of KeUpdateSystem/RunTime and export them properly.
- Enable systimer.S to call into kernel's KeUpdateSystemTime.
- Enable Hal's Clock Interrupt during Phase 1.
- Remove most of the code that was still left in irq.c
- Only one large problem remains now, which is the spurious firing of the clock interrupt before we're ready to handle it... I will try to fix this today.

svn path=/trunk/; revision=23692
2006-08-24 19:17:14 +00:00
Andrew Munger
d43585136b DBG=0 fixes, patch by Physicus.
svn path=/trunk/; revision=23691
2006-08-24 18:48:15 +00:00
Christoph von Wittich
3dd85ba73d some more msvc warning fixes
svn path=/trunk/; revision=23690
2006-08-24 17:23:07 +00:00
Hervé Poussineau
cd01646b34 Fix all warnings detected by gcc 4.2
Patch by Thomas Weidenmueller

svn path=/trunk/; revision=23689
2006-08-24 16:58:12 +00:00
Christoph von Wittich
0c186af160 fixed some warnings (patch by w3seek)
svn path=/trunk/; revision=23688
2006-08-24 16:39:14 +00:00
Hervé Poussineau
71391c6a4f Build usbdriver without warning, at least with gcc 3.4.2
svn path=/trunk/; revision=23687
2006-08-24 16:21:16 +00:00
Christoph von Wittich
6db46bea8e fixed some warnings
svn path=/trunk/; revision=23686
2006-08-24 16:06:12 +00:00
Aleksey Bragin
342cd42b44 Fix a lot of annoying warnings, leaving basically only ehci.c and gendrv.c as big warnings providers
svn path=/trunk/; revision=23685
2006-08-24 12:58:52 +00:00
Aleksey Bragin
2036235837 Dmitry Philippov: Implement SmProcessFileRenameList()
svn path=/trunk/; revision=23684
2006-08-24 11:06:48 +00:00
Aleksey Bragin
1b82756b34 Temporary fix a call to KeUpdateSystemTime(), passing third CLOCK_INCREMENT's value (100000) as third param.
svn path=/trunk/; revision=23683
2006-08-24 09:32:32 +00:00
Aleksey Bragin
be7b345087 Fix compiling
svn path=/trunk/; revision=23682
2006-08-24 09:01:22 +00:00
Alex Ionescu
721fa0869e - Add more missing offsets to asm.h (as always, taken from ks386.inc)
- Fix incorrect KPCR_PRCB_DPC_ROUTINE_ACTIVE which was totally wrong (And could've caused a crash in the context swicher)
- Also fix the definition of KRCB which was off-by-4 after about offset ~0x500. It wasn't causing problems because assembly code only used < 0x500.
- Write the ASM implementation of KeUpdateRunTime (not used yet).

svn path=/trunk/; revision=23681
2006-08-24 07:48:50 +00:00
Alex Ionescu
065837f112 - Make KeUpdateSystemTime independent, so that it returns and exits from the current ROSterrupt by itself.
- Make KeUpdateRunTime increase the interrupt count, check for V86 as well as for user-mode by using the CS and EFLAGS (isntead of PreviousMode), also only request DPCs if DpcInterruptRequested isn't already set, and only perform Quantum End if this isn't the idle thread.
- Add clock.S which will have the clock interrupt handlers of the kernel (UpdateSystemTime and UpdateRunTime) and ultimately replace the only reason irqhand.S is still around (the clock interrupt). Implement the current version of KeUpdateSystemTime in assembly, with stack optimizations since we'll be called from the HAL later.

svn path=/trunk/; revision=23680
2006-08-24 06:52:33 +00:00
Alex Ionescu
5e7ef1d665 - Update KeUpdateSystemTime to use variable increments.
- Update KeTickCount properly instead of an ugly timecast hack.
- Also update UserSharedData->TickCount.
- Get rid of KiRawTicks.
- Properly update KiTickOffset at the end.

svn path=/trunk/; revision=23679
2006-08-24 06:27:29 +00:00
Alex Ionescu
8b82c0d641 - Write a basic Clock Interrupt handler in the HAL (doesn't deal with changing increments yet, just like current ROS). It will call KeUpdateSystemTime once ready.
- Implement KeDisconnectInterrupt with the new implementation.
- Put Clock Interrupt initialization in the right place (might still be too late: must investigate more).
- Added a debug print when unexpected interrupts are called, just noticed this happens on my checked machine, and it's a useful tracing tool.

svn path=/trunk/; revision=23678
2006-08-24 05:36:50 +00:00
Alex Ionescu
15899302f6 - Completely re-implement IRQ support (KeInitialize/Connect/Disconnect) interrupt using the same model as NT. Implementation was done by analyzing various of my systems at runtime with WinDBG and tracing through some of the code and dumping relevant objects.
- Uses new code added to trap.s for generic dispatching, as well as the NT implementation which copies a "template" into the ->DispatchCode array of every KINTERRUPT object.
- Also adds support for chained interrupts, but this hasn't been tested yet. Floating interrupts are not supported on NT it seems, so I haven't implemented those at all.
- KiDisableInterrupt not yet re-implemented, and timer code is still piggybacked on the old implementation.

svn path=/trunk/; revision=23677
2006-08-24 02:53:40 +00:00
Alex Ionescu
c8c71fcd5c - Implement Chained and Normal generic interrupt handlers.
- Make generated handlers have a proper .func symbol for symbol data.
- Make IDT writable, the page shouldn't be read-only.
- Change some symbol names.

svn path=/trunk/; revision=23676
2006-08-24 01:53:54 +00:00
Aleksey Bragin
b899ba11ba - Add a new level of debug verbosity
- Fix a bunch of warnings by Thomas and me

svn path=/trunk/; revision=23675
2006-08-23 22:17:09 +00:00
Alex Ionescu
5870fa3d6c - Enable the code in KeInitializeInterrupt that copies the Interrupt Template to the KINTERRUPT object and modifies the template pointer to point to the KINTERRUPT.
- Add the template code in trap.s.

svn path=/trunk/; revision=23674
2006-08-23 19:02:00 +00:00
Alex Ionescu
abe9e92dcf - Get rid of some large debugging functions that were called at all times, and don't manually deliver user APCs anymore, since the HAL handles it now.
svn path=/trunk/; revision=23673
2006-08-23 18:09:44 +00:00
Alex Ionescu
da725d9d30 - Fix some bugs in INT_PROLOG so that it can be used in cases like Unexepcted interrupts, where we don't want to push a fake error code, and want to use our own parameter.
svn path=/trunk/; revision=23672
2006-08-23 18:02:52 +00:00
Hervé Poussineau
daedfda3d4 Allow to change more easily the prefix of remote interface functions in services.exe
This is a step to share this file with Samba-TNG
Thanks to Elrond from Samba-TNG for help

svn path=/trunk/; revision=23671
2006-08-23 17:57:34 +00:00