Commit graph

1069 commits

Author SHA1 Message Date
Dmitry Borisov 8ed43b6907 [ISAPNP] Fix descriptors and support alternative configurations
- Fix empty resource descriptors being created.
- Properly support IRQ descriptors.
- Introduce four helpers made to help search descriptors
  in the logical device's requirements.
- Implement support for memory descriptors and alternative configurations.
- DMA descriptors are always DMA_8.
2021-06-20 19:24:31 +06:00
Dmitry Borisov b29a3ac524 [ISAPNP] Read all resources when detecting devices 2021-06-20 19:24:31 +06:00
Dmitry Borisov ca42de9c31 [ISAPNP] Rewrite the tag parser
- Support all resource descriptors.
- Optimize card identification.
- Detect cards that is no longer present on the bus.
- Deactivate cards after the identification phase; they will be activated
  by start device IRP.
- Provide a device description and compatible IDs to the device manager.
- Prevent duplicate IDs across multiple logical devices.
- Suppress warning about the usage of literals in port addresses.
2021-06-20 19:24:31 +06:00
Dmitry Borisov 7c897dfbd1 [ISAPNP] Use the correct types for helper functions 2021-06-20 19:24:31 +06:00
Dmitry Borisov c4b6330b14 [ISAPNP] Implement the Read Port resource management
Currently disabled until the kernel is ready
2021-06-20 19:24:31 +06:00
Dmitry Borisov f15de15554 [ISAPNP] Fixes and improvements for IRP handling
- Implement device removal.
- Finish the Read Port special handling
  introduced in 21514e473f.
- Gracefully handle low memory situations.
- Implement IRQ translator.
- Correctly stub power IRP handling.
- Remove unneeded dispatch routines; implement WMI IRP handling.
- Do not handle requests like WRITE_CONFIG.
- Add a signature member to device extensions to make checks clearer.
2021-06-20 19:24:26 +06:00
Dmitry Borisov e19595572a [ISAPNP] Implement querying bus information 2021-06-20 19:24:25 +06:00
Dmitry Borisov 8f36dee6ff [ISAPNP] Properly count descriptors
Fixes random pool corruptions
2021-06-20 19:24:25 +06:00
Dmitry Borisov 2d367001bd [ISAPNP] Fix device capabilities
- The bus does not supply an address.
- Read Port ID is always unique.

This reverts commit fc0a0b9f84.
See also commit 21514e473f.

CORE-17034
2021-06-20 19:24:19 +06:00
Dmitry Borisov 21514e473f [ISAPNP] Make Read Data Port PDO unique
This PDO is created only once during start of first FDO.
Other buses will remain in an inactive state until
the first FDO receives a remove request.

CORE-17034
2021-06-20 19:22:32 +06:00
Dmitry Borisov c92bec609b [ISAPNP] Refactor string handling
- Don't allocate string buffers twice.
2021-06-20 19:22:32 +06:00
Dmitry Borisov 70ba96f164 [ISAPNP] Make the driver pageable 2021-06-20 19:22:31 +06:00
Dmitry Borisov 66c195755c [ISAPNP] Use pool tagging 2021-06-20 19:22:31 +06:00
Dmitry Borisov 8f44930f91 [ISAPNP] Code formatting
- Add SAL2 annotations.
- Use RTL_NUMBER_OF macro in kernel mode.
- Use better function/member names.
- Less hardcoded values.
- Add license information. See commit
  d9face83c6 for details.

