Commit graph

40931 commits

Author SHA1 Message Date
evb ff14d245dd - Refactor keyboard support to match serial. Now reading a key and waiting for a key are two things.
- Implement KbHit Firmware routine.
- It is now possible to interact with FreeLDR using the keyboard.


svn path=/trunk/; revision=45416
2010-02-04 08:02:30 +00:00
evb 57a1c9dbbf - Switch to bootvid 8x13 font (closer to PC/VGA experience).
- Fix LlbFwVideoGetDisplaySize return characters X/Y, not pixels. Now "Press F8 for advanced menu" shows".


svn path=/trunk/; revision=45415
2010-02-04 07:55:26 +00:00
evb d598e90edb - Add PL031 RTC code for Versatile.
- Add RTC time to TimeInfo convert.
- Implement FirmWare GetTime function. Countdown in FreeLDR now working.


svn path=/trunk/; revision=45414
2010-02-04 07:22:03 +00:00
evb 1dc4d1bc2e - Add GetTime stub, bump version to 1.4.
- Implement function for drawing character on the screen when request come from firmware.
- Tui.c assumes all screens are x86 VGA Consoles with 8-bit character and 8-bit attribute. On ARM, call Mach function to draw character instead of drawing into ScreenMemory off-screen buffer.
- FreeLDR menu now appears, need GetTime for counter.


svn path=/trunk/; revision=45413
2010-02-04 06:44:06 +00:00
evb ee2e3391be - Implement some simple video routines.
- Fix usable RAM not to include loader code and ram disk (up to 32MB).


svn path=/trunk/; revision=45412
2010-02-04 06:09:03 +00:00
evb 509e67f84f - Add stubs for video mach functions and update minor to 1.3.
svn path=/trunk/; revision=45411
2010-02-04 05:43:02 +00:00
evb c478b48128 - Add support for ram disk offset (.IMG file is a RAW image, partition starts later...)
- Fix ram disk support in FreeLDR, ARC changes had broken support for booting FreeLDR (not just the Windows) from a ram disk. ARM port now initializes ramdisk as an FS device.
- Fix hardcoded DISKREADBUFFER and FILESYSBUFFER values. On ARM these will be dynamically selected for each board (need to improve this through LLB).
- Now FreeLDR.ini is read, and crash happens because UI routines are all NULL.


svn path=/trunk/; revision=45405
2010-02-04 01:24:45 +00:00
Cameron Gutman 4f21767b6a - Merge r45400 from aicom-network-branch to fix the crash that occurs when Steam starts
svn path=/trunk/; revision=45404
2010-02-04 00:02:45 +00:00
evb 09504f4242 - Enable RAMDISK support in LLB.
- Build commandline for OS Loader (FreeLDR).
- Now ready to start loading freeldr.ini


svn path=/trunk/; revision=45403
2010-02-03 23:17:16 +00:00
evb 8649bab99c - Fix bugs.
- Enable non-OOB mode for Versatile.


svn path=/trunk/; revision=45402
2010-02-03 23:16:26 +00:00
Eric Kohl 5e9564ed2d - Implement GetEventLogInformation.
- OpenBackupEventLogA, OpenEventLogA, RegisterEventSourceA and ReportEventA: Call the ANSI RPC-Server Function directly instead of converting arguments to Unicode and calling the matching Unicode Function.
- OpenEventLogW: Fix argument checks.

svn path=/trunk/; revision=45401
2010-02-03 20:46:21 +00:00
Sir Richard b4da1d81d9 [VMX_SVGA]: Begin implementation of VMWARE SVGA-II Video Card Driver.
svn path=/trunk/; revision=45396
2010-02-03 17:47:41 +00:00
Johannes Anderwald 2f8f2409dd [WDMAUD.DRV]
- Cleanup code
- Fix a bug which made the caller assume that a wave handle has already been open.
- define a macro which appends a postfix depending on wether USE_MMIXER_LIB has been defined

