Commit Graph

219 Commits

Author SHA1 Message Date
Dmitry Borisov
7d33f7503b [UNIATA] Disable the driver and enable the new ATA stack
Also fix descriptions for devices 1166:0241 and 1166:0242.
See https://bugzilla.kernel.org/show_bug.cgi?id=10424 and
aeb74914ef

CORE-17256
2026-04-21 15:01:22 -05:00
Dmitry Borisov
ac33647888 [ATAPI] Add ATA storage driver
CORE-17256
CORE-17191
CORE-17716
CORE-17977
CORE-13976
CORE-16216
2026-04-21 15:01:22 -05:00
Dmitry Borisov
ae2827f481 [PCIIDEX] Add DMA support
CORE-17256
2026-04-21 15:01:22 -05:00
Dmitry Borisov
c741c39025 [ATAPI] Disable the driver 2026-04-21 15:01:22 -05:00
Timo Kreuzer
bbce31f601 [UNIATA] Disable GCC 13 misleading-indentation warning
C:/ReactOS/reactos/drivers/storage/ide/uniata/id_init.cpp: In function 'BOOLEAN UniataChipDetectChannels(PVOID, PPCI_COMMON_CONFIG, ULONG, PPORT_CONFIGURATION_INFORMATION)':
C:/ReactOS/reactos/drivers/storage/ide/uniata/id_init.cpp:111:5: error: this 'for' clause does not guard... [-Werror=misleading-indentation]
  111 |     for(i=deviceExtension->AHCI_PI_mask, n=0; i; n++, i=i>>1);
      |     ^~~
In file included from C:/ReactOS/reactos/drivers/storage/ide/uniata/stdafx.h:13,
                 from C:/ReactOS/reactos/drivers/storage/ide/uniata/id_init.cpp:48:
C:/ReactOS/reactos/drivers/storage/ide/uniata/atapi.h:154:24: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  154 | #define KdPrint2(_x_)  {;}
      |                        ^
C:/ReactOS/reactos/drivers/storage/ide/uniata/id_init.cpp:112:5: note: in expansion of macro 'KdPrint2'
  112 |     KdPrint2((PRINT_PREFIX "mask -> %d chans\n", n));
      |     ^~~~~~~~
