memtest86plus/system
martinwhitaker 20fca09752
Add boot options to perform display rotation and set preferred screen resolution (#383)
* Add boot option to rotate screen display through 90 degrees.

Some machines have a detachable display that can be used in either
portrait or landscape orientations, and require software to rotate
the displayed image accordingly. There is no way to detect the
current orientation through the BIOS, so provide a boot option to
control this. Hopefully we only need to support one (+90 degree)
angle.

Note that the rotate option only works in graphical mode. When booted
by a legacy BIOS using text mode, we have to rely on the BIOS to do
what's necessary.

* Extend boot command line options for display screen control.

Replace "rotate" option with "screen.rhs-up" and "screen.lhs-up" to
allow rotation in either direction. Add a "screen.mode=<w>x<h>"
option to set a preferred width <w> and height <h> for the UEFI
frame buffer. Also allow "screen.mode=bios" to use the default
UEFI frame buffer resolution.

* Add more debug output for EFI frame buffer mode.

* Replicate command line parsing of screen options in efisetup.c.

Trying to do it only once in screen.c didn't work, because static
variables initialied to zero are placed in the bss section, and we
don't zero the bss section until after efisetup() is executed.

The resulting code is in fact smaller, because the compiler can
optimise better when everything is local.

* Add a boot command line option for efisetup debug.

* Improve EFI debug test screen pattern.

* Document the new screen and efidebug boot command line options.

* Fix typo in README.
2024-03-04 14:49:13 +01:00
..
imc Preliminary ECC support for AMD Zen CPUs (#353) 2023-11-29 12:53:05 +01:00
acpi.c Various minor cosmetic changes on acpi.c/h (mainly comments and code format) 2022-06-19 16:39:03 +02:00
acpi.h Various minor cosmetic changes on acpi.c/h (mainly comments and code format) 2022-06-19 16:39:03 +02:00
cache.h Simple maintenance improvements (#145) 2022-08-15 17:51:48 +02:00
cpuid.c [cpuinfo] Fix old CPUs (P5/P6-class) name and cache info (#267) 2023-03-03 13:21:27 +01:00
cpuid.h Add support for AMD K8 temperature reporting. (#268) 2023-02-13 22:29:17 +01:00
cpuinfo.c cpuinfo: Fix VIA Samuel 2 L2 cache (#341) 2023-09-16 18:30:04 +02:00
cpuinfo.h Add IMC polling for AMD Rembrandt 2023-06-01 22:00:02 +02:00
cpulocal.c Faster barrier implementation. 2022-02-28 22:05:21 +00:00
cpulocal.h Faster barrier implementation. 2022-02-28 22:05:21 +00:00
ehci.c Revert workaround for issue #6 and issue #71 (commit 3a10701). 2022-10-07 09:33:23 +01:00
ehci.h Take ownership of all USB controllers before probing for devices. (#167) 2022-10-07 09:32:09 +01:00
font.c Initial commit. 2020-05-24 21:30:55 +01:00
font.h Exclude copyright notices from Doxygen file descriptions. 2022-02-19 19:56:55 +00:00
heap.c Switch to an array of heaps in the heap manager, and heap IDs in the allocation functions. 2022-07-25 12:53:21 +02:00
heap.h Fix and improve documentation in heap.h (issue #232) 2023-01-03 11:55:51 +00:00
hwctrl.c Tidy up code for performing reset via the EFI runtime sevices. 2022-04-23 13:25:33 +01:00
hwctrl.h Tidy up code for performing reset via the EFI runtime sevices. 2022-04-23 13:25:33 +01:00
hwquirks.c Generalize the SMBus IO Enable quirk on all Intel ICHs 2023-04-26 00:42:58 +02:00
hwquirks.h Generalize the SMBus IO Enable quirk on all Intel ICHs 2023-04-26 00:42:58 +02:00
io.h Exclude copyright notices from Doxygen file descriptions. 2022-02-19 19:56:55 +00:00
jedec_id.h Add detection for various JEDEC Manufacturers 2024-01-07 15:20:19 +01:00
keyboard.c By default, only enable USB keyboard detection when booted in UEFI mode. 2022-07-24 13:56:41 +01:00
keyboard.h Add usbdebug command line option and conditionally pause at end of USB scan. 2022-04-17 22:46:17 +01:00
memctrl.c Preliminary ECC support for AMD Zen CPUs (#353) 2023-11-29 12:53:05 +01:00
memctrl.h Preliminary ECC support for AMD Zen CPUs (#353) 2023-11-29 12:53:05 +01:00
memrw32.h Exclude copyright notices from Doxygen file descriptions. 2022-02-19 19:56:55 +00:00
memrw64.h Exclude copyright notices from Doxygen file descriptions. 2022-02-19 19:56:55 +00:00
memsize.h Exclude copyright notices from Doxygen file descriptions. 2022-02-19 19:56:55 +00:00
msr.h Preliminary ECC support for AMD Zen CPUs (#353) 2023-11-29 12:53:05 +01:00
ohci.c Take ownership of all USB controllers before probing for devices. (#167) 2022-10-07 09:32:09 +01:00
ohci.h Take ownership of all USB controllers before probing for devices. (#167) 2022-10-07 09:32:09 +01:00
pci.c Include unistd.h in pci.c to use usleep() 2022-05-20 13:46:29 +02:00
pci.h Add Memory Controller Registers polling to get current DRAM Timings/Frequency (#306) 2023-05-12 15:33:28 +02:00
pmem.c Store pmem temporary arrays on the stack to reduce memory footprint. 2022-01-09 21:27:44 +00:00
pmem.h Exclude copyright notices from Doxygen file descriptions. 2022-02-19 19:56:55 +00:00
reloc32.c Faster barrier implementation. 2022-02-28 22:05:21 +00:00
reloc64.c Faster barrier implementation. 2022-02-28 22:05:21 +00:00
screen.c Add boot options to perform display rotation and set preferred screen resolution (#383) 2024-03-04 14:49:13 +01:00
screen.h Add boot options to perform display rotation and set preferred screen resolution (#383) 2024-03-04 14:49:13 +01:00
serial.c Add support for MMIO UART console (#300) 2023-05-12 15:49:00 +02:00
serial.h Add support for MMIO UART console (#300) 2023-05-12 15:49:00 +02:00
smbios.c Fix an issue where DDR4 Bank switch fail because DMI tables have multiples Type 17 structs reporting unpopulated slots as Type 2 (unknown), overwriting the valid struct with the populated slot. Code cleanup to improve readability 2022-05-20 01:59:27 +02:00
smbios.h Simple maintenance improvements (#145) 2022-08-15 17:51:48 +02:00
smbus.c Add Memory Controller Registers polling to get current DRAM Timings/Frequency (#306) 2023-05-12 15:33:28 +02:00
smbus.h [SMBUS] Add support for ALi M1533/1535/1543C (#273) 2023-02-20 18:31:33 +01:00
smp.c Add a quirk to disable SMP on SuperMicro X10SDV (#244) 2023-01-30 16:47:54 +01:00
smp.h Split ACPI Functions from SMP functions. 2022-06-19 16:39:03 +02:00
temperature.c Fix various temperature-related issues on older Atom CPUs 2023-05-18 16:03:48 +02:00
temperature.h Add Memory Controller Registers polling to get current DRAM Timings/Frequency (#306) 2023-05-12 15:33:28 +02:00
timers.c Fix APIC Timer detection fail on some modern mobile/embedded PCH 2023-04-23 22:45:27 +02:00
timers.h Add ACPI Timer as the primary TSC correction source and PIT Timer as fallback 2022-06-19 16:39:03 +02:00
tsc.h Exclude copyright notices from Doxygen file descriptions. 2022-02-19 19:56:55 +00:00
uhci.c Take ownership of all USB controllers before probing for devices. (#167) 2022-10-07 09:32:09 +01:00
uhci.h Take ownership of all USB controllers before probing for devices. (#167) 2022-10-07 09:32:09 +01:00
usb.h Exclude copyright notices from Doxygen file descriptions. 2022-02-19 19:56:55 +00:00
usbhcd.c Reduce padding and relocations (#355) 2023-11-29 12:45:17 +01:00
usbhcd.h Fix EHCI and XHCI drivers to handle USB1 hubs (issue #156) 2022-09-08 18:09:43 +01:00
vmem.c Add option to map_region to indicate we only use the region during startup. 2022-02-28 22:05:21 +00:00
vmem.h Rework memory mapping to allow for larger program size (#54) 2022-04-28 23:04:01 +02:00
xhci.c Take ownership of all USB controllers before probing for devices. (#167) 2022-10-07 09:32:09 +01:00
xhci.h Take ownership of all USB controllers before probing for devices. (#167) 2022-10-07 09:32:09 +01:00