By default, don't re-display FAIL banner after it has been discarded (#130 & #173)
Add an option to re-display FAIL banner even if previously discarded
* Avoid FAIL banner being partially overwriten by new errors
* Remove beta on main title
* Remove v6 Beta Disclaimer & some README.me changes for release
* [DDR5] Fix rounding errors on SPD Timings
* [DDR5] Add a rounding factor of ~0.3% according to JEDEC to solve the last rounding issue found on NETAC Modules
* [DDR5] Add missing package ranks per channel parameter in total module capacity algorithm
* [DDR4] Fix rounding issues in SPD timings & frequency
* [DDR3] Fix rounding issues in SPD timings & frequency decoding. Check XMP Profile #2. Add a quirk for Kingston based on very early XMP 1.0 specs
* [DDR2] Fix CAS detection & rounding issues in SPD timings w/ EPP
* [DDR] Correct SPD timings rounding issues & add support for x.5 CAS latencies
* [SDR] Correct SPD Timings decoding due to rounding errors
* Add various JEP106 Manufacturers found while debugging
* Update timings display function to handle x.5 CAS
Add AP Enumeration to distinguish E-Core from P-Core on Intel Hybrid CPUs, and exclude them from the selected cores by default. Including E-Cores slows down some tests and takes longer to catch memory errors.
A new exclude_ecores flag has been added in config.c to include E-Cores if needed.
- Enable VGA/FB to output box drawing characters while maintaining VT100
character set for serial. Shorten and simplify the screen setup code.
- Track the background color to decide if the serial output needs to be
inverted. Remove no longer needed logic for known areas of the screen that
need to be inverted. As a bonus - popup menu can now be also inverted on
serial.
- Reduce the amount of data sent to serial by using CR+LF when possible
instead of always relying on absolute positioning. Add tty_print()
for positioning the cursor, remove no longer needed tty_print().
- Remove no longer needed "LF -> LF+CR" logic from serial_echo_print().
Before (gcc-11.3.0-x86_64):
text data bss total filename
929 357 64 1350 system/serial.o
3517 1356 54 4927 app/display.o
After (gcc-11.3.0-x86_64):
text data bss total filename
907 336 64 1307 system/serial.o
3442 1242 54 4738 app/display.o
Co-authored-by: Sam Demeulemeester <38105886+x86fr@users.noreply.github.com>
* 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
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.