Commit graph

53 commits

Author SHA1 Message Date
Victor Perevertkin
fa530aee92 [DISK] Disable IsFloppyDevice check.
It wrongly marks USB flash drives as a floppy device
2019-06-11 04:39:43 +03:00
Eric Kohl
be88574f59 [STORPORT] Detect attached devices 2019-06-02 23:30:02 +02:00
Eric Kohl
631db82058 [STORPORT] Fix resource list size calculation 2019-06-02 14:24:35 +02:00
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Alexandr A. Telyatnikov
6d5a81013c [UNIATA] Fix for uninitialized Lun pointer
This fixes crash on Intel AHCI init. CORE-15886
2019-04-02 18:02:07 +02:00
Thomas Faber
b546130731
[UNIATA] Update to version 0.47. CORE-15870 2019-03-24 14:48:32 +01:00
Thomas Faber
b91cf860cd
[UNIATA] Update to version 46e8. CORE-15843 2019-03-14 13:16:43 +01:00
Thomas Faber
48870fe35e
[UNIATA] Remove an unnecessary ROS-diff. 2019-03-14 13:16:41 +01:00
Timo Kreuzer
05f4951b8c [CDROM_NEW] Fix SLIST_ENTRY vs SINGLE_LIST_ENTRY issues 2019-03-04 21:58:42 +01:00
Timo Kreuzer
dfd876a96b [CLASSPNP] Fix SLIST_ENTRY vs SINGLE_LIST_ENTRY issues 2019-03-04 21:58:42 +01:00
Andrew Cook
99ec8ff00c [RAMDISK] Fix unterminated query table 2019-02-13 09:33:10 +01:00
Hermès Bélusca-Maïto
a56a2e95a2
[DISK.SYS] Add a HACK so that we can use NT5+ NTOS functions with this NT4 driver for removable devices.
This is needed in order to avoid an infinite recursive loop between
disk!UpdateRemovableGeometry() and ntos!IoReadPartitionTable().
This does not happen with NT5+ disk_new.sys because it doesn't call
IoReadPartitionTable() in that situation.
2019-02-10 22:39:12 +01:00
Alexandr A. Telyatnikov
0c7e9684bd [UNIATA] Add AHCI revision 1.3.1
Also explicitly print current AHCI revision in debug log. CORE-15643
2019-02-02 15:47:39 +01:00
Pierre Schweitzer
e2277b1f02
[FLOPPY_NEW] Import the floppy driver from MS GitHub repository
Do not enable it yet, as it doesn't work in ROS for the moment :-(.
Its place in tree is not optimal (it should be with disk/class/etc.),
but I prefer keeping it close to actual driver for now.

