reactos.git
4 years ago[MBEDTLS] Update to version 2.7.12. CORE-16440
Thomas Faber [Sun, 20 Oct 2019 10:44:34 +0000 (12:44 +0200)]
[MBEDTLS] Update to version 2.7.12. CORE-16440

4 years ago[MPG123] Update to version 1.25.12. CORE-16440
Thomas Faber [Sun, 20 Oct 2019 10:19:51 +0000 (12:19 +0200)]
[MPG123] Update to version 1.25.12. CORE-16440

4 years ago[BZIP2] Remove unused library. CORE-16440
Thomas Faber [Sun, 20 Oct 2019 10:04:41 +0000 (12:04 +0200)]
[BZIP2] Remove unused library. CORE-16440

This was once used by the "ramdrv" driver, removed in r37739 (c47ab26e825).

4 years ago[MSVCRT] Export __acrt_iob_func to fix GCC build with latest RosBE 2.2 (#1835)
Victor Perevertkin [Sun, 20 Oct 2019 10:44:17 +0000 (13:44 +0300)]
[MSVCRT] Export __acrt_iob_func to fix GCC build with latest RosBE 2.2 (#1835)

This adds an evil hack to persuade libstdc++, which tries to import __acrt_iob_func from a DLL.
This can only be solved cleanly by adding a GCC-compatible C++ standard library to our tree later.

4 years ago[FONTEXT] Initial implementation 1907/head
Mark Jansen [Sat, 3 Aug 2019 13:14:20 +0000 (15:14 +0200)]
[FONTEXT] Initial implementation
Create Fonts\desktop.ini when registering the shell ext
Also list the shell extension as needing to be registered at install
CORE-14690

4 years ago[SHELL32] Update CDataObject,
Mark Jansen [Sat, 12 Oct 2019 00:11:25 +0000 (02:11 +0200)]
[SHELL32] Update CDataObject,
allowing it to accept new formats and behave a bit more like windows

4 years ago[SHELL32_APITEST] Add test for CIDLData_CreateFromIDArray
Mark Jansen [Thu, 10 Oct 2019 22:15:41 +0000 (00:15 +0200)]
[SHELL32_APITEST] Add test for CIDLData_CreateFromIDArray

4 years ago[FONTVIEW] Add /d option
Mark Jansen [Sat, 14 Sep 2019 21:06:10 +0000 (23:06 +0200)]
[FONTVIEW] Add /d option

4 years ago[SHELL32] Add support for custom View objects defined with UICLSID
Mark Jansen [Sun, 4 Aug 2019 00:42:09 +0000 (02:42 +0200)]
[SHELL32] Add support for custom View objects defined with UICLSID
CORE-16271

4 years ago[ZIPFLDR] Fix number of menu items returned for DFM_MERGECONTEXTMENU
Mark Jansen [Fri, 13 Sep 2019 19:37:07 +0000 (21:37 +0200)]
[ZIPFLDR] Fix number of menu items returned for DFM_MERGECONTEXTMENU

4 years ago[PSDK] Add some missing defines to shlobj.h
Mark Jansen [Fri, 13 Sep 2019 19:35:51 +0000 (21:35 +0200)]
[PSDK] Add some missing defines to shlobj.h

4 years ago[FONTEXT_APITEST] Add simple api test showing interfaces
Mark Jansen [Sat, 3 Aug 2019 13:13:21 +0000 (15:13 +0200)]
[FONTEXT_APITEST] Add simple api test showing interfaces
CORE-14690

4 years ago[SHELL32] Demote an ERR to WARN
Mark Jansen [Sun, 4 Aug 2019 00:42:31 +0000 (02:42 +0200)]
[SHELL32] Demote an ERR to WARN

4 years ago[MOUNTMGR] Don't kill Mm when a device has several symlinks
Pierre Schweitzer [Sat, 19 Oct 2019 16:04:30 +0000 (18:04 +0200)]
[MOUNTMGR] Don't kill Mm when a device has several symlinks

On preflight to compute output size, device name & unique ID were
counted only once per device.
Then, on copy, these two were copied on every MOUNTMGR_MOUNT_POINT
structure. This is counter efficient (data duplication) but also,
it was overruning the output buffer, since the preflight was not
expecting these extra copies.

4 years ago[MOUNTMGR_APITEST] Dump offsets
Pierre Schweitzer [Sat, 19 Oct 2019 16:00:36 +0000 (18:00 +0200)]
[MOUNTMGR_APITEST] Dump offsets

That shows that some offset are shared (everything but the symlinks)

4 years ago[MOUNTMGR] Fix enumerating drive letter for creating new mountpoint
Pierre Schweitzer [Sat, 19 Oct 2019 14:56:21 +0000 (16:56 +0200)]
[MOUNTMGR] Fix enumerating drive letter for creating new mountpoint

This is purely a copypasta error fix, which was causing MountMgrNextDriveLetterWorker
to fail as no drive letters were enumerated previously.

With that set of patches, MountMgr now properly assigns drive letters to
new devices!

4 years ago[MOUNTMGR] Fix interpretation of QueryDeviceInformation GptDriveLetter
Pierre Schweitzer [Sat, 19 Oct 2019 14:53:45 +0000 (16:53 +0200)]
[MOUNTMGR] Fix interpretation of QueryDeviceInformation GptDriveLetter

Being TRUE doesn't mean the device is GPT and has a drive letter. It just
means that it's not a GPT device with GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER
attribute. In short, if TRUE, it means that the device can receive a drive
letter mount point.

This fixes MountMgrNextDriveLetterWorker bailing out for any attempt to
assign a drive letter to a device.

4 years ago[MOUNTMGR] Fix IsFtVolume so that it returns TRUE only for FT volumes
Pierre Schweitzer [Sat, 19 Oct 2019 14:52:29 +0000 (16:52 +0200)]
[MOUNTMGR] Fix IsFtVolume so that it returns TRUE only for FT volumes

4 years ago[MOUNTMGR] Query proper device when creating mount point
Pierre Schweitzer [Sat, 19 Oct 2019 14:34:38 +0000 (16:34 +0200)]
[MOUNTMGR] Query proper device when creating mount point

We must query the target device, and not the symbolic link
we attempt to create. The later will always fail as it doesn't
exist yet.

This fixes MountMgrCreatePointWorker not working.

4 years ago[MOUNTMGR] Remove cancel routine before completing pending IRP
Pierre Schweitzer [Sat, 19 Oct 2019 14:29:37 +0000 (16:29 +0200)]
[MOUNTMGR] Remove cancel routine before completing pending IRP

4 years ago[BROWSEUI][SHELLFIND] Update de-DE.rc CORE-16427
Joachim Henze [Sat, 19 Oct 2019 14:36:02 +0000 (16:36 +0200)]
[BROWSEUI][SHELLFIND] Update de-DE.rc CORE-16427

Translate the new checkboxes text to german

Addendum to 0.4.14-dev-60-g
103c87d2b9738b91d6eea37747be2bc343411042

4 years ago[SHELLFIND] Add Hidden Files & Folders Selection. CORE-16427 1968/head
Doug Lyons [Sun, 13 Oct 2019 23:48:08 +0000 (18:48 -0500)]
[SHELLFIND] Add Hidden Files & Folders Selection. CORE-16427

4 years ago[WSHTCPIP] Print IOCTL as hexa value
Pierre Schweitzer [Sat, 19 Oct 2019 09:46:24 +0000 (11:46 +0200)]
[WSHTCPIP] Print IOCTL as hexa value

4 years ago[MSAFD] SizeOf*Buffer: Type is ULONG, not INT/DWORD
Serge Gautherie [Thu, 17 Oct 2019 10:33:29 +0000 (12:33 +0200)]
[MSAFD] SizeOf*Buffer: Type is ULONG, not INT/DWORD

4 years ago[GDI32] Update Gdi Driver Header.
jimtabor [Sat, 19 Oct 2019 04:49:13 +0000 (23:49 -0500)]
[GDI32] Update Gdi Driver Header.

Patch by : Akihiro Sagawa : Implement GetCharWidthInfo().

https://source.winehq.org/git/wine.git/commit/1128587fd262f9ad476b49e7837ac74dd656e6ba

4 years agoRevert "[NTOS:KDBG] Use CONTEXT instead of KTRAP_FRAME"
Hervé Poussineau [Fri, 18 Oct 2019 22:12:41 +0000 (00:12 +0200)]
Revert "[NTOS:KDBG] Use CONTEXT instead of KTRAP_FRAME"

This reverts commit e5bffe49da21f5faf2a88a0983ad4876d388e0ea.

CORE-16231

4 years ago[MOUNTMGR] QueryPointsFromMemory: take into account the multiple MOUNTMGR_MOUNT_POINT
Pierre Schweitzer [Thu, 17 Oct 2019 20:40:23 +0000 (22:40 +0200)]
[MOUNTMGR] QueryPointsFromMemory: take into account the multiple MOUNTMGR_MOUNT_POINT

This fixes returning too small structure on an IOCTL_MOUNTMGR_QUERY_POINTS call.
The multiple MOUNTMGR_MOUNT_POINT structures were ignored and thus the data of the
first one were erased by the multiple structures.
MountMgr now returns consistent output on this IOCTL call.

4 years ago[CODEOWNERS] Add /drivers/filters/*/ entries
Serge Gautherie [Sat, 5 Oct 2019 21:53:48 +0000 (23:53 +0200)]
[CODEOWNERS] Add /drivers/filters/*/ entries

Also add Pierre's Jira username.

4 years ago[MSAFD] WSPSetSockOpt(): Fix a copypasta
Serge Gautherie [Thu, 17 Oct 2019 00:39:30 +0000 (02:39 +0200)]
[MSAFD] WSPSetSockOpt(): Fix a copypasta

Addendum to 6bc61f63f1e0ad20ab09f881d6968558eba9a8e6.

CORE-15804

4 years ago[MOUNTMGR_APITEST] Dump returned mount points
Pierre Schweitzer [Wed, 16 Oct 2019 20:22:30 +0000 (22:22 +0200)]
[MOUNTMGR_APITEST] Dump returned mount points

4 years ago[MOUNTMGR] QueryPointsFromSymbolicLinkName(): Fix a copypasta
Serge Gautherie [Mon, 14 Oct 2019 12:01:44 +0000 (14:01 +0200)]
[MOUNTMGR] QueryPointsFromSymbolicLinkName(): Fix a copypasta

Addendum to r55156.

CORE-16371

4 years ago[umpnpmgr][ndk] Implement PNP_RequestDeviceEject() and update unknown type in PLUGPLA...
Eric Kohl [Tue, 15 Oct 2019 20:40:06 +0000 (22:40 +0200)]
[umpnpmgr][ndk] Implement PNP_RequestDeviceEject() and update unknown type in PLUGPLAY_CONTROL_QUERY_REMOVE_DATA

4 years ago[SDK] Fix a typo, caught by Stas'M :)
Hermès Bélusca-Maïto [Sun, 13 Oct 2019 23:36:42 +0000 (01:36 +0200)]
[SDK] Fix a typo, caught by Stas'M :)

4 years ago[FREELDR] Set LDRP_IMAGE_INTEGRITY_FORCED if necessary. (Part of PR #1905)
Mark Harmstone [Wed, 9 Oct 2019 20:28:33 +0000 (21:28 +0100)]
[FREELDR] Set LDRP_IMAGE_INTEGRITY_FORCED if necessary. (Part of PR #1905)

+ Add extra information.
Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
4 years ago[NDK] Fix coding style and indentation. No code changes!
Eric Kohl [Sun, 13 Oct 2019 21:49:10 +0000 (23:49 +0200)]
[NDK] Fix coding style and indentation. No code changes!

4 years ago[FREELDR] Fix build with the 'Grossly Crying Compiler' (aka. GCC).
Hermès Bélusca-Maïto [Sun, 13 Oct 2019 19:07:23 +0000 (21:07 +0200)]
[FREELDR] Fix build with the 'Grossly Crying Compiler' (aka. GCC).

4 years ago[FREELDR] Improvements for GDT descriptors initialization.
Hermès Bélusca-Maïto [Sun, 13 Oct 2019 17:33:00 +0000 (19:33 +0200)]
[FREELDR] Improvements for GDT descriptors initialization.
Triggered by a fix attempt by M.Harmstone in PR #1905.

- Introduce #defines and helper functions so as to initialize the
  descriptors in a human-readable and tractable way, without magic values.

- Rework some comments.

- Document what the changes are in (Longhorn and) Vista+.

Data has been obtained through using the WinDbg command: dg 0x00 0xFF
(for example), that lists all the selectors from 0x00 to 0xFF included.
See https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/dg--display-selector-
for more details.

4 years ago[SDK][NDK] Add two missing documented GDT selector names.
Hermès Bélusca-Maïto [Sun, 13 Oct 2019 17:21:34 +0000 (19:21 +0200)]
[SDK][NDK] Add two missing documented GDT selector names.

Add KGDT_NULL and KGDT_VDM_TILE to the list of known GDT name defines.
See https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/dg--display-selector-

4 years ago[UMPNPMGR] Implement PNP_QueryRemove()
Eric Kohl [Sun, 13 Oct 2019 13:49:13 +0000 (15:49 +0200)]
[UMPNPMGR] Implement PNP_QueryRemove()

4 years ago[NDK] Add PLUGPLAY_CONTROL_QUERY_REMOVE_DATA type
Eric Kohl [Sun, 13 Oct 2019 13:24:29 +0000 (15:24 +0200)]
[NDK] Add PLUGPLAY_CONTROL_QUERY_REMOVE_DATA type

4 years ago[SDK][INCLUDE] Update msgdump.h
Katayama Hirofumi MZ [Sun, 13 Oct 2019 01:45:17 +0000 (10:45 +0900)]
[SDK][INCLUDE] Update msgdump.h

4 years ago[WIN32K:menu] Use signed types for negative values... 1943/head
Mark Jansen [Mon, 30 Sep 2019 21:15:20 +0000 (23:15 +0200)]
[WIN32K:menu] Use signed types for negative values...
CORE-16306

4 years ago[BROWSEUI][SHELLFIND] Allow to 'Open Containing Folder'
Joachim Henze [Sat, 12 Oct 2019 13:44:58 +0000 (15:44 +0200)]
[BROWSEUI][SHELLFIND] Allow to 'Open Containing Folder'

of a search result again.

The feature regressed by 0.4.13-dev-1133-g
a3ee648d8b641604a87fcc3733d0946ced056074

I chose the shorter solution of Brock Mammen instead
of the patch of Doug Lyons from PR1960.

Still many thanks to Doug Lyons for his encouragement
in creating a fix as well and performing
regression-testing.

I intend to merge that back into 0.4.13RCs as well.

4 years ago[WIN32SS] Fix regression CORE-16393
Joachim Henze [Fri, 11 Oct 2019 21:21:39 +0000 (23:21 +0200)]
[WIN32SS] Fix regression CORE-16393

Symptom "cmd did not hide the taskbar anymore when switching to fullscreen"

It regressed by SVN r75407 == git
09ab5ea7ed2ab0e709ed2e8f8f9f6c3711b2ac7f

VBox LGTM https://reactos.org/testman/compare.php?ids=69295,69297
 KVM LGTM https://reactos.org/testman/compare.php?ids=69296,69298

Many thanks to the patches author James Tabor.

4 years ago[FREELDR][XBOXVMP] Retrieve screen resolution directly from NV2A GPU (#1962)
Stanislav Motylkov [Wed, 9 Oct 2019 21:27:22 +0000 (00:27 +0300)]
[FREELDR][XBOXVMP] Retrieve screen resolution directly from NV2A GPU (#1962)

CORE-16216

4 years ago[FREELDR] Advance the file pointers every time a read operation is performed, in...
Hermès Bélusca-Maïto [Wed, 9 Oct 2019 00:26:29 +0000 (02:26 +0200)]
[FREELDR] Advance the file pointers every time a read operation is performed, in accordance with the ARC specification.

4 years ago[FREELDR] Improvements for the RamDisk support.
Hermès Bélusca-Maïto [Fri, 13 Sep 2019 17:04:06 +0000 (19:04 +0200)]
[FREELDR] Improvements for the RamDisk support.

- Implement support for the "RDIMAGELENGTH" and "RDIMAGEOFFSET" boot
  options. Fixes CORE-15432.

- Separate the initialization of the global gInitRamDiskBase /
  gInitRamDiskSize variables from the FreeLdr command-line, and the
  actual initialization of the internal variables of the RamDisk.
  The latter are initialized via calls to RamDiskInitialize().

- Implement 'SeekRelative' mode in RamDiskSeek().

- Make RamDiskLoadVirtualFile() internal function that gets called by
  RamDiskInitialize(), and we use the latter in the NT loader instead.

4 years ago[FREELDR] Xbox memory management improvements (#1961)
Stanislav Motylkov [Wed, 9 Oct 2019 00:35:07 +0000 (03:35 +0300)]
[FREELDR] Xbox memory management improvements (#1961)

- Reuse the framebuffer address that was set up by the firmware.
- Get rid of XboxMemReserveMemory() and use ReserveMemory() instead.

CORE-16216

4 years ago[EXPLORER] Fix right-click menu for taskbar clock (#1944)
Brock Mammen [Tue, 8 Oct 2019 23:18:36 +0000 (18:18 -0500)]
[EXPLORER] Fix right-click menu for taskbar clock (#1944)

CORE-16397

4 years ago[XBOXVMP] Fix broken pixels and general refactoring (#1896)
Stanislav Motylkov [Tue, 8 Oct 2019 15:08:44 +0000 (18:08 +0300)]
[XBOXVMP] Fix broken pixels and general refactoring (#1896)

- Remove old hacky code based on MmHighestPhysicalPage.
- Split I2C SMBus code into a separate source file.

CORE-16216 CORE-16357

4 years ago[TRANSLATION] Add/Update Indonesian translations (#1904)
Mas4hmad [Tue, 8 Oct 2019 15:03:14 +0000 (22:03 +0700)]
[TRANSLATION] Add/Update Indonesian translations (#1904)

Add/Update Indonesian translations for CHARMAP, CMDUTILS-HELP, SERVMAN, SETUPAPI, SHELL32, SUBST, SYSSETUP, TASKMGR, USERINIT.

4 years ago[CMDUTILS] Add italian translation for 'comp' utility. (#1931)
Carlo Bramini [Tue, 8 Oct 2019 14:52:30 +0000 (16:52 +0200)]
[CMDUTILS] Add italian translation for 'comp' utility. (#1931)

4 years ago[FREELDR] Handle Btrfs sparse extents (#1959)
maharmstone [Tue, 8 Oct 2019 14:50:58 +0000 (15:50 +0100)]
[FREELDR] Handle Btrfs sparse extents (#1959)

4 years ago[FREELDR] Add support for loading Linux in x64 FreeLdr. Part 2/2: C code.
Hermès Bélusca-Maïto [Sun, 6 Oct 2019 17:22:18 +0000 (19:22 +0200)]
[FREELDR] Add support for loading Linux in x64 FreeLdr. Part 2/2: C code.

- Re-enable custom and Linux boot menu entries.
- Fix compilation and add address limit checks for x64 build of linux loader.

4 years ago[FREELDR] Fix an inconsistency bug when switching the CPU state back to 16-bit real...
Hermès Bélusca-Maïto [Wed, 2 Oct 2019 01:20:10 +0000 (03:20 +0200)]
[FREELDR] Fix an inconsistency bug when switching the CPU state back to 16-bit real mode.

Basically it appeared that without this fix, the CPU was somehow residing
in an inconsistent state, that made it crash when a full 16-bit real-mode
to 32-bit protected mode transition occurred. (Encountered when trying
to load Linux, see problem description below.)
In that situation, Bochs reports that the CPU is in "compatibility mode".

The fix is based from information from Fig.1-6 "Operating Modes of the
AMD64 Architecture" (page 12) and Chapter 14 (pages 429-446) of the
"AMD64 Architecture Programmer’s Manual Volume 2: System Programming"
https://www.amd.com/system/files/TechDocs/24593.pdf

*** THE PROBLEM ***

When booting Linux using x86 FreeLdr everything goes well.

When trying to do the same using x64 FreeLdr, the Linux code (both the
boot sector, the setup sector and the main kernel contents) is all
correctly loaded and relocated in memory as in the x86 case. We then pass
control to the decompressing code that appears to succeed. However, once
it has finished and "Parsing ELF file..." step has been run, the next
step "Booting the kernel..." crashes with a CPU Triple-Fault.

This problem **DOES NOT HAPPEN** when booting from GRUB.

Log excerpt from Bochs:

<snip>

00089459736i[BIOS  ] Booting from 07c0:0000
00089782775i[SER   ] com1: FIFO enabled
00095994535i[BIOS  ] int13_harddisk: function 41, unmapped device for ELDL=81
00095998517i[BIOS  ] int13_harddisk: function 08, unmapped device for ELDL=81
00397139785i[BIOS  ] KBD: unsupported int 16h function 03
00397143625i[BIOS  ] *** int 15h function AX=e980, BX=0000 not yet supported!
00523008104e[CPU0  ] interrupt(long mode): vector must be within IDT table limits, IDT.limit = 0x0
00523008104e[CPU0  ] interrupt(long mode): vector must be within IDT table limits, IDT.limit = 0x0
00523008104i[CPU0  ] CPU is in compatibility mode (active)
00523008104i[CPU0  ] CS.mode = 32 bit
00523008104i[CPU0  ] SS.mode = 32 bit
00523008104i[CPU0  ] EFER   = 0x00000500
00523008104i[CPU0  ] | RAX=00000000e0000011  RBX=0000000000000000
00523008104i[CPU0  ] | RCX=0000000000000000  RDX=0000000000000000
00523008104i[CPU0  ] | RSP=00000000004f8000  RBP=000000000082e003
00523008104i[CPU0  ] | RSI=0000000000099800  RDI=00000000c0611000
00523008104i[CPU0  ] |  R8=0000000000109000   R9=0000000000009020
00523008104i[CPU0  ] | R10=00000000000007e3  R11=000000000000e958
00523008104i[CPU0  ] | R12=0000000000000000  R13=0000000000000000
00523008104i[CPU0  ] | R14=0000000000000000  R15=0000000000000000
00523008104i[CPU0  ] | IOPL=0 id vip vif ac vm RF nt of df if tf SF zf af PF cf
00523008104i[CPU0  ] | SEG sltr(index|ti|rpl)     base    limit G D
00523008104i[CPU0  ] |  CS:0010( 0002| 0|  0) 00000000 ffffffff 1 1
00523008104i[CPU0  ] |  DS:0018( 0003| 0|  0) 00000000 ffffffff 1 1
00523008104i[CPU0  ] |  SS:0018( 0003| 0|  0) 00000000 ffffffff 1 1
00523008104i[CPU0  ] |  ES:0018( 0003| 0|  0) 00000000 ffffffff 1 1
00523008104i[CPU0  ] |  FS:0018( 0003| 0|  0) 00000000 ffffffff 1 1
00523008104i[CPU0  ] |  GS:0018( 0003| 0|  0) 00000000 ffffffff 1 1
00523008104i[CPU0  ] |  MSR_FS_BASE:0000000000000000
00523008104i[CPU0  ] |  MSR_GS_BASE:0000000000000000
00523008104i[CPU0  ] | RIP=0000000000409327 (0000000000409327)
00523008104i[CPU0  ] | CR0=0xe0000011 CR2=0x0000000000409327
00523008104i[CPU0  ] | CR3=0x005b5000 CR4=0x000000a0
00523008104i[CPU0  ] 0x0000000000409327: (instruction unavailable) page not present
00523008104p[CPU0  ] >>PANIC<< exception(): 3rd (13) exception with no resolution

<snip>

4 years ago[FREELDR] Add support for loading Linux in x64 FreeLdr. Part 1/2: ASM code.
Hermès Bélusca-Maïto [Tue, 1 Oct 2019 01:50:29 +0000 (03:50 +0200)]
[FREELDR] Add support for loading Linux in x64 FreeLdr. Part 1/2: ASM code.

Add also ASM implementation for intrinsics that may not be always
present on MSVC (e.g. MSVC 2010).

4 years ago[FREELDR] Several changes regarding chainloading and Linux boot.
Hermès Bélusca-Maïto [Sun, 29 Sep 2019 17:20:15 +0000 (19:20 +0200)]
[FREELDR] Several changes regarding chainloading and Linux boot.

- Introduce "Relocator16Boot()". So far its aim is just to correctly set
  the CPU state (segments, registers, flags) to what is expected by a
  given boot image before running it.
  This function can be seen as the embryonic state of a future boot relocator
  (see e.g. GRUB or SYSLINUX) that would also relocate the boot image at
  the correct places. (Such feature is needed when boot images have to
  be loaded in memory areas that cover where the boot loader is in memory.)

- Implement ChainLoadBiosBootSectorCode() around it.

- Replace BootOldLinuxKernel() and BootNewLinuxKernel() by a new
  BootLinuxKernel() function (in assembly) that relocates the kernel
  to a given position and then boot it, using Relocator16Boot().
  Ideally the relocation should be done by a future boot relocator...

Implementation notes for Relocator16Boot():
===========================================

For setting the CPU state the function is based on a similar code as the
Int386() helper, namely it takes a pointer to REGS structure and pass
this information through the 32->16 bits call before setting the CPU state
in accordance.
New stack segment/pointer and code segment/pointer are also specified.
For passing these values through the 32->16 bits call the 16-bit BSS
memory offsets "BSS_CallbackReturn" and "BSS_RealModeEntry" (respectively)
are reused.

4 years ago[SDK:CRT] For intrinsics that don't exist on MSVC 2010 we cannot use an implementatio...
Hermès Bélusca-Maïto [Sun, 6 Oct 2019 13:41:30 +0000 (15:41 +0200)]
[SDK:CRT] For intrinsics that don't exist on MSVC 2010 we cannot use an implementation in inlined ASM for x64 builds.

4 years ago[SYSSETUP][NETCFGX][INF] Install the TCPIP protocol driver properly
Eric Kohl [Sun, 6 Oct 2019 20:36:19 +0000 (22:36 +0200)]
[SYSSETUP][NETCFGX][INF] Install the TCPIP protocol driver properly

Get rid of the special RandomProtocolGUID_TCPIP :-)
Works with the Setup CD and Live CD.

4 years ago[FREELDR] NT loader: Allocate the Loader Block Extension much earlier in the process.
Hermès Bélusca-Maïto [Sun, 6 Oct 2019 16:24:48 +0000 (18:24 +0200)]
[FREELDR] NT loader: Allocate the Loader Block Extension much earlier in the process.

4 years ago[FREELDR] INFFILE Parser: Fix while-loop conditions, this bug existed for 16+ years...
Hermès Bélusca-Maïto [Sun, 6 Oct 2019 16:18:34 +0000 (18:18 +0200)]
[FREELDR] INFFILE Parser: Fix while-loop conditions, this bug existed for 16+ years (commit 939d5316, revision 4758).

4 years ago[MEDIA][FONTS] Delete many fonts CORE-16407 (#1955)
Katayama Hirofumi MZ [Sun, 6 Oct 2019 13:09:19 +0000 (22:09 +0900)]
[MEDIA][FONTS] Delete many fonts CORE-16407 (#1955)

Delete many fonts (about a hundred) to reduce memory consumption. CORE-16407

4 years ago[MOUNTMGR] Properly look for device and break when found
Serge Gautherie [Sat, 5 Oct 2019 20:44:25 +0000 (22:44 +0200)]
[MOUNTMGR] Properly look for device and break when found

Also use same pattern in MountMgrCreatePointWorker().

Addendum to a7f97cc70f62f6805e71b28eba51f52b942d22b4.

4 years ago[MOUNTMGR] QueryPointsFromMemory(): Do not leak DeviceName.Buffer
Serge Gautherie [Sat, 5 Oct 2019 23:01:31 +0000 (01:01 +0200)]
[MOUNTMGR] QueryPointsFromMemory(): Do not leak DeviceName.Buffer

Follow-up to 7601011f4ed578ae4a15a55298ebbe96fe3a1129.

4 years ago[FREELDR] Retrieve the correct ACPI RSDP table address. (#1951) 1951/head
Mark Harmstone [Wed, 2 Oct 2019 11:43:30 +0000 (12:43 +0100)]
[FREELDR] Retrieve the correct ACPI RSDP table address. (#1951)

Use either the RSDT (ACPI 1.0) or the XSDT (ACPI >1.0).
This fixes ACPI issues with Vista on VirtualBox.

4 years ago[FREELDR] Load the Firmware Errata file specified in the registry. (#1951)
Mark Harmstone [Mon, 9 Sep 2019 19:09:57 +0000 (20:09 +0100)]
[FREELDR] Load the Firmware Errata file specified in the registry. (#1951)

On Windows <= 2003 (and current ReactOS), this is the "InfName" value
in the "HKEY_LOCAL_MACHINE\CurrentControlSet\Control\BiosInfo\" key.
(The default file name found there is 'biosinfo.inf'.)

On Vista+, this is the "InfName" value in the
"HKEY_LOCAL_MACHINE\CurrentControlSet\Control\Errata\" key.
(The default file name found there is 'errata.inf'.)

For 1st-stage setup, the file is specified in the "InfName" value of
the "BiosInfo" section in the TXTSETUP.SIF file.

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
4 years ago[FREELDR] Insert DLLs into load order before what references them. (#1951)
Mark Harmstone [Thu, 3 Oct 2019 18:54:49 +0000 (19:54 +0100)]
[FREELDR] Insert DLLs into load order before what references them. (#1951)

4 years ago[FREELDR] Set LDRP_DRIVER_DEPENDENT_DLL where necessary. (#1951)
Mark Harmstone [Thu, 3 Oct 2019 18:36:43 +0000 (19:36 +0100)]
[FREELDR] Set LDRP_DRIVER_DEPENDENT_DLL where necessary. (#1951)

4 years ago[FREELDR] Fix bug in Btrfs filename lookups. (#1951)
Mark Harmstone [Mon, 9 Sep 2019 18:39:58 +0000 (19:39 +0100)]
[FREELDR] Fix bug in Btrfs filename lookups. (#1951)

4 years ago[MOUNTMGR] Properly look for symlink and break when found
Pierre Schweitzer [Sat, 5 Oct 2019 19:29:38 +0000 (21:29 +0200)]
[MOUNTMGR] Properly look for symlink and break when found

This fixes a bug where MountMgr was returning first found entry
on query even when not matching the requested device.

4 years ago[HALXBOX] Implement shutdown, reboot, and power cycle routines
Stanislav Motylkov [Fri, 4 Oct 2019 19:04:51 +0000 (22:04 +0300)]
[HALXBOX] Implement shutdown, reboot, and power cycle routines

CORE-16216

4 years ago[HALXBOX][CMAKE] Merge generic module with xbox module for modification
Stanislav Motylkov [Fri, 4 Oct 2019 17:42:16 +0000 (20:42 +0300)]
[HALXBOX][CMAKE] Merge generic module with xbox module for modification

4 years agoShell Find Improvements to make Search Item general and Show Sub-directories (#1927)
Doug Lyons [Sat, 5 Oct 2019 14:32:49 +0000 (09:32 -0500)]
Shell Find Improvements to make Search Item general and Show Sub-directories (#1927)

* Shell Find Improvement to make Search Item general by adding asterisks before and after before search and show sub-directories in find listing. CORE-16152

4 years ago[D3DCOMPILER_43] Addendum to last commit CORE-14955 & CORE-15652
Joachim Henze [Thu, 3 Oct 2019 19:16:39 +0000 (21:16 +0200)]
[D3DCOMPILER_43] Addendum to last commit CORE-14955 & CORE-15652

GCC Linux build had no issues with the last commit but
MSVC x86 & x64 v18.0.31101.0 choked on it with
error C4133: 'function' : incompatible types - from 'D3D_PRIMITIVE *' to 'DWORD *'
and similar.

I could not retest with that exact version of MSVC, but the mentioned problems
vanished for me when compiling locally with MSVC 16.0.40219.1 x86.
Fingers crossed, that this makes the builders happy again!

4 years ago[D3D8][D3D9][DDRAW][D3DCOMPILER_43][WINED3D] Revert to Wine Staging 3.3
Joachim Henze [Thu, 3 Oct 2019 16:38:29 +0000 (18:38 +0200)]
[D3D8][D3D9][DDRAW][D3DCOMPILER_43][WINED3D] Revert to Wine Staging 3.3

Avoid regressions CORE-14955 "Ddraw fullscreen crashes" and CORE-15652

This brings us back to before guilty commit 0.4.10-dev-55-g
7af3969e9fe68b5f55a088f93a6b69570822c733

and therefore downgrades
dll/directx/wine/
D3D8,D3D9,DDRAW,D3DCOMPILER_43,WINED3D
to WineStaging 3.3.
Also downgrades related header sdk/include/reactos/wine/wined3d.h
and for the first time also media/doc/README.WINE

Same versions of these dlls we had in every ros rls since 0.4.10rls.
Amine Khaldi agreed to perform this revert also for master now.

Purpose of this revert is to fix crashes when Ddraw apps switch
into fullscreen with VBEMP and inbuilt Mesa.
I tested, before:
 DxDiag crashed when switching to fullscreen (CORE-14955),
 Diablo II crashed immediately (CORE-15652),
 Monster-Truck-Madness 2 demo crashed after main menu

Afterwards all of these apps do run.
DXTN does still work after that, even with VBEMP and inbuilt Mesa.

squashed commit of 0.4.13-RC-2-g
67dd70e5ef0acc09495c8a0853cf2a1161f65101
and 0.4.13-RC-3-g
9f1e2cd172f3bf14da6b1c288fdc1dc3980cc63d

4 years ago[MEDIA][FONTS] Replace 'Verdana' fonts CORE-16400 (#1948)
Katayama Hirofumi MZ [Thu, 3 Oct 2019 13:36:05 +0000 (22:36 +0900)]
[MEDIA][FONTS] Replace 'Verdana' fonts CORE-16400 (#1948)

CORE-16400
- Replace "Verdana", "Verdana Bold", "Verdana Bold Italic" and "Verdana Italic" fonts by duplicating "DejaVu Sans" fonts and renaming them.
- Replace LICENSE file.

I made these font files by using FontForge. Their family name is "Verdana". Their display names are "Verdana", "Verdana Bold", "Verdana Bold Italic" and "Verdana Italic". Their font filenames are verdana.ttf, verdanab.ttf, verdanaz.ttf and verdanai.ttf. The Underline Positions are hacked by adding an integer value for workaround of FontForge's bug.

4 years ago[FREELDR] Stop asking people to report bugs on ros-dev@reactos.org
Pierre Schweitzer [Thu, 3 Oct 2019 00:54:27 +0000 (02:54 +0200)]
[FREELDR] Stop asking people to report bugs on ros-dev@reactos.org

That should be merged to 0.4.13

4 years agoUpdated release version on readme
Federico Pellegatta [Wed, 2 Oct 2019 09:01:07 +0000 (11:01 +0200)]
Updated release version on readme

4 years ago[KERNEL32] Fix FIXME by calling appropriate function in GetNativeSystemInfo()
Pierre Schweitzer [Wed, 2 Oct 2019 08:52:00 +0000 (10:52 +0200)]
[KERNEL32] Fix FIXME by calling appropriate function in GetNativeSystemInfo()

4 years ago[SDK] Define RtlGetNativeSystemInformation()
Pierre Schweitzer [Wed, 2 Oct 2019 08:50:59 +0000 (10:50 +0200)]
[SDK] Define RtlGetNativeSystemInformation()

4 years ago[NTDLL_WINETESTS] Fix the test so that it works on W2K3
Pierre Schweitzer [Tue, 1 Oct 2019 08:10:52 +0000 (10:10 +0200)]
[NTDLL_WINETESTS] Fix the test so that it works on W2K3

It's an addendum to ad547c9

4 years ago[SDK] Raise KERNEL_VERSION_PATCH_LEVEL to 14 in the version.cmake 0.4.14-dev
Joachim Henze [Mon, 30 Sep 2019 16:15:39 +0000 (18:15 +0200)]
[SDK] Raise KERNEL_VERSION_PATCH_LEVEL to 14 in the version.cmake

4 years ago[NTOS:MM] i386: Fix '_MI_NO_EXECUTE' typo
Serge Gautherie [Mon, 23 Sep 2019 20:20:27 +0000 (22:20 +0200)]
[NTOS:MM] i386: Fix '_MI_NO_EXECUTE' typo

Addendum to 65dbfc286818e18095b7cc0c85f63cde6b3e629d.

4 years ago[SDK] Make our MEMORY_SECTION_NAME definitions consistent.
Pierre Schweitzer [Sun, 29 Sep 2019 12:18:11 +0000 (14:18 +0200)]
[SDK] Make our MEMORY_SECTION_NAME definitions consistent.
I choose the definition which is also used by Wine & Chromium.

CORE-12043

4 years ago[NTOSKRNL] Simplify buffer definition in MiQueryMemorySectionName().
Pierre Schweitzer [Sun, 29 Sep 2019 12:16:44 +0000 (14:16 +0200)]
[NTOSKRNL] Simplify buffer definition in MiQueryMemorySectionName().
Also take into account the UNICODE_STRING structure while computing whole size
This is based on Thomas' patch.

CORE-12043

4 years ago[NTDLL_WINETESTS] Section name query test is broken on W2K3 and will lead to a crash
Pierre Schweitzer [Sun, 29 Sep 2019 12:13:55 +0000 (14:13 +0200)]
[NTDLL_WINETESTS] Section name query test is broken on W2K3 and will lead to a crash
Comment out the test for now and add a more "appropriate" test code for now

4 years ago[SHELLFOLDERS] Gracefully handle NULL pidl in CDrivesFolder::BindToObject. CORE-16403
Thomas Faber [Sun, 8 Sep 2019 13:40:46 +0000 (15:40 +0200)]
[SHELLFOLDERS] Gracefully handle NULL pidl in CDrivesFolder::BindToObject. CORE-16403

Fixes one of many crashes in shell32_winetest:shlfolder.

4 years ago[USBPORT] USBPORT_InvalidateEndpointHandler(): Properly enumerate endpoints
Serge Gautherie [Tue, 24 Sep 2019 05:15:06 +0000 (07:15 +0200)]
[USBPORT] USBPORT_InvalidateEndpointHandler(): Properly enumerate endpoints

4 years ago[FREELDR] Optimize and refactor the FAT driver.
Victor Perevertkin [Thu, 18 Jul 2019 23:57:11 +0000 (02:57 +0300)]
[FREELDR] Optimize and refactor the FAT driver.
Do not read the whole cluster chain for file on opening.
This removes restriction for opening files which span
within a large amount of clusters (>65k). That happened because
FrLdrTempAlloc cannot allocate more than about 256 KiB of memory.

Adjacent clusters for file are now read using one disk driver call.

4 years ago[FREELDR] Add FAT caching to FAT filesystem driver.
Victor Perevertkin [Tue, 9 Jul 2019 14:22:28 +0000 (17:22 +0300)]
[FREELDR] Add FAT caching to FAT filesystem driver.
This significantly increases the reading speed

4 years ago[SHELL] IPersistIDList/IShellLink use P(C)IDLIST_ABSOLUTE. CORE-16385
Thomas Faber [Sun, 22 Sep 2019 14:48:04 +0000 (16:48 +0200)]
[SHELL] IPersistIDList/IShellLink use P(C)IDLIST_ABSOLUTE. CORE-16385

4 years ago[SHELL] IShellExtInit::Initialize uses PCIDLIST_ABSOLUTE. CORE-16385
Thomas Faber [Sun, 22 Sep 2019 14:36:01 +0000 (16:36 +0200)]
[SHELL] IShellExtInit::Initialize uses PCIDLIST_ABSOLUTE. CORE-16385

4 years ago[SHELL] Fix more IPersistFolder::Initialize prototypes. CORE-16385
Thomas Faber [Sun, 22 Sep 2019 14:38:06 +0000 (16:38 +0200)]
[SHELL] Fix more IPersistFolder::Initialize prototypes. CORE-16385

Addendum to c2b476bd776.

4 years ago[HAL] Update the PCI hardware IDs database.
Hermès Bélusca-Maïto [Sat, 28 Sep 2019 16:52:59 +0000 (18:52 +0200)]
[HAL] Update the PCI hardware IDs database.

Extracted from the pci.ids database at https://pci-ids.ucw.cz/ from 2019-09-28 03:15:02 .
Maintained by Albert Pool, Martin Mares, Michal Vaner, and other volunteers from the PCI ID Project.

4 years ago[HAL] Fix more bugs in HalpDebugPciDumpBus (#1939)
Stanislav Motylkov [Sat, 28 Sep 2019 16:30:56 +0000 (19:30 +0300)]
[HAL] Fix more bugs in HalpDebugPciDumpBus (#1939)

- Don't match device id outside current vendor id list.
- Don't match subsystem id outside current device id list.
- Refactor some magic constants.

Addendum to 894635b.

4 years ago[HDAUDBUS] Build a device instance ID from Codec & node number. CORE-13702 1941/head
Thomas Faber [Fri, 27 Sep 2019 11:13:49 +0000 (13:13 +0200)]
[HDAUDBUS] Build a device instance ID from Codec & node number. CORE-13702

4 years ago[NTOSKRNL] Implement NtQuerySystemInformation(SystemLogicalProcessorInformation)
Pierre Schweitzer [Fri, 27 Sep 2019 18:36:34 +0000 (20:36 +0200)]
[NTOSKRNL] Implement NtQuerySystemInformation(SystemLogicalProcessorInformation)

4 years ago[CONFIGURE] Add support for latest MSVC toolchain (#1940)
William Kent [Thu, 26 Sep 2019 21:49:52 +0000 (17:49 -0400)]
[CONFIGURE] Add support for latest MSVC toolchain (#1940)

4 years ago[BROWSEUI][SHELL32][TRANSLATION] Major Translations to BROWSEUI And New Search functi...
Shy Zedaka [Thu, 26 Sep 2019 20:18:59 +0000 (23:18 +0300)]
[BROWSEUI][SHELL32][TRANSLATION] Major Translations to BROWSEUI And New Search function to Hebrew, and Some Other changes. (#1938)

4 years ago[HDAUDBUS] Fix timeouts for hardware register operations. CORE-15874 1899/head
Thomas Faber [Sat, 7 Sep 2019 08:38:42 +0000 (10:38 +0200)]
[HDAUDBUS] Fix timeouts for hardware register operations. CORE-15874

Most needed to be multiplied by 10 to match Haiku's behavior.
In one case, the broken timeout was offset by a higher number of loop
iterations, which is now  restored.

This should fix failures on real hardware that result in the
"unable to exit reset" print, and avoid a possible subsequent Pnp
manager crash.

Compare with the following (both snooze and KeStallExecutionProcessor use microseconds):
https://github.com/haiku/haiku/blob/ff38df48cfb21b95fb2dce0443762e0e470db57c/src/add-ons/kernel/drivers/audio/hda/hda_controller.cpp#L466
https://github.com/haiku/haiku/blob/ff38df48cfb21b95fb2dce0443762e0e470db57c/src/add-ons/kernel/drivers/audio/hda/hda_controller.cpp#L357
https://github.com/haiku/haiku/blob/ff38df48cfb21b95fb2dce0443762e0e470db57c/src/add-ons/kernel/drivers/audio/hda/hda_controller.cpp#L978