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 ---