BuildSystem: binutils1.39->1.44, gcc12.2.0->15.1.0
This commit is contained in:
@@ -746,6 +746,8 @@ namespace Kernel::ACPI::AML
|
||||
return {};
|
||||
}
|
||||
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wstack-usage="
|
||||
static BAN::ErrorOr<void> perform_store(const Node& source, Reference* target, TargetType target_type)
|
||||
{
|
||||
dprintln_if(AML_DUMP_FUNCTION_CALLS, "perform_store");
|
||||
@@ -826,6 +828,7 @@ namespace Kernel::ACPI::AML
|
||||
|
||||
return {};
|
||||
}
|
||||
#pragma GCC diagnostic pop
|
||||
|
||||
static BAN::ErrorOr<void> store_into_target(ParseContext& context, const Node& node)
|
||||
{
|
||||
|
||||
@@ -176,19 +176,20 @@ namespace Kernel
|
||||
switch (entry->type)
|
||||
{
|
||||
case 0:
|
||||
Processor processor;
|
||||
processor.processor_id = entry->entry0.acpi_processor_id;
|
||||
processor.apic_id = entry->entry0.apic_id;
|
||||
processor.flags = entry->entry0.flags & 0x03;
|
||||
MUST(apic->m_processors.push_back(processor));
|
||||
MUST(apic->m_processors.emplace_back(Processor {
|
||||
.processor_id = entry->entry0.acpi_processor_id,
|
||||
.apic_id = entry->entry0.apic_id,
|
||||
.flags = static_cast<uint8_t>(entry->entry0.flags & 0x03),
|
||||
}));
|
||||
break;
|
||||
case 1:
|
||||
IOAPIC ioapic;
|
||||
ioapic.id = entry->entry1.ioapic_id;
|
||||
ioapic.paddr = entry->entry1.ioapic_address;
|
||||
ioapic.gsi_base = entry->entry1.gsi_base;
|
||||
ioapic.max_redirs = 0;
|
||||
MUST(apic->m_io_apics.push_back(ioapic));
|
||||
MUST(apic->m_io_apics.emplace_back(IOAPIC {
|
||||
.id = entry->entry1.ioapic_id,
|
||||
.paddr = entry->entry1.ioapic_address,
|
||||
.vaddr = 0,
|
||||
.gsi_base = entry->entry1.gsi_base,
|
||||
.max_redirs = 0,
|
||||
}));
|
||||
break;
|
||||
case 2:
|
||||
apic->m_irq_overrides[entry->entry2.irq_source] = entry->entry2.gsi;
|
||||
|
||||
@@ -391,7 +391,7 @@ namespace Kernel
|
||||
// NOTE: This is offset by 2 pointers since interrupt without PL change
|
||||
// does not push SP and SS. This allows accessing "whole" interrupt stack.
|
||||
:: [load_sp]"r"(Processor::current_stack_top() - 2 * sizeof(uintptr_t)),
|
||||
[yield]"i"(IRQ_YIELD)
|
||||
[yield]"i"(static_cast<int>(IRQ_YIELD)) // WTF GCC 15
|
||||
: "memory", "rcx"
|
||||
);
|
||||
#elif ARCH(i686)
|
||||
@@ -403,7 +403,7 @@ namespace Kernel
|
||||
// NOTE: This is offset by 2 pointers since interrupt without PL change
|
||||
// does not push SP and SS. This allows accessing "whole" interrupt stack.
|
||||
:: [load_sp]"r"(Processor::current_stack_top() - 2 * sizeof(uintptr_t)),
|
||||
[yield]"i"(IRQ_YIELD)
|
||||
[yield]"i"(static_cast<int>(IRQ_YIELD)) // WTF GCC 15
|
||||
: "memory", "ecx"
|
||||
);
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user