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

xed-flags.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 #ifndef _XED_FLAGS_H_
+00037 # define  _XED_FLAGS_H_
+00038 
+00039 #include "xed-types.h"
+00040 #include "xed-flag-enum.h"
+00041 #include "xed-flag-action-enum.h"
+00042 
+00043 
+00047 union  XED_DLL_EXPORT xed_flag_set_s {
+00048     struct {
+00049         xed_uint32_t of:1;
+00050         xed_uint32_t sf:1;
+00051         xed_uint32_t zf:1;
+00052         xed_uint32_t af:1;
+00053         xed_uint32_t pf:1;
+00054         xed_uint32_t cf:1;
+00055         xed_uint32_t df:1;
+00056         xed_uint32_t vif:1;
+00057         xed_uint32_t iopl:1;
+00058         xed_uint32_t _if:1;  
+00059         xed_uint32_t ac:1;
+00060         xed_uint32_t vm:1;
+00061         xed_uint32_t rf:1;
+00062         xed_uint32_t nt:1;
+00063         xed_uint32_t tf:1;
+00064         xed_uint32_t id:1;
+00065         xed_uint32_t vip:1; 
+00066         xed_uint32_t fc0:1;  
+00067         xed_uint32_t fc1:1;  
+00068         xed_uint32_t fc2:1;  
+00069         xed_uint32_t fc3:1;  
+00070     } s;
+00071     xed_uint32_t flat;
+00072 };
+00073 
+00074 typedef union xed_flag_set_s xed_flag_set_t;
+00077 
+00078 
+00079 
+00080 XED_DLL_EXPORT int  xed_flag_set_print(const xed_flag_set_t* p, char* buf, int buflen);
+00084 XED_DLL_EXPORT xed_bool_t xed_flag_set_is_subset_of(const xed_flag_set_t* p,
+00085                                const xed_flag_set_t* other);
+00087 
+00088 
+00090 
+00093 typedef struct XED_DLL_EXPORT xed_flag_enum_s {
+00094     xed_flag_enum_t flag;
+00095     // there are at most two actions per flag. The 2nd may be invalid.
+00096     xed_flag_action_enum_t action;
+00097 }  xed_flag_action_t;
+00098 
+00099 
+00100 
+00101 
+00104 
+00105 
+00106 
+00107 XED_DLL_EXPORT xed_flag_enum_t
+00108 xed_flag_action_get_flag_name(const xed_flag_action_t* p);
+00111 XED_DLL_EXPORT xed_flag_action_enum_t
+00112 xed_flag_action_get_action(const xed_flag_action_t* p, unsigned int i);
+00115 XED_DLL_EXPORT xed_bool_t 
+00116 xed_flag_action_action_invalid(const xed_flag_action_enum_t a);
+00119 XED_DLL_EXPORT int xed_flag_action_print(const xed_flag_action_t* p, char* buf, int buflen);
+00122 XED_DLL_EXPORT xed_bool_t 
+00123 xed_flag_action_read_flag(const xed_flag_action_t* p );
+00126 XED_DLL_EXPORT xed_bool_t 
+00127 xed_flag_action_writes_flag(const xed_flag_action_t* p);
+00128   
+00131 XED_DLL_EXPORT xed_bool_t 
+00132 xed_flag_action_read_action( xed_flag_action_enum_t a);
+00135 XED_DLL_EXPORT xed_bool_t 
+00136 xed_flag_action_write_action( xed_flag_action_enum_t a);
+00138 
+00140 
+00141 #define XED_MAX_FLAG_ACTIONS (XED_FLAG_LAST + 3)
+00144 typedef struct  XED_DLL_EXPORT xed_simple_flag_s 
+00145 {
+00146     xed_uint8_t nflags;
+00147 
+00148     xed_bool_t may_write :1;
+00149     xed_bool_t must_write :1;
+00150 
+00152     xed_flag_action_t fa[XED_MAX_FLAG_ACTIONS];
+00153 
+00155     xed_flag_set_t read;
+00156 
+00158     xed_flag_set_t written;
+00159 } xed_simple_flag_t;
+00160 
+00163 
+00164 
+00165 
+00166 XED_DLL_EXPORT unsigned int 
+00167 xed_simple_flag_get_nflags(const xed_simple_flag_t* p);
+00168 
+00171 XED_DLL_EXPORT const xed_flag_set_t* 
+00172 xed_simple_flag_get_read_flag_set(const xed_simple_flag_t* p);
+00173 
+00176 XED_DLL_EXPORT const xed_flag_set_t*
+00177 xed_simple_flag_get_written_flag_set(const xed_simple_flag_t* p);
+00178 
+00182 XED_DLL_EXPORT xed_bool_t xed_simple_flag_get_may_write(const xed_simple_flag_t* p);
+00183 
+00186 XED_DLL_EXPORT xed_bool_t xed_simple_flag_get_must_write(const xed_simple_flag_t* p);
+00187 
+00190 XED_DLL_EXPORT const xed_flag_action_t*
+00191 xed_simple_flag_get_flag_action(const xed_simple_flag_t* p, unsigned int i);
+00192 
+00195 XED_DLL_EXPORT xed_bool_t
+00196 xed_simple_flag_reads_flags(const xed_simple_flag_t* p);
+00197 
+00200 XED_DLL_EXPORT xed_bool_t xed_simple_flag_writes_flags(const xed_simple_flag_t* p);
+00201 
+00204 XED_DLL_EXPORT int xed_simple_flag_print(const xed_simple_flag_t* p, char* buf, int buflen);
+00206 
+00208 
+00209 
+00211 
+00212 #endif
+

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