Commit graph

82034 commits

Author SHA1 Message Date
Dmitry Borisov
734cd5e842 [PCI][HALX86] Support PCI debugging devices
Also optimize the PCI bus scanning

CORE-17360
2022-06-06 01:47:21 +03:00
Eric Kohl
216d69c59e [DISKPART] Add help text for the DETAIL DISK command 2022-06-05 22:22:16 +02:00
Eric Kohl
be88af54e7 [DISKPART] Implements part of the FILESYSTEMS command 2022-06-05 18:23:08 +02:00
Eric Kohl
d3d5eae19e [DISKPART] Add the SET command as a SETID alias 2022-06-05 17:36:32 +02:00
Eric Kohl
c70f5033ec [DISKPART] Implement the OVERRIDE option for the DELETE PARTITION command 2022-06-05 10:30:55 +02:00
Eric Kohl
58eb4e5bde [DISKPART] Add success and failure messages for the DELETE PARTITION command 2022-06-05 08:47:46 +02:00
Tuur Martens
d31642c712 [NTOS:MM] Fix memory leak in NtAllocateVirtualMemory
When an allocated VAD's insertion fails, the VAD is not freed. This commit attempts to fix this behaviour.
2022-06-04 22:44:27 +02:00
Mark Jansen
b60408c9f1
[CI] Increase operations-per-run for the stale script 2022-06-04 20:35:01 +02:00
Eric Kohl
6c797bf86a [DISKPART] Report success or failure for CREATE PARTITION commands 2022-06-04 20:27:11 +02:00
Eric Kohl
e636b14d7e [DISKPART] Add help texts for the ACTIVE and INACTIVE commands 2022-06-04 13:36:17 +02:00
Eric Kohl
f3ff7ddd09 [DISKPART] German translation part 1 2022-06-04 11:44:57 +02:00
Hermès Bélusca-Maïto
79dbb73b6f
[DISKPART] Fix build...
- Fix the LANGUAGE declaration in de-DE.rc (originally was copy-pasted
  from en-US, and thus caused the build break).

