Commit graph

48134 commits

Author SHA1 Message Date
Amine Khaldi 0864fd08d6 * Comment out some unused but set variables, remove some others.
svn path=/trunk/; revision=53681
2011-09-11 00:40:20 +00:00
Amine Khaldi 4e616754a5 * Fix some more unused but set variables.
* Allow warnings for some 3rd party code.

svn path=/trunk/; revision=53680
2011-09-10 23:54:02 +00:00
Timo Kreuzer 680bdcf253 [NTOSKRNL]
The handlers for unexpected interrupts that we generate from asm macros use a push instruction with an 8 bit operand to push the interrupt number on the stack. Now the 8 bit push has the unfortunate behaviour of sign extending to 32 bit. But since the assembler is smart (or at least thinks so) it will not generate such a push instruction for values larger than 0x7f. This resulted in 7 bytes long stubs in the range of 0x30 .. 0x7f and 10 bytes long stubs after that. To fix this 128 is substracted from the value and later readded in the common code path. A second issue arose, because the assembler would start to use 8 bit relative short jumps as soon as the target was less than 127 bytes away, which happened for some of the higher interrupts, which then had a smaller stub then the others. Fix this by moving the stubs up in the code further away from the target label, so that always 32bit relative jumps will be used. These problems didn't show up so far, since we used the PIC and interrupts in the range of 0x30 .. 0x40 and the code that relied on the stubs all having the same length was working well. This changes with an APIC based hal, where interrupts of much higher number are likely to be used.

svn path=/trunk/; revision=53679
2011-09-10 23:05:10 +00:00
Timo Kreuzer 0e5e391c4a Fix build (oh how I hate this mini_hal thing)
svn path=/trunk/; revision=53677
2011-09-10 21:56:07 +00:00
Amine Khaldi 74634a76e2 * Fix some unused but set variables. Brought to you by gcc 4.6.1.
* Allow warnings for some 3rd party code.

svn path=/trunk/; revision=53676
2011-09-10 21:31:09 +00:00
Timo Kreuzer 158c621c68 [HAL]
- Use a global variable HalpBuildType instead of a define when checking the BUILD (we don't recompile this code for SMP hal)
- Move registering IRQ2 out of the generic init code into HalInitializePICs
- Modify legacy HalpGetRootInterruptVector to use HalpIrqToVector and HalpVectorToIrql so it works with APIC, too

svn path=/trunk/; revision=53675
2011-09-10 18:58:01 +00:00
Thomas Faber e5bc333825 [RBUILD]
- Add kmtests to the CD

svn path=/trunk/; revision=53674
2011-09-10 16:12:19 +00:00
Timo Kreuzer 459b5c212e [HAL/APIC]
- Implement HalpApcInterruptHandler, fix HalpDispatchInterruptHandler
- Insert a read to the APIC version register in ApicGetCurrentIrql(). This fixes inconsistencies between the internal APIC state and register reads/writes.
- Remove old hacks in ApicGetCurrentIrql() and ApicSetCurrentIrql
- Fix HalpVectorToIrql()
- read/write cr8 for the value of the TPR on amd64 builds
- Fix amd64 build

svn path=/trunk/; revision=53673
2011-09-10 15:55:15 +00:00
Thomas Faber ac09e360bb [KMTEST]
- Load the driver from the application directory, not the current directory

svn path=/trunk/; revision=53672
2011-09-10 14:45:47 +00:00
Thomas Faber 454f222ade [ROSTESTS]
- Merge the Kernel Mode Test Suite Google Summer of Code project
- Happy testing, everyone ;)

svn path=/trunk/; revision=53671
2011-09-10 11:41:33 +00:00
Thomas Faber abac3d72f3 [KMTESTS]
- Fix kmtest_.exe file naming in CMake

svn path=/branches/GSoC_2011/KMTestSuite/; revision=53670
2011-09-10 11:19:50 +00:00
Thomas Faber 34e64d7748 [KMTESTS]
- Skip the remaining tests that result in assertions
- Hide KeProcessor test, as it takes very long

svn path=/branches/GSoC_2011/KMTestSuite/; revision=53669
2011-09-10 10:48:07 +00:00
Thomas Faber b37b73edf4 [NTOSKRNL/OB]
- Do not bugcheck in ObpCloseHandle if the handle is -1. Powered by kmtests

svn path=/trunk/; revision=53668
2011-09-10 10:41:57 +00:00
Thomas Faber 21494c6ffa [KMTESTS/OB]
- ObReference: add better tests for closing invalid handles

svn path=/branches/GSoC_2011/KMTestSuite/; revision=53667
2011-09-10 10:38:43 +00:00
Timo Kreuzer 50058d32a2 [HAL]
Add a hack to work around a bug in VBox: The APIC emulation requires an iret instruction following closely after writing the EOI register. Since we return from kernel mode traps with a jmp (yes you can return from an interrupt with a jmp!) the EOI is never triggered, making VBox believe we are still serving the interrupt and keeping the PPR on high level, preventing following interrupts. A small asm stub now does the work of both writing the EOI and doing an iret.

