romutil.py (6062:2116d308076f) | romutil.py (6222:9ee4a06a960b) |
---|---|
1# Copyright (c) 2008 The Regents of The University of Michigan 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 62 unchanged lines hidden (view full) --- 71 # 72 73 # Record what we might set the stack selector to. 74 rdsel t11, ss 75 76 # Check if we're changing privelege level. At this point we can assume 77 # we're going to a DPL that's less than or equal to the CPL. 78 rdattr t10, hs, dataSize=8 | 1# Copyright (c) 2008 The Regents of The University of Michigan 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 62 unchanged lines hidden (view full) --- 71 # 72 73 # Record what we might set the stack selector to. 74 rdsel t11, ss 75 76 # Check if we're changing privelege level. At this point we can assume 77 # we're going to a DPL that's less than or equal to the CPL. 78 rdattr t10, hs, dataSize=8 |
79 srli t10, t10, 3, dataSize=8 | |
80 andi t10, t10, 3, dataSize=8 81 rdattr t5, cs, dataSize=8 | 79 andi t10, t10, 3, dataSize=8 80 rdattr t5, cs, dataSize=8 |
82 srli t5, t5, 3, dataSize=8 | |
83 andi t5, t5, 0x3, dataSize=8 84 sub t0, t5, t10, flags=(EZF,), dataSize=8 85 # We're going to change priviledge, so zero out the stack selector. We 86 # need to let the IST have priority so we don't branch yet. 87 mov t11, t0, t0, flags=(nCEZF,) 88 89 # Check the IST field of the gate descriptor 90 srli t12, t4, 32, dataSize=8 --- 133 unchanged lines hidden --- | 81 andi t5, t5, 0x3, dataSize=8 82 sub t0, t5, t10, flags=(EZF,), dataSize=8 83 # We're going to change priviledge, so zero out the stack selector. We 84 # need to let the IST have priority so we don't branch yet. 85 mov t11, t0, t0, flags=(nCEZF,) 86 87 # Check the IST field of the gate descriptor 88 srli t12, t4, 32, dataSize=8 --- 133 unchanged lines hidden --- |