Commit graph

39550 commits

Author SHA1 Message Date
Johannes Anderwald 43a6379cc0 - Fix bug introduced 18942 revisions ago
svn path=/trunk/; revision=44050
2009-11-09 17:43:12 +00:00
Dmitry Gorbachev db62b33f92 Simple optimization in RApps. Patch by Love Nystrom. Bug #4952.
svn path=/trunk/; revision=44049
2009-11-09 15:34:18 +00:00
Stefan Ginsberg afd1ab1b6d - HAL uses HARDWARE_PTE, not MMPTE_HARDWARE, so remove broken SMP fix
svn path=/trunk/; revision=44033
2009-11-08 22:17:05 +00:00
Stefan Ginsberg aaad231bf1 - Fix work around for the cmpxchg8b lock errata work around -- don't set write protection if the kernel hasn't set it yet. Move the code out to HalpBiosDisplayReset so we can keep track of this. Also set the correct bit on SMP systems.
svn path=/trunk/; revision=44032
2009-11-08 21:42:28 +00:00
Stefan Ginsberg a3012cacae - Add freeze.c to the build too
svn path=/trunk/; revision=44031
2009-11-08 21:22:24 +00:00
Stefan Ginsberg 4e140f4d79 - Move processor freeze support out from x86 cpu.c to new generic freeze.c as these routines are quite generic.
svn path=/trunk/; revision=44030
2009-11-08 21:10:23 +00:00
Stefan Ginsberg 9475cf4cbc - Make WinLdr's loading screen display the boot method (NT) instead of operating system name (Windows).
svn path=/trunk/; revision=44027
2009-11-08 11:52:23 +00:00
Stefan Ginsberg 335f8ac467 - Fix _WINKD_ build breakage from 44023 -- missed to commit the .rbuild change for the renamed kdsup.c files
svn path=/trunk/; revision=44026
2009-11-08 11:41:35 +00:00
Stefan Ginsberg ef21516cc4 - Disable the MiCacheImageSymbols call in MmLoadSystemImage for KD too as this hack is required for rossym rather than KDBG. Fixes detection of non-boot driver images by WinDbg.
- Add another hack to freeldr.c to make sure that HAL is the second entry in the Load Order list -- detect if it isn't and insert it as the second entry manually if it isn't.
- KdbInitialize can now assume that the 2nd entry in the Load Order list is HAL, just like ExpLoadBootSymbols and KD does, so get the Loader Entry directly instead of searching for it.
- Move KiBootTss and KiBootGdt to freeldr.c as this is where they belong -- they are not required for NTLDR/WINLDR boot style and are only used directly in freeldr.c.
- Get rid of the AcpiTableDetected variable from freeldr.c. Instead, set the AcpiTable entry to something and make PoInitSystem check for that instead to preserve the old behavior.
- Implement KdpGetFirstParameter and KdpGetSecondParameter for ARM too -- just retrieve R3/R4 here. Also rename those macros to clarify what parameters we are retrieving.
- Add MmIsSessionAddress stub and use it from KD handle session space properly in the Memory Query API, and ASSERT that we are not trying to do a copy to/from session space in MmDbgCopyMemory as we don't handle it properly. Put this in mmdbg.c for now as we don't implement session space, and it is only called from KD right now.
- Rename the 3 kdsup.c files to kdx86.c, kdx64.c and kdarm.c to differ them from each other.
- Implement KdpAllowDisable -- just check if any processor breakpoints are set on any processor in the system and disallow the disable if so. The routine is now architecture dependant, so move it to the appropriate files.
- Get rid of the MmFreeLdr* variables too. These have been deprecated for some time now.
- The ModuleObject and ImageBaseAddress parameters of MmLoadSystemImage are not optional so don't treat them as such, and don't zero initialize them as callers shouldn't rely on this.
- Set LDRP_ENTRY_NATIVE instead of LDRP_COMPAT_DATABASE_PROCESSED to mark the image as a native image. Also fix the value of LDRP_ENTRY_NATIVE.
- Fix definition of LDR_DATA_TABLE_ENTRY -- the Checksum member should be in the union too.
- Remove some unnecessary externs for stuff we now define globally in the kernel headers.
- Rename some variables in KD to better match the logic.
- Move some x86 only stuff from global ke.h and ke_x.h to the x86 dependent ke.h. Remove DR_ACTIVE_MASK as it has been deprecated/unused for a while now.