svn path=/trunk/; revision=53665
2011-09-09 21:10:07 +00:00
Ged Murphy 99530efcdd [DEVMGMT]
Add the treeview and resize data. It now somewhat resembles an app.

svn path=/trunk/; revision=53664
2011-09-09 19:10:11 +00:00
Ged Murphy 9ec05fbc97 [DEVMGMT]
Some main window work.

svn path=/trunk/; revision=53663
2011-09-09 18:52:52 +00:00
Amine Khaldi 859dd5c42a [SHELL32]
* Merge r53661.

svn path=/trunk/; revision=53662
2011-09-09 16:55:59 +00:00
Rafal Harabien d18bfcff5e [WIN32K]
- Improve formating of input.c and keyboard.c

svn path=/trunk/; revision=53660
2011-09-09 16:17:02 +00:00
Rafal Harabien 5f3b37f429 [WIN32K]
- Don't use magic type values for IntMapVirtualKeyEx calls
- Fix a typo in ERR

svn path=/trunk/; revision=53659
2011-09-09 16:08:09 +00:00
Timo Kreuzer 4c5b0d11ab [HAL]
- Add a hack to ApicGetCurrentIrql and ApicSetCurrentIrql to work around a VBox bug
- call KeSetTimeIncrement after initializing the rtc clock
- calculate TSC frequency from the samples
- Fix a bug in KeStallExecutionProcessor

svn path=/trunk/; revision=53658
2011-09-09 15:42:59 +00:00
Rafal Harabien da83700379 [USER32]
- Fix ole32:clipboard winetest regression

svn path=/trunk/; revision=53657
2011-09-09 15:24:14 +00:00
Giannis Adamopoulos 65bfc47fd6 [undocuser.h]
- Move definition of UpdatePerUserSystemParameters to undocuser.h

svn path=/trunk/; revision=53656
2011-09-09 14:13:04 +00:00
Rafal Harabien 78ba9b27da [WIN32K]
- Rename gQueueKeyStateTable to gKeyStateTable as it has nothing to do with msg queues. They have their own table
- Use KS_*_BIT defines instead of magic values

svn path=/trunk/; revision=53655
2011-09-09 13:11:44 +00:00
Rafal Harabien 08398d6bc1 [WIN32K]
- Rewrite co_IntTranslateAccelerator to make it readable
- Add back support for 0x80 flag as an accelerator table end

svn path=/trunk/; revision=53654
2011-09-09 13:09:28 +00:00
Amine Khaldi 3bb734fcf3 [SHELL32]
* Reintegrate the c++ shell32 branch. Exemplary team-work.. kudos !
* Better code quality, more tests run with less failures... and more.
* Dedicated to everyone who helped ;)

svn path=/trunk/; revision=53653
2011-09-09 10:55:09 +00:00
Claudiu Mihail ec47e5b8d5 [shell32.dll]
[FORMATTING]
- Second wave of formatting. At least now we won't have any tabs and spaces mixed in.

svn path=/branches/shell32_new-bringup/; revision=53651
2011-09-08 22:43:43 +00:00
Claudiu Mihail 13df60a8ec [shell32.dll]
- Fix bug 6336 of shell32_new. The bug was caused by not properly verifying the return value of ShellExecuteExW.
[FORMATTING]
- First wave of accidental formatting (sorry again about mixing code and formatting heh).

svn path=/branches/shell32_new-bringup/; revision=53650
2011-09-08 22:42:01 +00:00
Ged Murphy d35e21f19e [DEVMGMT]
Add the resources

svn path=/trunk/; revision=53649
2011-09-08 22:04:51 +00:00
Ged Murphy 83fe582052 [DEVMGMT]
- Start a new device manager to test the reactos ATL code.
- Also, the old one sucks big time and was quickly hacked together.

svn path=/trunk/; revision=53648
2011-09-08 22:03:08 +00:00
Dmitry Gorbachev 3407fb2a35 [Telnet]
Fix build with GCC 4.7.

svn path=/trunk/; revision=53647
2011-09-08 21:00:37 +00:00
Jérôme Gardou c9122b44d0 [NTOSKRNL]
- disable fast system calls for testing purpose.
See issue #5857 for more details.

svn path=/trunk/; revision=53646
2011-09-08 19:51:06 +00:00
Rafal Harabien dd187dbf32 [WIN32K]
- Fix possible buffer overrun
- Use KEY_VALUE_PARTIAL_INFORMATION field instead of magic offset to data

