Revision tags: v6.2.1, v6.2.0, v6.3.0, v6.0.1 |
|
#
abba2c19 |
| 17-Jul-2021 |
Sascha Wildner <saw@online.de> |
kernel/acpi: Adjust MADT revision check.
|
Revision tags: v6.0.0, v6.0.0rc1, v6.1.0, v5.8.3, v5.8.2, v5.8.1, v5.8.0, v5.9.0, v5.8.0rc1 |
|
#
9cd8f4f8 |
| 11-Feb-2020 |
Matthew Dillon <dillon@apollo.backplane.com> |
kernel - Warn/assert on broken ACPI MADT
* Add warnings and assertions for broken ACPI MADT tables. I encountered this trying to boot a 3990X on a motherboard with an old BIOS that didn't suppo
kernel - Warn/assert on broken ACPI MADT
* Add warnings and assertions for broken ACPI MADT tables. I encountered this trying to boot a 3990X on a motherboard with an old BIOS that didn't support it. It tried to boot anyway, but the MADT table was mangled and caused a null-pointer indirection in the kernel. Assert nicely instead.
show more ...
|
Revision tags: v5.6.3, v5.6.2, v5.6.1, v5.6.0, v5.6.0rc1, v5.7.0, v5.4.3, v5.4.2, v5.4.1, v5.4.0, v5.5.0, v5.4.0rc1, v5.2.2 |
|
#
f89b4a45 |
| 05-Jun-2018 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64: Implement x2apic support.
Now LAPIC registers are accessed through MSR at fixed location, instead of going through MMIO region.
Most noticeable is that ICR operation is greatly simplified,
x86_64: Implement x2apic support.
Now LAPIC registers are accessed through MSR at fixed location, instead of going through MMIO region.
Most noticeable is that ICR operation is greatly simplified, i.e. IPI sending operation: - Reserved bits are read as 0; there is no need to read ICR first for OR with the new values. - No more pending bit, i.e. ICR write is synchronized; there is no need to read ICR to test pending bit. - ICR is 64 bits in x2apic mode, i.e. two 32 bits writes to ICR-low and ICR-high become one write to ICR.
NOTE: Though Intel SDM says that wrmsr to LAPIC registers are relaxed, we don't need to put mfence or sfence before them, especially for sending IPIs, since the generic IPIQ and the machdep code already uses atomic operation before doing ICR operation. For the rest of the code, there really are no needs to add mfence/sfence before rdmsr/wrmsr to LAPIC registers.
As of this commit, x2apic mode is _not_ enabled by default. It can be enabled through hw.x2apic_enable tuneable, and a read-only sysctl node with the same name is available for debugging purpose.
Based on work by ivadasz@.
show more ...
|
#
8afc0c3d |
| 03-Jun-2018 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64: Prepare for x2apic support.
- Use macro to access and modify LAPIC registers. - Use function pointers for hot LAPIC operation, i.e. IPI and timer. - Refactor the related code a bit.
Global
x86_64: Prepare for x2apic support.
- Use macro to access and modify LAPIC registers. - Use function pointers for hot LAPIC operation, i.e. IPI and timer. - Refactor the related code a bit.
Global variable 'lapic' is renamed to 'lapic_mem' to ease code search.
Based on work by ivadasz@.
show more ...
|
#
62571e42 |
| 29-May-2018 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
acpi: Use X2APIC entries, if there are only X2APIC entries in MADT.
|
Revision tags: v5.2.1, v5.2.0, v5.3.0, v5.2.0rc, v5.0.2, v5.0.1, v5.0.0, v5.0.0rc2, v5.1.0, v5.0.0rc1, v4.8.1, v4.8.0, v4.6.2, v4.9.0, v4.8.0rc, v4.6.1, v4.6.0, v4.6.0rc2, v4.6.0rc, v4.7.0, v4.4.3, v4.4.2, v4.4.1, v4.4.0, v4.5.0, v4.4.0rc, v4.2.4, v4.3.1, v4.2.3, v4.2.1, v4.2.0, v4.0.6, v4.3.0, v4.2.0rc |
|
#
27acf54b |
| 08-Jun-2015 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64/madt: Enhance bootverbose logging
|
#
8005c0c8 |
| 08-Jun-2015 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
x86_64: Fix gd_acpi_id setting
|
Revision tags: v4.0.5 |
|
#
8d3ef488 |
| 17-Mar-2015 |
Sascha Wildner <saw@online.de> |
kernel/acpi: Reduce code duplication with ACPICA (second attempt).
Use the types which the ACPICA framework provides whereever possible in our acpi_fadt and acpi_madt code. Since we do not use any a
kernel/acpi: Reduce code duplication with ACPICA (second attempt).
Use the types which the ACPICA framework provides whereever possible in our acpi_fadt and acpi_madt code. Since we do not use any actual ACPICA functions here, this is no problem even for code which (so far) runs before ACPICA is initialized.
Compared to the previous attempt which I pushed (and reverted again) this commit has the following additional fixes:
* Compare the FADT length to the length of the ACPI 2.0 (up to 4.0) version of the table (which is 24 bytes shorter than the ACPI 5.0 version).
* Doesn't shift again an already shifted value.
Discussed-with-and-approved-by: sephe Tested-by: Robin Hahling <robin.hahling@gw-computing.net>
show more ...
|
#
ac886253 |
| 16-Mar-2015 |
Sascha Wildner <saw@online.de> |
Revert "kernel/acpi: Reduce code duplication with ACPICA."
This reverts commit fc673eaa749a01e148fc5f0b6e81587531576344.
I did some mistakes here, one of which I found already. But there are more.
Revert "kernel/acpi: Reduce code duplication with ACPICA."
This reverts commit fc673eaa749a01e148fc5f0b6e81587531576344.
I did some mistakes here, one of which I found already. But there are more. So let's revert it for now (since it causes rather nasty issues) until the issues are all found.
Reported-by: Robin Hahling <robin.hahling@gw-computing.net>
show more ...
|
#
fc673eaa |
| 10-Mar-2015 |
Sascha Wildner <saw@online.de> |
kernel/acpi: Reduce code duplication with ACPICA.
Use the types which the ACPICA framework provides whereever possible in our acpi_fadt and acpi_madt code. Since we do not use any actual ACPICA func
kernel/acpi: Reduce code duplication with ACPICA.
Use the types which the ACPICA framework provides whereever possible in our acpi_fadt and acpi_madt code. Since we do not use any actual ACPICA functions here, this is no problem even for code which (so far) runs before ACPICA is initialized.
Discussed-with-and-approved-by: sephe
show more ...
|
Revision tags: v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0, v4.0.0rc3, v4.0.0rc2, v4.0.0rc, v4.1.0, v3.8.2, v3.8.1, v3.6.3, v3.8.0, v3.8.0rc2, v3.9.0, v3.8.0rc, v3.6.2, v3.6.1 |
|
#
df362704 |
| 12-Jan-2014 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
platform/acpi: Update according to ACPI spec 5.0
|
Revision tags: v3.6.0, v3.7.1, v3.6.0rc, v3.7.0 |
|
#
fa90647a |
| 24-Sep-2013 |
Sepherosa Ziehau <sephe@dragonflybsd.org> |
acpi: Be lenient about unknown revision of FADT, MADT, XSDT and RSDT
Revision 5 FADT is found on on ASRock H77 Pro4-M, which is beyond the revision even in ACPI-4.0a. Since length is checked for th
acpi: Be lenient about unknown revision of FADT, MADT, XSDT and RSDT
Revision 5 FADT is found on on ASRock H77 Pro4-M, which is beyond the revision even in ACPI-4.0a. Since length is checked for these tables, this commit should be safe.
show more ...
|
Revision tags: v3.4.3, v3.4.2, v3.4.0, v3.4.1, v3.4.0rc, v3.5.0 |
|
#
5db2f26e |
| 03-Jan-2013 |
Sascha Wildner <saw@online.de> |
kernel: Move sys/dev/acpica5 to sys/dev/acpica.
The 5 used to indicate that it was imported from FreeBSD 5 but that doesn't matter anymore.
In-discussion-with: sephe
|