svn path=/trunk/; revision=44023
2009-11-08 01:13:49 +00:00
Stefan Ginsberg 65ebf6adac - Add HAL PCI tables required for future work.
svn path=/trunk/; revision=44022
2009-11-08 00:22:29 +00:00
Cameron Gutman 024d413ccb - Stop using the TCPLock to protect all entries into the IP lib
- Instead use TCPLock only to protect entries into oskittcp

svn path=/trunk/; revision=44021
2009-11-07 20:41:57 +00:00
Aleksey Bragin 4983e19cca - Add defines needed by explorer-new. Fixes build.
svn path=/trunk/; revision=44019
2009-11-07 20:18:04 +00:00
Aleksey Bragin 1baf1655f4 - Remove accidentally committed Wineisms. Build is fixed.
svn path=/trunk/; revision=44015
2009-11-07 19:53:41 +00:00
Aleksey Bragin 9fd4efa3e3 [comctl32]
- Fix a critical bug in TOOLTIPS_NotifyFormat. Its first parameter changed from HWND to infoPtr pointer, however the function was not updated accordingly.

svn path=/trunk/; revision=44014
2009-11-07 19:42:57 +00:00
Aleksey Bragin f7b4286b58 - Update commctrl.h to Wine-1.1.31.
svn path=/trunk/; revision=44013
2009-11-07 19:34:59 +00:00
KJK::Hyperion 53c5d2f826 Fix keyboard navigation of menus (up/down keys)
Patch by IJM <mailnew2ster AT mail.ru>

svn path=/trunk/; revision=44012
2009-11-07 19:21:13 +00:00
Cameron Gutman 290a30a5cb - Remove TCPSleep and TCPWakeup (we make all oskittcp sockets non-blocking)
- Crash ROS better in oskittcp_die

svn path=/trunk/; revision=44010
2009-11-07 18:12:58 +00:00
KJK::Hyperion fe8ac71a7b Unbreak build
svn path=/trunk/; revision=44006
2009-11-07 17:24:06 +00:00
KJK::Hyperion a44d06892b globally-defined CFLAGS, CXXFLAGS, etc. will now work, and override C compiler flags, C++ compiler flags, etc. for all modules. Our makefile build system now a little closer to a real makefile build system
svn path=/trunk/; revision=44003
2009-11-07 16:56:52 +00:00
KJK::Hyperion d4fe05f452 Don't uppercase module name in _TARGET macros. This commit will amazingly not trigger a full rebuild
svn path=/trunk/; revision=44000
2009-11-07 15:20:45 +00:00
Johannes Anderwald 0abe48a157 [DSOUND]
- Add more checks IDirectSoundCapture::CreateCaptureBuffer
- Implement IDirectSoundNotify interface
- Needs work from ks / portcls to work on formats supported natively by the driver

svn path=/trunk/; revision=43997
2009-11-07 13:49:01 +00:00
Johannes Anderwald c20bd4216f - Add a few constants and types required event handling
svn path=/trunk/; revision=43996
2009-11-07 12:57:07 +00:00
Sylvain Petreolle fe7390f136 Report spoolsv service status at startup.
this fixes 1 advapi32:service test.

svn path=/trunk/; revision=43995
2009-11-07 11:43:06 +00:00
Johannes Anderwald 4bd3460f8a [DSOUND_NEW]
- Implement stereo to mono channel conversion
- Create a thread which performs the mixing
- Fixes messed up voice recording in Skype 3.6

svn path=/trunk/; revision=43994
2009-11-07 03:43:56 +00:00
Stefan Ginsberg c74f994e2f - Refactor stubbed HAL resource report slightly.
- Move the resource routines to their own file instead of sysinfo.c.
- Add missing members to PCIPBUSDATA.
- Kill old, unused generic.rbuild.

