38#ifndef __ARCH_X86_BIOS_ACPI_HH__
39#define __ARCH_X86_BIOS_ACPI_HH__
48#include "debug/ACPI.hh"
49#include "params/X86ACPIMadt.hh"
50#include "params/X86ACPIMadtIOAPIC.hh"
51#include "params/X86ACPIMadtIntSourceOverride.hh"
52#include "params/X86ACPIMadtLAPIC.hh"
53#include "params/X86ACPIMadtLAPICOverride.hh"
54#include "params/X86ACPIMadtNMI.hh"
55#include "params/X86ACPIMadtRecord.hh"
56#include "params/X86ACPIRSDP.hh"
57#include "params/X86ACPIRSDT.hh"
58#include "params/X86ACPISysDescTable.hh"
59#include "params/X86ACPIXSDT.hh"
78 virtual Addr alloc(std::size_t size,
unsigned align=1) = 0;
87 Addr alloc(std::size_t size,
unsigned align)
override;
110 static_assert(std::is_trivially_copyable_v<MemR0>,
111 "Type not suitable for memcpy.");
121 static_assert(std::is_trivially_copyable_v<Mem>,
122 "Type not suitable for memcpy,");
151 static_assert(std::is_trivially_copyable_v<Mem>,
152 "Type not suitable for memcpy.");
185 RXSDT(
const Params&
p,
const char* _signature, uint8_t _revision);
218 static_assert(std::is_trivially_copyable_v<Mem>,
219 "Type not suitable for memcpy.");
248 static_assert(std::is_trivially_copyable_v<Mem>,
249 "Type not suitable for memcpy.");
269 static_assert(std::is_trivially_copyable_v<Mem>,
270 "Type not suitable for memcpy.");
290 static_assert(std::is_trivially_copyable_v<Mem>,
291 "Type not suitable for memcpy.");
310 static_assert(std::is_trivially_copyable_v<Mem>,
311 "Type not suitable for memcpy.");
329 static_assert(std::is_trivially_copyable_v<Mem>,
330 "Type not suitable for memcpy.");
348 static_assert(std::is_trivially_copyable_v<Mem>,
349 "Type not suitable for memcpy.");
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,...
This object is a proxy for a port or other object which implements the functional response protocol,...
PARAMS(X86ACPIMadtIOAPIC)
void prepareBuf(std::vector< uint8_t > &mem) const override
void prepareBuf(std::vector< uint8_t > &mem) const override
IntSourceOverride(const Params &p)
PARAMS(X86ACPIMadtIntSourceOverride)
PARAMS(X86ACPIMadtLAPICOverride)
LAPICOverride(const Params &p)
void prepareBuf(std::vector< uint8_t > &mem) const override
void prepareBuf(std::vector< uint8_t > &mem) const override
std::vector< Record * > records
Addr writeBuf(PortProxy &phys_proxy, Allocator &alloc, std::vector< uint8_t > &mem) const override
void prepareBuf(std::vector< uint8_t > &mem) const override
virtual void prepareBuf(std::vector< uint8_t > &mem) const =0
PARAMS(X86ACPIMadtRecord)
std::vector< uint8_t > prepare() const
Record(const Params &p, uint8_t _type)
static const char signature[]
Addr write(PortProxy &phys_proxy, Allocator &alloc) const
std::vector< SysDescTable * > entries
Addr writeBuf(PortProxy &phys_proxy, Allocator &alloc, std::vector< uint8_t > &mem) const override
RXSDT(const Params &p, const char *_signature, uint8_t _revision)
virtual Addr writeBuf(PortProxy &phys_proxy, Allocator &alloc, std::vector< uint8_t > &mem) const =0
PARAMS(X86ACPISysDescTable)
SysDescTable(const Params &p, const char *_signature, uint8_t _revision)
Addr write(PortProxy &phys_proxy, Allocator &alloc) const
SimObject(const Params &p)
This is exposed globally, independent of the ISA.
Copyright (c) 2024 Arm Limited All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual Addr alloc(std::size_t size, unsigned align=1)=0
LinearAllocator(Addr begin, Addr end=0)
Addr alloc(std::size_t size, unsigned align) override
uint32_t globalSystemInterrupt
uint64_t localAPICAddress
uint32_t localAPICAddress