interrupts_and_exceptions.py (5932:afa0866171e1) | interrupts_and_exceptions.py (6298:9af8736c26be) |
---|---|
1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# Redistribution and use of this software in source and binary forms, 5# with or without modification, are permitted provided that the 6# following conditions are met: 7# 8# The software must be used only for Non-Commercial Use which means any --- 144 unchanged lines hidden (view full) --- 153 br label("doPopStackStuff"), flags=(nCEZF,) 154 # We can modify user visible state here because we're know 155 # we're done with things that can fault. 156 addi rsp, rsp, "3 * env.stackSize" 157 br label("fallThroughPopStackStuff") 158 159doPopStackStuffAndCheckRIP: 160 # Check if the RIP is canonical. | 1# Copyright (c) 2007-2008 The Hewlett-Packard Development Company 2# All rights reserved. 3# 4# Redistribution and use of this software in source and binary forms, 5# with or without modification, are permitted provided that the 6# following conditions are met: 7# 8# The software must be used only for Non-Commercial Use which means any --- 144 unchanged lines hidden (view full) --- 153 br label("doPopStackStuff"), flags=(nCEZF,) 154 # We can modify user visible state here because we're know 155 # we're done with things that can fault. 156 addi rsp, rsp, "3 * env.stackSize" 157 br label("fallThroughPopStackStuff") 158 159doPopStackStuffAndCheckRIP: 160 # Check if the RIP is canonical. |
161 sra t7, t1, 47, flags=(EZF,), dataSize=ssz | 161 srai t7, t1, 47, flags=(EZF,), dataSize=ssz |
162 # if t7 isn't 0 or -1, it wasn't canonical. 163 br label("doPopStackStuff"), flags=(CEZF,) 164 addi t0, t7, 1, flags=(EZF,), dataSize=ssz 165 fault "new GeneralProtection(0)", flags=(nCEZF,) 166 167doPopStackStuff: 168 # POP.v temp_RSP 169 ld t6, ss, [1, t0, rsp], "3 * env.dataSize", dataSize=ssz --- 77 unchanged lines hidden --- | 162 # if t7 isn't 0 or -1, it wasn't canonical. 163 br label("doPopStackStuff"), flags=(CEZF,) 164 addi t0, t7, 1, flags=(EZF,), dataSize=ssz 165 fault "new GeneralProtection(0)", flags=(nCEZF,) 166 167doPopStackStuff: 168 # POP.v temp_RSP 169 ld t6, ss, [1, t0, rsp], "3 * env.dataSize", dataSize=ssz --- 77 unchanged lines hidden --- |