summaryrefslogtreecommitdiff
path: root/Kernel/ACPI/ACPIParser.cpp
blob: 20f69d4e348c5df16700794e343a275611110596 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#include <Kernel/ACPI/ACPIParser.h>

static ACPIParser* s_acpi_parser;

ACPIParser& ACPIParser::the()
{
    ASSERT(s_acpi_parser != nullptr);
    return *s_acpi_parser;
}

void ACPIParser::initialize_limited()
{
    if (!ACPIParser::is_initialized()) {
        s_acpi_parser = new ACPIParser(false);
    }
}

bool ACPIParser::is_initialized()
{
    return (s_acpi_parser != nullptr);
}

ACPIParser::ACPIParser(bool usable)
{
    if (usable) {
        kprintf("ACPI: Setting up a functional parser\n");
    } else {
        kprintf("ACPI: Limited Initialization. Vital functions are disabled by a request\n");
    }
    s_acpi_parser = this;
}

ACPI_RAW::SDTHeader* ACPIParser::find_table(const char*)
{
    kprintf("ACPI: Requested to search for a table, Abort!\n");
    return nullptr;
}

void ACPIParser::mmap(VirtualAddress, PhysicalAddress, u32)
{
    ASSERT_NOT_REACHED();
}

void ACPIParser::mmap_region(Region&, PhysicalAddress)
{
    ASSERT_NOT_REACHED();
}

void ACPIParser::do_acpi_reboot()
{
    kprintf("ACPI: Cannot invoke reboot!\n");
    ASSERT_NOT_REACHED();
}

void ACPIParser::do_acpi_shutdown()
{
    kprintf("ACPI: Cannot invoke shutdown!\n");
    ASSERT_NOT_REACHED();
}

void ACPIParser::enable_aml_interpretation()
{
    kprintf("ACPI: No AML Interpretation Allowed\n");
    ASSERT_NOT_REACHED();
}
void ACPIParser::enable_aml_interpretation(File&)
{
    kprintf("ACPI: No AML Interpretation Allowed\n");
    ASSERT_NOT_REACHED();
}
void ACPIParser::enable_aml_interpretation(u8*, u32)
{
    kprintf("ACPI: No AML Interpretation Allowed\n");
    ASSERT_NOT_REACHED();
}
void ACPIParser::disable_aml_interpretation()
{
    kprintf("ACPI Limited: No AML Interpretation Allowed\n");
    ASSERT_NOT_REACHED();
}
bool ACPIParser::is_operable()
{
    return false;
}