Commit Graph

24 Commits

Author SHA1 Message Date
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