svn path=/trunk/; revision=53645
2011-09-08 16:38:38 +00:00
Rafal Harabien 6a2bccb41c [WIN32K]
- Rewrite clipboard to match Windows implementation
- Clipboard uses window stations instead of global variables
- Data is saved in clipboard data user objects
- Memory is no longer leaked when winsta is destroyed
- Data is synthesized on demand
- Make internal functions static
- Fix possible memory corruption in IntGetAtomName
- More winetests are passed

svn path=/trunk/; revision=53644
2011-09-08 16:32:54 +00:00
Giannis Adamopoulos d7f5b33e0d [user32]
- Add some more tests for the messages that are sent by SetActiveWindow

svn path=/trunk/; revision=53643
2011-09-08 15:53:38 +00:00
Rafal Harabien e0d36fe09a [WIN32K]
- Simplify accelerators code a bit
- Set last error in NtUserCopyAcceleratorTable
- Fix user32:resource winetest regression

svn path=/trunk/; revision=53642
2011-09-08 14:13:19 +00:00
Claudiu Mihail 29ca67f252 [shell32.dll]
- Make sure the ParseDisplayName functions make the ppidle parameter NULL whenever that's possible. Scores a wine test. Spotted by Victor Martinez.

svn path=/branches/shell32_new-bringup/; revision=53641
2011-09-08 14:07:02 +00:00
Giannis Adamopoulos 2225b4b938 [user32_apitest]
- Add more tests for SetActiveWindow

svn path=/trunk/; revision=53640
2011-09-08 11:31:31 +00:00
Thomas Faber 5fc56f6309 [KMTEST_OLD]
- Remove kmtest_old and kmtloader as all their functionality is included in the new test suite

svn path=/branches/GSoC_2011/KMTestSuite/; revision=53639
2011-09-08 10:44:26 +00:00
Thomas Faber 2b6888164d [KMTestSuite]
- Sync to rostests r53632

svn path=/branches/GSoC_2011/KMTestSuite/; revision=53638
2011-09-08 10:28:02 +00:00
Thomas Faber 2a447311fe [KMTESTS]
- Use new CMake macros in separate drivers, too
- Use kmtest_.exe filename for rbuild too

svn path=/branches/GSoC_2011/KMTestSuite/; revision=53637
2011-09-08 10:25:40 +00:00
Rafal Harabien 8571e00fdc [WIN32K]
- Fix user32:monitor winetest failures (ClipCursor bugs)
- Protect functions in accelerator.c with SEH

svn path=/trunk/; revision=53636
2011-09-08 09:55:28 +00:00
Aleksey Bragin c7b81786fe - Downgrade some DPRINT1s to DPRINTs.
svn path=/trunk/; revision=53635
2011-09-08 08:28:41 +00:00
Timo Kreuzer c508185cd9 [HAL]
- Fix I/O APIC register access
- set APIC logical id based on Cpu (currently flat model with up to 8 cpus supported)
- In HalpInitializeTsc, setup the RTC clock, since the timer is initialized later
- in the TSC calibration ISR, send EOI and read RTC register C to get the next interrupt

svn path=/trunk/; revision=53634
2011-09-08 08:15:39 +00:00
Claudiu Mihail 261ee4dd58 [shell32.dll]
- Initialize uninitialized variables.
- Add code to guard against potential NULL pointer dereferencing.
Thanks to Amine Khaldi for pointing out all these.

svn path=/branches/shell32_new-bringup/; revision=53633
2011-09-07 23:21:02 +00:00
Giannis Adamopoulos 7635cc18b1 [user32_apitest]
- Add some more tests hoping that SetActiveWindow will reveal its secrets

svn path=/trunk/; revision=53632
2011-09-07 23:08:14 +00:00
Timo Kreuzer f085f50747 [HAL]
- Don't use debug prints before the debugger is even initialized
- acquire cmos spinlock when accessing the cmos registers
- Fix amd64 build

svn path=/trunk/; revision=53631
2011-09-07 21:41:50 +00:00
Eric Kohl 13f41d74b9 [RPCTR4]
- Take NetworkAddr into account when a named pipe client is opened.
- Return RPC_S_SERVER_UNAVAILABLE when an attempt to create a named pipe client fails with an ERROR_BAD_NETPATH error.
This fixes the first test failure in the advapi32 service winetest.

svn path=/trunk/; revision=53630
2011-09-07 20:11:19 +00:00
Claudiu Mihail ea0da4a0a3 [shell32.dll]
- More uninitialized value fixing. Again Amine Khaldi spotting them with his magical powers.
- I took the liberty to convert tabs I found to spaces. Normally I shouldn't mix formatting with coding changes but I forgot. Sorry.

svn path=/branches/shell32_new-bringup/; revision=53629
2011-09-07 20:00:32 +00:00
Claudiu Mihail 34529d672c [shell32.dll]
- Attempt at fixing bug 6315 (it doesn't completely work yet). Original patch by Edijs Kolesnikovics.

svn path=/branches/shell32_new-bringup/; revision=53628
2011-09-07 19:00:26 +00:00