svn path=/trunk/; revision=45390
2010-02-03 12:48:27 +00:00
Ged Murphy ce1b8768d1 Fix typo in vcproj generator code
svn path=/trunk/; revision=45389
2010-02-03 11:36:49 +00:00
Daniel Reimer 6ae884e3c9 Bug 4342: Update log2lines to Version 1.12b. (Jan Roeloffzen)
svn path=/trunk/; revision=45387
2010-02-03 07:34:59 +00:00
evb 59e8be0b65 - Flesh out more code.
- Support ATAG Linux/ARMBoot architecture defined-structures. These are used by all ARMBoot-compatible loaders (QEmu, U-boot, etc).
- Read RAMDisk, RAM, Command Line from ATAGs (use -append boot-device=RAMDISK).
- Make environment-get function read command-line.
- Allocate RAM memory structure portably.
- Validate board info on boot.


svn path=/trunk/; revision=45386
2010-02-03 03:14:59 +00:00
evb e7ff33a8bc - Implement logical keyboard interface. Converts scan code to ASCII codes (just ok).
- Implement firmware ConsGetCh based on keyboard interface.
- Implement KMI (Keyboard & Mouse Interface) PL050 driver for Versatile to init PS/2 and read keyboard scancodes. Can now press ENTER/whatever when FreeLDR gives "Cannot find freeldr.ini" error.
- More fixes


svn path=/trunk/; revision=45385
2010-02-03 01:19:26 +00:00
Sir Richard 66bdab40af [NTOS]: Yet another fix for KiEnterInterruptTrap: Set correct DS/ES before touching the TrapFrame.
[NTOS]: Make this operation an inline so any possible future code will not make this mistake twice.
Thanks to Physicus for the bug report.

svn path=/trunk/; revision=45381
2010-02-02 22:56:13 +00:00
Christoph von Wittich d25de563d3 [FREELDR]
fix a typo

svn path=/trunk/; revision=45380
2010-02-02 17:28:10 +00:00
evb 2ce8b56e7c - Change ARM loading architecture to match EFI/Firmware model. LLB provides "firmware" routines, FreeLDR obtains "firmware" routines from the ARM block, and sets them as the Machine VTable. All board-specific FreeLDR code gone now.
- Start work on UI. Serial output is now only for debugging, not usual console.
- Need PL045 Keyboard code to handle KbHit/GetCh.
- Have PL011 code ready for MachVideo routines, coming soon...
- Start stub of environment functions.


svn path=/trunk/; revision=45379
2010-02-02 17:21:19 +00:00
Timo Kreuzer 28bb8f1a56 Update Doxyfile to version 1.6.2 with the following changes:
- INHERIT_DOCS enabled
- SEPARATE_MEMBER_PAGES enabled: will prevent incredible huge html files generated from large headers.
- Add *.cc and *.hxx extensions
- REFERENCED_BY_RELATION enabled
- VERBATIM_HEADERS disabled
- ENABLE_PREPROCESSING enabled, so we can see macros, too

svn path=/trunk/; revision=45378
2010-02-02 00:23:59 +00:00
evb 10d18dcf41 - More fixes
- Plugin support for booting FreeLDR when used as initrd on QEMU command-line.


svn path=/trunk/; revision=45377
2010-02-02 00:14:14 +00:00
evb 0e650cc897 - Forgot to change SARCH back to Versatile.
svn path=/trunk/; revision=45376
2010-02-01 21:07:03 +00:00
Danny Götte 47c3e2e09b acivate server based search for doxygen
svn path=/trunk/; revision=45375
2010-02-01 20:16:42 +00:00
Eric Kohl 5499d3c924 Reset a services thread and process ids when the service has been stopped. Fixes one more test.
svn path=/trunk/; revision=45374
2010-02-01 19:45:50 +00:00
evb 5024029061 - Fix bugs.
- Enable serial output.