- Include de-DE.rc in alphabetical order in diskpart.rc
2022-06-02 14:03:11 +02:00
Eric Kohl
a3a8fdc84b [DISKPART] Add german translation 2022-06-01 23:25:54 +02:00
Eric Kohl
ca51f00049 [DISKPART] Get rid of PrintMessageString() 2022-06-01 00:46:45 +02:00
Oleg Dubinskiy
31139c253f
[WIN32SS][NTDDRAW][NTGDI] Implement some DxEng* callbacks (#3638)
Implement the following DxEng* functions:
- DxEngAltLockSurface
- DxEngDeleteSurface
- DxEngReferenceHdev
- DxEngSelectBitmap
- DxEngSetBitmapOwner
- DxEngUnreferenceHdev

Update their prototypes and call the appropriate win32k functions
inside them, since they are already implemented. Also get rid of
now unused IntGdi(Un)ReferencePdev, whose were called only by dxeng,
and whose are not used anymore. In Windows, DxEng(Un)ReferenceHdev calls
PDEVOBJ_vReferencePDEV and PDEVOBJ_vDeferencePDEV directly (those
correspond to our PDEVOBJ_vReference and PDEVOBJ_vRelease accordingly).

Required by MS DirectDraw stack (ddraw.dll & dxg.sys). CORE-17561
2022-06-01 00:58:35 +03:00
Mark Jansen
491dae1708 [ROSAPPS] Remove 'theme/dump' reference code 2022-05-31 23:24:16 +03:00
Mark Jansen
9e1199713e [ROSAPPS] Remove 'stats' utility 2022-05-31 23:24:01 +03:00
Jose Carlos Jesus
d432436fed
[TRANSLATION] Improve Portuguese (pt-PT) translation (#4522)
- [REGEDIT] [INTL] [DEVMGR] Improve pt-PT translation
- [W32TIME] Add pt-PT translation
- [BOOTDATA] Add pt-PT to hivesys.inf
2022-05-31 02:04:41 +03:00
Stanislav Motylkov
26b88af642
[WIN32SS] Add missing code parts for monitor handling
- [VIDEOPRT] Add stub for IOCTL_VIDEO_ENUM_MONITOR_PDO.

- [WIN32SS:ENG] Add missing checks and comments.

- [WIN32SS:NTUSER] Add missing monitor handling and comments.

Addendum to 31827c43. CORE-18197 CORE-11715
2022-05-30 15:28:44 +03:00
Stanislav Motylkov
31827c43b6
[WIN32SS] EnumDisplayDevices: Fill DeviceID field properly
- [VIDEOPRT] Return the real PhysicalDeviceObject in Win32k callbacks.

- [WIN32SS:ENG] Pass PhysDeviceObject into the GraphicsDevice structure
  and rename the destination field accordingly.

- [WIN32SS:NTUSER] Request hardware identifiers from device PDO and
  fill DISPLAY_DEVICE's DeviceID field with the first identifier.

Now it's correctly passed to the usermode, and Desktop Propertes applet
can open the video adapter device properties.

Thanks to Hervé Poussineau for the help.

CORE-18197 CORE-11715
2022-05-30 15:28:21 +03:00
Hermès Bélusca-Maïto
ee613a18eb
[DISKPART] Fix build. Simplify PrintMessageString(). 2022-05-30 02:41:31 +02:00
Eric Kohl
c287c08b27 [DISKPART] Convert command help to messages and fix some texts 2022-05-30 01:09:08 +02:00
Stanislav Motylkov
488643583d
[USETUP] Fix several typos in Russian (ru-RU) translation
CORE-18203
2022-05-29 23:46:19 +03:00
George Bișoc
9a2c62b544
[NTOS:SE] Reorganize the security manager component
The current state of Security manager's code is kind of a mess. Mainly, there's code scattered around places where they shouldn't belong and token implementation (token.c) is already of a bloat in itself as it is. The file has over 6k lines and it's subject to grow exponentially with improvements, features, whatever that is.

With that being said, the token implementation code in the kernel will be split accordingly and rest of the code moved to appropriate places. The new layout will look as follows (excluding the already existing files):

- client.c (Client security implementation code)
- objtype.c (Object type list implementation code -- more code related to object types will be put here when I'm going to implement object type access checks in the future)
- subject.c (Subject security context support)

The token implementation in the kernel will be split in 4 distinct files as shown:

- token.c (Base token support routines)
- tokenlif.c (Life management of a token object -- that is Duplication, Creation and Filtering)
- tokencls.c (Token Query/Set Information Classes support)
- tokenadj.c (Token privileges/groups adjusting support)

In addition to that, tidy up the internal header and reorganize it as well.
2022-05-29 20:22:19 +02:00
Mark Jansen
96eacfc352
[GITHUB] Add workflow to close stale PR's 2022-05-29 20:10:31 +02:00
Eric Kohl
54efd75889 [DISKPART] Improve DETAIL commands 2022-05-29 17:32:34 +02:00
Tuur Martens
cc99b9d96e [NTOS:MM] Fix MiInsertSharedUserPageVad preventing boot on x64
Fix MiInsertSharedUserPageVad to not charge the system process pool quota.
Even though PsChargeProcessNonPagedPoolQuota itself checks if the process specified is the system process, this doesn't work here as we're too early into boot for the kernel to know what the system process is.
2022-05-29 13:28:27 +02:00
Eric Kohl
96d137a559 [DISKPART] Silence a debug message 2022-05-29 13:07:53 +02:00
Eric Kohl
5a1c00c117 [DISKPART] Improve the LIST VOLUME command 2022-05-29 12:41:42 +02:00
Eric Kohl
863400813a [DISKPART] Implement CREATE PARTITION LOGICAL 2022-05-29 10:05:51 +02:00
Eric Kohl
52bbf6078e [DISKPART] Implement CREATE PARTITION EXTENDED and warn about unimplemented options 2022-05-28 13:17:45 +02:00
Eric Kohl
723947eab1 [DISKPART] Implement CREATE PARTITION PRIMARY and DELETE PARTITION 2022-05-28 11:33:29 +02:00
Eric Kohl
166b88f95c [DISKPART] Fix crashes in the interpreter 2022-05-28 09:54:46 +02:00
Stanislav Motylkov
17e0e4428c
[PC98VID] Fix video driver settings
- Store settings in non hardware-profile registry key.
- Rename driver file to vgapnp.sys to keep in sync with VBE.
- This makes PC-98 video driver working again.

Addendum to 073a1ea3 and f03750de. CORE-18201 CORE-17977
2022-05-27 18:56:13 +03:00
Stanislav Motylkov
5471363801
[XBOXVMP] Fix video driver settings
- Store settings in non hardware-profile registry key.
- This makes Xbox video driver working again.

Addendum to f03750de. CORE-16216
2022-05-27 18:54:20 +03:00
Victor Perevertkin
a5a6101ca0
[CMAKE] Fix buildbot builders 2022-05-27 01:48:52 +03:00
Victor Perevertkin
447ef2aa4a
[CMAKE] Do not use USE_CLANG_CL variable in CMake scripts 2022-05-27 01:37:37 +03:00
Victor Perevertkin
f155b9377f
[CMAKE] Elimitate the use of GCC and CLANG variables 2022-05-27 01:37:34 +03:00
Dmitry Borisov
6f4be52a1c
[HALX86] Print the correct size of the BAR in HalpDebugPciDumpBus()
Reference: https://wiki.osdev.org/PCI#Address_and_size_of_the_BAR

To determine the amount of address space needed by a PCI device,
you must save the original value of the BAR, write a value
of all 1's to the register, then read it back.

Note: 64-bit BARs are not supported yet.
2022-05-26 16:40:17 +03:00
Mark Jansen
11e0ed3c2b
[ASM x64] Fix UNIMPLEMENTED macro for MSVC 2022-05-25 23:16:04 +02:00
Mark Jansen
8ea46b53e3
[KERNEL32] Fix reading SafeDllSearchMode 2022-05-25 22:43:47 +02:00
Stanislav Motylkov
8b55d712a7
[GITHUB] Add MSVC ARM64 builder
This builds only some applications for now.

CORE-17518
2022-05-25 21:10:17 +03:00
Justin Miller
4363e74ddc
[REACTOS] Finally get some ARM64 applications building (#4517)
- Add some missing ARM64 exports to ntdll, kernel32 and user32
- Create mmtypes header file based on WoA debug symbols
- Get the remaining headers in order, so we can build ARM64 apps
- Adjust subsystem version for binaries so they can run on WoA host
- Get calc, notepad and more base apps to build for ARM64 platform

CORE-17518

Reviewed-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
Reviewed-by: Stanislav Motylkov <x86corez@gmail.com>
2022-05-25 17:06:32 +03:00
William Kent
3464df8c28
[CMAKE] Search the PATH for the compilers and cache the results
We are deliberately using a macro here instead of REQUIRED parameter
because it is available only in CMake 3.18+, so it won't work with
CMake version that is being shipped with RosBE.

On my dev box the RosBE tools are only in the PATH when needed.
Since my IDE inherits the PATH from the system and not from my shell,
I needed to be able to run configure.sh with the tools in my PATH
and then be able to successfully reconfigure when building
from a "regular" command prompt.
2022-05-25 16:34:16 +03:00
William Kent
6c38b251cf
[DBGHELP] Fix rsym runtime crash on ARM64 host
CORE-17518
2022-05-25 16:34:16 +03:00
William Kent
21bd607758
[MKISOFS] Add ARM64 processor support
Also changed a "shouldn't-ever-happen" deliberate syntax error into a proper #error.

CORE-17518
2022-05-25 16:34:11 +03:00
George Bișoc
b922b6d7fc
[NTOS:KE] Write a basic kernel mode test for FPU Save/Restore mechanism 2022-05-24 18:39:46 +02:00
George Bișoc
064a35dc67
[NTOS:KE] Fully implement FPU Save/Restore mechanism
This commit fully implements the inner logic of KeSaveFloatingPointState and KeRestoreFloatingPointState routines. On ReactOS we're currently simply doing a FNSAVE operation whereas on Windows it is a lot more than that.

On Windows Server 2003 the logic more or less goes like this. In order to save the FPU state the NPX state of the current thread has to be checked first, that is, if NPX is loaded and currently charged for the current thread then the system will acquire the NPX registers actively present. From that point it performs either a FNSAVE or FXSAVE
if FX is actually supported. Otherwise the control word and MXCsr registers are obtained.

FXSAVE/FNSAVE operation is done solely if the FX save area is held up in a pool allocation. Pool allocation occurs if it's been found out that the NPX IRQL of the thread is not the same as the current thread which from where it determines if the interrupt level is APC then allocate some pool memory and hold the save area there, otherwise
the save area in question is grabbed from the current processor control region. If NPX is not loaded for the current thread then the FPU state is obtained from the NPX frame.

In our case we'll be doing something way simpler. Only do a FXSAVE/FNSAVE directly of the FPU state registers, in this way we are simplifying the code and the actual logic of Save/Restore mechanism.
2022-05-24 18:39:45 +02:00
George Bișoc
c020966091
[NTOS:KE] Implement the internal FPU state context structure
This is needed to store FPU state information when saving or restoring the floating point state of a system due to a call to KeSaveFloatingPointState or KeRestoreFloatingPointState.
2022-05-24 18:39:45 +02:00
George Bișoc
d88cd0eefc
[NTOS:KE] Move related FPU instrunctions to internal intrinsic file 2022-05-24 18:39:45 +02:00