Updated so SoC addrs are taken from SoC_Map.bsv
This commit is contained in:
@@ -25,6 +25,8 @@ import Types::*;
|
||||
import ProcTypes::*;
|
||||
import CCTypes::*;
|
||||
|
||||
import SoC_Map :: *; // Bluespec setup
|
||||
|
||||
// data aligned addr
|
||||
typedef TSub#(AddrSz, LgDataSzBytes) DataAlignedAddrSz;
|
||||
typedef Bit#(DataAlignedAddrSz) DataAlignedAddr;
|
||||
@@ -32,12 +34,20 @@ typedef Bit#(DataAlignedAddrSz) DataAlignedAddr;
|
||||
function DataAlignedAddr getDataAlignedAddr(Addr a) = truncateLSB(a);
|
||||
|
||||
// base addr for each MMIO reg/device (aligned to Data)
|
||||
/* ORIGINAL MIT SETUP
|
||||
DataAlignedAddr bootRomBaseAddr = getDataAlignedAddr(64'h00001000);
|
||||
DataAlignedAddr memLoaderBaseAddr = getDataAlignedAddr(64'h01000000);
|
||||
DataAlignedAddr msipBaseAddr = getDataAlignedAddr(64'h02000000);
|
||||
DataAlignedAddr mtimecmpBaseAddr = getDataAlignedAddr(64'h02004000);
|
||||
DataAlignedAddr mtimeBaseAddr = getDataAlignedAddr(64'h0200bff8);
|
||||
DataAlignedAddr mainMemBaseAddr = getDataAlignedAddr(64'h80000000);
|
||||
*/
|
||||
|
||||
DataAlignedAddr bootRomBaseAddr = getDataAlignedAddr(soc_map_struct.boot_rom_addr_base);
|
||||
DataAlignedAddr msipBaseAddr = getDataAlignedAddr(soc_map_struct.near_mem_io_addr_base + 64'h_0000_0000);
|
||||
DataAlignedAddr mtimecmpBaseAddr = getDataAlignedAddr(soc_map_struct.near_mem_io_addr_base + 64'h_0000_4000);
|
||||
DataAlignedAddr mtimeBaseAddr = getDataAlignedAddr(soc_map_struct.near_mem_io_addr_base + 64'h_0000_bff8);
|
||||
DataAlignedAddr mainMemBaseAddr = getDataAlignedAddr(soc_map_struct.mem0_controller_addr_base);
|
||||
|
||||
// XXX Each msip reg is 32-bit, while mtime and each mtimecmp are 64-bit. We
|
||||
// assume Data is 64-bit. We hard code this relation in all MMIO logic.
|
||||
@@ -50,7 +60,6 @@ DataAlignedAddr mainMemBaseAddr = getDataAlignedAddr(64'h80000000);
|
||||
// (aligned to Data)
|
||||
DataAlignedAddr bootRomBoundAddr = bootRomBaseAddr +
|
||||
fromInteger(valueof(TExp#(LgBootRomSzData)));
|
||||
DataAlignedAddr memLoaderBoundAddr = memLoaderBaseAddr + 2;
|
||||
DataAlignedAddr msipBoundAddr = msipBaseAddr +
|
||||
fromInteger(valueof(TDiv#(CoreNum, 2)));
|
||||
DataAlignedAddr mtimecmpBoundAddr = mtimecmpBaseAddr +
|
||||
|
||||
Reference in New Issue
Block a user