Commit Graph

25 Commits

Author SHA1 Message Date
Sam Demeulemeester
bc8235f50d
Add a way to handle hardware quirks at init or later in the code. Add ASUS TUSL2-C ASB100 Mux as (working) example (#77) 2022-05-20 13:23:25 +02:00
Martin Whitaker
d1cafa9f64 Fix grub-iso build on systems with grub2-mkimage. 2022-04-17 22:42:56 +01:00
Sam Demeulemeester
a95afe88db Make ISO volume name ISO9660 compliant and allow alternative name for grub2-mkimage (ie: Debian package use grub-mkimage instead of grub2-mkimage) 2022-04-17 16:59:57 +02:00
Sam Demeulemeester
8f0437c579 Better githash.h generation on Makefile from @martinwhitaker 2022-04-16 13:31:28 +02:00
Sam Demeulemeester
5f92ff1a64 Rework first line, add build number based on git hash, move 32/64b info to build number, add githash.h to git ignore. A better implementation of Makefile is needed (check if git is present and avoid rebuild (APP)*.c if hash is the same 2022-04-16 13:31:28 +02:00
Martin Whitaker
4761b782dd Enable detection of keyboards attached to a UHCI controller. 2022-04-07 18:05:45 +01:00
Sam Demeulemeester
2e048a7c61
Add support for Serial/TTY (#32)
* Add preliminary support for TTY Serial/UART (#15)

* Use shadow_buffer instead of VGA buffer to get a framebuffer-agnostic TTY supprot

* Added menu browsing & inputs from Serial TTY (#15)

* Add fix for degree symbol on TTY. Correct serial.c & serial.h file created with CRLF (#15)

* Move tty_error_redraw() to insure correct redraw when a error occurs

* Many reindent / cleanup

* Various optimization from @martinwhitaker comments
2022-04-04 18:31:54 +02:00
Sam DEMEULEMEESTER
2266151fe6 Early SMBUS functions (#2) & EFI Reset (#17) 2022-03-24 21:49:56 +01:00
Sam DEMEULEMEESTER
63904403b2 Added preliminary BIOS/EFI SMBIOS table parsing & basic printing (#1) 2022-03-24 21:49:56 +01:00
Martin Whitaker
4078b7760e Faster barrier implementation.
The old barrier implementation was very slow when running on a multi-socket
machine (pcmemtest issue 16).

The new implementation provides two options:

  - when blocked, spin on a thread-local flag
  - when blocked, execute a HLT instruction and wait for a NMI

The first option might be faster, but we need to measure it to find out. A
new boot command line option is provided to select between the two, with a
third setting that uses a mixture of the two.
2022-02-28 22:05:21 +00:00
Martin Whitaker
d04ec9f681 Rename to Memtest86+ v6.0. 2022-02-19 19:44:58 +00:00
Martin Whitaker
e37fbbd429 Set stack alignment to 16 bytes.
This needs to be done in the ldscripts.
2022-02-02 18:23:23 +00:00
Martin Whitaker
dcac527068 Don't make assumptions about usable memory.
When using a legacy BIOS, the memory regions used by the BIOS are well
defined. This is not the case when using a UEFI BIOS. So include the
stack area in the BSS so the loader knows how much memory to allocate,
and check we have space to relocate the program to either low or high
memory.

There are still some assumptions in the USB driver code that need to
be fixed.
2022-02-02 12:20:39 +00:00
Martin Whitaker
563c8a1ee7 Add support for EHCI USB controller. 2022-01-23 17:38:50 +00:00
Martin Whitaker
4400ec6f17 Rename usbkbd to usbhcd to better reflect the new design. 2022-01-08 23:14:50 +00:00
Martin Whitaker
8069b8724b Initial support for native USB keyboard interface.
This adds support for USB keyboards connected directly to an OHCI
or XHCI controller.
2021-12-22 17:31:06 +00:00
Martin Whitaker
00603a2b1e Workaround for VirtualBox EFI boot bug.
(issue #19910 on VirtualBox bug tracker)
2021-12-22 16:29:33 +00:00
Martin Whitaker
f946a9724c Add support for GRUB test ISO in 32-bit builds. 2021-12-22 16:26:28 +00:00
Martin Whitaker
abbee1a25f Use 'size -B' instead of 'size -G' to determine BSS size.
The -G option is a relatively recent addition, so fails on older
systems (issue #11).
2021-09-02 18:11:30 +01:00
Martin Whitaker
e7d22959ea Fix linking with latest gcc.
gas now adds a .note.gnu.property section to the object files. We
need to strip it out when building the binaries.
2021-07-18 20:41:31 +01:00
Martin Whitaker
7d044ed089 Add support for USB legacy boot on hybrid ISO. 2020-07-09 15:53:44 +01:00
Martin Whitaker
c089a81ed1 Add support for 32-bit EFI boot. 2020-07-08 11:07:32 +01:00
Martin Whitaker
b68afac6c0 Cosmetic changes to ldscripts. 2020-07-03 19:33:42 +01:00
Martin Whitaker
c5a21e7ff1 Add ldscripts. 2020-05-25 14:39:03 +01:00
Martin Whitaker
fbd3376668 Initial commit. 2020-05-24 21:30:55 +01:00