non-DOS (yet): an interesting project for x86-64 (Miscellaneous)
Hello RayeR,
> OK, there is way to switch to RM and back but question is that UEFI runtime
> services are compatible with it and how many time it takes this overhead
> (saving context, etc) when switching back and forth too often. I guess that
> once you switch to RM and change some HW state then it will mess up UEFI
> when you switch back. I don't know if UEFI design was count with such
> option in it's architecture.
Actually it gets better (or worse?) than that --- UEFI distinguishes between "boot services" and "runtime services".
"Boot services" are, by right, only to be used by bootloaders, and boot managers that may load bootloaders. Before a bootloader starts up an actual system kernel, it is expected to "exit" the boot services --- free up the memory and resources used by them. After that the boot services are considered to be unavailable. Only the "runtime services" can be expected to be available to the kernel.
The fun part: most of the useful I/O drivers, including disk I/O and console I/O (!), are only available as boot services.
(Well, OK, the frame buffer for console I/O will still stick around even after boot services are exited:
> > [The UEFI Graphics Output Protocol] also provides an efficient BitBlitter
> > function, which you can't use from your OS unfortunately. GOP is an EFI
> > Boot Time Service, meaning you can't access it after you call
> > ExitBootServices(). However, the framebuffer provided by GOP persists, so
> > you can continue to use it for graphics output in your OS.
I have found this mighty useful for debugging.)
So basically the expectation is that the kernel will (re)do the initialization of the disk I/O and console I/O functionality, etc., based on the ACPI tables.
> BTW on MBs without CSM it is still a possibility to compile opensource
> SeaBIOS as CSM and do BIOS mod to insert it in. But I didn't read any
> success story about it yet.
I think, but I am not sure, that one needs to install the SeaBIOS as a sort of extension ROM inside the machine for this to work.
(The TianoCore sources seem to suggest (to me) that the UEFI firmware needs to detect the CSM very early in its initialization...)
> low level and sometimes undocumented stuff needed for real dos64. An it
> remembers me there already was/is RDOS
> project that is not much discussed anywhere - at least it contains
> some attempt to handle ACPI. But I was unable to boot it on my PC.
Thanks for the link! I think I have not come across RDOS before --- perhaps I should check it out.
---
https://gitlab.com/tkchia · https://codeberg.org/tkchia · 😴 "MOV AX,0D500H+CMOS_REG_D+NMI"
Complete thread:
- non-DOS (yet): an interesting project for x86-64 - effebi68, 18.01.2021, 08:57 (Miscellaneous)
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 19.01.2021, 17:52
- non-DOS (yet): an interesting project for x86-64 - effebi68, 19.01.2021, 18:35
- non-DOS (yet): an interesting project for x86-64 - ecm, 19.01.2021, 18:57
- non-DOS (yet): an interesting project for x86-64 - RayeR, 19.01.2021, 19:14
- non-DOS (yet): an interesting project for x86-64 - ecm, 19.01.2021, 20:01
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 20.01.2021, 07:16
- non-DOS (yet): an interesting project for x86-64 - tkchia, 21.01.2021, 17:42
- non-DOS (yet): an interesting project for x86-64 - ecm, 21.01.2021, 18:24
- non-DOS (yet): an interesting project for x86-64 - tkchia, 21.01.2021, 18:40
- non-DOS (yet): an interesting project for x86-64 - RayeR, 21.01.2021, 18:57
- non-DOS (yet): an interesting project for x86-64 - Oso2k, 23.01.2021, 05:26
- non-DOS (yet): an interesting project for x86-64 - Zyzzle, 23.01.2021, 07:03
- non-DOS (yet): an interesting project for x86-64 - tkchia, 23.01.2021, 15:13
- non-DOS (yet): an interesting project for x86-64 - RayeR, 23.01.2021, 20:35
- non-DOS (yet): an interesting project for x86-64 - tkchia, 24.01.2021, 04:20
- non-DOS (yet): an interesting project for x86-64 - RayeR, 25.01.2021, 17:34
- non-DOS (yet): an interesting project for x86-64 - tkchia, 24.01.2021, 04:20
- non-DOS (yet): an interesting project for x86-64 - RayeR, 23.01.2021, 20:35
- non-DOS (yet): an interesting project for x86-64 - tkchia, 23.01.2021, 15:13
- non-DOS (yet): an interesting project for x86-64 - Japheth, 23.01.2021, 08:52
- non-DOS (yet): an interesting project for x86-64 - Zyzzle, 23.01.2021, 07:03
- non-DOS (yet): an interesting project for x86-64 - Oso2k, 23.01.2021, 05:26
- non-DOS (yet): an interesting project for x86-64 - RayeR, 21.01.2021, 18:57
- non-DOS (yet): an interesting project for x86-64 - tkchia, 21.01.2021, 18:40
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 23.01.2021, 17:38
- non-DOS (yet): an interesting project for x86-64 - tkchia, 23.01.2021, 18:31
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 23.01.2021, 21:07
- non-DOS (yet): an interesting project for x86-64 - tom, 23.01.2021, 23:31
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 24.01.2021, 02:56
- non-DOS (yet): an interesting project for x86-64 - tkchia, 24.01.2021, 04:34
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 24.01.2021, 05:17
- non-DOS (yet): an interesting project for x86-64 - tkchia, 24.01.2021, 06:26
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 25.01.2021, 03:30
- non-DOS (yet): an interesting project for x86-64 - rr, 25.01.2021, 13:05
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 27.01.2021, 04:03
- non-DOS (yet): an interesting project for x86-64 - tkchia, 27.01.2021, 07:04
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 27.01.2021, 04:03
- non-DOS (yet): an interesting project for x86-64 - rr, 25.01.2021, 13:05
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 25.01.2021, 03:30
- non-DOS (yet): an interesting project for x86-64 - tkchia, 24.01.2021, 06:26
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 24.01.2021, 05:17
- non-DOS (yet): an interesting project for x86-64 - RayeR, 25.01.2021, 17:51
- non-DOS (yet): an interesting project for x86-64 - tkchia, 24.01.2021, 04:34
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 24.01.2021, 02:56
- non-DOS (yet): an interesting project for x86-64 - tkchia, 24.01.2021, 03:59
- non-DOS (yet): an interesting project for x86-64 - tom, 23.01.2021, 23:31
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 23.01.2021, 21:07
- non-DOS (yet): an interesting project for x86-64 - tkchia, 23.01.2021, 18:31
- non-DOS (yet): an interesting project for x86-64 - tkchia, 20.07.2021, 10:29
- non-DOS (yet): an interesting project for x86-64 - ecm, 21.01.2021, 18:24
- non-DOS (yet): an interesting project for x86-64 - tkchia, 21.01.2021, 17:42
- non-DOS (yet): an interesting project for x86-64 - RayeR, 19.01.2021, 19:14
- non-DOS (yet): an interesting project for x86-64 - tkchia, 15.11.2022, 08:44
- non-DOS (yet): an interesting project for x86-64 - glennmcc, 19.01.2021, 17:52