History log of /dragonfly/sys/platform/pc64/acpica/acpi_madt.c (Results 1 – 13 of 13)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
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