X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?p=palacios.git;a=blobdiff_plain;f=misc%2Fdecoder_test%2FXED2%2Fdoc%2Fhtml%2Fxed-state_8h-source.html;fp=misc%2Fdecoder_test%2FXED2%2Fdoc%2Fhtml%2Fxed-state_8h-source.html;h=9729ce4e14658021659c675edb6f909388f0fac7;hp=0000000000000000000000000000000000000000;hb=ddc16b0737cf58f7aa90a69c6652cdf4090aec51;hpb=626595465a2c6987606a6bc697df65130ad8c2d3 diff --git a/misc/decoder_test/XED2/doc/html/xed-state_8h-source.html b/misc/decoder_test/XED2/doc/html/xed-state_8h-source.html new file mode 100644 index 0000000..9729ce4 --- /dev/null +++ b/misc/decoder_test/XED2/doc/html/xed-state_8h-source.html @@ -0,0 +1,174 @@ + + +XED2: XED2 User Guide - Thu May 15 03:15:09 2008 + + + + +
+
+
+
+

xed-state.h

Go to the documentation of this file.
00001 /*BEGIN_LEGAL 
+00002 Copyright (c) 2007, Intel Corp.
+00003 All rights reserved.
+00004 
+00005 Redistribution and use in source and binary forms, with or without
+00006 modification, are permitted provided that the following conditions are
+00007 met:
+00008 
+00009     * Redistributions of source code must retain the above copyright
+00010       notice, this list of conditions and the following disclaimer.
+00011 
+00012     * Redistributions in binary form must reproduce the above
+00013       copyright notice, this list of conditions and the following
+00014       disclaimer in the documentation and/or other materials provided
+00015       with the distribution.
+00016 
+00017     * Neither the name of Intel Corporation nor the names of its
+00018       contributors may be used to endorse or promote products derived
+00019       from this software without specific prior written permission.
+00020 
+00021 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+00022 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+00023 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+00024 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+00025 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+00026 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+00027 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+00028 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+00029 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+00030 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+00031 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+00032 END_LEGAL */
+00035 
+00036 
+00037 
+00038 #ifndef _XED_STATE_H_
+00039 # define _XED_STATE_H_
+00040 #include "xed-types.h"
+00041 #include "xed-portability.h"
+00042 #include "xed-address-width-enum.h" // generated
+00043 #include "xed-machine-mode-enum.h" // generated
+00044 
+00045 
+00053 typedef struct XED_DLL_EXPORT xed_state_s {
+00055   xed_machine_mode_enum_t mmode; 
+00056   
+00058   xed_address_width_enum_t addr_width;
+00059   
+00061   xed_address_width_enum_t stack_addr_width; 
+00062 } xed_state_t;
+00063 
+00065 
+00066 
+00067 
+00068 
+00069 
+00070 
+00071 
+00072 
+00073 
+00074 
+00075 
+00076 
+00077 static XED_INLINE void xed_state_init(xed_state_t* p,
+00078                                       xed_machine_mode_enum_t arg_mmode,
+00079                                       xed_address_width_enum_t arg_addr_width,
+00080                                       xed_address_width_enum_t arg_stack_addr_width) {
+00081     p->mmode=arg_mmode;
+00082     p->addr_width=arg_addr_width;
+00083     p->stack_addr_width=arg_stack_addr_width;
+00084 }
+00085 
+00088 static XED_INLINE void xed_state_zero(xed_state_t* p) {
+00089     p->mmode= XED_MACHINE_MODE_INVALID;
+00090     p->addr_width=XED_ADDRESS_WIDTH_INVALID;
+00091     p->stack_addr_width=XED_ADDRESS_WIDTH_INVALID;
+00092 }
+00093 
+00095 
+00097 
+00098 
+00099 
+00100 static XED_INLINE xed_machine_mode_enum_t   xed_state_get_machine_mode(const xed_state_t* p) {
+00101     return p->mmode; 
+00102 }
+00103 
+00104 
+00107 static XED_INLINE xed_bool_t xed_state_long64_mode(const xed_state_t* p) { 
+00108     return xed_state_get_machine_mode(p) == XED_MACHINE_MODE_LONG_64;
+00109 }
+00110 
+00112 static XED_INLINE xed_bool_t xed_state_mode_width_16(const xed_state_t* p) {
+00113     return (xed_state_get_machine_mode(p) == XED_MACHINE_MODE_LEGACY_16) ||
+00114         (xed_state_get_machine_mode(p) == XED_MACHINE_MODE_LONG_COMPAT_16);
+00115 }
+00116 
+00118 static XED_INLINE xed_bool_t xed_state_mode_width_32(const xed_state_t* p) {
+00119     return (xed_state_get_machine_mode(p) == XED_MACHINE_MODE_LEGACY_32) ||
+00120         (xed_state_get_machine_mode(p) == XED_MACHINE_MODE_LONG_COMPAT_32);
+00121 }
+00122   
+00123 
+00126 static XED_INLINE void  xed_state_set_machine_mode( xed_state_t* p,
+00127                         xed_machine_mode_enum_t arg_mode)  {
+00128     p->mmode = arg_mode;
+00129 }
+00131 
+00133 
+00134 
+00135 
+00136 static XED_INLINE void xed_state_set_address_width(xed_state_t* p,
+00137                                                    xed_address_width_enum_t arg_addr_width) {
+00138     p->addr_width = arg_addr_width;
+00139 }
+00140 
+00143 static XED_INLINE xed_address_width_enum_t  xed_state_get_address_width(const xed_state_t* p) {
+00144     return p->addr_width;
+00145 }
+00146 
+00148 
+00150 
+00151 
+00152 
+00153 static XED_INLINE void  xed_state_set_stack_address_width(xed_state_t* p,
+00154                               xed_address_width_enum_t arg_addr_width) {
+00155     p->stack_addr_width = arg_addr_width;
+00156 }
+00157 
+00158 
+00161 static XED_INLINE xed_address_width_enum_t  xed_state_get_stack_address_width(const xed_state_t* p) {
+00162     return p->stack_addr_width;
+00163 }
+00165 
+00167 XED_DLL_EXPORT int xed_state_print(const xed_state_t* p, char* buf, int buflen);
+00168 
+00169 #endif
+00170 
+00172 //Local Variables:
+00173 //pref: "../../xed-state.c"
+00174 //End:
+

Generated on Thu May 15 03:15:09 2008 for XED2 by  + +doxygen 1.4.6
+ +