From 331590cc368283a812dac36f5f20c17ccec98310 Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Sat, 8 Aug 2009 12:37:43 +0000 Subject: [PATCH] - Status.TS tied high to indicate absence of an MMU - Removed possibility of writng read-only status bits Committed on the Free edition of March Hare Software CVSNT Server. Upgrade to CVS Suite for more features and support: http://march-hare.com/cvsnt/ git-svn-id: http://moon:8086/svn/vhdl/trunk@481 cc03376c-175c-47c8-b038-4cd826a8556b --- lib/CPUs/MIPS/src/core/mips_cop.vhd | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lib/CPUs/MIPS/src/core/mips_cop.vhd b/lib/CPUs/MIPS/src/core/mips_cop.vhd index 7795fdd..f602db7 100644 --- a/lib/CPUs/MIPS/src/core/mips_cop.vhd +++ b/lib/CPUs/MIPS/src/core/mips_cop.vhd @@ -464,7 +464,7 @@ cop_status_reg_write: begin if rising_edge(clk) then if rst = '1' then - status <= X"00400000"; + status <= X"00600000"; else if status_save = '1' then status(5 downto 4) <= status(3 downto 2); @@ -476,9 +476,16 @@ cop_status_reg_write: elsif ctrl_in.sdu.WB_nop = '0' then if stat_reg_we = '1' then if status(1) = '0' then - status(7 downto 0) <= din(7 downto 0); + status(0) <= din(0); -- IEc + status(1) <= din(1); -- KUc + status(2) <= din(2); -- IEp + status(3) <= din(3); -- KUp + status(4) <= din(4); -- IEo + status(5) <= din(5); -- KUo end if; - status(31 downto 8) <= din(31 downto 8); + status(15 downto 8) <= din(15 downto 8); -- IM + status(22) <= din(22); -- BEV + status(25) <= din(25); -- RE end if; end if; end if;