Commit graph

849 commits

Author SHA1 Message Date
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
Thomas Faber dff2d58693
[NPFS] Set completion routine on the correct IRP in NpTransceive. 2020-08-23 17:05:52 +02:00
Thomas Faber 794d00c303
[FREELDR][NETKVM][ATL_APITEST] Pick the GCC code path for clang in some cases. CORE-17202 2020-08-23 12:07:37 +02:00
Serge Gautherie 6b8f3967ae
[REISERFS] Fix MSVC compilation with '_VS_ANALYZE_' (#3013)
'...\write.c(38): error C2373: 'RfsdFloppyFlush': redefinition; different type modifiers'
'...\write.c(45): error C2373: 'RfsdFloppyFlushDpc': redefinition; different type modifiers'
2020-08-18 14:20:30 +03:00
Nguyen Trung Khanh 9adcacdbc8
[MOUNTMGR] Fix pool memory disclosure in QueryPointsFromMemory (#3022) 2020-08-17 16:45:35 +02:00
Joachim Henze 011a9e2ae8 [SCSIPORT] Demote a noisy DPRINT1 to DPRINT CORE-17200
It started to spam when more components of the MountMgr
were coded during 0.4.14dev.

According to Victor Perevertkin it is not crucial for us
to see it, as those are 'optional MountMgr features'.
Imho this points towards unimplemented stuff.

No official ros release has been affected, because I did
revert most of the new MountMgr features for 0.4.14release
earlier.
2020-08-15 12:50:45 +02:00
Victor Perevertkin a77a65ab6d
[MOUNTMGR] Avoid an endless loop while sending GUID_IO_VOLUME_NAME_CHANGE notification 2020-08-01 04:58:08 +03:00
Hervé Poussineau 9df05ba4b6 [ISAPNP] Properly stub IRP_MJ_POWER 2020-07-30 13:24:29 +02:00
Dmitry Borisov 06cbc2acd2
[BOOTVID] More improvements for PC-98 (#2936)
- Fix failure handling
- Reduce memory mapping that's not needed
2020-07-29 19:10:39 +03:00
Dmitry Borisov e318801c1c
[BOOTVID] Fix screen buffer copying code for PC-98 (#2936) 2020-07-29 19:10:39 +03:00
Dmitry Borisov c87be643f8
[BOOTVID] Improve text scrolling performance for PC-98 (#2936) 2020-07-29 19:10:39 +03:00
Dmitry Borisov 5d40981efa
[BOOTVID] Fix BitBlt behavior (#2936) 2020-07-29 19:10:38 +03:00
Dmitry Borisov da9384b918
[BOOTVID] Annotate some functions to avoid confusing (#2936)
Also fix some magic constants.
2020-07-29 19:10:38 +03:00
Dmitry Borisov 4d54b8ce69
[BOOTVID] Fix drawing strings on top of the bitmap (#2936)
Also fix VGA pixel drawing.

CORE-15896
2020-07-29 19:10:38 +03:00
Stanislav Motylkov 06d5ed7ece
[FASTFAT] Support 64 KiB cluster sizes
FAT16 filesystem was not recognized on some 4GB USB flash drives.
This change makes them just work.

References:
- https://chat.reactos.org/reactos/pl/h83pm5ngkffk7qiyrmqnaaopxh
- https://support.microsoft.com/en-us/help/140365/default-cluster-size-for-ntfs-fat-and-exfat

CORE-16511
2020-07-22 19:50:24 +03:00
Trevor Thompson b338fb7beb [CLASS2]: Set DiskSize member of deviceExtension->DiskGeometry in ScsiClassReadDriveCapacity(). Consolidate code and comment for setting media capacity in bytes. CORE-17166 2020-07-21 01:21:16 +03:00
Serge Gautherie 89971a3757
[CDFS][FLOPPY_NEW] Simplify unsupported NT6.2+ workarounds (#2956) 2020-07-18 15:31:48 +02:00
Victor Perevertkin c40b0866b1
[UDFS] Zero-initialize IO_STATUS_BLOCK data in UDFCommonCreate
Some places have been changed to return FILE_DOES_NOT_EXIST, everything
else just returns 0. FastFAT driver from MS does the same (tm),
so I'm not going to have a big research here.
CORE-16623

Co-authored-by: Suraj K Suresh <kssuraj15@gmail.com>
2020-06-29 02:37:12 +03:00
Serge Gautherie 8983adf967
[FASTFAT_NEW] Sync to upstream 16022c5 (#2938) 2020-06-26 20:03:01 +03:00
Victor Perevertkin 1e512e29dc
[USBSTOR] Correctly terminate a REG_MULTI_SZ string
returned by the IRP_MN_QUERY_ID handler
2020-06-24 21:15:58 +03:00
Thomas Faber 67592f9750
[NPFS] Fix querying FileAllInformation. 2020-06-24 09:04:05 +02:00