Stanislav Motylkov
6924b8ff39
[NE2000] Combine two INF files into one for ISA and PCI cards
2021-06-20 20:16:33 +03:00
Dmitry Borisov
18b4cc1479
[ISAPNP] Start the driver early in the boot
...
Because our child devices can have boot-start drivers
2021-06-20 19:24:32 +06:00
Dmitry Borisov
adac7dc2e5
[ISAPNP] Implement device configuration
2021-06-20 19:24:32 +06:00
Dmitry Borisov
8939abf113
[ISAPNP] Disable bus scan on unsupported platforms
...
This speeds up boot a bit and also decreases binary size.
- Introduce a new CMake define ISAPNP_ENABLE that defined only in x86 platform
when ISA PnP is supported.
2021-06-20 19:24:32 +06:00
Dmitry Borisov
e318d22940
[ISAPNP] Disable I/O range check before activation
...
See Table A-2 of "Plug and Play ISA Specification 1.0a"
2021-06-20 19:24:31 +06:00
Dmitry Borisov
367f4b1581
[ISAPNP] Map configuration states to PnP states
...
Rework the hardware support code to avoid unneeded transitions
between configuration states.
- Only call WaitForKey when needed.
- Each PnP state transition causes the bus to move to WaitForKey state.
Besides, deactivate logical device during processing remove request.
2021-06-20 19:24:31 +06:00
Dmitry Borisov
d6dca83baf
[ISAPNP] Reduce software delay
2021-06-20 19:24:31 +06:00
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