All the work has been done so that it compiles and links with ReactOS
SDK though.
2018-12-15 20:04:00 +01:00
Bernhard Feichtinger
9d1ee2400a [RAMDISK] Implement missing IOCTLs 2018-09-16 11:46:24 +02:00
Katayama Hirofumi MZ
33fc7bf316 [STORAHCI] Fix MSVC "uninitialized local variable" error (C4700) (#828)
See also PR #821.
2018-08-30 00:50:06 +02:00
Pierre Schweitzer
c1ac347825
[CDROM] Set proper status on disk verify
This avoids an assert under certain conditions in CDFS.
Check cdrom_new for reference.

CORE-14873
2018-08-19 11:11:21 +02:00
Timo Kreuzer
9e066abe2a [DRIVERS] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Timo Kreuzer
f8bf0e9c3a [UNIATA] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Eric Kohl
f7c01906e7 [STORPORT] Enumerate attached devices
- Implement AcquireSpinlock, ReleaseSpinlock and GetExtendedFunctionTable notifications.
- Implement a bus scan routine, borrowed from scsiport.

Storport and storahci are now able to detect a disk device attached to a Virtual Box AHCI controller.
2018-05-24 11:39:47 +02:00
Peter Wathall
9e2dd8676a Removed unreachable line (#517)
The break statement was unnecessary because the goto on the line before it returns from the routine so it can never be reached
2018-04-24 21:35:23 +01:00
Eric Kohl
ca22dc9bb5 [STORPORT][DDK] Add the StorPortExtendedFunction stub
- Add the StorPortExtendedFunction stub to the storport driver.
- Add the declaration of StorPortExtendedFunction to the ddk.

CORE-12695
2018-03-03 14:19:33 +01:00
Amine Khaldi
a76fdbd8cb [UNIATA] Update to v0.46e5. CORE-14117 2017-12-25 14:18:21 +01:00
Pierre Schweitzer
b9b461bde9
[DISK] Properly implement querying partition information for partition 0.
In spite of what was implemented in our NT DDK sample, this is a legit operation.

This may have been turned legit starting NT5 (reminder, our implementation is
NT4 based...). So, in this situation, just return the information about the whole
disk (and not a random size) and also, mark everything with default values.

See disk_new for an example of how it works in NT5+.

CORE-14124
2017-12-24 21:58:47 +01:00
Amine Khaldi
00124d1b1a [CMAKE/CLANG-CL] Silence some clang-cl warnings in consistency with our gcc build. 2017-12-07 21:53:45 +01:00
Thomas Faber
ed95fa19f0
[PCIIDEX] Properly handle unknown PNP IRPs. CORE-13944 2017-11-21 23:08:21 +01:00
Pierre Schweitzer
4b34e44782
[FLOPPY] Don't wait forever while trying to determine media type.
This should fix some virtual machines and real hardware machine with empty floopy drive
not being able to boot ReactOS (stuck while initializing floppy.sys).
This fixes a regression introduced in r70746.
It could be generalized to other interrupts, floppy controllers not being reliable.

For more information: http://wiki.osdev.org/Floppy_Disk_Controller

CORE-7935
CORE-12908
CORE-13080
2017-11-21 10:22:50 +01:00
Eric Kohl
58bb4b31bc [STORPORT] Check status code of the call to PortFdoConnectInterrupt().
CORE-13866
2017-10-31 14:11:36 +01:00
Eric Kohl
5cfc1e3152 [STORPORT] Get the interrupt from the resource list, connect it and call the miniports HwInterrupt routine.
CORE-13866
2017-10-23 23:21:58 +02:00
Timo Kreuzer
072d1821e7 [STORPORT] Fix x64 build 2017-10-22 18:31:07 +02:00
Eric Kohl
9e642ea15b [STORPORT] Add the InitializeDpc code path to StorPortNotification().
CORE-13866
2017-10-22 09:25:36 +02:00
Eric Kohl
cc95d3ece3 [STORPORT] Implement StorPortNotification() / EnablePassiveInitialization and call the passive initialization routine.
CORE-13866
2017-10-21 23:58:42 +02:00
Eric Kohl
f9f21574ba [STORPORT] Implement parts of StorPortGetPhysicalAddress() that handle the uncached extension.
CORE-13866
2017-10-21 21:55:42 +02:00
Eric Kohl
ec4fe62118 [STORPORT] The miniport drivers HwInitialize routine returns a BOOLEAN. Handle this properly.
CORE-13866
2017-10-21 21:51:25 +02:00
Eric Kohl
45cc5c0e37 [STORPORT] Implement StorPortGetUncachedExtension().
CORE-13866
2017-10-21 17:56:06 +02:00
Pierre Schweitzer
c274b25c95 [FLOPPY] Fix broken loop
CID 1419440
2017-10-21 10:28:00 +02:00
Eric Kohl
b22c128070 [STORPORT] Implement StorPortGetDeviceBase().
CORE-13866
2017-10-17 00:05:26 +02:00
Eric Kohl
194df1ba58 [STORPORT] Implement StorPortSetBusDataByOffset.
CORE-13866
2017-10-16 20:06:15 +02:00
Eric Kohl
b21019e3d1 [STORPORT] Query the bus interface of the lower (bus) device and implement StorPortGetBusData().
CORE-13866
2017-10-16 00:13:21 +02:00
Eric Kohl
3f5aeb9363 [STORPORT] Attach copies of the resource lists to the FDO device extension and use them to fill the access ranges in the port configuration.
Storahci does not crash on initialization any more. :-)
CORE-13866
2017-10-15 15:21:56 +02:00
Eric Kohl
dd0027ba19 [STORPORT] Initialize the port configuration and pass it to the HwFindAdapter routine. 2017-10-15 13:10:08 +02:00
Eric Kohl
42cb5353b8 [STORORT] Allocate the miniport device extension and use it the calls to HwFindAdapter and HwInitialize.
CORE-13866
2017-10-15 00:06:22 +02:00
Eric Kohl
8dea67f8ba [STORPORT] Initialize a miniport object and call the miniport HwFindAdapter and HwInitialize routines.
CORE-13866
2017-10-14 19:12:24 +02:00
Eric Kohl
28f30ba854 [STORAHCI] Make the storahci driver build on gcc and add it to the build. 2017-10-13 21:52:38 +02:00
Hermès Bélusca-Maïto
30bfd8afad [STORPORT]: Fix build: declare STORPORT_API functions as exports. 2017-10-12 23:14:08 +02:00
EricKohl
b2c6c07d0f [STORPORT] Start the implementation of the storport driver and add it to the build.
CORE-13866
2017-10-12 22:41:47 +02:00
Colin Finck
950c86fb4c Fix remaining text file line endings in the tree. (#18)
Based on https://stackoverflow.com/a/1511273

Also enforce CRLF for all *.xml files in our tree, because they are distributed with ReactOS.
2017-10-06 15:00:36 +02:00
Pierre Schweitzer
75f1637f37 [CLASS2]: Fix status code on too small as exposed by kernel32:DeviceIoControl 2017-10-04 21:13:25 +02:00
Hermès Bélusca-Maïto
acdf04bad2 Add .keep guard files in order to restore lost but empty directories we had with SVN.
Note that when you start populating these directories, you can remove the associated .keep guard file(s)!
2017-10-04 10:28:36 +02:00
Hermès Bélusca-Maïto
221ed4cefe Remove unwanted .gitignore files. 2017-10-04 10:28:36 +02:00