svn path=/trunk/; revision=45373
2010-02-01 19:28:40 +00:00
evb fc22be1381 - ARM LLB for OMAP3/Beagle (test with QEMU-Maemo) and Versatile (test with QEMU).
- Boots to blue screen with white text to indicate checkpoint.
- More cleanup/work needed.
- Will post Wiki on testing info soon.

svn path=/trunk/; revision=45372
2010-02-01 18:33:24 +00:00
evb aea2ffe8bd - NANDFlash tool for building OMAP3 FLASH Images for DevBoard and QEMU-Maemo.
svn path=/trunk/; revision=45371
2010-02-01 18:29:19 +00:00
James Tabor 25ba7f4f8b [Gdi32]
- Miscellaneous implementations and forwards.

svn path=/trunk/; revision=45370
2010-02-01 15:13:35 +00:00
Sir Richard 02c2d27111 [ARM]: Fix the ARM build, hopefully without breaking the x86 build in the process. Sorry buds!
svn path=/trunk/; revision=45368
2010-02-01 03:51:45 +00:00
Sir Richard 6aa9cce4bb [NTOS]: Try to fix KiEnterInterrupt once and for all. Only set segments for V8086 or user traps.
[NTOS]: Rework the way traps with possibly dirty DS/ES segments are handled. The FAST V86 hack is gone. Intead, created a "safe" version of IsTrapV86 and IsTrapUser that does an SS segment dereference (known good). The condition is then based on this, and the segments are saved and loaded safely. Note that for GCC 4.5 the ASM can be improved to directly branch or not to a label, instead of returning a boolean that is then further compared before branching.
This will fix certain exceptions that were seen in KeUpdateSystemTime, and might fix the sneaking HalpTrap0D while not in V86 mode (no promises).

svn path=/trunk/; revision=45367
2010-02-01 03:47:42 +00:00
Eric Kohl a6d399d000 GetServiceDisplayNameA/W and GetServiceKeyNameA/W must return an empty String if the given Buffer is too small. This fixes 6 tests.
svn path=/trunk/; revision=45366
2010-01-31 22:22:50 +00:00
Eric Kohl 661d200caa [FORMATTING]
- Fix indentation. No code changes.

svn path=/trunk/; revision=45364
2010-01-31 21:00:45 +00:00
Aleksey Bragin da2a2649db [FORMATTING]
- Reformat dma.c, no code change.

svn path=/trunk/; revision=45363
2010-01-31 20:35:06 +00:00
Eric Kohl d7117cdb17 - Implement RCreateServiceA.
- Make CreateServiceA call RCreateServiceA instead of CreateServiceW.

svn path=/trunk/; revision=45362
2010-01-31 20:28:04 +00:00
Eric Kohl 1cca0351e1 Implement basic version of PNP_CreateKey.
svn path=/trunk/; revision=45361
2010-01-31 19:44:02 +00:00
Johannes Anderwald 6c11399f0a [MMEBUDDY]
- Hackfix corruption of audio buffer list which made the playback thread spin forever on an already played buffer.
- Tested with Winamp / VLC / mplay32 with Vbox 3.1.2

svn path=/trunk/; revision=45360
2010-01-31 19:09:30 +00:00
James Tabor 2afb0124d2 [Win32k|User32]
- Updated DrawIconEx information for Meta support.

svn path=/trunk/; revision=45359
2010-01-31 18:38:45 +00:00
Johannes Anderwald 6fd5a51915 [PORTCLS]
- Use silence buffer when no audio buffers are available. Replaces the endless disturbing sound loop.
- Sound still broken

