• last updated 1 hour ago
Constraints: committers
Constraints: files
Constraints: dates
[UXTHEME] -Simplify ThemeDrawCaptionText.
    • -33
    • +22
[USETUP]: Continue implementing the NT OS installation detector.

What remains to be done here, besides cleaning up the code from temporary comments and DPRINTs (and fixing potential bugs), is to actually parse the NTOS loader configuration files (freeldr.ini in ROS' case, or boot.ini in Win2k3's case, etc...) to retrieve the actual installation paths. So far these are currently hardcoded for testing purposes only.

Note that I try to distinguish between ROS and Windows installations by checking at the company name vendor of the ntoskrnl.exe & ntdll.dll files, in order to allow the upgrade of ROS installations only.

Suggestions are always welcome.

[USETUP]: Add & modify some file utility functions that are going to be used in the next commit.

- ConcatPaths that concatenates paths (or a path and a file name);

- OpenAndMapFile (resp. UnMapFile), whose purpose is to open a file and map it in memory (resp. unmap it from memory).

- Add extra optional parameters to DoesPathExist and DoesFileExist: an optional "RootDirectory" handle and, for DoesFileExist only, an optional PathName.

[USETUP]: Replace the temporary "repair" installation page by an upgrade/repair page.

This is work-in-progress, so the translations are all in english.

  1. … 11 more files in changeset.
[USETUP]: GenList modifications:

- Allow retrieving the number of items existing in the list;

- Fix the name of some function parameters.

BL Library now works 100% in paging, protected mode. A picture is worth a thousand commits: http://i.imgur.com/Zx2nQ6x.jpg

[BOOTLIB]: Add support for protocol open/close/lookup while paging and protected mode is enabled.

[BOOTLIB]: Implement support for dozens of UEFI functions while under protected mode.

[BOOTLIB]: Fix bugs in existing UEFI functions which were switching to _protected_ mode instead of _real mode_ before making the UEFI call.

[BOOTLIB]: Free dynamic descriptor in MmMdFreeDescriptor.

[BOOTLIB]: Implement BlHtDelete.

[BOOTLIB]: Implement re-initialize-all path in DsppInitialize.

[BOOTLIB]: Fix small bug in BlDisplayInvalidateOemBitmap

[BOOTLIB]: Fix bigger bug in BlDisplayGetOemBitmap :)

    • -0
    • +6
    • -1
    • +9781
Virtual memory works baby! Virtual Heap at 0x80000000 fully enabled. Next up, EFI Protocols with Paging Enabled.

[BOOTLIB]: Fix dumb bug in BlMmIsTranslationEnabled which would always return FALSE.

[BOOTLIB]: Fix dumber bug in MmDefInitializeTranslation which was freeing the page directories and self-map pages even in the success path. Causing us to zero out paging structures...

[BOOTLIB]: Cleanup and extend MmMdDbgDumpList for internal use, and add MmMdListPointerToName as another debug function.

[BOOTLIB]: Add a few more checkpoints in unimplemented paths.

    • -2
    • +3

Split MUP into two parts; MUP on one side, DFS on the second side.

This will allow using headers in other parts

    • -0
    • +58
    • -0
    • +96

- Implement internal functions for setting and retrieving DC origin. Related to CORE-13110.

- Code fix ups.

    • -0
    • +50
    • -2
    • +2
    • -0
    • +2
[BOOTLIB]: Implement MmMdTruncateDescriptors

[BOOTLIB]: Implement MmPaTruncateMemory and call it during paging initialization to remove > 4GB memory.c

[BOOTLIB]: Implement BlpMmInitializeConstraints if those BCD options are used.

    • -0
    • +12
    • -0
    • +76
[BOOTLIB]: Complete implementation of MmMdRemoveRegionFromMdlEx
    • -37
    • +107

- Fail when something goes wrong instead of pretending everything's peachy.

CORE-13241 #resolve

    • -0
    • +4
    • -1
    • +4
[NTOSKRNL] Improve S-List-Fault detection in KiTrap0EHandler to handle usermode faults as well.
    • -19
    • +77
Addendum to r74528 (and close the opened file handle only on success).

