print mapping
This commit is contained in:
@@ -1,13 +1,11 @@
|
||||
#include "xmlAddressdecoder.h"
|
||||
#include <systemc.h>
|
||||
#include "Utils.h"
|
||||
#include "bitset"
|
||||
|
||||
using namespace std;
|
||||
using namespace tinyxml2;
|
||||
|
||||
//string xmlAddressDecoder::addressConfigURI = "";
|
||||
//tinyxml2::XMLElement* xmlAddressDecoder::addressMap = NULL;
|
||||
|
||||
tinyxml2::XMLElement* xmlAddressDecoder::addressmapping = NULL;
|
||||
|
||||
xmlAddressDecoder::xmlAddressDecoder(string addressConfigURI)
|
||||
@@ -22,26 +20,17 @@ xmlAddressDecoder::xmlAddressDecoder(string addressConfigURI)
|
||||
xmlAddressDecoder::xmlAddressDecoder(XMLElement* addressmap)
|
||||
{
|
||||
tinyxml2::XMLDocument doc;
|
||||
//std::cout<<"fffffff"<<addressmap->Name()<<endl;
|
||||
string xmlNodeName(addressmap->Name());
|
||||
if( xmlNodeName != "addressmapping")
|
||||
reportFatal("AddressDecorder", "addressmap node expected");
|
||||
|
||||
cout<<addressmap<<endl;
|
||||
if(addressmap->Attribute("src"))
|
||||
{
|
||||
|
||||
|
||||
string src(addressmap->Attribute("src"));
|
||||
std::cout<<src<<endl;
|
||||
loadXML(src, doc);
|
||||
addressmap = (doc.FirstChildElement("addressmapping"));
|
||||
string src(addressmap->Attribute("src"));
|
||||
loadXML(src, doc);
|
||||
addressmap = (doc.FirstChildElement("addressmapping"));
|
||||
}
|
||||
cout<<addressmap<<endl;
|
||||
|
||||
//tinyxml2::XMLDocument doc2;
|
||||
//loadXML("/home/jonny/git/dram.vp.system/dram/resources/configs/amconfigs/am_wideio.xml", doc2);
|
||||
//XMLElement* addressmap = doc2.FirstChildElement("addressmapping");
|
||||
for(XMLElement* child = addressmap->FirstChildElement(); child != NULL; child = child->NextSiblingElement())
|
||||
{
|
||||
int from;
|
||||
@@ -67,3 +56,14 @@ DecodedAddress xmlAddressDecoder::decodeAddress(sc_dt::uint64 addr)
|
||||
result.bytes = (addr & masks["bytes"]) >> shifts["bytes"];
|
||||
return result;
|
||||
}
|
||||
|
||||
void xmlAddressDecoder::print()
|
||||
{
|
||||
cout << "Used addressmapping:" << endl;
|
||||
cout<<"===================="<<endl;
|
||||
for(auto& pair : masks)
|
||||
{
|
||||
cout<<pair.first<<"\t:\t" << bitset<32>(pair.second)<<endl;
|
||||
}
|
||||
cout<<"\n"<<endl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user