Masked IPs are not shown in CR
git-svn-id: http://moon:8086/svn/vhdl/trunk@28 cc03376c-175c-47c8-b038-4cd826a8556b
This commit is contained in:
@@ -82,12 +82,12 @@ architecture Behavioral of cop is
|
|||||||
signal cop_pipe_ID : cop_pipe_t;
|
signal cop_pipe_ID : cop_pipe_t;
|
||||||
signal cop_pipe_EX : cop_pipe_t;
|
signal cop_pipe_EX : cop_pipe_t;
|
||||||
|
|
||||||
function eval_int(ip, im : unsigned) return STD_LOGIC is
|
function eval_int(ip : unsigned) return STD_LOGIC is
|
||||||
variable result : STD_LOGIC;
|
variable result : STD_LOGIC;
|
||||||
begin
|
begin
|
||||||
result := '0';
|
result := '0';
|
||||||
for i in ip'range loop
|
for i in ip'range loop
|
||||||
result := result or (ip(i) and im(i));
|
result := result or ip(i);
|
||||||
end loop;
|
end loop;
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@@ -128,7 +128,7 @@ begin
|
|||||||
eflags.Sys <= events.syscall;
|
eflags.Sys <= events.syscall;
|
||||||
eflags.Bp <= events.break;
|
eflags.Bp <= events.break;
|
||||||
eflags.RI <= events.illegal;
|
eflags.RI <= events.illegal;
|
||||||
eflags.Int <= eval_int(ip, im) and status(0);
|
eflags.Int <= eval_int(ip) and status(0);
|
||||||
|
|
||||||
exception <= eflags.Ov or eflags.Sys or eflags.Bp or eflags.RI or eflags.IAdEL or eflags.IAdEK or eflags.DAdEL or eflags.DAdES or eflags.Int after 1 ns;
|
exception <= eflags.Ov or eflags.Sys or eflags.Bp or eflags.RI or eflags.IAdEL or eflags.IAdEK or eflags.DAdEL or eflags.DAdES or eflags.Int after 1 ns;
|
||||||
|
|
||||||
@@ -280,9 +280,9 @@ cop_ip_reg_write:
|
|||||||
if rst = '1' then
|
if rst = '1' then
|
||||||
ip(1 downto 0) <= (others => '0');
|
ip(1 downto 0) <= (others => '0');
|
||||||
elsif ip_reg_we = '1' then
|
elsif ip_reg_we = '1' then
|
||||||
ip(1 downto 0) <= cop_pipe_EX.din(9 downto 8);
|
ip(1 downto 0) <= cop_pipe_EX.din(9 downto 8) and im(1 downto 0);
|
||||||
end if;
|
end if;
|
||||||
ip(7 downto 2) <= events.Int;
|
ip(7 downto 2) <= events.Int and im(7 downto 2);
|
||||||
end if;
|
end if;
|
||||||
end process;
|
end process;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user