#
5f3554a4 |
| 05-Apr-2024 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Merge boot-drive and partition functionalities together (#6760)
And deprecate corresponding boot types "Drive" and "Partition". These are replaced by the more general "BootSector" boot typ
[FREELDR] Merge boot-drive and partition functionalities together (#6760)
And deprecate corresponding boot types "Drive" and "Partition". These are replaced by the more general "BootSector" boot type.
Finish the unification of the code, started in commit ff85aa0c3, that loads and boots disk MBR, partition VBR or boot sector in file.
A "WarnDeprecated()" helper is added to warn the user about the deprecated features, and to inform them to adjust their FREELDR.INI file in accordance.
In addition, bump FreeLoader version to 3.2 (at last!): a lot of features have been added or deprecated since its last release.
show more ...
|
#
150f7212 |
| 19-Mar-2023 |
Justin Miller <justinmiller100@gmail.com> |
[FREELDR] Support compiling freeldr as a UEFI loader + Implement UI functions (#5171)
First batch of changes to implement a UEFI version of freeldr:
- Compile freeldr as EFI binary on top of the ex
[FREELDR] Support compiling freeldr as a UEFI loader + Implement UI functions (#5171)
First batch of changes to implement a UEFI version of freeldr:
- Compile freeldr as EFI binary on top of the existing loader.
- Stub out various functions so we can create a UEFI machine-type in freeldr.
- Implement all of the video output functions so we can display a pretty freeldr BSoD :)
show more ...
|
Revision tags: 0.4.14-release, 0.4.15-dev, 0.4.14-RC, 0.4.13-release |
|
#
c14cc22b |
| 10-Nov-2019 |
Dmitry Borisov <di.sean@protonmail.com> |
[FREELDR] Add ARC-emulation support for NEC PC-98 series
- Add ARC-emulation support for NEC PC-98 series - Add global definition for PC-98 port into CMakeLists.txt - Add floppy verison of freeldr.i
[FREELDR] Add ARC-emulation support for NEC PC-98 series
- Add ARC-emulation support for NEC PC-98 series - Add global definition for PC-98 port into CMakeLists.txt - Add floppy verison of freeldr.ini for PC-98 CD boot
show more ...
|
#
63e22b82 |
| 06-Oct-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[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.
|
Revision tags: 0.4.14-dev, 0.4.13-RC, 0.4.12-release |
|
#
ff85aa0c |
| 17-Sep-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Other enhancements.
- Modify DiskReportError() to use an internal "display counter", so that imbricated DiskReportError(FALSE) ... DiskReportError(TRUE) can behave as expected. - Merge
[FREELDR] Other enhancements.
- Modify DiskReportError() to use an internal "display counter", so that imbricated DiskReportError(FALSE) ... DiskReportError(TRUE) can behave as expected. - Merge LoadAndBootDrive(), LoadAndBootPartition(), LoadAndBootBootSector() into one LoadAndBootDevice() function + its helpers (in progress...).
show more ...
|
#
eeff926e |
| 13-Sep-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Limit the usage of DiskStopFloppyMotor() in hardware/platform-specific code.
- Move DiskStopFloppyMotor() calls into the implementations of Boot(New)LinuxKernel() and Reboot() HW functio
[FREELDR] Limit the usage of DiskStopFloppyMotor() in hardware/platform-specific code.
- Move DiskStopFloppyMotor() calls into the implementations of Boot(New)LinuxKernel() and Reboot() HW functions, and the explanation comments in ChainLoadBiosBootSectorCode().
- Remove unneeded DiskStopFloppyMotor() dummies in ARM and PPC code.
- Use more adequate bitmask value to be sent to floppy's Digital Output Register for shutting down its motor (based on OSDev & our floppy controller driver).
show more ...
|
#
4843c1a9 |
| 13-Sep-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Other enhancements.
- Add optional arguments BootDrive and BootPartition to ChainLoadBiosBootSectorCode() so as not to modify explicitly the FrldrBootDrive and FrldrBootPartition varia
[FREELDR] Other enhancements.
- Add optional arguments BootDrive and BootPartition to ChainLoadBiosBootSectorCode() so as not to modify explicitly the FrldrBootDrive and FrldrBootPartition variables, that should remain purely internal.
- Implement ChainLoadBiosBootSectorCode() for x64.
- Get rid of the machine-specific DiskGetBootPath(), and instead do its job only once in the machine-specific InitializeBootDevices() (or in MachInit() for PPC). Cache the result of this operation into the globally-accessible FrldrBootPath buffer. This avoids the unneeded calls to (Mach)DiskGetBootPath() we used to do before. Also remove the separate distinction between the PC and XBOX versions of this functionality.
- Move the PC-specific DiskIsDriveRemovable() and DiskGetBootPath() as well as the disk-IO-error functionality, back into the corresponding PC-arch files.
- Simplify IniFileInitialize(), getting rid of IniOpenIniFile().
show more ...
|
#
bd451f24 |
| 30-Aug-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Code fixes and enhancements. CORE-9023
FIXES: ======
- Fix parsing of the multiboot options string. NOTE: They are not yet treated in a case-insensitive manner!
- Fix a bug in ArcOpen(
[FREELDR] Code fixes and enhancements. CORE-9023
FIXES: ======
- Fix parsing of the multiboot options string. NOTE: They are not yet treated in a case-insensitive manner!
- Fix a bug in ArcOpen() so that it correctly skips the first path separator (after the adapter-controller-peripheral ARC descriptors). The path separator can be either a backslash or a slash (both are allowed according to the specs); they were also already handled correctly in other parts of the code.
- Fix DissectArcPath() so as to: * **OPTIONALLY** (and not mandatorily!) return the path part that follows the ARC adapter-controller-peripheral elements in the ARC path;
* make it correctly handle the (yes, optional!!) partition() part in the ARC path, for the multi(x)disk(y)rdisk(z) cases.
ENHANCEMENTS: =============
- Directly retrieve the default OS entry as we enumerate them and build their list (i.e. merge the GetDefaultOperatingSystem() helper within InitOperatingSystemList()).
- Directly use the opened 'FreeLoader' INI section via its ID in the different functions that need it.
- Make the custom-boot and linux loaders honour the boot options they are supposed to support (see FREELDR.INI documentation / template). This includes the 'BootDrive' and 'BootPartition' (alternatively the ARC 'BootPath'). This also allows them to take into account the user-specified choices in the FreeLdr custom-boot editors.
- Modify the FreeLdr custom-boot editors so as to correctly honour the priorities of the boot options as specified in the FREELDR.INI documentation / template.
- Use stack trick (union of structs) to reduce stack usage in the FreeLdr custom-boot editors, because there are strings buffers that are used in an alternate manner.
- Extract out from the editors the LoadOperatingSystem() calls, and move it back into OptionMenuCustomBoot(), so that when this latter function is called there is no risk of having a stack almost full.
- When building the ARC-compatible argument vector for the loaders, add the mandatory "SystemPartition" path. This allows the loaders to NOT call the machine-specific MachDiskGetBootPath() later on (this data is indeed passed to them by the boot manager part of FreeLdr).
- Improve the FsOpenFile() helper so as to make it: * return an adequate ARC_STATUS instead of a mere uninformative BOOLEAN; * take open options, as well as a default path (optional) that would be prepended to the file name in case the latter is a relative one.
- Make RamDiskLoadVirtualFile() return an actual descriptive ARC_STATUS value, and make it take an optional default path (same usage as the one in FsOpenFile() ). + Remove useless NTAPI .
- UiInitialize() and TuiTextToColor(), TuiTextToFillStyle(): load or convert named settings into corresponding values using setting table and a tight for-loop, instead of duplicating 10x the same parameter reading logic.
- UiInitialize(): Open the "Display" INI section just once. Remove usage of DisplayModeText[] buffer.
- UiShowMessageBoxesInSection() and UiShowMessageBoxesInArgv(): reduce code indentation level.
ENHANCEMENTS for NT OS loader: ==============================
- Don't use MachDiskGetBootPath() but use instead the "SystemPartition" value passed via the ARC argument vector by the boot manager (+ validation checks). Use it as the "default path" when calling FsOpenFile() or loading the ramdisk.
- Honour the FreeLdr-specific "Hal=" and "Kernel=" options by converting them into NT standard "/HAL=" and "/KERNEL=" options in the boot command line.
Note that if the latter ones are already present on the standard "Options=" option line, they would take precedence over those passed via the separate "Hal=" and "Kernel=" FreeLdr-specific options.
Also add some documentation links to Geoff Chappell's website about how the default HAL and KERNEL names are chosen depending on the detected underlying platform on which the NT OS loader is running.
show more ...
|
#
423d1e2e |
| 14-Aug-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Minor fixes.
- Add some forgotten, or move some misplaced ArcClose() calls so as to avoid leakages in failure paths. (Thanks to Serge Gautherie for having caught some of them.)
- Simp
[FREELDR] Minor fixes.
- Add some forgotten, or move some misplaced ArcClose() calls so as to avoid leakages in failure paths. (Thanks to Serge Gautherie for having caught some of them.)
- Simplify some code; remove unneeded casts; use string-safe functions.
show more ...
|
#
85d44fca |
| 13-Aug-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Minor enhancements for disk/partition boot and UI.
- Factor out disk & partition opening in LoadAndBootPartition() and LoadAndBootDrive() into a LoadAndBootPartitionOrDrive() helper.
-
[FREELDR] Minor enhancements for disk/partition boot and UI.
- Factor out disk & partition opening in LoadAndBootPartition() and LoadAndBootDrive() into a LoadAndBootPartitionOrDrive() helper.
- Use ARC paths and ArcOpen()/ArcRead() instead of calling the machine-specific BIOS-oriented DiskGetPartitionEntry() and MachDiskReadLogicalSectors() functions to open the disk/partition and read their boot sectors.
- Don't forget to close the opened boot sector file in LoadAndBootBootSector().
- Add assertions for DiskReadBufferSize in PcMemFinalizeMemoryMap() and EnumerateHarddisks().
- x86/amd64 only: * Add a DisableA20 helper for disabling the A20 line, before rebooting back, or chain-load a boot sector, into 16-bit world. Also pulse the output port of the keyboard controller to clear out its state after having set the state of the A20 line.
* In addition to disabling the A20 line when rebooting or chain-loading a boot sector, reset the video back to 80x25 text mode.
- Reset the cursor position back to the origin when initializing or terminating the TUI.
show more ...
|
#
8d94b2a6 |
| 10-Aug-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Diverse enhancements.
- Get rid of the FsCloseFile(), FsReadFile(), FsGetFileInformation(), FsGetFileSize() and FsSetFilePointer() wrappers and use the ARC functions directly instead.
[FREELDR] Diverse enhancements.
- Get rid of the FsCloseFile(), FsReadFile(), FsGetFileInformation(), FsGetFileSize() and FsSetFilePointer() wrappers and use the ARC functions directly instead. Make FsOpenFile() return an ARC file descriptor ID of the correct type. Get rid of unused FS_* defines.
- Use TRACEs in the ***Mount() filesystem functions for diagnostics purposes.
- Remove a leak in FatGetFatEntry(). Assign stuff via QuadPart where possible in FatMount(). Remove an unused member in FAT_FILE_INFO.
- Reduce code indentation in BtrFsMount() and remove a leak there.
- Disable reading the "BootPath" parameter in the linux loader since we don't use this parameter (yet??)
show more ...
|
#
d05be0da |
| 06-Aug-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Some ARC-spec compatibility refactoring + simplifications & fixes. CORE-9023
- During loading and initialization of the list of operating systems available in freeldr.ini, convert any le
[FREELDR] Some ARC-spec compatibility refactoring + simplifications & fixes. CORE-9023
- During loading and initialization of the list of operating systems available in freeldr.ini, convert any legacy operating system entry encountered -- they are like those in NTLDR's boot.ini file, i.e.:
ArcOsLoadPartition="LoadIdentifier" /List /of /Options
into a new operating system INI entry, like those used by default in FreeLoader. This allows us to avoid treating this corner-case later in different parts of the code. Also, the "BootType" value is now determined there, only once.
- Convert the OS loaders entry-points to ARC-compatible ones, following the "Advanced RISC Computing Specification, Version 1.2" specification https://www.netbsd.org/docs/Hardware/Machines/ARC/riscspec.pdf
- Introduce helpers for retrieving options values from the argument vector in a simple way.
- Simplify LoadOperatingSystem(), since now the "BootType" value has been determined once while loading the list of OSes (see above) and is well-defined there. Use the BuildArgvForOsLoader() helper to build the ARC-compatible argument vector from the corresponding INI settings for the selected operating system entry, and use it when calling the corresponding OS loader.
- In the OS loaders, since we can now directly read the settings from the argument vector (instead of using INI settings), we can avoid using a bunch of fixed-size string buffers, and avoid potentially failing IniOpenSection() calls as well.
- Simplify code in the Linux loader (and the RemoveQuotes() function).
- Add UiShowMessageBoxesInArgv() that acts on the "MessageBox=" settings passed through the argument vector (equivalent to UiShowMessageBoxesInSection() ).
- Use string-safe functions where needed (copy/concatenation/printf on fixed-size buffers).
show more ...
|
#
e79e7bf5 |
| 30-Jul-2019 |
Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org> |
[FREELDR] Unload freeldr.ini file before booting.
|
Revision tags: 0.4.12-RC, 0.4.13-dev, 0.4.11-release, 0.4.11-RC, 0.4.12-dev, 0.4.10-release, 0.4.11-dev, 0.4.10-RC, 0.4.9-release, 0.4.10-dev, 0.4.9-RC, 0.4.8-release, 0.4.8-RC, 0.4.9-dev, 0.4.7-release, v0.4.7, 0.4.8-dev, 0.4.7-rc1 |
|
#
c2c66aff |
| 03-Oct-2017 |
Colin Finck <colin@reactos.org> |
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
|
Revision tags: backups/GSoC_2017/rapps@75905, ReactOS-0.4.6, backups/ros-branch-0_4_6@75728, 0.4.7-dev, ReactOS-0.4.5, backups/ros-branch-0_4_5@74569, ReactOS-0.4.4-CLT2017, backups/ReactOS-0.4.4-CLT2017@74182, ReactOS-0.4.4, backups/ros-branch-0_4_4@74002, ReactOS-0.4.4-FOSDEM2017, backups/ReactOS-0.4.4-FOSDEM2017@73667, ReactOS-0.4.3, backups/ros-branch-0_4_3@73437, backups/sndblst@72664, ReactOS-0.4.2, backups/ros-branch-0_4_2@73087, ReactOS-0.4.1, backups/ros-branch-0_4_1@71718 |
|
#
321bcc05 |
| 24-Apr-2016 |
Pierre Schweitzer <pierre@reactos.org> |
Create the AHCI branch for Aman's work
svn path=/branches/GSoC_2016/AHCI/; revision=71203
|
Revision tags: ReactOS-0.4.0-CLT2016, backups/ReactOS-0.4.0-CLT2016@71719, ReactOS-0.4.0-FOSDEM2016, backups/ReactOS-0.4.0-FOSDEM2016@70667, ReactOS-0.4.0, backups/ros-branch-0_4_0@70757, backups/colins-printing-for-freedom@73041, ReactOS-0.3.17-CLT2015, backups/ReactOS-0.3.17-CLT2015@66843, ReactOS-0.3.17, ReactOS-0.3.17-FOSDEM2015, backups/ReactOS-0.3.17-FOSDEM2015@66122, backups/shell-experiments@75904, backups/tcpip_revolution@71025, backups/0.3.17@66124, backups/ros-branch-0_3_16-clt2014@63729, ReactOS-0.3.16-CLT2014, ReactOS-0.3.16, backups/ReactOS-0.3.16@62476, backups/vs_jc@60583, backups/vs_jc@59301, ReactOS-0.3.15-LT2013, backups/ros-branch-0_3_15-lt2013@59304, ReactOS-0.3.15, backups/ReactOS-0.3.15@59303, backups/ros-csrss@60644, backups/ros-csrss@57560, ReactOS-0.3.14-CLT2012, backups/ros-branch-0_3_14-clt2012@56146, backups/c++-bringup@56084, backups/c++-bringup@60583, backups/usb-bringup-trunk@60667, ReactOS-0.3.14, backups/ros-branch-0_3_14@55492, backups/wlan-bringup@60693, backups/usb-bringup@55523, backups/iut-netsh@54410, backups/icu4ros-bringup@60647, backups/shell32_new-bringup@60646, backups/reactx@60648, backups/GSoC_2011/KMTestSuite@60644, backups/GSoC_2011/TcpIpDriver@60644, backups/cmake-bringup@60644, backups/ros-amd64-bringup@60669, backups/nyadav-audio-branch@60647, backups/GSoC_2011/GSoC_Network@51549, backups/GSoC_2011/GSoC_TcpIpDriver@51551, backups/GSoC_Network@51547, backups/audio-bringup@61036, backups/nyadav-audio-branch@51231, ReactOS-0.3.13-CLT2011, backups/ros-branch-0_3_13-clt2011@51081, ReactOS-0.3.13, backups/ros-branch-0_3_13@51071, backups/GSoC_2011/GSoC_Themes@51550, backups/GSoC_Themes@51548, backups/ros-branch-0_3_13@51035, backups/baikalnet@57446, backups/tcp-rewrite-branch@60668, backups/reactos-yarotows@57446, ReactOS-0.3.12, backups/ros-branch-0_3_12@49215, backups/reactx@49912, backups/Ash_Shell@57446, backups/Ash_Shell@48412, backups/header-work@57446, backups/arty-newcc@50856, ReactOS-0.3.11-CLT2010, backups/ros-branch-0_3_11-clt2010@46228, backups/jcatena-branch@60647, backups/aicom-network-stable@46924, ReactOS-0.3.11, backups/ros-branch-0_3_11@44688, backups/pierre-fsd@68837, ReactOS-0.3.10, backups/ros-branch-0_3_10@41757, ReactOS-0.3.9, backups/ros-branch-0_3_9@40702, backups/danny-web@40415, backups/aicom-network-fixes@46924, ReactOS-0.3.8, backups/ros-branch-0_3_8-fosdem@40472, backups/ros-branch-0_3_8@39330, backups/matthias-i18n@46924, backups/silverblade-audio@39727, backups/cache_manager_rewrite@57446, backups/the-real-msvc@60644, ReactOS-0.3.7, backups/ros-branch-0_3_7@37181 |
|
#
c0fa4859 |
| 25-Oct-2008 |
KJK::Hyperion <hackbunny@reactos.org> |
The real, definitive, Visual C++ support branch. Accept no substitutes
svn path=/branches/the-real-msvc/; revision=36960
|
Revision tags: backups/cis@40467, backups/unmaintained@36848, backups/ros-branch-0_3_7@37061, backups/nwin32@48372, backups/umode-network-branch@37897, ReactOS-0.3.6, backups/ros-branch-0_3_6@35137 |
|
#
c501d811 |
| 01-Aug-2008 |
Art Yerkes <art.yerkes@gmail.com> |
Create a branch for network fixes.
svn path=/branches/aicom-network-fixes/; revision=34994
|