Commit graph

23209 commits

Author SHA1 Message Date
Aleksey Bragin 45f26cb114 - vfat now checks what CcCopyRead() returned, and return that value to the caller in case of failure
- Added a check for successful call to ReadCacheSegmentChain() in CC
See issue #1855 for more details.

svn path=/trunk/; revision=25073
2006-12-06 13:29:21 +00:00
Alex Ionescu 9dbd8d4fbe - Revert 25070: NO.
- Please look what I did inside FreeLdr. I called this function perfectly without needing to modify how it works. It's what the AdditionalBias parameter is there for...

svn path=/trunk/; revision=25071
2006-12-05 18:33:03 +00:00
Aleksey Bragin 35d9339017 A necessary hack for PE relocation within physical address space (in FreeLdr).
Using it removes code duplication from FreeLdr / winldr.

To get rid of this hack, either freeldr should be fully switched to virtual paged mode (which is not good) or code must be duplicated inside freeldr.

svn path=/trunk/; revision=25070
2006-12-05 18:28:08 +00:00
Johannes Anderwald 4ecce0d21b - fix build with gcc 4.1.0
svn path=/trunk/; revision=25069
2006-12-05 11:27:45 +00:00
Christoph von Wittich 94d2fce55a -revert janderwalds change until because it breaks the gcc 4.x build
svn path=/trunk/; revision=25065
2006-12-04 16:46:52 +00:00
Christoph von Wittich 6fb82c4caf fix ks.rbuild
svn path=/trunk/; revision=25064
2006-12-04 16:34:26 +00:00
Michael Steil ef4a67dd52 ReactOS Intel Mac compatibility commits, part 2/2
== LBA Functionality BIOS Bug ==
When the BIOS is asked whether it supports INT 13 extensions, it will answer yes if the device is a hard disk, but it will pretend that even the function to ask about this functionality is unsupported if asked about a CD drive. This is similar to what is documented in the code already: Some BIOSes return "doesn't support INT 13 extensions" for CDs.
Code has been added to use INT 13 extensions (and therefore LBA read as opposed to CHS) even if the BIOS claims this is unsupported, if the device is a CD-ROM. The check for the drive type is done by comparing with 0x90: If the device number is 0x90 or above, it's a CD drive. (On Insyde's BIOS, it's 0x90, on most others, it's 0x9F).

