Palacios Public Git Repository

To checkout Palacios execute

  git clone http://v3vee.org/palacios/palacios.web/palacios.git
This will give you the master branch. You probably want the devel branch or one of the release branches. To switch to the devel branch, simply execute
  cd palacios
  git checkout --track -b devel origin/devel
The other branches are similar.


removed misc directory from release
[palacios.git] / misc / decoder_test / XED2 / include / xed-flags.h
diff --git a/misc/decoder_test/XED2/include/xed-flags.h b/misc/decoder_test/XED2/include/xed-flags.h
deleted file mode 100644 (file)
index 5f8e350..0000000
+++ /dev/null
@@ -1,210 +0,0 @@
-/*BEGIN_LEGAL 
-Intel Open Source License 
-
-Copyright (c) 2002-2007 Intel Corporation 
-All rights reserved. 
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-Redistributions of source code must retain the above copyright notice,
-this list of conditions and the following disclaimer.  Redistributions
-in binary form must reproduce the above copyright notice, this list of
-conditions and the following disclaimer in the documentation and/or
-other materials provided with the distribution.  Neither the name of
-the Intel Corporation nor the names of its contributors may be used to
-endorse or promote products derived from this software without
-specific prior written permission.
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE INTEL OR
-ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-END_LEGAL */
-/// @file xed-flags.h
-/// @author Mark Charney <mark.charney@intel.com>
-
-#ifndef _XED_FLAGS_H_
-# define  _XED_FLAGS_H_
-
-#include "xed-types.h"
-#include "xed-flag-enum.h"
-#include "xed-flag-action-enum.h"
-
-
-////////////////////////////////////////////////////////////////////////////
-/// @ingroup FLAGS
-/// a union of flags bits
-union  XED_DLL_EXPORT xed_flag_set_s {
-    struct {
-        xed_uint32_t of:1;
-        xed_uint32_t sf:1;
-        xed_uint32_t zf:1;
-        xed_uint32_t af:1;
-        xed_uint32_t pf:1;
-        xed_uint32_t cf:1;
-        xed_uint32_t df:1;
-        xed_uint32_t vif:1;
-        xed_uint32_t iopl:1;
-        xed_uint32_t _if:1;  ///< underscore to avoid token clash
-        xed_uint32_t ac:1;
-        xed_uint32_t vm:1;
-        xed_uint32_t rf:1;
-        xed_uint32_t nt:1;
-        xed_uint32_t tf:1;
-        xed_uint32_t id:1;
-        xed_uint32_t vip:1; 
-        xed_uint32_t fc0:1;  ///< x87 flag FC0
-        xed_uint32_t fc1:1;  ///< x87 flag FC1
-        xed_uint32_t fc2:1;  ///< x87 flag FC2
-        xed_uint32_t fc3:1;  ///< x87 flag FC3
-    } s;
-    xed_uint32_t flat;
-};
-
-typedef union xed_flag_set_s xed_flag_set_t;
-/// @ingroup FLAGS
-/// @name Flag-set accessors
-//@{
-/// @ingroup FLAGS
-/// print the flag set in the supplied buffer
-XED_DLL_EXPORT int  xed_flag_set_print(const xed_flag_set_t* p, char* buf, int buflen);
-/// @ingroup FLAGS
-/// returns true if this object has a subset of the flags of the
-/// "other" object.
-XED_DLL_EXPORT xed_bool_t xed_flag_set_is_subset_of(const xed_flag_set_t* p,
-                               const xed_flag_set_t* other);
-//@}
-
-
-////////////////////////////////////////////////////////////////////////////
-
-/// @ingroup FLAGS
-/// Associated with each flag field there can be one action.
-typedef struct XED_DLL_EXPORT xed_flag_enum_s {
-    xed_flag_enum_t flag;
-    // there are at most two actions per flag. The 2nd may be invalid.
-    xed_flag_action_enum_t action;
-}  xed_flag_action_t;
-
-
-
-
-/// @ingroup FLAGS
-/// @name Lowest-level flag-action accessors
-//@{
-/// @ingroup FLAGS    
-/// get the name of the flag
-XED_DLL_EXPORT xed_flag_enum_t
-xed_flag_action_get_flag_name(const xed_flag_action_t* p);
-/// @ingroup FLAGS        
-/// return the action
-XED_DLL_EXPORT xed_flag_action_enum_t
-xed_flag_action_get_action(const xed_flag_action_t* p, unsigned int i);
-/// @ingroup FLAGS    
-/// returns true if the specified action is invalid. Only the 2nd flag might be invalid.
-XED_DLL_EXPORT xed_bool_t 
-xed_flag_action_action_invalid(const xed_flag_action_enum_t a);
-/// @ingroup FLAGS    
-/// print the flag & actions
-XED_DLL_EXPORT int xed_flag_action_print(const xed_flag_action_t* p, char* buf, int buflen);
-/// @ingroup FLAGS    
-/// returns true if either action is a read
-XED_DLL_EXPORT xed_bool_t 
-xed_flag_action_read_flag(const xed_flag_action_t* p );
-/// @ingroup FLAGS    
-/// returns true if either action is a write
-XED_DLL_EXPORT xed_bool_t 
-xed_flag_action_writes_flag(const xed_flag_action_t* p);
-  
-/// @ingroup FLAGS    
-/// test to see if the specific action is a read 
-XED_DLL_EXPORT xed_bool_t 
-xed_flag_action_read_action( xed_flag_action_enum_t a);
-/// @ingroup FLAGS    
-/// test to see if a specific action is a write
-XED_DLL_EXPORT xed_bool_t 
-xed_flag_action_write_action( xed_flag_action_enum_t a);
-//@}
-
-////////////////////////////////////////////////////////////////////////////
-
-#define XED_MAX_FLAG_ACTIONS (XED_FLAG_LAST + 3)
-/// @ingroup FLAGS
-/// A collection of #xed_flag_action_t's and unions of read and written flags
-typedef struct  XED_DLL_EXPORT xed_simple_flag_s 
-{
-    xed_uint8_t nflags;
-
-    xed_bool_t may_write :1;
-    xed_bool_t must_write :1;
-
-    /// indexed from 0, not by position in archtectural flags array.
-    xed_flag_action_t fa[XED_MAX_FLAG_ACTIONS];
-
-    ///union of read flags
-    xed_flag_set_t read;
-
-    /// union of written flags;
-    xed_flag_set_t written;
-} xed_simple_flag_t;
-
-/// @ingroup FLAGS
-/// @name Accessing the simple flags (Mid-level access)
-//@{
-/// @ingroup FLAGS
-/// returns the number of flag-actions
-XED_DLL_EXPORT unsigned int 
-xed_simple_flag_get_nflags(const xed_simple_flag_t* p);
-
-/// @ingroup FLAGS
-/// return union of bits for read flags
-XED_DLL_EXPORT const xed_flag_set_t* 
-xed_simple_flag_get_read_flag_set(const xed_simple_flag_t* p);
-
-/// @ingroup FLAGS  
-/// return union of bits for written flags
-XED_DLL_EXPORT const xed_flag_set_t*
-xed_simple_flag_get_written_flag_set(const xed_simple_flag_t* p);
-
-/// @ingroup FLAGS
-/// Indicates the flags are only conditionally written. Usally MAY-writes
-/// of the flags instructions that are dependent on a REP count.
-XED_DLL_EXPORT xed_bool_t xed_simple_flag_get_may_write(const xed_simple_flag_t* p);
-
-/// @ingroup FLAGS
-/// the flags always written
-XED_DLL_EXPORT xed_bool_t xed_simple_flag_get_must_write(const xed_simple_flag_t* p);
-
-/// @ingroup FLAGS
-/// return the specific flag-action. Very detailed low level information
-XED_DLL_EXPORT const xed_flag_action_t*
-xed_simple_flag_get_flag_action(const xed_simple_flag_t* p, unsigned int i);
-
-/// @ingroup FLAGS    
-/// boolean test to see if flags are read, scans the flags
-XED_DLL_EXPORT xed_bool_t
-xed_simple_flag_reads_flags(const xed_simple_flag_t* p);
-
-/// @ingroup FLAGS    
-/// boolean test to see if flags are written, scans the flags
-XED_DLL_EXPORT xed_bool_t xed_simple_flag_writes_flags(const xed_simple_flag_t* p);
-
-/// @ingroup FLAGS    
-/// print the flags
-XED_DLL_EXPORT int xed_simple_flag_print(const xed_simple_flag_t* p, char* buf, int buflen);
-//@}
-
-////////////////////////////////////////////////////////////////////////////
-
-
-////////////////////////////////////////////////////////////////////////////
-
-#endif