40 #ifndef __ARCH_X86_BIOS_INTELMP_HH__
41 #define __ARCH_X86_BIOS_INTELMP_HH__
47 #include "enums/X86IntelMPAddressType.hh"
48 #include "enums/X86IntelMPInterruptType.hh"
49 #include "enums/X86IntelMPPolarity.hh"
50 #include "enums/X86IntelMPRangeList.hh"
51 #include "enums/X86IntelMPTriggerMode.hh"
57 struct X86IntelMPBaseConfigEntryParams;
58 struct X86IntelMPExtConfigEntryParams;
61 struct X86IntelMPConfigTableParams;
62 struct X86IntelMPFloatingPointerParams;
65 struct X86IntelMPBusParams;
66 struct X86IntelMPIOAPICParams;
67 struct X86IntelMPIOIntAssignmentParams;
68 struct X86IntelMPLocalIntAssignmentParams;
69 struct X86IntelMPProcessorParams;
72 struct X86IntelMPAddrSpaceMappingParams;
73 struct X86IntelMPBusHierarchyParams;
74 struct X86IntelMPCompatAddrSpaceModParams;
91 typedef X86IntelMPFloatingPointerParams
Params;
120 typedef X86IntelMPBaseConfigEntryParams
Params;
134 typedef X86IntelMPExtConfigEntryParams
Params;
149 typedef X86IntelMPConfigTableParams
Params;
172 typedef X86IntelMPProcessorParams
Params;
233 Enums::X86IntelMPInterruptType _interruptType,
234 Enums::X86IntelMPPolarity polarity,
235 Enums::X86IntelMPTriggerMode
trigger,
237 uint8_t _sourceBusID, uint8_t _sourceBusIRQ,
238 uint8_t _destApicID, uint8_t _destApicIntIn) :
252 typedef X86IntelMPIOIntAssignmentParams
Params;
261 typedef X86IntelMPLocalIntAssignmentParams
Params;
270 typedef X86IntelMPAddrSpaceMappingParams
Params;
286 typedef X86IntelMPBusHierarchyParams
Params;
301 typedef X86IntelMPCompatAddrSpaceModParams
Params;
uint8_t writeOutString(PortProxy &proxy, Addr addr, std::string str, int length)
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
X86IntelMPBaseConfigEntryParams Params
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
X86IntelMPBusHierarchyParams Params
BaseConfigEntry(Params *p, uint8_t _type)
Addr writeOut(PortProxy &proxy, Addr addr)
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
LocalIntAssignment(Params *p)
AddrSpaceMapping(Params *p)
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
CompatAddrSpaceMod(Params *p)
ExtConfigEntry(Params *p, uint8_t _type, uint8_t _length)
X86IntelMPFloatingPointerParams Params
uint8_t writeOutField(PortProxy &proxy, Addr addr, T val)
X86IntelMPProcessorParams Params
void setTableAddr(Addr addr)
virtual Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
void replaceBits(T &val, int first, int last, B bit_val)
A convenience function to replace bits first to last of val with bit_val in place.
X86IntelMPCompatAddrSpaceModParams Params
std::vector< BaseConfigEntry * > baseEntries
Addr writeOut(PortProxy &proxy, Addr addr)
virtual Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
X86IntelMPLocalIntAssignmentParams Params
static const char signature[]
X86IntelMPExtConfigEntryParams Params
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)
X86IntelMPConfigTableParams Params
FloatingPointer(Params *p)
This object is a proxy for a structural port, to be used for debug accesses.
X86IntelMPAddrSpaceMappingParams Params
IOIntAssignment(Params *p)
X86IntelMPIOIntAssignmentParams Params
std::vector< ExtConfigEntry * > extEntries
X86IntelMPBusParams Params
IntAssignment(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)
static const char signature[]
Abstract superclass for simulation objects.
X86IntelMPIOAPICParams Params
Addr writeOut(PortProxy &proxy, Addr addr, uint8_t &checkSum)