svn path=/trunk/; revision=45358
2010-01-31 15:32:31 +00:00
Sir Richard c40a4a58a0 [NTOS]: Always set correct segments; the if/else branch should decide which segments to save, not whether or not to set the sane ones. Fixes boot on VirtualBox and real hardware.
svn path=/trunk/; revision=45357
2010-01-31 15:22:55 +00:00
Cameron Gutman 95b2e7519e - Merge some small changes from aicom-network-branch to fix potential memory corruption and remove unused code in oskittcp
- Add a hack to WSHSetSocketInformation so we don't fail with options that aren't implemented yet
 - Fixes bug #5131

svn path=/trunk/; revision=45356
2010-01-31 02:07:23 +00:00
Sir Richard 5a20627609 [NTOS]: Simplify KiTrapStub and write registers in order.
[PERF]: Change instructions used to save registers on the trap frame to fix some WaW and RaW hazards.

svn path=/trunk/; revision=45354
2010-01-30 19:10:22 +00:00
Sir Richard ed3b520c7b [PERF]: Omit setting certain useless trap frame fields.
[NTOS]: Fix KiEnterInterruptFrame. In the case of a V86 trap, the segments were overriden because this wasn't a kernel trap (missing if/elseif).

svn path=/trunk/; revision=45353
2010-01-30 18:25:30 +00:00
Sylvain Petreolle 607494ed1c Move Reactos logon sound to WindowsLogon sound scheme.
Fixes bug 5002.

svn path=/trunk/; revision=45350
2010-01-30 17:07:33 +00:00
Sir Richard 0eef75a032 [HAL]: Add debugging feature to HalpTrap06 error that sometimes happen. Please post/email/IM your trap frame should you see this error.
svn path=/trunk/; revision=45348
2010-01-30 16:40:57 +00:00
James Tabor 4206bf49f4 [User32]
- More movement to WND support.

svn path=/trunk/; revision=45341
2010-01-30 06:41:39 +00:00
James Tabor 1263c98dae [Win32k|User32]
- Updated paint functions to use one calls.
- Found one leak in engwindow.c and monitor.c, not the big one.

svn path=/trunk/; revision=45339
2010-01-30 04:23:58 +00:00
Sylvain Petreolle 4d1da2ea5c [HAL]
fix HalEndSystemInterrupt prototype.

svn path=/trunk/; revision=45324
2010-01-29 22:08:09 +00:00
Sylvain Petreolle 26dab4c37d add missing delimiters
svn path=/trunk/; revision=45323
2010-01-29 22:03:56 +00:00
Sir Richard 4e16ca56ce [HAL]: Rewrite IRQL handling. Alex's original code (lately translated to C) was a copy of the MicroChannel (MCA), Checked-Build HAL, an unexplained choice considering MCA is not supported or even available anymore. Windows, on machines with a PIC, uses a mechanism called Lazy IRQL, in which the PIC is only programmed "lazily", meaning that lowering and raising the IRQL does not actually change the interrupt mask. Therefore, lower priority interrupts will still come in at high IRQL. At this point, the HAL will detect this, only now mask the PICs, and lie that the lower interrupt was "spurious", while setting a pending bit. When the IRQL is lowered, the bit is detected, and a software/delayed "INT" is done with the correct IRQ vector number. More details are available in the typical resources.
[HAL]: Implement support for Level interrupts, which are used by certain EISA cards, and more particularly, all PCI hardware. Level interrupts were not previously handled correctly, being treated as edge/latched interrupts instead.
[NTOS/HAL]: Remove VDM Alert KPCR hack (which was buggy). Now the PKTRAP_FRAME is passed as a parameter to HalpEndSoftwareInterrupt/HalEndSystemInterrupt. This also removes the HalpNestedTrap ASM hack, since the call can now be done in C.
[PERF]: On real machines, writing the PIC mask is a relatively expensive I/O operation, and IRQL lower/raise can happen hundreds of times a second. Lazy IRQL provides an important optimization.
[PERF]: Correctly handling level interrupts as level interrupts allows for faster, and more efficient, IRQ handling.

svn path=/trunk/; revision=45320
2010-01-29 21:10:33 +00:00