Sam Demeulemeester
cee2d32766
Add a few ACPI Tables Signature that could be useful later
2022-06-19 16:39:03 +02:00
Sam Demeulemeester
221a66da1a
Split ACPI Functions from SMP functions.
...
Add ACPI Table detection for FADT & HPET (as we need better timers)
2022-06-19 16:39:03 +02:00
Lionel Debroux
63a07258fd
Fix the operation of the SMBus functions which require the SMBus controller ID.
2022-06-08 18:00:50 +02:00
Sam Demeulemeester
7758adfb9d
Improve readability on disabled code
2022-06-06 22:24:09 +02:00
Sam Demeulemeester
106eabef98
Fuse HYGON and AMD because the SMB controllor is strictly identical on both
2022-06-06 22:24:09 +02:00
Lionel Debroux
e86b04a14a
Perform major simplification in smbus.c to reduce code size while keeping the functions readable, removing several unused strings and unnecessary arguments passed to several functions.
...
Add a bunch of PCI device IDs and driver indications for other SMBus controllers, so as to avoid other persons having to do that work again.
Add support for two PIIX4 devices: the standard PIIX4 PCI device ID, and the ServerWorks CSB5, which has a slight twist.
Co-authored-by: Lionel Debroux <lionel_debroux@yahoo.fr>
Co-authored-by: Sam Demeulemeester <sam@x86.fr>
2022-06-06 22:24:09 +02:00
Sam Demeulemeester
6cd356f831
Add External L2 detection for ALi Aladdin V Chipset ( #87 )
2022-06-06 19:56:04 +02:00
dependabot[bot]
9ed7e22091
Bump actions/stale from 4 to 5 ( #99 )
...
Bumps [actions/stale](https://github.com/actions/stale ) from 4 to 5.
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/v4...v5 )
---
updated-dependencies:
- dependency-name: actions/stale
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-06-05 14:44:47 +02:00
Bensuperpc
c9f36fd4f5
Add github action ( #90 )
...
- Add build with ubuntu 18.04 and 20.04
- Add build with GCC and Clang
- Add dependabot
- Add stalebot
Signed-off-by: Bensuperpc <bensuperpc@gmail.com>
2022-06-05 14:40:15 +02:00
Sam Demeulemeester
fa563a8cb2
Change the way hwquirks are processed. Add a pointer to the needed function on quirk struct, so it can be executed at any point of the code
2022-06-05 14:36:56 +02:00
Sam Demeulemeester
e154320790
v6.00-beta2 release
2022-06-03 00:42:38 +02:00
Sam Demeulemeester
fae2ae9e13
Update README.md with new console parameters
2022-06-01 00:09:55 +02:00
Sam Demeulemeester
e1508a02be
Better detection of AMD SBxxx Southbridge using Revision IDs.
...
Add support for nForce 600a & 700a series
2022-05-25 01:11:11 +02:00
Sam Demeulemeester
69aeda1c27
Discard Memory SKU when filled with 0xFF. Remove a debug function forgotten there
2022-05-24 01:13:37 +02:00
Sam Demeulemeester
7c969db4da
Add support for nVidia nForce2 MCP ( #86 )
2022-05-24 01:00:52 +02:00
Sam Demeulemeester
1383f871d8
Add preliminary support for RPL-S PCH
2022-05-23 01:09:13 +02:00
Sam Demeulemeester
67cb78f4e5
Add support for AMD/ATI Southbridge (SB600->SB900)
2022-05-22 18:33:49 +02:00
Sam Demeulemeester
0adcdfa160
Fix display issue when current temperature and/or max temperature >= 100°C
2022-05-22 18:02:54 +02:00
martinwhitaker
4b17a4cc0c
Merge pull request #76 from memtest86plus/debrouxl/size_optimizations
...
Save space by inlining functions and getting rid of library functions which become unused
2022-05-21 20:48:25 +01:00
Martin Whitaker
3a107018e5
Reset EHCI controller after port scan if no keyboards are found.
...
Low and full speed USB devices that are attached directly to an EHCI port
have to be handled by a companion controller (either UHCI or OHCI). We hand
over ports when we detect a low or full speed device is attached by setting
the Port Owner bit in the Port Status and Control register. However some AMD
companion controllers fail to detect the device after this has been done.
Resetting the EHCI controller works around this quirk.
This fixes issue #6 and issue #71 .
2022-05-21 20:22:03 +01:00
Lionel Debroux
c6ff7b1486
Inline the ctype functions, so as to reduce size.
2022-05-21 10:11:45 +02:00
Lionel Debroux
cd68333f86
Get rid of memcpy(), as __builtin_memcpy() is globally smaller - and faster anyway - in all current and foreseeable occurrences.
2022-05-21 10:11:37 +02:00
Lionel Debroux
438201195d
Get rid of out of line memset(), as __builtin_memset() is not larger - even usually smaller - and faster anyway in all current and foreseeable occurrences.
2022-05-21 10:11:37 +02:00
Sam Demeulemeester
dce2cfb079
Fix a detection issue caused by some Pre-ZEN AMD CPUs sometimes incorrectly reporting SMT as supported
2022-05-21 01:31:06 +02:00
Sam Demeulemeester
3bc72c1fd4
Remove unused strings and useless smb_idx argument in get_spd()
2022-05-20 19:10:00 +02:00
Sam Demeulemeester
e0cee8e2c3
Add SMBUS support for Intel 82371AB (PIIX4) and AMD Bulldozer/Kabini (SB800/900)
2022-05-20 18:07:22 +02:00
Sam Demeulemeester
6b253adb9a
Include unistd.h in pci.c to use usleep()
2022-05-20 13:46:29 +02:00
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
Sam Demeulemeester
d901f9e8a1
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
Lionel Debroux
caa07482a0
Reorganize struct spd_infos for better alignment ( #2 ), fix left shifts of count > width of type, fix whitespace, improve comments.
2022-05-19 18:45:13 +02:00
Sam Demeulemeester
c2d033b4b4
Correct tCL detection on SDRAM
2022-05-19 17:16:13 +02:00
Sam Demeulemeester
076e133415
Add support for non-DDR RAM in display.c
2022-05-19 16:02:31 +02:00
debrouxl
c1d0c17f23
Add SPD decoding for SDRAM.
2022-05-19 15:07:09 +02:00
Sam Demeulemeester
37edb221d7
Importing minor bug fixes in smbus.c from delayed PR #44
...
Co-authored-by: 01e3 <01e3@ans.pl>
Co-authored-by: debrouxl <lionel_debroux@yahoo.fr>
2022-05-19 12:01:05 +02:00
Martin Whitaker
f16be176ed
Fix triple-fault when starting APs with program loaded above 16MB (issue #63 ).
...
In a .code16 section, the default coding for the lgdt instruction only loads
a 24 bit base address from the GDT descriptor. When loaded above 16MB, we
need it to load the full 32 bits.
2022-05-15 12:18:07 +01:00
Martin Whitaker
f98ceb1613
Set the kernel_alignment and min_alignment fields in the Linux setup header.
...
This shouldn't be needed because we don't set the relocatable_kernel flag,
but the GRUB linuxefi command pays no attention to that. Currently the
linuxefi command also ignores the alignment values, but set them now in
case that changes in the future.
2022-05-15 12:18:07 +01:00
Sam Demeulemeester
722b1b2899
Fix console kernel parameters parsed too late at boot ( #66 ). Reorder global init to start tty after config parsed. Allow a wider options for console argument (ie: console - console=ttySx - console=ttySx,115200
2022-05-12 16:55:52 +02:00
Sam Demeulemeester
c56fbe3257
Change serial console baud rate parameters to match conventional linux kernel - ie: console=ttyS0,115200 for 115200 bps ( #64 )
2022-05-10 23:59:20 +02:00
Martin Whitaker
e8c8ef69eb
Simplify allocation of memory in efisetup.c.
2022-05-09 18:41:14 +01:00
Martin Whitaker
ef3f0bc1e5
Call cpuid_init() before the first call to map_region().
...
map_region() uses the long mode flag, so that must be initialised first.
2022-05-09 18:17:19 +01:00
Martin Whitaker
e429abec9f
Support boot options when booting directly from EFI image (issue #53 ).
2022-05-08 22:46:27 +01:00
Sam Demeulemeester
a67d346ef7
Update README.md
...
- Add 'console' parameters details in boot options
- Change the header for the release for binary release
- Remove solved known bugs
2022-05-05 23:19:50 +02:00
Martin Whitaker
af54067228
Execute smp_init() before keyboard_init() in case ACPI tables are overwritten.
...
When USB keyboard detection is enabled, physical memory pages are reserved
for use by the USB drivers. The physical memory map exposed by pmem.h does
not indicate where the ACPI tables reside, so we may end up using pages
that contain ACPI tables (or for that matter, the boot parameters and boot
command line). So rather than introduce a more complicated memory allocation
scheme, make sure we have finished with all the data passed to us by the
BIOS and/or boot loader before we start probing for USB devices.
The only downside to this is that it is no longer possible to interactively
disable parsing of the ACPI tables - that can now only be done by using the
"nosmp" boot option.
2022-05-04 22:42:31 +01:00
Martin Whitaker
7b41830c40
Change "smp" boot option to "nosmp".
...
SMP is now enabled by default, so we need an option to disable it.
2022-05-04 22:16:14 +01:00
Martin Whitaker
eaf29f1e39
Mark keyboard reports passed to process_usb_keyboard_report() as const.
2022-05-01 22:43:04 +01:00
Martin Whitaker
260c113bb2
Detect and ignore the HID keyboard "phantom condition" (excessive roll-over).
2022-05-01 22:40:42 +01:00
Martin Whitaker
ddaa8bff3f
uhci: update the data toggle bit when reenabling an interrupt transfer.
...
For the same reason as the preceeding ehci fix.
2022-05-01 22:05:40 +01:00
Martin Whitaker
f7d31df412
ehci: update the data toggle bit when reenabling an interrupt transfer.
...
Previously every second transfer was dropped. We didn't notice, because
they were normally key release events, which we ignored anyway. However
the new keyboard report handler needs to see the release events.
2022-05-01 18:27:13 +01:00
Martin Whitaker
c3bdb556d1
Move probe_usb_controller() into private functions section of usbhcd.c
...
No functional change. It was just in the wrong place.
2022-05-01 18:24:39 +01:00
Martin Whitaker
97d6c7140d
Improved USB keyboard report handling.
...
A USB keyboard may return key codes in any of the 6 key code array
positions (issue #48 ). So we have to compare the latest report to
the previous one to detect new key presses and handle rollover. As
the same change is needed for all HCI types, factor out the common
code into the base driver.
2022-05-01 16:44:46 +01:00