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
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
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
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
Stanislav Motylkov
4959ccc8df
[ACPI] Improve Russian translation INF file
...
Also some minor whitespace fixes
2021-04-27 23:58:53 +03:00
Hervé Poussineau
31fd1ba0c6
[ACPI] Fix compilation with GCC x64
2021-01-05 14:19:45 +01:00
Thomas Faber
9587fe1c36
[ACPICA] Update to version 20201217. CORE-17410
2021-01-01 16:20:53 +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
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
Thomas Faber
9cc1a26b70
[ACPICA] Update to version 20201113. CORE-17382
2020-11-22 11:23:25 +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
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
Hervé Poussineau
9df05ba4b6
[ISAPNP] Properly stub IRP_MJ_POWER
2020-07-30 13:24:29 +02:00
Hervé Poussineau
2b9941e7cb
[PCI] Fix PDO removal
...
We must not do anything on PDO removal, especially not deleting it.
We are allowed to delete it, only once we successfully completed a IRP_MN_QUERY_DEVICE_RELATIONS without with PDO.
2020-06-20 08:16:24 +02:00
Thomas Faber
cab7e9ade8
[ACPICA] Update to version 20200528. CORE-17094
2020-06-14 09:19:02 +02:00
Amine Khaldi
139a3d6661
[CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905
2020-06-06 21:58:41 +03:00
Hervé Poussineau
e246b9947e
[ISAPNP] Mark read data port as started, even if no ISAPNP card is present
...
CORE-17056
2020-05-16 23:20:38 +02:00
Mark Jansen
da777baa3d
[ISAPNP] Initialize uninitialized variable
...
Return value was a suggestion from Thomas,
it still boots for me (tm)
2020-05-16 14:03:04 +02:00
Hervé Poussineau
fc0a0b9f84
[ISAPNP] Mark Read Data Port as not having a unique ID
...
This fixes a bugcheck in ntoskrnl.exe when computer has multiple ISA buses.
CORE-17034
2020-05-09 16:54:46 +02:00
Thomas Faber
baa3380649
[ACPICA] Update to version 20190430. CORE-16998
2020-05-01 12:18:48 +02:00
Victor Perevertkin
019f21ee1d
[MEDIA][CMAKE] Create add_driver_inf cmake function
...
*.inf files for drivers can now be placed along with the driver code
2020-04-26 20:28:04 +03:00
Timo Kreuzer
b82bf8ce16
[NTOS:IO] Fix parsing of resource lists
...
Also add a hack to avoid failing on now occurring resource conflict detection and try to fix at least one resource in ACPI hal.
CORE-10146
CORE-12892
2020-04-24 13:58:09 +03:00
Thomas Faber
152265729b
[ACPI] Properly return a single alternative in Bus_PDO_QueryResourceRequirements. CORE-12892 CORE-14688
...
In ACPI resource descriptors, alternatives are marked with
StartDependent tags. Only the last set is terminated with EndDependent.
Therefore, since we only return the first alternative list for now,
ignore the first StartDependent tag and terminate enumeration at the second.
In the future we will need to build the full set of alternative lists here,
which will also make the unit test succeed fully.
This should fix random resource conflicts and make COM ports usable.
2020-04-11 23:43:05 +02:00
Thomas Faber
28be285da5
[ACPI] Avoid unnecessary casts.
2020-04-11 23:43:05 +02:00
Thomas Faber
9bcd835074
[ACPI_APITEST] Add a unit test for Bus_PDO_QueryResourceRequirements. CORE-12892
...
This will allow us to verify fixes made to function, which is quite broken.
2020-04-11 23:42:59 +02:00
Vadim Galyant
ef2323a146
[HALX86][PCIX] Statically link HALx86 and PCIX to the arbiter library. ( #2471 )
2020-04-09 19:41:16 +02:00
Thomas Faber
040546d8ff
[ACPICA] Update to version 20200326. CORE-16783
2020-04-05 14:44:53 +02:00
Hervé Poussineau
7cda1ed2f5
[ISAPNP] Report DMA channels
2020-03-26 16:36:23 +01:00
Hervé Poussineau
eb66324d7c
[ISAPNP] Fix reporting of devices with hexadecimal productId
2020-03-26 16:36:22 +01:00
Hervé Poussineau
67141abef1
[ISAPNP] Create requirements and resource lists when detecting a device
2020-03-22 14:29:38 +01:00
Hervé Poussineau
0ca5567894
[ISAPNP] Read all tags when detecting devices, and keep interesting ones
...
Currently, we only keep device identification, IO ports and IRQs.
2020-03-22 14:29:38 +01:00
Hervé Poussineau
61c1079a18
[ISAPNP] Create resource list ahead of IRP_MN_QUERY_RESOURCES
2020-03-22 14:29:38 +01:00
Hervé Poussineau
debec8c96e
[ISAPNP] Create resource requirements ahead of IRP_MN_QUERY_RESOURCE_REQUIREMENTS
2020-03-22 14:29:38 +01:00
Hervé Poussineau
1dcc6f8b94
[ISAPNP] Fix capabilities for devices
2020-03-22 14:29:38 +01:00
Hervé Poussineau
42724f47f8
[ISAPNP] Return a compatibleIDs only if defined
2020-03-22 14:29:38 +01:00
Hervé Poussineau
b905c40d2e
[ISAPNP] Fix some indentation
2020-03-22 14:29:38 +01:00
Hervé Poussineau
7b1e28e724
[ISAPNP] Fix some warnings
2020-03-21 08:29:15 +01:00
Hervé Poussineau
2abd853b37
[ISAPNP] Implement some more IRP_MJ_PNP/IRP_MN_* requests
...
We either succeed them, or we pass them down to the ISAPNP FDO.
2020-03-20 22:40:11 +01:00
Hervé Poussineau
8b53ed1d9b
[ISAPNP] Implement IRP_MN_QUERY_PNP_DEVICE_STATE for ReadDataPort
2020-03-20 22:40:11 +01:00
Hervé Poussineau
5b9929a076
[ISAPNP] Detect devices only once ReadDataPort is started
...
Also let kernel choose the read data port address, by using the resources given in IRP_MN_START_DEVICE.
2020-03-20 22:40:11 +01:00
Hervé Poussineau
5a404e6c50
[ISAPNP] Implement IRP_MN_QUERY_RESOURCES/IRP_MN_QUERY_RESOURCE_REQUIREMENTS for ReadDataPort
2020-03-20 22:40:11 +01:00
Hervé Poussineau
2fe644dc86
[ISAPNP] Report removal relations on ReadDataPort
2020-03-20 22:40:11 +01:00
Hervé Poussineau
c4813f73f5
[ISAPNP] Report a ReadDataPort PDO
...
This PDO will later request resources required for ISAPNP bus.
2020-03-20 22:40:11 +01:00
Hervé Poussineau
e0607fcebf
[ISAPNP] Create PDO identifiers ahead of IRP_MN_QUERY_ID
2020-03-20 22:40:11 +01:00
Hervé Poussineau
89aff07a67
[ISAPNP] Extract function to create DOs
2020-03-20 22:40:11 +01:00
Hervé Poussineau
d0c7bd98c7
[ISAPNP] Fix some return codes
2020-03-20 22:40:11 +01:00
Hervé Poussineau
947b49aac3
[ISAPNP] Reformat files. No code change.
2020-03-20 22:40:11 +01:00
Hervé Poussineau
7a98d28d7f
[ISAPNP] Rewrite device reporting method
...
IoCreateDevice() was called too early, when a spinlock was acquired.
Create ISAPNP_LOGICAL_DEVICE structure when a device is detected, and call IoCreateDevice() later, when required.
2020-03-14 23:39:01 +01:00
Hervé Poussineau
58e8be6258
[ISAPNP] Fix reading of serial number
2020-03-14 23:39:00 +01:00
Thomas Faber
696cdc635b
[ACPICA] Update to version 20200214. CORE-16696
2020-02-15 20:45:53 +01:00
Thomas Faber
81e6846e06
[ACPICA] Update to version 20200110 (Copyright update only). CORE-16696
2020-02-15 20:45:48 +01:00
Hervé Poussineau
4788676671
[ISAPNP] Implement IRP_MN_QUERY_CAPABILITIES + IRP_MN_QUERY_ID
2020-02-10 21:33:36 +01:00
Hervé Poussineau
c96ba5a713
[ISAPNP] Also read serial numbers of devices
2020-02-10 21:33:36 +01:00
Hervé Poussineau
bec0ceb82f
[ISAPNP] Store VendorId/ProdId in the usual form
2020-02-10 21:33:36 +01:00
Hervé Poussineau
8eb3173896
[ISAPNP] When skipping a wrong tag in configuration, skip the length of this tag
2020-02-10 21:33:36 +01:00
Hervé Poussineau
40b2f65f0c
[ISAPNP] Correctly calculate checksum
...
See appendix B.2 of "Plug and Play ISA Specification 1.0a"
2020-02-07 23:48:53 +01:00
Thomas Faber
be617cf987
[ACPICA] Update to version 20191213. CORE-16559
2019-12-14 09:48:11 +01:00
Hermès Bélusca-Maïto
75f188c200
[PCIX][BLUE] Don't hardcode values in KeDelayExecutionThread() call. Remove deprecated code.
2019-11-25 00:41:48 +01:00
Thomas Faber
d170b6ab3e
[ACPICA] Update to version 20191018. CORE-16434
...
This includes a cherry-pick of
3e0d03893c
to fix build.
2019-11-16 16:12:16 +01:00
Thomas Faber
5d4f13f625
[ACPICA] Update to version 20190816. CORE-16368
2019-09-08 07:46:53 +02:00
Timo Kreuzer
08c6d21e1f
[REACTOS] Fix warning C4146: unary minus operator applied to unsigned type, result still unsigned
2019-07-27 11:21:28 +02:00
Thomas Faber
aa46da57d4
[ACPICA] Update to version 20190703. CORE-16202
2019-07-20 08:47:50 +02:00
Timo Kreuzer
ad60726288
[ACPICA] Fix MSVC x64 build
...
See CORE-16082
2019-07-14 11:35:50 +02:00
Thomas Faber
d9f9cb247c
[PCI] The INIT section must be uppercase.
2019-07-07 08:18:12 +02:00
Thomas Faber
2e21126cb0
[ACPICA] Update to version 20190509. CORE-16138
2019-06-25 09:26:07 +02:00
Thomas Faber
89a587169b
[ACPICA] Update to version 20190405. CORE-15926
2019-04-07 10:59:52 +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
Thomas Faber
ba1fb9ace9
[ACPICA] Update to version 20190329. CORE-15900
2019-03-30 14:57:35 +01:00
Thomas Faber
9d53c935f2
[ACPI] Update ACPICA library to version 20190215.
2019-02-17 09:51:20 +01:00
Thomas Faber
363f5f26b1
[ACPICA] Update to version 20190108. CORE-15593
2019-01-12 16:27:54 +01:00
Thomas Faber
ecbd6353cc
[ACPICA] Update to version 20181213. CORE-15593
2019-01-12 16:27:42 +01:00
Eric Kohl
8be4a871b1
Addendum to 60f018ae
: Remove obsolete DPRINTs and fix a DPRINT.
2019-01-03 21:32:33 +01:00
Eric Kohl
60f018aea6
[ACPI] Add code to retrieve packet type data from ACPI methods. This will enable the cmbatt driver to retrieve _BIF (battery information) or _BST (battery status) data. Also fix the buffer size calculation for integer and string data.
2019-01-02 23:29:12 +01:00
Thomas Faber
b062d28bc6
[ACPICA] Update to version 20181003. CORE-15222
2018-10-28 15:28:37 +01:00
Thomas Faber
6847cc3ae0
[ACPICA] Update to version 20180531. CORE-15222
2018-10-28 15:28:34 +01:00
Thomas Faber
2deb69c1f8
[ACPICA] Update to version 20180105. CORE-15222
2018-10-28 15:28:32 +01:00
Thomas Faber
ec55f0eb7f
[ACPICA] Update to version 20171215. CORE-15222
2018-10-28 15:28:29 +01:00
Serge Gautherie
7d6bda16c6
[REACTOS] Improve how some ASSERTMSG() message values are printed: enforce ending "\n".
...
NB: Not touching calls in "third-party" code: class and classpnp.
2018-08-08 22:03:45 +02:00
Timo Kreuzer
9e066abe2a
[DRIVERS] Fix 64 bit issues
2018-08-04 19:19:34 +02:00
Hermès Bélusca-Maïto
2183e65c17
[ACPI] Fix the format of the (default hardcoded) "unique" instance ID.
2018-04-22 16:52:42 +02:00
Bișoc George
1a951aa4e6
[BUS][ACPI] Silence DPRINT1 in the special case of IOCTL_BATTERY_QUERY_TAG ( #427 )
2018-03-12 15:29:14 +01:00
Amine Khaldi
433d20f16e
[ACPICA] Take the gcc code path for host configuration when compiling with clang. CORE-11799 ( #94 )
2017-10-30 22:45:42 +01:00
Colin Finck
c2c66aff7d
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
2017-10-03 07:45:34 +00:00