Bugfix in MMIOPlatform.bsv for instruction-fetch from IO addrs

Detail: an "instruction-fetch" response from mmioplatform to core
should be an "InstFetch". This was true for successful fabric reads,
but on error responses it was wrongly returned as a "DataAccess"
response.  This was causing a deadlock.
This commit is contained in:
rsnikhil
2019-04-17 15:29:10 -04:00
parent e9c04c7050
commit e7fbf32b38
177 changed files with 103548 additions and 94531 deletions

View File

@@ -59,8 +59,8 @@ typedef struct {
Bit #(64) boot_rom_addr_base;
Bit #(64) boot_rom_addr_size;
Bit #(64) mem0_controller_addr_base;
Bit #(64) mem0_controller_addr_size;
Bit #(64) main_mem_addr_base;
Bit #(64) main_mem_addr_size;
Bit #(64) pc_reset_value;
} SoC_Map_Struct
@@ -68,15 +68,15 @@ deriving (FShow);
SoC_Map_Struct soc_map_struct =
SoC_Map_Struct {
near_mem_io_addr_base: 'h_0200_0000,
near_mem_io_addr_base: 'h_0200_0000,
boot_rom_addr_base: 'h_0000_1000,
boot_rom_addr_size: 'h_0000_1000,
boot_rom_addr_base: 'h_0000_1000,
boot_rom_addr_size: 'h_0000_1000,
mem0_controller_addr_base: 'h_8000_0000,
mem0_controller_addr_size: 'h_1000_0000,
main_mem_addr_base: 'h_8000_0000,
main_mem_addr_size: 'h_1000_0000,
pc_reset_value: 'h_0000_1000
pc_reset_value: 'h_0000_1000
};
// ================================================================

View File

@@ -350,7 +350,7 @@ module mkSoC_Top (SoC_Top_IFC);
method Action set_watch_tohost (Bool watch_tohost, Fabric_Addr tohost_addr);
mem0_controller.set_watch_tohost (watch_tohost, tohost_addr);
if (watch_tohost) begin
let fromhost_addr = 0;
let fromhost_addr = 'h_8000_1040;
corew.set_htif_addrs (tohost_addr, fromhost_addr);
end
endmethod