No functional changes.
2021-06-20 19:22:31 +06:00
Serge Gautherie ba77a09c04
[UNIATA] Workaround random crashes on Virtual PC (#3377)
I am not sure why this line was added.
I don't know how I could improve that case.
Then, disable it, for the time being.

Addendum to 4b9cf2e (r71252). CORE-12441 CORE-17371
2021-06-20 00:44:09 +03:00
Serge Gautherie d65d4137d3 [UNIATA] BusMasterAdapters[]: 8086:7111 is really PIIX4, not PIIX3
Reverts a part of deaba45 (r57265).
2021-06-20 00:34:23 +03:00
Stanislav Motylkov a4405f9610
[PCI] Filter out devices with null vendor and device ID
Some virtual machines errorneously expose null PCI device function
on PIIX4 chipset where an USB controller should normally reside.

Windows pci.sys driver does not enumerate these devices.

Affected virtual machines:
- Connectix Virtual PC 5.1.370
- Connectix Virtual PC 5.2.418
- Microsoft Virtual PC 2004 SP1 (5.3.582.27)
- Microsoft Virtual PC 2007 SP1 (6.0.156.0)

Non-affected virtual machines:
- Connectix Virtual PC 4.0
- Microsoft Hyper-V

Fixes CORE-17636.
2021-06-19 20:58:27 +03:00
Victor Perevertkin 34593d933b
[FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
Timo Kreuzer e693d5ffc0 [USBPORT] Make unload work 2021-05-28 22:29:44 +02:00
Mark Jansen 9f549dba1e [USBHUB] Mute debug spam 2021-05-20 08:35:39 +02:00
Mark Jansen 17acec6d13 [USBCCGP] Mute debug spam 2021-05-20 08:35:39 +02:00
Piotr Hetnarowicz 07ad5eb338
[DISK_NEW] Add Polish (pl-PL) translation (#3660)
Addendum to f144b8c1 and da4ee18c. CORE-17129
2021-05-18 14:58:34 +03:00
Piotr Hetnarowicz 3a7cd6256b
[CDROM_NEW] Add Polish (pl-PL) translation (#3659)
Addendum to 83b85e21. CORE-17129

Co-authored-by: Adam Słaboń <asaillen@protonmail.com>
2021-05-18 14:54:05 +03:00
Jérôme Gardou 3adf450867 [REACTOS] Addendum to 5c7ce4475e - Fix MSVC 2015 build
Put data into PAGEDATA or INITDATA sections
Keep section declaration for prototypes

CORE-17540
2021-05-12 11:04:29 +02:00
Jérôme Gardou 9930eeca76 [KDGDB] Implement TIB address retrieval 2021-05-11 11:00:49 +02:00
Dmitry Borisov 0fb3c1e91e
[PCIIDE] Make the resource section not discardable. CORE-17401 (#3594)
[PCIX] Make the resource section not discardable.

These drivers need to be able to access their message resources at any time.
2021-05-10 00:36:38 +02:00
Hervé Poussineau a1fc312a89 [NE2000] Use the real MAC address instead of a fake one
These lines were added 15 years ago, in r18445.
2021-04-28 17:28:38 +02:00
Jérôme Gardou 0ab44664b6 [KDGDB] Remove debugging leftover 2021-04-28 14:52:05 +02:00
Jérôme Gardou 3ee1eb42a5 [KDGDB] Avoid looping for ever when something unexpected happens 2021-04-28 13:10:23 +02:00
Jérôme Gardou 6f000979eb [BTRFS] Use addressing relative to RIP 2021-04-28 13:10:23 +02:00
Jérôme Gardou 0eea78648c [KDGDB] Adapt to amd64 2021-04-28 13:10:23 +02:00
Stanislav Motylkov 4959ccc8df
[ACPI] Improve Russian translation INF file
Also some minor whitespace fixes
2021-04-27 23:58:53 +03:00
Victor Perevertkin 7194f2f044
[UDFS] Remove /Gz flag from options on MSVC 2021-04-15 06:45:54 +03:00
Serge Gautherie ea3eaa5d87 [UNIATA] uniata_reg.inf: Add 'PnpInterface\5' key
commented out, for the time being.

CORE-17395
2021-04-11 09:30:42 +03:00
Serge Gautherie 29c061e499 [UNIATA] DriverEntry(): Fix 'Paramaters' typo, in reg key names
CORE-17524
2021-04-11 09:30:28 +03:00
Victor Perevertkin 74ec94e12c [CMAKE] Some options are only supported by GCC, don't use them for clang
These are (so far):
-Wno-format-overflow
-Wno-nonnull-compare
-Wno-old-style-declaration
-Wno-unused-but-set-variable
2021-04-09 03:58:19 +03:00
Eric Kohl a959d6e473 [PARTMGR] Volume devices do not have compatible IDs and their instance IDs are not unique 2021-04-05 15:35:21 +02:00
Jérôme Gardou 10379811c0 [KDGDB] Break and ignore when being prompted. 2021-03-30 17:20:57 +02:00
Jérôme Gardou 00ce9ad42a [CMAKE] Declare KD stub Dlls as kerneldll 2021-03-24 15:20:06 +01:00
Serge Gautherie 0cf1169dd0
[CDROM_NEW] CMakeLists.txt: Add cdrom.rc (#3513)
Addendum to 83b85e2.
CORE-17129
2021-03-08 19:10:43 +01:00
Timo Kreuzer ca74467904
[NTOS:CC] Raise status, when CcMapData fails (#3348)
Also add a check in fastfat, that asserts, when CcMapData returns FALSE.
2021-02-09 09:29:48 +01:00
Victor Perevertkin b705df731e
[NTOS:MM][FASTFAT_NEW] Fix DBG usage, fixes Release build 2021-02-05 11:54:10 +03:00
Nikolay Burshtyn 87a76a3b53
[CDROM_NEW][DISK_NEW] Add Russian translation (#3427) 2021-02-04 14:14:33 +03:00
Jérôme Gardou c05f3d8d1c [FASTFAT_NEW] Enable the driver 2021-02-03 09:41:22 +01:00
Serge Gautherie fa47d6f852 [CMIPCI][DOC] Fix 4 DriverVer values
And add entry to '3rd Party Files.txt'.

Addendum to 4b4d95d (r39827) and ee4368d (r58644).
2021-02-02 01:56:50 +03:00
Stanislav Motylkov df0261e799
[SCSIPORT] Append GEN_SCSIADAPTER compatible ID for legacy adapters (#3441)
Fixes UniATA root SCSI devices detection in the Device Manager.

Based on the description of GEN_SCSIADAPTER from Windows pnpscsi.inf:
- https://community.osr.com/discussion/41967/installing-isa-scsi-miniport-driver-through-f6-on-fresh-install-of-windows-2000-problem
- https://chat.reactos.org/reactos/pl/qii1w36wu7yrxyukh9b5dzwnje
- https://chat.reactos.org/reactos/pl/f5tanc9nfjdb5m17nhrq33994a

CORE-17398
2021-02-02 01:38:06 +03:00
Serge Gautherie 511134ec91 [CMIPCI] Compile it as NT5.2, not NT6.0
Addendum to ba2ab59 (r61334).
2021-02-01 09:43:31 +01:00
Hervé Poussineau 2a6d8465d6 [KDVBOX] Fix compilation with GAS x64 2021-01-28 23:10:01 +01:00
Victor Perevertkin b0c931ac91
[PARTMGR] Remove hacks as PnP manager should not send bogus IRPs anymore 2021-01-27 05:15:16 +03:00
Victor Perevertkin d14d7e5b8c
[USBHUB] Add a delay hack for USB boot
CORE-7826
2021-01-27 05:15:15 +03:00
Victor Perevertkin af0f8581ad
[HDAUDBUS] Return failure from HDA_SendVerbs on a timeout
Addendum to 48b3c61b5d
2021-01-18 04:02:32 +03:00
Victor Perevertkin 66cf1d20f4
[SCSIPORT] Use pointer alignment for MiniPortDeviceExtension
This seems logical and some miniport drivers (uniata) actually rely on
that.

CORE-17424
2021-01-17 01:46:35 +03:00
Hervé Poussineau 31fd1ba0c6 [ACPI] Fix compilation with GCC x64 2021-01-05 14:19:45 +01:00
Jérôme Gardou c8d07514c8 [CMAKE] Fix GCC -fstack-protector usage 2021-01-05 13:38:57 +01:00
Stanislav Motylkov 8cf363feb1
[UNIATA] Fix one of INF sections that made device unrecognized
In fact, UniATA todo.txt file mentions it implicitly:
- 159.fix bug with invalid INF section under XP+    (43e2)

CORE-17398
2021-01-05 02:58:04 +03:00
Victor Perevertkin 06bff99edb
[I8042PRT][RAMDISK] Fix usage of the RegistryPath in DriverEntry
We can't rely on it being zero-terminated, so ensure that it's
duplicated first before usage in RtlQueryRegistryValues
2021-01-04 17:19:12 +03:00
Victor Perevertkin b1c460d34e
[I8042PRT] Add service registry entry for the driver 2021-01-04 16:50:31 +03:00
Victor Perevertkin 9029f51d8c
[UNIATA] Reduce the stack usage in AtapiDmaInit 2021-01-04 16:43:23 +03:00
Thomas Faber 9587fe1c36
[ACPICA] Update to version 20201217. CORE-17410 2021-01-01 16:20:53 +01:00
Stanislav Motylkov 88d36c93a2
[UNIATA] Properly mark ReactOS diff from upstream
Addendum to 4b9cf2e (r71252), d14a872 (r73324), 7d65f2a (r71262), and 6c0ff7b.

CORE-11157 CORE-16078
2020-12-31 22:14:39 +03:00
Jérôme Gardou c9f1501373 [FASTFAT_NEW] Fix callback calling convention 2020-12-31 17:14:04 +01:00
Serge Gautherie 685f15e253
[ACPI] acpi_create_registry_table(): Close the key handle, on errors (#3372)
Addendum to 44f1cf1 (r74559). CORE-12942
2020-12-31 17:42:42 +03:00
Serge Gautherie 309ed0d1fe
[ACPI] AcpiRegOpenKey(): Add a missing OBJ_KERNEL_HANDLE (#3370)
CORE-10207
2020-12-31 17:42:03 +03:00
Stanislav Motylkov 0ed5db45a4
[UNIATA] Emulate SCSI INQUIRY to properly recognize Xbox DVD drives
CORE-16692
2020-12-31 15:54:42 +03:00
Stanislav Motylkov c57d0b7b98
[ACPI] Do not panic if ProcessorNameString does not exist
Windows does not create this value in the registry if the processor core
does not expose the Brand String. It's an optional value and existing code
accessing it already has proper NULL checks:
https://git.reactos.org/?p=reactos.git;a=blob;f=drivers/bus/acpi/buspdo.c;hb=b96e88894a4d55f5e8b94430deeb0f086151b24f#l748

This is the proper fix for regression in CORE-7952.
Addendum to 48912992 (r61666) and 4d992804 (r62642).

CORE-17413
2020-12-30 19:38:33 +03:00
Victor Perevertkin 62a4f9d42b
[MOUNTMGR] Do not handle device removal notification
Do not treat target device change notification as
DEVICE_INTERFACE_CHANGE_NOTIFICATION. The notification have to be
unregistered while handling GUID_DEVICE_INTERFACE_REMOVAL, so
GUID_TARGET_DEVICE_REMOVE_COMPLETE should never be sent to mountmgr in a
normal case.

CORE-16106
2020-12-27 18:35:52 +03:00
Hermès Bélusca-Maïto 8be5f73255
[SAC] Fix the HeadlessInformation.PortType checks in DriverEntry(). 2020-12-27 00:51:58 +01:00
Hermès Bélusca-Maïto 5214d2fab7
[SAC] Use NULL for null pointer in last argument in HeadlessDispatch() calls. 2020-12-27 00:51:58 +01:00
Hermès Bélusca-Maïto 4ab49bc276
[BLUE] IOCTL_CONSOLE_DRAW: Fix ConsoleDraw.SizeX/Y boundary checks. Always set the cursor position before possibly refreshing screen. 2020-12-27 00:51:42 +01:00
Jérôme Gardou 9e6866402b [FASTFAT_NEW] Fix ReactOS compiler workaround 2020-12-22 11:08:21 +01:00
Jérôme Gardou 57cf5cdc5d [FASTFAT_NEW] Tune compile options and definitions for debugging 2020-12-22 11:08:06 +01:00
Jérôme Gardou db34250b03 [FASTFAT_NEW] Fix build 2020-12-22 11:07:54 +01:00
Victor Perevertkin 97cf947919
[CDROM_NEW] Add the registry file to CMakeLists.txt
Addendum to 2f6abcc4c3
2020-12-19 21:41:52 +03:00
Victor Perevertkin 2f6abcc4c3
[CDROM_NEW] Add a registry file for use on livecd and setup 2020-12-19 21:24:24 +03:00
Joachim Henze 889eab78ca [CDFS] Fix a macro-copy-paste and shrink the binary size CORE-17405 2020-12-18 04:48:31 +01:00
Victor Perevertkin f9f5a78715
[MOUNTMGR] Fix bugs in MountMgrQueryDosVolumePath
- Do not access uninitialized SymlinkInformation on failure case
  and just return
- Do not make an assumption that MOUNTMGR_TARGET_NAME has a zero-string
2020-12-16 01:13:57 +03:00
Eric Kohl f095ff418b [SCSIPORT] Append the missing "SCSI <device type> Device" string to the device description 2020-12-13 16:24:58 +01:00
Eric Kohl e64984cabb [SCSIPORT] Trim the Device ID and the Device Description
- Extend CopyField to support a default character and trimming.
- Use CopyField instead of CopyFieldTruncate.

CORE-17396
2020-12-12 12:46:11 +01:00
Eric Kohl 8ba87f972d [SCSIPORT] Fix the hardware IDs and remove the superfluous one 2020-12-10 23:25:06 +01:00
Eric Kohl 5099f24373 [SCSIPORT] Add the enumerator (SCSI) to the Compatible IDs 2020-12-09 23:58:12 +01:00
Jérôme Gardou b089903520 [SCSIPORT] Addendum to 58ad5d9e02 2020-12-09 12:40:51 +01:00
Jérôme Gardou 58ad5d9e02 [SCSIPORT] Fix locking the device extension.
From MSDN:
It is an error to call KeReleaseSpinLockFromDpcLevel if the specified spin lock was acquired by calling KeAcquireSpinLock because the caller's original IRQL is not restored, which can cause deadlocks or fatal page faults.
2020-12-09 12:24:23 +01:00
Victor Perevertkin da1f4ed6af
[SCSIPORT] Fix setting the "Driver" field in the DeviceMap\Scsi registry key 2020-12-08 01:32:15 +03:00
Victor Perevertkin 39c48a4d91
[USBSTOR] Remove workarounds for old storage stack 2020-12-06 23:32:29 +03:00
Victor Perevertkin 2d6c6fa38d
[PARTMGR] Register a disk interface for disk PDO
CORE-14187
2020-12-06 19:47:15 +03:00
Eric Kohl cac7b003c0 Implement IRP_MN_QUERY_DEVICE_TEXT.DeviceTextLocationInformation 2020-12-06 12:42:50 +01:00
Victor Perevertkin f722be93d5
[USBSTOR] Enable USB (ATAPI) cdroms
With the cdrom_new driver, they now work

CORE-16112
2020-12-06 02:08:32 +03:00
Victor Perevertkin cbe88e287f
[USBSTOR][SCSIPORT] Use STORAGE_ADAPTER_DESCRIPTOR from WIN8
This way, these drivers are more compatible with classpnp and cdrom used
by ReactOS (and don't fire asserts)
2020-12-06 01:57:56 +03:00
Victor Perevertkin 139e8f5308
[BOOTDATA] Fix boot (addendum to dd56e065bc)
- GenCdRom is actually required now to be in CDDB
- Forgot to add partmgr registry keys

CORE-6264
2020-12-06 01:55:20 +03:00
Victor Perevertkin dd56e065bc
[REACTOS] Enable PnP storage stack
- Use PnP storage class drivers
- Make partmgr an upper filter driver for Disk class
- Fill upper filters in txtsetup and usetup/devinst
- Add cdrom driver to the critical device database

CORE-6264
2020-12-05 22:30:43 +03:00
Victor Perevertkin fb155b4ea4
[SCSIPORT] Fix Sense request sending
- Pass all SRB flags which Windows scsiport passes
- Correctly reset the queue after completion

This fixes the bug when MS cdrom driver hangs after media ejection
2020-12-05 22:28:54 +03:00
Victor Perevertkin a97c6e0aa9
[SCSIPORT] Make the driver PnP-aware
Basic functions are implemented in order to work in PnP stack,
only legacy (non-pnp) miniport drivers are supported.
Tested mostly with uniata

CORE-17132
2020-12-05 22:28:54 +03:00
Victor Perevertkin 15a7b9dd2f
[CLASSPNP][CDROM_NEW][DISK_NEW] Fix clang build
CORE-17129
2020-12-05 22:15:29 +03:00
Victor Perevertkin fe1b98fc36
[CLASSPNP] Fix amd64 build
CORE-17129
2020-12-05 22:15:10 +03:00
Victor Perevertkin eb682bbfab
[DISK_NEW] Various small fixes
- Silence a (possibly wrong) assert in DiskShutdownFlush
- Fix build with GCC and MSVC amd64

CORE-17129
2020-12-05 22:14:50 +03:00
Victor Perevertkin 99f16dc8a7
[STORAHCI] Do not put the driver onto cd
Meanwhile, fix add_registry_inf usage (it is really a driver inf)
2020-12-05 18:06:42 +03:00
Victor Perevertkin 16e5ce8fb1
[CMAKE] Use C_STANDARD property instead of command line option
Addendum to 64211aa696 and 19779b3f96
2020-12-05 15:35:06 +03:00
Jérôme Gardou 3ec3e1a7f6 [BTRFS] Fix wrong condition check 2020-12-04 15:49:39 +01:00
Thomas Faber 9cc1a26b70
[ACPICA] Update to version 20201113. CORE-17382 2020-11-22 11:23:25 +01:00
Jérôme Gardou 6488440a6a [PARTMGR] Use FORCEINLINE 2020-11-16 16:58:10 +01:00
Jérôme Gardou f424d52488 [EXT2FS] Use GNU89 standard when using CLang 2020-11-16 16:58:10 +01:00
Jérôme Gardou cab3e62f0e [CDFS] Use GNU89 standard when using CLang 2020-11-16 16:58:10 +01:00
Jérôme Gardou 567a5231d5 [NFS41_DRIVER] Use GNU89 standard when compiling with CLang. 2020-11-16 16:58:10 +01:00
Jérôme Gardou 1f8db9824e [STORAHCI] Use FORCEINLINE instead of __inline 2020-11-16 16:58:10 +01:00
Jérôme Gardou 378642eb4f [NDIS] Use FORCEINLINE instead of __inline 2020-11-16 16:58:10 +01:00
Hervé Poussineau 65cc802b73 [PCI] Accept a bus number range instead of a single bus number 2020-11-15 18:38:37 +01:00
Serge Gautherie 33714797f4
[COMPBATT] Add a missing OBJ_KERNEL_HANDLE
CORE-10207
2020-11-14 12:03:27 +01:00
Victor Perevertkin 4fc9467815
[PARTMGR] Disable driver startup 2020-11-13 04:13:32 +03:00
Victor Perevertkin bd8226afe7
[PARTMGR] Add the Partition Manager driver
This driver works as complement to disk.sys/classpnp.sys from Windows 10
Manages partition PDOs and exposes them as volumes to mountmgr.sys.
The driver is almost complete, just some minor IOCTLs missing (will be
added on demand)
2020-11-13 03:04:15 +03:00
Victor Perevertkin bbfc515eb3
[MOUNTMGR] Volumes with NO_DRIVE_LETTER attribute should not be mounted, not the opposite 2020-11-12 19:19:27 +03:00
Jérôme Gardou 3acbec4851 [KDGDB] Always use kernel stack to get stack frame 2020-11-09 10:47:05 +01:00
Victor Perevertkin b8525ce7a5
[MOUNTMGR] Fix ReparseFile concatenation in OnlineMountedVolumes
- ReparseFile was concatenated with itself, instead of ReparseIndex
- Meanwhile, use RtlAppendUnicodeStringToString for concatenating
  strings instead of raw memory operations
2020-11-08 23:32:25 +03:00
Victor Perevertkin ae72f18b55
[UNIATA] Add an inf file for UniATA Management Port 2020-11-03 23:23:35 +03:00
Victor Perevertkin 48b3c61b5d
[HDAUDBUS] Add a timeout into HDA_SendVerbs
This function may stuck during device installation if there are issues
with interrupts (or with a device itself).

This fixes the boot on my testing ThinkPad x60s
2020-11-03 23:18:14 +03:00
Victor Perevertkin da4ee18cc9
[STORPROP][CDROM_NEW][DISK_NEW] Improve disk and cdrom device installation
- Take a proper inf file for disk.sys
- Add class information into cdrom.inf
- Make a correct stub for storprop!DvdClassInstaller
2020-11-03 23:12:40 +03:00
Victor Perevertkin 5c7ce4475e
[REACTOS] Cleanup INIT and some PAGE section allocations
- Change INIT_FUNCTION and INIT_SECTION to CODE_SEG("INIT") and DATA_SEG("INIT") respectively
- Remove INIT_FUNCTION from function prototypes
- Remove alloc_text pragma calls as they are not needed anymore
2020-11-02 21:45:31 +03:00
Victor Perevertkin ba447018c8
[MOUNTMGR] Move the driver to drivers/storage
Effectively mountmgr.sys is an essential part of the storage stack
2020-11-01 12:35:56 +03:00
Timo Kreuzer 0e5a4d5afe [PSDK] Import some SAL headers from MS
Taken from https://github.com/microsoft/ChakraCore/tree/master/pal/inc/rt

* Move _Check_return_opt_ and _Check_return_wat_ to crtdefs.h
* Update sal.h from https://github.com/microsoft/ChakraCore/blob/master/pal/inc/rt/sal.h
* Import no_sal2.h from MS and remove the one in NDK
* Import specstrings.h from MS
* Import specstrings_strict.h from MS
* Add specstrings_undef.h (based on defines in specstrings_strict.h)
* Remove __REACTOS__ hacks from cdfs
2020-10-29 06:51:28 +01:00
Thomas Faber 303f17f884
[FASTFAT] Implement the overflow queue. CORE-17344 CORE-17328
This avoids blocking all Ex worker threads in fastfat, thereby making Cc
unable to issue the lazy writes that would unblock those workers.
This is more or less directly taken from fastfat_new.
2020-10-24 19:53:36 +02:00
Victor Perevertkin ba09834c5e
[PARPORT] Fix I/O port length check
The Standard Parallel Port (SPP) has 3 registers, not 4: data, status, control
This fixes the driver on the Compaq N600c laptop
2020-10-21 15:24:10 +03:00
Jérôme Gardou ed61512236 [CMAKE] Get rid of add_compile_flags_language macro
in favor of add_compile_options and the like with generator expressions
Also take this as an opportunity to remove the C++11 standard hack, GCC 8 now defaults to C++14
2020-10-20 21:44:54 +02:00
Jérôme Gardou 7e116f0ef3 [CMAKE] Get rid of replace_compile_flags
Introduce a finer-grained remove_target_compile_option instead
2020-10-20 21:44:54 +02:00
Jérôme Gardou d6ea8659c8 [CMAKE] Get rid of the set_cpp macro
Instead of messing with global variables and the like, we introduce two target properties:
 - WITH_CXX_EXCEPTIONS: if you want to use C++ exceptions
 - WITH_CXX_RTTI: if you need RTTI in your module
You can use the newly introduced set_target_cpp_properties function, with WITH_EXCEPTIONS and WITH_RTTI arguments
We also introduce two libraries :
 - cpprt: for C++ runtime routines
 - cppstl: for the C++ standard template library

NB: On GCC, this requires to create imported libraries with the related built-in libraries:libsupc++, limingwex, libstdc++

Finally, we manage the relevant flags with the ad-hoc generator expressions

So, if you don't need exceptions, nor RTTI, nor use any runtime at all: you simply have nothing else to do than add your C++ file to your module
2020-10-20 21:44:54 +02:00
Victor Perevertkin 1b45d9ee4b
[SCSIPORT] Split scsiport.c file into several ones, prepare for the refactoring
CORE-17132
2020-10-17 04:06:36 +03:00
Thomas Faber 320abafdc3
[FASTFAT] Ensure that deferred write IRP contexts are not touched. CORE-17328
Cc may decide to process deferred writes any time, so the context might
already be freed by the time we return from CcDeferWrite.
Also mark the IRP as pending, since we're going to return STATUS_PENDING.
2020-10-16 16:18:56 +02:00
Victor Perevertkin 83b85e2124
[CDROM_NEW] Import Microsoft CDROM class driver from GitHub
The source code is licensed under MS-PL license, taken from Windows Driver Samples
repository (microsoft/Windows-driver-samples@master/storage/class/cdrom/)
Synched with commit 96eb96dfb613e4c745db6bd1f53a92fe7e2290fc
The driver is written for Windows 10 and uses KMDF so we compile it with ntoskrnl_vista
and wdf01000 statically linked (for wdf01000 this will likely be changed in future)

CORE-17129
2020-10-16 04:37:10 +03:00
Thomas Faber 3499b96682
[ACPICA] Update to version 20200925. CORE-17170 2020-10-16 01:21:52 +02:00
Thomas Faber 8605f660f4
[ACPICA] Update to version 20200717. CORE-17170 2020-10-16 01:21:47 +02:00
Jérôme Gardou 612b1f2e6e [UDFS] Fix build with lower optimization level 2020-10-15 11:29:09 +02:00
Doug Lyons 79794b524c
[FASTFAT] Fix create for DOT and DOT-DOT leaving bad directory entry (#3241) 2020-10-12 18:54:06 +03:00
Dmitry Borisov 310a24da6e
[INPORT] Add driver for bus mouse devices (#3173)
It adds basic input support for:
- Standard Bus Mouse
- Standard InPort Mouse
- Logitech Bus Mouse
- Microsoft Bus Mouse
- Microsoft InPort Mouse
- NEC PC-98 Bus Mouse

Untested on PC/AT, but should work.
2020-10-10 16:46:16 +03:00
Thomas Brogan 2e1aeb12df
[TCPIP] Add NULL checks in DispTdiQueryInformation. CORE-12274
Add additional NULL checks to DispTdiQueryInformation,
which return STATUS_INVALID_PARAMETER.

Co-authored-by: Peter Hater <7element@mail.bg>
2020-10-03 13:05:12 +02:00
Adam Słaboń 50ff453434
[TRANSLATION] Polish translation update (#3233) 2020-09-26 21:42:36 +03:00
Katayama Hirofumi MZ 1062a297bf [DRIVERS][SCSIPORT] Fix build fdc47e7 2020-09-26 11:20:11 +09:00
Victor Perevertkin fdc47e7ea7
[SCSIPORT][FORMATTING] Fix formatting and PCH generation 2020-09-26 03:47:52 +03:00
Timo Kreuzer ab43f86980 [KSECDD] Fix RtlEncryptMemory and improve test 2020-09-25 09:39:51 +02:00
Victor Perevertkin d01518da7c
[XDK] Add definitions required for newer storage class drivers (cdrom)
That introduced some warnings in the current code which were corrected as well

CORE-17129
2020-09-24 22:30:52 +03:00
Michael Stamper e45bacda07
[PORTCLS] Fix audio stutter with official AC97 driver (#3225)
Replace call to AllocatedBufferSize(), with BufferSize().

Indeed (quoting https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/portcls/nf-portcls-idmachannel-buffersize ):

> The BufferSize() method returns the buffer size that was set by the previous call to IDmaChannel::SetBufferSize(). If SetBufferSize() has not been called since the IDmaChannel::AllocateBuffer() call, BufferSize returns the allocated buffer size. The DMA-channel object does not actually use this value internally. This value is maintained by the object to **allow its various clients to communicate the intended size of the buffer**.

And this is exactly what we want to do.
2020-09-22 15:49:34 +02:00
Serge Gautherie 889b077b23
[REACTOS] *.spec: Fix some function/parameter types (#3154) 2020-09-20 19:21:11 +02:00
Dmitry Borisov 0f8de896aa
[PCIIDEX] Implement missing PciIdeXDebugPrint function (#3146)
It's useful for debugging IDE controller minidrivers, and it makes pciidex.sys work on Windows XP/2003.
- https://user-images.githubusercontent.com/37072976/92856412-39d56b80-f415-11ea-880f-48998c11112d.png

CORE-17256
2020-09-15 15:10:52 +03:00
Nguyen Trung Khanh 166f815e7b
[FILESYSTEMS] Fix pool memory disclosure in filesystem drivers supporting FS_INFORMATION_CLASS.FileFsVolumeInformation (#2975)
* FileFsVolumeInformation-memory-disclosure

* remove unnecessary assignment to 0

* fix
2020-09-11 15:51:35 +03:00
Nguyen Trung Khanh ede7a20a17
[FILESYSTEMS] Fix pool memory disclosure in NtQueryAttributesFile handlers (#2926)
Fix pool memory disclosure caused by alignment bytes at the end of the _FILE_BASIC_INFORMATION structure
2020-09-11 15:47:43 +03:00
Kyle Katarn 038daa6367
[SHELL32][PAINT][DRIVERS][SHELLEXT] French translation update (#3092)
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-09-03 15:16:44 +02:00
Victor Perevertkin f144b8c10d
[DISK_NEW] Import Microsoft Disk class driver from GitHub
The source code is licensed under MS-PL license, taken from Windows Driver Samples
repository (https://github.com/microsoft/Windows-driver-samples/tree/master/storage/class/disk/)
Synched with commit 3428c5feaac7c1a5e2a09db0ed93392f7568f9e6
The driver is written for Windows 8+, so we compile it with ntoskrnl_vista
statically linked and with NTDDI_WIN8 defined

CORE-17129
2020-08-30 03:43:14 +03:00
Victor Perevertkin fa8ce680d4
[CLASSPNP] Add the license text along with the driver
Addendum to bf1b3cb175
2020-08-30 03:40:37 +03:00
Victor Perevertkin bf1b3cb175
[CLASSPNP] Import Microsoft SCSI class driver from GitHub
The source code is licensed under MS-PL license, taken from Windows Driver Samples
repository (https://github.com/microsoft/Windows-driver-samples/tree/master/storage/class/classpnp/)
Synched with commit 88541f70c4273ecd30c8c7c72135bc038a00fd88
The driver is written for Windows 8+, so we compile it with ntoskrnl_vista
statically linked and with NTDDI_WIN8 defined

CORE-17129
2020-08-29 06:06:22 +03:00
Victor Perevertkin c57350e295
[CLASSPNP][DISK_NEW][CDROM_NEW] Remove the drivers
Due to WDK/DDK licensing issues

CORE-17129
2020-08-28 05:47:27 +03:00
Stanislav Motylkov 27ad576ff1
[RAMDISK] Add Russian (ru-RU) translation to INF file
Addendum to c166933.
2020-08-27 02:36:27 +03:00
Adam Słaboń c166933135
[RAMDISK] Add setup information file for the ramdisk driver (#3100) 2020-08-27 01:28:31 +03:00
Stanislav Motylkov 2a77e359e4
[XBOX] Move NV2A XGPU definitions into header file
TODO: helper functions should be also moved. CORE-16216
2020-08-26 16:58:01 +03:00