svn path=/trunk/; revision=43991
2009-11-06 23:55:08 +00:00
Arch Blackmann 0324a3e3bb Whiners...
svn path=/trunk/; revision=43990
2009-11-06 23:35:28 +00:00
Arch Blackmann d23204652e Implement printout the the state tables. It seems to work fine, but the tool doesn't yet generate the modified keys (shift+, ctrl+, etc) for each virtual key. This is the last thing that remains.
svn path=/trunk/; revision=43989
2009-11-06 22:42:26 +00:00
Johannes Anderwald ee8a3fcc0b - Fix check
svn path=/trunk/; revision=43988
2009-11-06 17:00:20 +00:00
Arch Blackmann 4a61562491 Implement support for writing the virtual key to WCHAR translation for different shift states.
Only 2 shift states are supported for now, I have to add a lot more output generation code to get at least 3 states up and running.


svn path=/trunk/; revision=43985
2009-11-06 00:38:04 +00:00
Arch Blackmann 374c1a0142 Add table of shift state combinations, and add table of shift state types.
svn path=/trunk/; revision=43984
2009-11-06 00:37:06 +00:00
Arch Blackmann bb5b97e281 Print out more state-related tables and information (still missing one large chunk of data). Print out the key and extended key tables for the layout. Fix up some more code.
The C source is almost fully complete for the English US test layout KLC!


svn path=/trunk/; revision=43983
2009-11-05 23:58:38 +00:00
Michael Martin 3b6b3c96d5 [cdfs]
- CdfsVerifyVolume: Disable the delivery of normal Kernel APC's before acquiring resource and re-enable APC's after releasing resource. Fixes ASSERT from ntoskrnl/ex/resource.c. Noticed by Stefan.

svn path=/trunk/; revision=43982
2009-11-05 23:43:57 +00:00
Arch Blackmann 51050d323b Add more support for shift state output. The tool now updates CharModifiers table based on the shift states present in the layout, building both the modification number and the key name based on the virtual key-> name table.
svn path=/trunk/; revision=43978
2009-11-05 19:55:57 +00:00
Arch Blackmann 44487b2614 Generate modifier table. Generate extended scancode table X. Generate extended scancode table Y.
svn path=/trunk/; revision=43977
2009-11-05 19:25:41 +00:00
Arch Blackmann 75cba8f7ab Add table of modifiers.
svn path=/trunk/; revision=43976
2009-11-05 19:24:47 +00:00
Arch Blackmann 43ea0e72e4 Create layout entries for built-in non-redefined scancodes as well, based on the 110-key table (mostly things like the extended keys/SpeedRacer/MediaButtons, etc).
svn path=/trunk/; revision=43975
2009-11-05 19:24:24 +00:00
Aleksey Bragin 8420a2199f [shell32]
- Remove extra semicolon, spotted by Gabriel.

svn path=/trunk/; revision=43973
2009-11-05 13:27:52 +00:00
Aleksey Bragin 0a9bdf2bf0 [shell32]
Gabriel Ilardi
- Properly stub SHSetUnreadMailCountW and SHGetUnreadMailCountW to unregress Thunderbird and possibly other email clients.
See issue #4940 for more details.

svn path=/trunk/; revision=43971
2009-11-05 10:07:16 +00:00
Arch Blackmann 9ba6ecc44b The tool now generates 75% of a typical keyboard layout C file. Lots of stuff still missing, but most of the annoying work is done now... it just has to start filling in the dynamic data.
A full-fledged file will have ligature data, up to 8 shift states, dead keys, etc, but that's not stuff we'll have to deal with at first for simple layouts.
By tomorrow we should be able to fully process and generate latin-alphabet-based language keyboard layouts.


