[01/12] sframe.h: format bump to SFrame version 2

Message ID 20230627212028.2138604-2-indu.bhagat@oracle.com
State Accepted
Headers
Series SFrame Version 2 - definition and support |

Checks

Context Check Description
snail/binutils-gdb-check success Github commit url

Commit Message

Indu Bhagat June 27, 2023, 9:20 p.m. UTC
  SFrame version 2 encodes the size of repetitive insn block explicitly
in the format.  Add information in the SFrame FDE to convey the size
of the block of repeating instructions.  This information is used only
for SFrame FDEs of type SFRAME_FDE_TYPE_PCMASK.

Introduce two extra bytes for padding: this ensures that the memory
accesses to the members of the SFrame Frame Descriptor Entry (FDE) are
naturally aligned.

include/
	* sframe.h: Add member to encode size of the code block of
	repeating instructions.  Add 2 bytes of padding.
---
 include/sframe.h | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
  

Patch

diff --git a/include/sframe.h b/include/sframe.h
index cdf275f69e4..bef580fd5cb 100644
--- a/include/sframe.h
+++ b/include/sframe.h
@@ -73,10 +73,11 @@  extern "C"
 
 /* SFrame format versions.  */
 #define SFRAME_VERSION_1	1
+#define SFRAME_VERSION_2	2
 /* SFrame magic number.  */
 #define SFRAME_MAGIC		0xdee2
 /* Current version of SFrame format.  */
-#define SFRAME_VERSION	SFRAME_VERSION_1
+#define SFRAME_VERSION	SFRAME_VERSION_2
 
 /* Various flags for SFrame.  */
 
@@ -193,6 +194,10 @@  typedef struct sframe_func_desc_entry
      ------------------------------------------------------------------------
      8               6                             5           4              0     */
   uint8_t sfde_func_info;
+  /* Size of the block of repeating insns.  Used for SFrame FDEs of type
+     SFRAME_FDE_TYPE_PCMASK.  */
+  uint8_t sfde_func_rep_size;
+  uint16_t sfde_func_padding2;
 } ATTRIBUTE_PACKED sframe_func_desc_entry;
 
 /* Macros to compose and decompose function info in FDE.  */