2026-03-18 17:29:12 +02:00
Timo Kreuzer
07de64139a [GCC_SSP] Turn the GCC stack protector lib into a normal library
Stop pointless target_sources(xxx PRIVATE $<TARGET_OBJECTS:gcc_ssp_nt>). The only effect it has is to force the object file into the target, which was already done by specifying the libraries as OBJECT libraries, which is also pointless, and only leads to problems.
2026-01-29 17:13:40 +02:00
Dmitry Borisov
f1ef706c76 [DRIVERS] Disable some drivers on PC-98 (#8541)
These drivers expect PC/AT compatible hardware thus they are unsuitable for PC-98.
Disable the drivers for the time being until we have a proper implementation.

CORE-17977
2025-12-31 14:30:16 +03:00
Justin Miller
3fe5b8b0bb [SDK][WDF][USBDEX][NTOSKRNL_VISTA] Fully enable KMDF (#8396)
[SDK][WDFLDR] Add kmdf loader driver
[SDK][WDF] Add kmdf drver init static library
[SDK][WDF] Modify kmdf driver for working with wdfldr driver
[SDK][CDROM] Cdrom driver dynamically linking with kmdf
[SDK][WDF] Add kmdfdriver module type
[SDK][WDF][USBDEX][NTOSKRNL_VISTA] Fully enable KMDF
[KMDF][WDFLDR][WDF01000] Fix Windows 10 Compatibility WDFLDR and WDF01000
[WDF01000] NO_KERNEL_LIST_ENTRY_CHECKS for wdf01000 3rd party code

This PR is an accumulation of three peoples work, with the goal of the trying to get WDF to work like it should.
This has been tested in combination with some extra NT6+ ntoskrnl against multiple drivers.

---------

Co-authored-by: Max Korostil <mrmks04@yandex.ru>
Co-authored-by: Victor Perevertkin <victor.perevertkin@reactos.org>
Co-authored-by: Adam Słaboń <asaillen@protonmail.com>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2025-11-03 06:38:52 -08:00
Hermès Bélusca-Maïto
ad10c08b3d [SCSIPORT] Fix "Targed" typo 2025-10-19 17:13:51 +02:00
Serge Gautherie
c3bb9d6ca9 [UNIATA] UniataChipDetect(): Workaround AHCI detection (#8184)
Fix AHCI support regression.
Disable a "new" code block, which is broken.

Reverts a part of commit 1afae58191 (r69699).
CORE-13346
2025-08-26 22:50:22 +02:00
Serge Gautherie
7e294faff4 [UNIATA] Upgrade to v0.47b from v0.47a (#8177)
- Remove unused idedma.def
  Addendum to commit 1daf74908e (r29256).

- Convert a few files to UTF-8 from ANSI
  Plus, 2 tiny formatting fixes.

- id_ata.cpp: Unmark a ReactOS own diff
  Addendum to commit 7fdf078134.

- id_init.cpp: Mark a diff
  Addendum to commit 09dde2cff9.

- Upgrade to v0.47b from v0.47a

CORE-17876
2025-08-16 18:56:58 +02:00
Dmitry Borisov
b558596409 [SPTILIB] Introduce SPTI static library for storage drivers (#8209)
Add a SCSI and ATA passthrough support helper library for direct use
from low-level storage drivers.

Tested with: CDRoller, CloneCD, Magic ISO
NOTE: Vbox seems to lack support for CD/DVD burning; tested on real hardware.

CORE-10191 CORE-16452
CORE-14788 CORE-18241
CORE-17256 CORE-13866
2025-07-13 22:49:51 +02:00
Serge Gautherie
2c0782d1e0 [SCSIPORT] Add explicit IOCTL_ATA_PASS_THROUGH* cases (#1969)
ATA passthrough IOCTLs not supported by MS scsiport.
The implementation is optional, especially in SCSI.

IOCTL_SCSI_PASS_THROUGH will be implemented in SPTI library.

CORE-16422
2025-07-05 18:20:42 +03:00
Timo Kreuzer
e431470ff9 [REACTOS] Fix build with VS 17.14.2 / CL 19.44.35207.1 2025-05-31 09:51:33 +00:00
Adam Słaboń
3d9b919814 [MOUNTMGR] Few fixes and improvements (#7896)
- `MountMgrVolumeMountPointChanged()`: Set status code in all failure
  paths and correct the check for remote or removable media.
- `DeleteRemoteDatabaseEntry()`: Do not allow the database with size of zero.
- `QueryVolumeName()`: Use reparse point file reference when no file name is supplied.
2025-04-17 15:26:58 +02:00
Max Korostil
606e996e1f [UNIATA] Fix memory corruption if SCSIOP_SERVICE_ACTION16 processed. (#7717)
Reason: the size of `READ_CAPACITY16_DATA` struct in UniATA driver and ReactOS/Windows SDK were not equal.

- In UniATA driver: `sizeof(READ_CAPACITY16_DATA) == 33` (wrong);
- In ReactOS/Windows SDK: `sizeof(READ_CAPACITY16_DATA) == 32` (correct).

CORE-19696
2025-03-02 19:07:34 +01:00
Hermès Bélusca-Maïto
8d91d4c8e1 [MOUNTMGR] MountMgrMountedDeviceArrival(): Fix pool buffer double-free.
`DeviceInformation->DeviceName.Buffer` was already freed via the previous
  `FreePool(TargetDeviceName.Buffer);` call,
since `DeviceInformation->DeviceName` was set to `TargetDeviceName` above
in the code. This resulted in a pool double-free, triggering a corruption
of the pool, and a BSoD.

What had to be freed instead, is `DeviceInformation->SymbolicName.Buffer`
that is allocated at the beginning of the function.
2025-01-28 15:29:40 +01:00
Katayama Hirofumi MZ
fe11f7a2e5 [REACTOS] Refresh old URLs (#7632)
URLs are getting old. We have to
update URLs for documentation
purpose.
JIRA issue: CORE-19963
- Refresh old URLs.
- Add " (DEAD_LINK)" labels
  to dead links.
- Use MS Learn links rather
  than MSDN ones.
- Some dead links revived by
  Web Archive.
- Don't change Wine Tests
  and Wine Sync.
- Don't change 3rd party libraries.
- Don't append "redirected" labels.
2025-01-28 13:36:45 +09:00
Hermès Bélusca-Maïto
c306a27941 [MOUNTMGR] Fix the buffer returned by IOCTL_MOUNTMGR_QUERY_DOS_VOLUME_PATH (#6990)
The buffer returned by MountMgrQueryDosVolumePath()
should be a multi-string containing one single string.
2025-01-21 19:16:01 +01:00
Hermès Bélusca-Maïto
8bb7cd286b [MOUNTMGR] Fix three more bugs in MountMgrQueryDosVolumePath() (#6990)
- When trying to find a device, don't fail with STATUS_NOT_FOUND if no
  associated symbolic links are present. Instead, that test was wrong,
  and should go out of the search loop to do the drive-letter processing.

  Addendum to commit f9f5a78715.

- In addition, when using the associated-device method, fix the list
  used to retrieve the corresponding device.

- In the TryWithVolumeName: block, reset DeviceString to NULL after
  freeing, so that we can correctly fail with STATUS_NOT_FOUND if no
  suitable device was found, before initializing the output data.
2025-01-21 19:16:01 +01:00
Hermès Bélusca-Maïto
28c3533d11 [MOUNTMGR] Simplify a bit the code in MountMgrQueryDosVolumePath(s) (#6990) 2025-01-21 19:16:00 +01:00
Hermès Bélusca-Maïto
e72a9a78b0 [MOUNTMGR] Fix some other bugs (#6990)
- Use FIELD_OFFSET to correct structure and member instead of hardcoding
  sizeof-s of fields until the member of interest.

- Fix a bug in MountMgrQueryDosVolumePath() where the FIELD_OFFSET used
  in the entry structure size validation was incorrect.

  FIELD_OFFSET(MOUNTMGR_TARGET_NAME, DeviceNameLength) is == 0 since
  DeviceNameLength is the first member of the MOUNTMGR_TARGET_NAME
  structure. The intended member was DeviceName.

  Addendum to commit f9f5a78715.
2025-01-21 19:15:59 +01:00
Hermès Bélusca-Maïto
be97a36f25 [MOUNTMGR] Simplify MountMgrQueryDosVolumePath() code (#6990)
- Use a variable of correct type instead of casting every time.
- Remove one level of indentation by returning early.
2025-01-21 19:15:59 +01:00
Hermès Bélusca-Maïto
dac991c056 [PARTMGR] Implement support for IOCTL_STORAGE_GET_DEVICE_NUMBER (#7591)
CORE-13525

Now, sending the IOCTL_STORAGE_GET_DEVICE_NUMBER to a disk partition
correctly returns a non-zero STORAGE_DEVICE_NUMBER::PartitionNumber
value. This is used by the BTRFS filesystem driver and other modules.

When the STORAGE_DEVICE_NUMBER DeviceType member equals FILE_DEVICE_DISK,
the DeviceNumber and PartitionNumber correspond respectively to the
X and Y values in the \Device\Harddisk<X>\Partition<Y> device name.

References:
https://learn.microsoft.com/en-us/windows/win32/api/winioctl/ni-winioctl-ioctl_storage_get_device_number
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddstor/ni-ntddstor-ioctl_storage_get_device_number
https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/ntddstor/ns-ntddstor-_storage_device_number
2025-01-06 21:26:43 +01:00
Hermès Bélusca-Maïto
8653bb1b32 [PARTMGR] Few code enhancements.
- PartMgrAddDevice(): If IoAttachDeviceToDeviceStack() fails, bail out
  immediately, instead of continuing initializing the device extension
  then deciding to fail.

- PartitionCreateDevice(): Initialize the fields pertaining to parent
  device linking in the partition device extension, before the other fields
  (following in a similar way what's done in PartMgrAddDevice).
2025-01-05 20:10:26 +01:00
Hermès Bélusca-Maïto
e1b835bdbf [PARTMGR] Minor code formatting. 2025-01-05 20:07:53 +01:00
Timo Kreuzer
0c2cdcae83 [REACTOS] Add missing line breaks at end of file 2024-10-06 10:47:11 +03:00
Hermès Bélusca-Maïto
61b7fb99eb [PARTMGR] Filter some currently-unimplemented MountMgr MOUNTDEV notifications.
CORE-17200

Helps reducing debug log noise like:
```
(drivers\storage\port\scsiport\ioctl.c:542) unknown ioctl code: 0x4D0018
```

The other notifications are already implemented there.
These are handled by the volume manager, which is currently
stubbed into ReactOS' partition manager.

See commit ed27d733f7 for what the deprecated versions
of IOCTL_MOUNTDEV_LINK_[CREATED|DELETED] are all about.
2024-07-17 17:24:26 +02:00
Hermès Bélusca-Maïto
9e07d0cc74 [PARTMGR] Trigger mount points removal when a partition/volume is deleted (#7034)
CORE-18139

When a partition is created, PartMgr notifies the volume manager
(FTDisk on Windows <= 2003, VolMgr on Vista+) of its presence.
(Note that currently in ReactOS, our partmgr does the job of both
PartMgr *AND* VolMgr.)
The VolMgr then sends a `GUID_DEVINTERFACE_VOLUME` PnP notification,
which is handled by the mount manager (MountMgr) as part of a
`GUID_DEVICE_INTERFACE_ARRIVAL` notification:
```
MountMgr!MountMgrMountedDeviceNotification -> MountMgrMountedDeviceArrival
followed by
MountMgr!MountMgrTargetDeviceNotification
```

When a partition is deleted, via e.g. Disk Management or DiskPart,
it can be observed, on Windows, that the PartMgr gets notified by
the PnP manager, as part of QueryDeviceRelations. Before actually
removing the partition, it notifies the VolMgr. The latter invalidates
any volume mounted on that partition (`*PartitionRemoved*` functions
for basic volumes), then requests (`*DeleteMountPoints` function)
the MountMgr to delete all the mount points associated to the volume:
```
VolMgr!*DeleteMountPoints
-> MountMgr!MountMgrDeviceControl -> MountMgrDeletePoints
```
**** THIS is the new functionality that is implemented for ReactOS ****
**** in the present commit.                                        ****

Following this, a subsequent PnP notification is sent, which calls
```
MountMgr!MountMgrTargetDeviceNotification
-> MountMgr!MountMgrMountedDeviceRemoval
```
(Note that this observation somewhat invalidates the modification
made in ReactOS commit 62a4f9d42b : our MountMgr placed in Windows
*WOULD* receive a `GUID_TARGET_DEVICE_REMOVE_COMPLETE` target-device
notification...)

Finally, a `GUID_DEVICE_INTERFACE_REMOVAL` PnP notification is sent
to the MountMgr:
```
MountMgr!MountMgrMountedDeviceNotification
-> MountMgr!MountMgrMountedDeviceRemoval
```
2024-07-11 13:46:52 +02:00
Hermès Bélusca-Maïto
7e89227a00 [MOUNTMGR] Fix initial sending of device online notification (#7030)
1. MountMgrMountedDeviceArrival():
   Fix the conditions under which the device's online notifications
   are skipped (SkipNotifications == TRUE) and fix the code comments.
   Now, things make much more sense:
   online notifications are skipped when the device is already offline
   or is a legacy (NT <= 4) fault-tolerant volume (see point 2 below),
   or is NOT mounted (doesn't have a drive letter).
   Previously, we were sending an online notification if the device
   was NOT mounted (why?!...) or if it was deemed as "valid" (wrongly
   determined, see point 2 below).

2. QueryDeviceInformation():
   * The usage of the "Valid" parameter didn't make much sense. Indeed,
     when a partition/volume device is reported to the Mount Manager,
     it's already valid. (Also, setting "Valid" to TRUE only in the case
     of an MBR partition while ignoring GPT ones, and resetting it to
     FALSE if IOCTL_STORAGE_GET_DEVICE_NUMBER returned success, pointed
     to something incorrect was going on.)
     Instead, what we are checking here is whether the device is a
     legacy fault-tolerant volume: such volume can only reside on an
     MBR disk, have the expected partition type, and does not really
     reside on a specific storage device (hence the check for
     IOCTL_STORAGE_GET_DEVICE_NUMBER returning failure).

   * Take also the opportunity to SAL2-ify the function.
2024-06-25 22:51:08 +02:00
Hermès Bélusca-Maïto
5f26356079 [MOUNTMGR] Rectify "NoAutoMount" usage (#7030)
This "NoAutoMount" member was not consistently used. Sometimes it was
used correctly, some other times it was used as "not NoAutoMount" i.e.
"AutoMount" enabled.
Fix this consistently throughout the source, and fix also some comments.
2024-06-25 22:51:07 +02:00
Hermès Bélusca-Maïto
ab0e04c81d [MOUNTMGR] Introduce MountMgrSendSyncDeviceIoCtl() to replace repeated code (#6960)
See https://www.osr.com/blog/2018/02/14/beware-iobuilddeviceiocontrolrequest/
for some details about IRQL requirements.
2024-06-13 20:01:16 +02:00
Hermès Bélusca-Maïto
ed27d733f7 [MOUNTMGR][DDK] Fix some IOCTLs definitions to Win2k3+ compatibility (#6959)
Fix IOCTL_MOUNTDEV_LINK_CREATED, IOCTL_MOUNTDEV_LINK_DELETED,
IOCTL_MOUNTDEV_UNIQUE_ID_CHANGE_NOTIFY, to Win2k3+ compatible definitions.
The previous versions of these IOCTLs (in Win2000 and XP) were defined without any access protection.

This was noticed here:
https://community.osr.com/t/ioctl-mountdev-link-created-definition-changed/29428
2024-06-12 12:31:32 +02:00
Hermès Bélusca-Maïto
7930bed0a1 [MPR][MOUNTMGR][DDK] Remove unused wine-specific code (#6958)
Usage of these in MPR was already inside #ifndef __REACTOS__ block,
so, "This Is Fine".
2024-06-12 12:29:22 +02:00
Hermès Bélusca-Maïto
0d36818422 [MOUNTMGR] Some cleanup 2024-06-12 12:29:06 +02:00
Hermès Bélusca-Maïto
e80cd6760c [PARTMGR] Reimplement IOCTL_MOUNTDEV_QUERY_UNIQUE_ID for MBR and GPT partitions (#6926)
CORE-15575

In addition, fix a PartitionId assignment copy-paste error in PartitionCreateDevice().

The returned standard UniqueId has the following format:

- Basic volume on MBR disk: disk Mbr.Signature + partition StartingOffset (length: 0x0C)
- Basic volume on GPT disk: "DMIO:ID:" + Gpt.PartitionGuid (length: 0x18)
- Volume on Basic disk (NT <= 4): 8-byte FTDisk identifier (length: 0x08)
- Volume on Dynamic disk (NT 5+): "DMIO:ID:" + dmio VolumeGuid (length: 0x18)
- Super-floppy (single-partition with StartingOffset == 0),
  or Removable media: DiskInterfaceName.
- As fallback, we use the VolumeInterfaceName.

References:
- https://winreg-kb.readthedocs.io/en/latest/sources/system-keys/Mounted-devices.html
- https://stackoverflow.com/a/72787681/21852502
- Manual testing on Windows.
2024-06-12 12:15:31 +02:00
Hermès Bélusca-Maïto
3d26d76a4c [PARTMGR] Detect and flag partitionless ("super-floppy") disks (#6926)
CORE-15575

Detect whether the disk is a "super-floppy", which is the name given
to partitionless disk having no MBR, with the unique partition volume
starting at sector offset zero and spanning the whole disk.
The name comes from the fact that at the partitioning level, the disk
"looks like" a large-capacity floppy disk.

This is typically how external removable (USB, ...) drives are
partitioned by default by Windows.

https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-and-gpt-faq?view=windows-11#superfloppy

The kernel-mode functions IoReadPartitionTable() / IoWritePartitionTable()
report the drive layout of a "super-floppy" disk as follows:
an MBR-style disk containing only one single partition starting at the
beginning of the disk (StartingOffset == 0) without hidden sectors, and
its type being FAT16 non-bootable.
The disk NTFT signature is set to 0x00000001.

----

Additional bug fixes to make the feature work reliably:

- Make PartMgrGetDriveLayout() also update the FDO DiskData's
  PartitionStyle and Signature/GPT DiskId for consistency (code moved
  from PartMgrRefreshDiskData()).

- In FdoIoctlDiskSetDriveLayout[Ex](), if the disk is "super-floppy",
  but the user wants to create more than one partition, fail the call.
  (In the Ex call, fail also if the partition style changes.)
2024-06-12 12:15:22 +02:00
Hermès Bélusca-Maïto
33ac3578fd [PARTMGR] Fix the way the "symlink -> target" DPRINT is displayed 2024-06-12 12:14:53 +02:00
Hermès Bélusca-Maïto
2d6bbdc6ed [PARTMGR] Fix x64 build warning
warning C4267: 'function': conversion from 'size_t' to 'ULONG', possible loss of data'

The OutputBufferLength member that was temporarily stored in
outBufferLength is already a ULONG, and IssueSyncIoControlRequest()
takes the length as a ULONG. So there is no need to use 'size_t' here.
2024-06-12 12:14:45 +02:00
Hermès Bélusca-Maïto
0a8b421d53 [PARTMGR] Implement IOCTL_VOLUME_QUERY_VOLUME_NUMBER and IOCTL_VOLUME_IS_PARTITION (#6911)
- Implement IOCTL_VOLUME_QUERY_VOLUME_NUMBER:
  See usage example in:
  7241cebfa2/mayfield/branches/spr/src/umapps/ndassvc/service/drivematch.cpp (L627)

- Stubplement IOCTL_VOLUME_IS_PARTITION:
  The only type of volume we support right now is disk partition
  so we just return success. A more robust algorithm would be
  to check whether the volume has only one single extent, that
  covers the whole partition on which it lies upon. If this is
  not the case, return STATUS_UNSUCCESSFUL instead.
2024-06-10 21:32:47 +02:00
Andrei Miloiu
9ecf552fe4 [DRIVERS][INF] Update Romanian (ro-RO) translation (#6088) 2023-12-09 20:19:54 +01:00
Dmitry Borisov
c0c57e2324 [PCIIDEX] Improve and fix the driver
- Fix IRP handling, add missing IRP handlers
- Specify the device name for DO
- The legacy IRQ descriptor is edge-triggered
- Improve pool tagging
- Place the PNP code in a pageable section

CORE-17256
2023-07-16 13:20:30 +03:00
Hermès Bélusca-Maïto
157491e297 [STORPORT] MaximumNumberOfLogicalUnits should be initialized to SCSI_MAXIMUM_LOGICAL_UNITS
See https://www.osronline.com/article.cfm%5Earticle=538.htm
2023-06-19 21:10:53 +02:00
Hermès Bélusca-Maïto
3bc71f9086 [FREELDR][SCSIPORT][STORPORT] Use existing defines for some hardcoded max values.
See https://www.osronline.com/article.cfm%5Earticle=538.htm

[SCSIPORT] Remove 'MaxBus' variable, deprecated since commit fc3d38d1c (r26220).
2023-06-19 21:10:51 +02:00
Hermès Bélusca-Maïto
4f41000714 [FLOPPY] "zero" parameters in IoQueryDeviceDescription() call are NULL pointers. 2023-06-14 11:24:47 +02:00
Atharva Kulkarni
6eee9f9daf [SCSIPORT] Flush and Free Map Registers (#5190)
- Flush Map registers once the DMA completes
- Free Map registers once the DMA completes
- Add support for SGL allocated from NonPagedPool

Test:
Force Allocations of SGL from Non Paged Pool and ensure OS boots and functions properly

Test Logs:
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
DHCPCSVC: Adapter Name: [{7cd69ac0-dabb-410a-b927-cb3961d174da}] (dynamic)
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
WARNING:  HalCalculateScatterGatherListSize at hal\halx86\generic\dma.c:1168 is UNIMPLEMENTED!
SpiAdapterControlFORCING ALLOCATION FROM SGPOOL
SpiAdapterControlFORCING ALLOCATION FROM SGPOO
2023-04-21 12:44:31 +02:00
Joachim Henze
16decc61be [UNIATA] PROPERLY mark the rosdiff when touching 3rd party code
This is an addendum to 0.4.15-dev-5854-g 08248e83a0 from (#5053).

The review requests had not been addressed entirely before committing!
2023-03-22 06:18:54 +01:00
Atharva Kulkarni
08248e83a0 [UNIATA] Fix Memory leak while claiming PCI IDE controller (#5053)
HalAssignSlotResources will allocate a new resource list which the caller must free.
2023-03-22 01:01:18 +03:00
Joachim Henze
09dde2cff9 [REACTOS] "http://www.reactos" -> "https://reactos" (#5043)
To harmonize, to save some bytes, and last but not least for security reasons.
This can be understood as an addendum to (#2619).
2023-02-06 17:01:52 +03:00
Hervé Poussineau
0676247932 [FLOPPY] Correctly return media changed information
If disk changed since last time, we must either return STATUS_IO_DEVICE_ERROR
or STATUS_VERIFY_REQUIRED, depending of VPB_MOUNTED flag.
This is already handled by the SignalMediaChanged() function.

CORE-18244
2022-09-10 22:52:00 +02:00