svn path=/trunk/; revision=43970
2009-11-05 05:20:01 +00:00
Arch Blackmann ce3c33cc9f Now write out the DEF file (okay that was too easy).
svn path=/trunk/; revision=43967
2009-11-05 02:04:04 +00:00
Arch Blackmann e430f44387 Kbdtool can now create the resource (RC) file as well!
svn path=/trunk/; revision=43966
2009-11-05 01:57:08 +00:00
Stefan Ginsberg 61c7c70c34 - Convert one more __invlpg to KeInvalidateTlbEntry
svn path=/trunk/; revision=43963
2009-11-04 22:51:00 +00:00
Stefan Ginsberg 76a638d6cf - Oh snap. KDBG is not dead yet.
svn path=/trunk/; revision=43962
2009-11-04 22:49:46 +00:00
Arch Blackmann 6191f04a40 Holy shit Batman! KbdTool can now write out the keyboard layout header file! You should get a Layout01.h if you run it on test.klc (in your current working directory).
svn path=/trunk/; revision=43961
2009-11-04 22:48:55 +00:00
Stefan Ginsberg 1d161cccdd - Implement support for reading and writing physical memory for KD. The implementation uses a reserved mapping page to map the target physical address to. On x86 this page is located at virtual address 0xFFBFF000, and the PTE for this page is the last PTE of the nonpaged pool's PDE. Other architectures may need to reserve the PTE elsewhere.
- The physical memory support relies on several Mm variables and structures to be properly set up. Add a new flag, MiDbgReadyForPhysical, and set it when the debugger support can handle physical memory requests.
- Protect this page with a Memory Area to make the old Mm keep its dirty hands off it.
- Does not support I/O space or cache flags yet.
- Add generic KeInvalidateTlbEntry to invalidate a single TLB entry for a given address instead of flushing the whole TLB. Used by the debugger physical memory support as invalidating the whole TLB for every map and unmap of its debug PTE would incur significant overhead for large copies. Replace direct usage of __invlpg() with this in x86 code too.
- Fix incorrect cache flag check and set in KdpRead/WritePhysicalmemory for write combined requests. The debugger's Uncached flag was checked instead of the Write Combined flag, and the debuggers Write Combine number (0x3) was set instead of Mm's flag (0x20).
- Fix implementation of MmIsAddressValid (at least for x86; other architectures will need more checks). Just check the Address' PDE and PTE valid bits instead of using Memory Areas.
- Add missing ASSERTs to ensure the Memory Areas for paged pool, the PCR page, and the Shared User Data page are created.
- Add missing Memory Area for the 2 pages HAL currently uses for its own mappings on x86 -- previously, those pages could have been allocated by other parts of the OS, which would have resulted in serious corruptions.

svn path=/trunk/; revision=43960
2009-11-04 22:40:18 +00:00
Arch Blackmann 7909bd0733 Refactoring and cleanup. Start fleshing out the output phase. Start handling exit correctly. Fix a bug in DoLAYOUT. Nothing new to see here...
svn path=/trunk/; revision=43959
2009-11-04 22:07:29 +00:00
Stefan Ginsberg 422721748d - Finish the work around for the Pentium cmpxchg8b lock errata: We detected the errata and allocated the 7 first IDT entries on a write protected page, but the final piece of the work around, detecting the write fault ti the Invalid Opcode handler, was missing. Implemented this in the page fault handler to detect and dispatch the write fault to the Invalid Opcode handler.
- Fix the "fix" of un-protecting the 7 IDT entries on P5 in HAL's BIOS call code when setting the custom Invalid Opcode handler. The IDT was unprotected but the write protection wasn't reapplied after the BIOS call, breaking the work around.

Other:
- KdDebuggerEnabled is a BOOLEAN, so don't do a dword compare in KeUpdateSystemTime.
- Use better comment for the hack where we always allow page faults to be handled, even if they the fault occured with interrupts disabled.

svn path=/trunk/; revision=43958
2009-11-04 21:57:32 +00:00
Arch Blackmann 66afccbaeb Add some helpful debug output to LAYOUT parsing, and enable DoLAYOUT code. The tool is able to fully decode/parse the test.klc English US layout file!
svn path=/trunk/; revision=43950
2009-11-04 19:52:36 +00:00
Arch Blackmann 7662e72971 Implement getCharacterInfo so the tool can now handle most LAYOUT entries, but not complicated ligature entries (dead keys are fine though). Also cleaned up the parsing loop of DoLAYOUT to avoid a goto, and finally added detection of SGCAP entries (in which case the tool will fail, since these are complex and not needed for now).
The main parsing loop is pretty much done, now the tool "just" has to merge the states and perform a check for duplicate entries. Then it'll be ready to generate the output files.


svn path=/trunk/; revision=43949
2009-11-04 19:38:21 +00:00
Christoph von Wittich 650e86a2df sync wininet with wine 1.1.32
svn path=/trunk/; revision=43948
2009-11-04 11:16:25 +00:00