- Only call mkhive once, as it always generates all 6 binary hives (and if you don't give it all inf files, some of the hives will end up empty).

- Remove no longer needed dependency of efisys on bcd_hive


    • -11
    • +4
[BOOTLIB]: Separate free and zero memory, and code vs data runtime data, as newer bootlibs do.

[BOOTLIB]: Fix bugs in MmMdpHasPrecedence and cleanup.

[BOOTLIB]: Fix bug in MmMdFreeDescriptor.

[BOOTLIB]: Cleanup MmMdpSaveCurrentListPointer.

[BOOTLIB]: Fix bug in MmMdpCoalesceDescriptor.

[BOOTLIB]: Fix multiple bugs in MmMdAddDescriptorToList, and cleanup.

    • -112
    • +113
    • -1
    • +3
[APPHELP][SHIMLIB] Forward some events to loaded shims. CORE-11329
    • -0
    • +163
[NDK][RTL] Make the Name argument in RtlQueryEnvironmentVariable_U const.
    • -1
    • +1

- Set version number to final release

[USETUP]: Further improvements:

- Comment more some of the fields in the PARTENTRY, DISKETNRY and PARTLIST structures;

- Remove the redundant members "SystemDisk", "OriginalSystemDisk" and "TempDisk" in PARTLIST as these can be consistently deduced from the corresponding (Original)(System)(Temp)Partition members

(note that we however keep "CurrentDisk" alongside "CurrentPartition", see the comment in the code why we do it so).

- Adjust the rest of the code to take the removal of the redundant members into account. The 2nd parameter of GetNextUnformattedPartition() and GetNextUncheckedPartition() are now really optional.

- Introduce a SetPartitionType() helper to simplify the code that sets the partition type, which also automatically adjusts other internal variables of said partition in accordance.

- "Mounted" logical drives can have assigned letters too, registered in \DosDevices\.

[USETUP]: Code improvements:

- Use explicit ansi string safe functions (where they are used ansi, but not explicitely);

- Add (old-school) function parameters annotations;

- Use PARTITION_ENTRY_UNUSED where needed (instead of hardcoding its value);

- Turn some functions static to this module;

- Turn the 2nd parameter of both GetNextUnformattedPartition() and GetNextUncheckedPartition() optional (for next commit);

- Improve some comments;

- Use NT types.

[USETUP]: Code formatting only.
[USETUP]: On-going improvements for filesystem utility functions:

- Introduce code that detects the filesystem of a (mounted?) partition, using NtQueryVolumeInformationFile with FileFsAttributeInformation class, aka. rely on ReactOS itself (kernel, storage stack, filesystem drivers...) to recognize the FS on a partition that should normally be seen by the system. This currently half-works for whatever reason (to be insvestigated), while it works on Windows.

- Fix few comments & a function parameter name.

- Use NT string pointer types.

Code simplifications.
[USETUP]: Add code that attempts to detect NT 5.x operating systems (MS Windows <= 2k3, ReactOS) installations. Heavily work in progress.

The ultimate aim with this, is to be able to select an existing installation of ReactOS for upgrading. The user then could either select one, or skip this step and select a different disk/partition where to install ReactOS.

    • -0
    • +676
Create a branch for ROS setup improvements.
    • -0
    • +101
  1. … 21871 more files in changeset.
[NTFS] - Fix a bug with last commit, as spotted by Pierre.
[NTFS] - Expand support for resizing resident attributes and fix NtfsAllocateClusters().

-Modify SetAttributeDataLength() to allow a resident attribute to migrate to non-resident if the attribute grows too large to remain resident.

-Fix values returned by NtfsAllocateClusters() in case of error; return error codes, not 0.

[NTFS] - Commit early results of a small restructuring effort:

-Add a new member to the NTFS_ATTR_CONTEXT struct, a LARGE_MCB. This allows an attribute context to describe the cluster mapping of a non-resident file while allowing that mapping to change dynamically, without the context itself needing to be resized. This fixes problems which sometimes arose from resizing files.

-Remove hacky code from NtfsWriteFile() for dealing with "stale" contexts. This fixes that issue.

-Update SetDataAttributeLength(), PrepareAttributeContext(), ReleaseAttributeContext(), FreeClusters(), and AddRun() for the new member.

-Update ReadAttribute() and WriteAttribute() to work with the changed structure. A very-soon-to-come commit will overhaul these functions so they'll operate directly on the LARGE_MCB, instead of converting to and from a packed list of data runs. (Sparse files are broken until then.)

-Rename "RunBufferOffset" to "RunBufferSize" in several places where appropriate.

-Fix, improve, and add some comments.

[UXTHEME] -Fix the tab background pattern hack when the background pattern is smaller than the window that we are trying to paint. CORE-13147, CORE-13192.

There is still a bug where the pattern doesn't change after a theme change.

    • -5
    • +4