To remember what the ReactOS project is about : it’s about recreating Windows in open-source and trying not to do the same mistakes as the non-open-source counterpart, i.e. having it work only on the newest of the newest computers.
And also, it’s not like if the HAL PIC x86 UP would suddently not work anymore: its “maintenance” is very minimal (bug fixes). Otherwise, Alex’ idea of two HALs sounds nice. Regards, Hermès De : Ros-dev [mailto:ros-dev-boun...@reactos.org] De la part de Riccardo Paolo Bestetti Envoyé : mardi 12 décembre 2017 22:01 À : ReactOS Development List Objet : Re: [ros-dev] Merging our x86 HALs My bi-annual IT guy peak: Is there a real need to? I think not. B.R. Riccardo P. Bestetti From: Ros-dev [mailto:ros-dev-boun...@reactos.org] On Behalf Of Javier Agustìn Fernàndez Arroyo Sent: martedì 12 dicembre 2017 18:13 To: ReactOS Development List <ros-dev@reactos.org> Subject: Re: [ros-dev] Merging our x86 HALs Win8 does not support old hardware as ReactOS do! El 12 dic. 2017 17:52, "Alex Ionescu" <ion...@videotron.ca> escribió: I would move to the Win8+ HAL Model -- a single HAL for APIC, ACPI with runtime support for UEFI (if present) and MP (if present). If people still want to run on a PIC VM (why???) or old computer, then we can also maintain the HAL PIC x86 for UP. Hence there would only be 2 HALs. Best regards, Alex Ionescu On Mon, Dec 11, 2017 at 1:07 AM, Colin Finck <co...@reactos.org> wrote: Am 11.12.2017 um 01:18 schrieb Hermès BÉLUSCA-MAÏTO:> If you basically put all the HALs into one, then you obtain bloated stuff (which remains in memory for the whole life of the OS). Example: standard HAL is 1MB vs. ACPI HAL which is few kBHave you actually checked what makes up this difference? Hint: hal/halx86/legacy/bus/pci_vendors.ids > Note that if Windows nowadays has only one hal, it's because they now support > basically only one "architecture"/platform, namely, ACPI multiprocessor (to > put it simple). It has its pros, but also a lot of cons. That doesn't mean we need to do the same. We can have one HAL for all (Pentium and newer) x86 platforms. The overhead of additional checks at boot-up is negligible. That should be a solution for 99% of the people out there. The rest may still go and trim down our HAL to their needs. But let's not pretend we can maintain multiple x86 HALs for all x86 computers out there. Do you really want to test X HALs with Y different systems? Ensure that a legacy HAL runs on a modern ACPI system? What would be the point? > Besides this, I've a question about your observation that in the APIC hal > (not ACPI) there's different implementation of HalpCalibrateStallExecution > and HalpInitializePICs / HalpInitializeLegacyPIC . Isn't it precisely because > these stuff are completely different from the standard PICs used in platforms > for which the standard HAL (and possibly the ACPI HAL) are used? Absolutely not! You need to reprogram the standard PICs also on an APIC system, and this is precisely what both functions do. Put them into a diff tool to see for yourself. The same goes for timers. Even with the introduction of ACPI Timers, Local APIC Timers, and Time-Stamp Counters, you still need a traditional one (like RTC or PIT) for calibration at system startup. Simply because the newer ones don't run at a known fixed frequency. The Legacy HAL successfully employs an algorithm based on the RTC while the APIC HAL unsuccessfully tries to use the PIT. > Actually we should, because the detection might not work (of course in our > simple case "ACPI UP/MP" vs. "Standard", it's simple, but think about other > platforms where there can be subtle differences) Tell me about a single one we cannot detect and which is worth to support. I don't recall that we ever recommended our testers to choose a different HAL at setup. > And normally it's not the setup that decides about the HAL, but the > bootloader. That defies your previous point about the setup initializing the registry depending on the HAL. If we can let the user select a Legacy HAL in the boot loader after installing with an ACPI HAL, it is also technically possible to have one HAL that encompasses both. - Colin _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev