interrupts_and_exceptions.py (5685:a55b78e4b6d6) | interrupts_and_exceptions.py (5812:d12ff89c7692) |
---|---|
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 --- 61 unchanged lines hidden (view full) --- 70 #t3 = temp_RFLAGS 71 #t4 = handy m5 register 72 73 # Pop temp_RIP, temp_CS, and temp_RFLAGS 74 ld t1, ss, [1, t0, rsp], "0 * env.stackSize", dataSize=ssz 75 ld t2, ss, [1, t0, rsp], "1 * env.stackSize", dataSize=ssz 76 ld t3, ss, [1, t0, rsp], "2 * env.stackSize", dataSize=ssz 77 | 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 --- 61 unchanged lines hidden (view full) --- 70 #t3 = temp_RFLAGS 71 #t4 = handy m5 register 72 73 # Pop temp_RIP, temp_CS, and temp_RFLAGS 74 ld t1, ss, [1, t0, rsp], "0 * env.stackSize", dataSize=ssz 75 ld t2, ss, [1, t0, rsp], "1 * env.stackSize", dataSize=ssz 76 ld t3, ss, [1, t0, rsp], "2 * env.stackSize", dataSize=ssz 77 |
78 # Read the handy m5 register for use later 79 rdm5reg t4 |
|
78 79 80### 81### Handle if we're returning to virtual 8086 mode. 82### 83 84 #IF ((temp_RFLAGS.VM=1) && (CPL=0) && (LEGACY_MODE)) 85 # IRET_FROM_PROTECTED_TO_VIRTUAL 86 87 #temp_RFLAGS.VM != 1 88 rcri t0, t3, 18, flags=(ECF,) 89 br label("protToVirtFallThrough"), flags=(nCECF,) 90 91 #CPL=0 | 80 81 82### 83### Handle if we're returning to virtual 8086 mode. 84### 85 86 #IF ((temp_RFLAGS.VM=1) && (CPL=0) && (LEGACY_MODE)) 87 # IRET_FROM_PROTECTED_TO_VIRTUAL 88 89 #temp_RFLAGS.VM != 1 90 rcri t0, t3, 18, flags=(ECF,) 91 br label("protToVirtFallThrough"), flags=(nCECF,) 92 93 #CPL=0 |
92 rdm5reg t4 | |
93 andi t0, t4, 0x30, flags=(EZF,) 94 br label("protToVirtFallThrough"), flags=(nCEZF,) 95 96 #(LEGACY_MODE) 97 rcri t0, t4, 1, flags=(ECF,) 98 br label("protToVirtFallThrough"), flags=(nCECF,) 99 100 panic "iret to virtual mode not supported" --- 146 unchanged lines hidden --- | 94 andi t0, t4, 0x30, flags=(EZF,) 95 br label("protToVirtFallThrough"), flags=(nCEZF,) 96 97 #(LEGACY_MODE) 98 rcri t0, t4, 1, flags=(ECF,) 99 br label("protToVirtFallThrough"), flags=(nCECF,) 100 101 panic "iret to virtual mode not supported" --- 146 unchanged lines hidden --- |