Date: | Sat, 5 Nov 2011 21:37:10 -0400 |
---|---|
From: | "abhisekpan@xxxxxxxxx" <abhisekpan@xxxxxxxxx> |
Subject: | Re: [Gems-users] Contiguous Address Translation Issues |
Thanks Hamza! The thing is I am already compiling with the CONTIGUOUS_ADDRESSES flag on, but the translation is broken because it does not consider the possibility of overlap. Hence the translation output goes beyond the dram size, and then the address is ignored by ruby. Hence I changed the translation code so that now the translation gives addresses less than the dram limit, but the addresses are not contiguous. To make the numbers smaller suppose the dram size is 20 (addresses are 0-19). Now the memory space I am using is a little weird in the sense it looks like this: base object fn offset length 0 dram0 0 0x0 10 50 dram0 0 0x8 12 So the total address size is 22, more than 20. in the dram, the ranges are 0-9, and 8-19. There is an overlap. Now the translator will create chunks of 0-9, and 10-21, since it does not consider the device offsets and overlaps. So for some cases the translator will give 20, 21, which will be filtered out as un-handled in SimicsDriver(). That is the problem. I am now trying to just set the translation offsets so that 0-10 is translated to 0-10, and 50-61 is translated to 8-19 ie. the memory space address is mapped to device address. I was wondering if this would be okay, or would it break something somewhere else? Thanks Again! Abhisek On Sat, Nov 5, 2011 at 9:20 PM, Hamza Bin Sohail <hsohail@xxxxxxxxxx> wrote:
|
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | Re: [Gems-users] Contiguous Address Translation Issues, Hamza Bin Sohail |
---|---|
Next by Date: | [Gems-users] Patching GEMS for SIMICS 4.2 and compiling Ruby, mostafa m hassan |
Previous by Thread: | Re: [Gems-users] Contiguous Address Translation Issues, Hamza Bin Sohail |
Next by Thread: | [Gems-users] error starting tester.exec, andrea |
Indexes: | [Date] [Thread] |