(Ironically, Insyde's BIOS cannot even do CHS on CDs, so if the bootloader correctly asks for LBA support, it will get a "no" and will fail when trying to do CHS: When querying the max. CHS values, the BIOS returns 0 sectors per track, which will make conversions from LBA to CHS impossible.)

== LBA Read BIOS Bug ==
When trying to read from CD using the LBA function INT 13/42, the BIOS function will return as it is supposed to, with CF and AH cleared, but with an unchanged buffer. This is because freeldr passes a "disk address packets" that structure contains an extra 64 bit value at the end and is therefore 24 bytes long instead of 16. This is perfectly fine, and a BIOS should ignore any extra data in the structure, but Insyde's BIOS, which doesn't support the extra field (and thus the EDD-3.0 standard) just ignores the complete task and returns in this case.
The extra field has been removed from the structure in freeldr, as it is not used anyway. The structure is now 16 bytes long.

svn path=/trunk/; revision=25063
2006-12-04 15:33:06 +00:00
Michael Steil eb565e3840 ReactOS Intel Mac compatibility commits, part 1/2, by Michael Steil.
== A20 Gate and the Keyboard Controller ==
In order to turn on the A20 gate, the keyboard controller has to be emptied. This is done in freeldr by reading bytes until the keyboard controller signals it's empty. Intel Macs don't have PS/2 keyboard controller and the status register always reads back 0xFF, so the "there is data" bit will never be cleared. (The same problem has been in GRUB as well as in Darwin's BIOS loader.)
Added code that doesn't bother to clear the keyboard buffer if the status port reads back 0xFF.

== Serial Port BIOS Bug ==
Insyde's BIOS reports that there is a COM1 serial port at 0x3F8 (as stored in 0040:0000 in memory), but there is none in Intel Macs, so freeldr spins infinitely while trying to empty the serial port's buffer.
Added code that makes sure the loop only gets executed up to 200 times

svn path=/trunk/; revision=25062
2006-12-04 15:00:11 +00:00
Peter Ward f790496bd4 - Small compilation fix for roshttpd.
svn path=/trunk/; revision=25060
2006-12-04 01:50:47 +00:00
Johannes Anderwald 369fa23f46 - give roshttpd a rbuild file
- include it in build
- fix building with msvc

svn path=/trunk/; revision=25059
2006-12-03 23:35:02 +00:00
Johannes Anderwald 231c494a6f -fix compiling with msvc
svn path=/trunk/; revision=25058
2006-12-03 22:43:22 +00:00
Johannes Anderwald 9595935d9f - fix compiling with msvc
- replace getopt with simple parse routine

svn path=/trunk/; revision=25057
2006-12-03 22:29:07 +00:00
Johannes Anderwald 4c44ec895f - fix some warnings when compiling with msvc
svn path=/trunk/; revision=25056
2006-12-03 21:51:50 +00:00
Johannes Anderwald f737754b34 - remove unused make files
svn path=/trunk/; revision=25055
2006-12-03 21:37:38 +00:00
Johannes Anderwald 06d8efb11c - fix msvc compile problems
svn path=/trunk/; revision=25054
2006-12-03 21:33:17 +00:00
Johannes Anderwald 8dde1987db - move undocumented constants to more appropiate location
- thnx to Alex_Ionescu

svn path=/trunk/; revision=25053
2006-12-03 21:19:23 +00:00
Andrew Greenwood e07f82102e New stubbing of KS (Kernel Streaming) and associated header files.
Updated README.


svn path=/trunk/; revision=25052
2006-12-03 21:11:56 +00:00
Magnus Olsen c33ae33877 started hacked SetCooperativeLevel and ReCreateDirectDraw code. we need it if hwnd are not null we need recreate the HAL and HEL interface for we already inistate it early.
svn path=/trunk/; revision=25051
2006-12-03 21:11:40 +00:00
Johannes Anderwald 54876ff367 - default to __cdecl convention for gui / console apps
svn path=/trunk/; revision=25050
2006-12-03 21:09:04 +00:00
Aleksey Bragin 5edc5e319f [AUDIT]
Change name everywhere back to Ariadne because real person could not be contacted. Non-working email address removed.

If this person doesn't contact me before finish of the audit, the copyright will be transferred to ReactOS Foundation.

svn path=/trunk/; revision=25049
2006-12-03 21:06:03 +00:00
Andrew Greenwood d79fc4b62c Kernel Streaming cleanup - replacing with new stubs shortly!
svn path=/trunk/; revision=25048
2006-12-03 20:59:52 +00:00
Johannes Anderwald 77255e9849 -fix compiling with msvc
svn path=/trunk/; revision=25047
2006-12-03 20:48:25 +00:00
Johannes Anderwald af06dadd48 - include gettype in build process
- add missing dependency

svn path=/trunk/; revision=25046
2006-12-03 20:43:21 +00:00
Johannes Anderwald 316ca7fc58 - give getfirefox a WinMain it deserves
- theres no reason to include NDK for it
- fix a bug in dlOnProgress while debugging it

svn path=/trunk/; revision=25045
2006-12-03 20:36:53 +00:00
Johannes Anderwald 86f3d0e7ea - fix some warnings when compiling with msvc
svn path=/trunk/; revision=25044
2006-12-03 20:17:55 +00:00
Johannes Anderwald 9a841754c2 - fix correct app type
svn path=/trunk/; revision=25043
2006-12-03 20:04:09 +00:00
Johannes Anderwald 69b8ba7ca7 - fix warning
- fix svn properties

svn path=/trunk/; revision=25042
2006-12-03 19:52:19 +00:00
Johannes Anderwald 5a8d8453fc - update readme
See issue #1890 for more details.

svn path=/trunk/; revision=25041
2006-12-03 19:17:19 +00:00
Johannes Anderwald 8a50599cf5 - update readme
See issue #1890 for more details.

svn path=/trunk/; revision=25040
2006-12-03 19:16:30 +00:00
Magnus Olsen 1de675a898 Fixed HALDD been setup right.
svn path=/trunk/; revision=25039
2006-12-03 18:53:05 +00:00
Johannes Anderwald 076a9dd89e - New changes for the Greek Keyboard layout
- by Apostolos Alexiadis
- fix some formating issues
See issue #1831 for more details.

svn path=/trunk/; revision=25038
2006-12-03 18:48:29 +00:00
Alex Ionescu 144e232b5f - Fix IopSecurityFile to send the IRP to the right device.
- Fix IoSetInformation to send the IRP to the right device.
- After the major fix in 24996, the functions that had been written to work with the I/O bug stopped working (by sending the IRP to the wrong device object, which, due to the bug was the ""right"" object), this is now fixed and the bootcd works again.

svn path=/trunk/; revision=25037
2006-12-03 18:04:32 +00:00
Magnus Olsen a75646d6df fixed so we return almost same flags in DD->GBL->dwFlags left todo is the DDRAWI_DRIVERINFO2
svn path=/trunk/; revision=25036
2006-12-03 17:54:25 +00:00
Magnus Olsen bdd9cf7f66 fixed a refer counter that was zero out, but it should be have set to 1
svn path=/trunk/; revision=25035
2006-12-03 15:42:12 +00:00
Magnus Olsen 3d923733e6 Fixed the initate process so it do not call to StartDirectDrawHel when GUID DDCREATE_HARDWAREONLY
Fixed the initate process so it do not call to StartDirectDrawHal when GUID DDCREATE_EMLATIONONLY

svn path=/trunk/; revision=25034
2006-12-03 15:23:44 +00:00
Aleksey Bragin 087400a522 NCI interface auditing, sysfuncs.lst.
- Fixed NtCompressKey() and NtQuerySystemEnvironmentValueEx() prototypes (they were incorrectly declared/defined, but had a correct number of params in sysfuncs.lst)
- Fixed incorrect number of parameters specified in sysfuncs.lst for NtLoadKeyEx(), NtQueryOpenSubKeysEx(), NtTranslateFilePath()

sysfuncs.lst now perfectly matches all functions definitions.

svn path=/trunk/; revision=25029
2006-12-03 11:13:05 +00:00
Magnus Olsen 3c9294fcf4 Fixed so we can optain the HAL again.
Do not trust on ddraw value yo get blindy. it will rest the value you need to optian the HAL and you can not spy on it so easy then.

svn path=/trunk/; revision=25027
2006-12-03 09:12:35 +00:00
Alex Ionescu 58fad00c6d - Clear capacity data buffer before reading it to avoid 0xCCCCCCCC values and manually set failure code if nobody filled it in (a hack, but I don't understand our pre-Nixon-era storage stack to "properly" fix it, so this is good enough and kills off the 0xCCCCCCCC byte non-paged pool allocations.
svn path=/trunk/; revision=25026
2006-12-03 08:08:08 +00:00
Alex Ionescu cd31c14fe5 - Enable V86/DR save in HAL Clock Interrupt (and fix build).
- Add debug message to fs_rec driver to analyse why it's trying to allocate 4GB of non paged memory.

svn path=/trunk/; revision=25025
2006-12-03 07:34:03 +00:00
Magnus Olsen aae91f0242 fixed a werid crash do not initate the member dwObsolete1 in LPDDRAWI_DIRECTDRAW_LCL
svn path=/trunk/; revision=25022
2006-12-03 00:17:56 +00:00
Magnus Olsen 073d96842d bug fixed some more info getting same as ms ddraw when you execute DirectDrawCreateEx
fixed some comment in main.c, Comment why memory does not being fill to zero in lest windows 2000 after you play with directdraw. 

svn path=/trunk/; revision=25021
2006-12-02 23:04:11 +00:00
Alex Ionescu 8b4c009bfb - Implement V86 trap fixup during traps and interrupts.
- Implement DR register save/restore during traps, interrupts and system calls.
- Remove respective entry from krnlfun.c.

svn path=/trunk/; revision=25020
2006-12-02 20:49:56 +00:00
Magnus Olsen aa6252fc13 fixed so only NULL and DDCREATE_HARDWAREONLY are accpect when you linking two directdraw interface.
svn path=/trunk/; revision=25019
2006-12-02 19:26:55 +00:00
Magnus Olsen a9e3149429 fixed follow bugs
1. Fixed memory crash bug for linking two directdraw interface
2. Fixed meoory alloc does not being overwrite when it being linked

svn path=/trunk/; revision=25018
2006-12-02 18:59:05 +00:00
Magnus Olsen ca9afb4298 Fixed follow bug Create_DirectDraw
1. did not set the DDRAWILCL_DIRECTDRAW7 to This->lpLcl->dwLocalFlags
2. did not initate the This->lpLcl->dwLocalRefCnt to 0 and Main_DDrawSurface_AddRef did wrong count then 

svn path=/trunk/; revision=25017
2006-12-02 16:57:21 +00:00
Magnus Olsen a709c01ca8 fixed partly linking with other directdraw interface, but we still overwrite some member and crash it, when we doing a link.
svn path=/trunk/; revision=25016
2006-12-02 13:37:55 +00:00
Magnus Olsen 1c4a115ec0 adding check if it is IID_IDirectDraw7 on right place and learn it is lpDD->QueryInterface that optain the d3d interface.
svn path=/trunk/; revision=25015
2006-12-02 10:27:56 +00:00
Magnus Olsen 1c7d9c3cb9 remove trunk stuff. for it was wine idea, if you reading msdn and test ms ddraw you can not use other interface that IID_IDirectDraw7
but wine allown you use older IID interface. But It will be hell to support DirectX 1-6 IID_IDirectDraw, IID_IDirectDraw2, IID_IDirectDraw4 so we doing like microsoft kill it. and this check can be use to detect if it wine ddraw or not. like test if other that IID_IDirectDraw7 are vaild. 

svn path=/trunk/; revision=25014
2006-12-02 10:20:33 +00:00
Magnus Olsen 17e88e019f Adding two new debuger macro and debocument each debug macro I am using in windows and why you should use one of them
with time the debug macro will be compelete remove. 

svn path=/trunk/; revision=25013
2006-12-02 08:30:16 +00:00
Magnus Olsen 817dba67ef Colin Finck (mail at colinfinck dot de)
patch to sysdm (id=1161)
fixing truncate of string and making allot better layout of the system info. 


See issue #1858 for more details.

svn path=/trunk/; revision=25012
2006-12-01 17:36:07 +00:00