38#ifndef __ARCH_X86_BIOS_INTELMP_HH__
39#define __ARCH_X86_BIOS_INTELMP_HH__
46#include "enums/X86IntelMPAddressType.hh"
47#include "enums/X86IntelMPInterruptType.hh"
48#include "enums/X86IntelMPPolarity.hh"
49#include "enums/X86IntelMPRangeList.hh"
50#include "enums/X86IntelMPTriggerMode.hh"
59struct X86IntelMPBaseConfigEntryParams;
60struct X86IntelMPExtConfigEntryParams;
63struct X86IntelMPConfigTableParams;
64struct X86IntelMPFloatingPointerParams;
67struct X86IntelMPBusParams;
68struct X86IntelMPIOAPICParams;
69struct X86IntelMPIOIntAssignmentParams;
70struct X86IntelMPLocalIntAssignmentParams;
71struct X86IntelMPProcessorParams;
74struct X86IntelMPAddrSpaceMappingParams;
75struct X86IntelMPBusHierarchyParams;
76struct X86IntelMPCompatAddrSpaceModParams;
93 typedef X86IntelMPFloatingPointerParams
Params;
122 typedef X86IntelMPBaseConfigEntryParams
Params;
136 typedef X86IntelMPExtConfigEntryParams
Params;
151 typedef X86IntelMPConfigTableParams
Params;
174 typedef X86IntelMPProcessorParams
Params;
235 enums::X86IntelMPInterruptType _interruptType,
236 enums::X86IntelMPPolarity polarity,
237 enums::X86IntelMPTriggerMode
trigger,
239 uint8_t _sourceBusID, uint8_t _sourceBusIRQ,
240 uint8_t _destApicID, uint8_t _destApicIntIn) :
254 typedef X86IntelMPIOIntAssignmentParams
Params;
263 typedef X86IntelMPLocalIntAssignmentParams
Params;
272 typedef X86IntelMPAddrSpaceMappingParams
Params;
288 typedef X86IntelMPBusHierarchyParams
Params;
303 typedef X86IntelMPCompatAddrSpaceModParams
Params;
This object is a proxy for a port or other object which implements the functional response protocol,...
Abstract superclass for simulation objects.
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
X86IntelMPAddrSpaceMappingParams Params
AddrSpaceMapping(const Params &p)
virtual Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
BaseConfigEntry(const Params &p, uint8_t _type)
X86IntelMPBaseConfigEntryParams Params
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
X86IntelMPBusHierarchyParams Params
BusHierarchy(const Params &p)
X86IntelMPBusParams Params
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
X86IntelMPCompatAddrSpaceModParams Params
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
CompatAddrSpaceMod(const Params &p)
std::vector< ExtConfigEntry * > extEntries
std::vector< BaseConfigEntry * > baseEntries
X86IntelMPConfigTableParams Params
static const char signature[]
ConfigTable(const Params &p)
Addr writeOut(PortProxy &proxy, Addr addr)
virtual Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
ExtConfigEntry(const Params &p, uint8_t _type, uint8_t _length)
X86IntelMPExtConfigEntryParams Params
Addr writeOut(PortProxy &proxy, Addr addr)
void setTableAddr(Addr addr)
X86IntelMPFloatingPointerParams Params
static const char signature[]
FloatingPointer(const Params &p)
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
X86IntelMPIOAPICParams Params
IOIntAssignment(const Params &p)
X86IntelMPIOIntAssignmentParams Params
IntAssignment(const X86IntelMPBaseConfigEntryParams &p, enums::X86IntelMPInterruptType _interruptType, enums::X86IntelMPPolarity polarity, enums::X86IntelMPTriggerMode trigger, uint8_t _type, uint8_t _sourceBusID, uint8_t _sourceBusIRQ, uint8_t _destApicID, uint8_t _destApicIntIn)
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
LocalIntAssignment(const Params &p)
X86IntelMPLocalIntAssignmentParams Params
X86IntelMPProcessorParams Params
Processor(const Params &p)
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
constexpr void replaceBits(T &val, unsigned first, unsigned last, B bit_val)
A convenience function to replace bits first to last of val with bit_val in place.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
uint8_t writeOutField(PortProxy &proxy, Addr addr, T val)
uint8_t writeOutString(PortProxy &proxy, Addr addr, std::string str, int length)