Changeset ea3eadf in rtems-central
- Timestamp:
- 03/15/23 07:39:35 (7 months ago)
- Branches:
- master
- Children:
- 77414f1
- Parents:
- 7c0ddcc
- git-author:
- Sebastian Huber <sebastian.huber@…> (03/15/23 07:39:35)
- git-committer:
- Sebastian Huber <sebastian.huber@…> (03/15/23 07:47:37)
- Location:
- rtemsspec
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
rtemsspec/interface.py
r7c0ddcc rea3eadf 578 578 end = start + width 579 579 sfx = "ULL" if end > 32 else "U" 580 define = f"#define{prefix.upper()}{bit['name'].upper()}"580 base = f"{prefix.upper()}{bit['name'].upper()}" 581 581 if index != 0: 582 582 lines.append("") 583 583 if width == 1: 584 584 val = 1 << start 585 lines.append(f" {define} {val:#x}{sfx}")585 lines.append(f"#define {base} {val:#x}{sfx}") 586 586 else: 587 587 mask = ((1 << width) - 1) << start 588 get = (1 << width) - 1589 588 lines.extend([ 590 f"{define}_SHIFT {start}", f"{define}_MASK {mask:#x}{sfx}", 591 f"{define}_GET( _reg ) \\", 592 f" ( ( ( _reg ) >> {start} ) & {get:#x}{sfx} )", 593 f"{define}( _val ) ( ( _val ) << {start} )" 589 f"#define {base}_SHIFT {start}", 590 f"#define {base}_MASK {mask:#x}{sfx}", 591 f"#define {base}_GET( _reg ) \\", 592 f" ( ( ( _reg ) & {base}_MASK ) >> {base}_SHIFT )", 593 f"#define {base}( _val ) \\", 594 f" ( ( _val ) << {base}_SHIFT )" 594 595 ]) 595 596 return lines -
rtemsspec/tests/test_interface.py
r7c0ddcc rea3eadf 266 266 #define IRQAMP_ITCNT_TCNT_MASK 0xffffffffU 267 267 #define IRQAMP_ITCNT_TCNT_GET( _reg ) \\ 268 ( ( ( _reg ) >> 0 ) & 0xffffffffU ) 269 #define IRQAMP_ITCNT_TCNT( _val ) ( ( _val ) << 0 ) 268 ( ( ( _reg ) & IRQAMP_ITCNT_TCNT_MASK ) >> IRQAMP_ITCNT_TCNT_SHIFT ) 269 #define IRQAMP_ITCNT_TCNT( _val ) \\ 270 ( ( _val ) << IRQAMP_ITCNT_TCNT_SHIFT ) 270 271 271 272 /** @} */ … … 283 284 #define IRQAMP_ITSTMPC_TSTAMP_MASK 0xf8000000U 284 285 #define IRQAMP_ITSTMPC_TSTAMP_GET( _reg ) \\ 285 ( ( ( _reg ) >> 27 ) & 0x1fU ) 286 #define IRQAMP_ITSTMPC_TSTAMP( _val ) ( ( _val ) << 27 ) 286 ( ( ( _reg ) & IRQAMP_ITSTMPC_TSTAMP_MASK ) >> IRQAMP_ITSTMPC_TSTAMP_SHIFT ) 287 #define IRQAMP_ITSTMPC_TSTAMP( _val ) \\ 288 ( ( _val ) << IRQAMP_ITSTMPC_TSTAMP_SHIFT ) 287 289 288 290 #define IRQAMP_ITSTMPC_S1 0x4000000U … … 295 297 #define IRQAMP_ITSTMPC_TSISEL_MASK 0x1fU 296 298 #define IRQAMP_ITSTMPC_TSISEL_GET( _reg ) \\ 297 ( ( ( _reg ) >> 0 ) & 0x1fU ) 298 #define IRQAMP_ITSTMPC_TSISEL( _val ) ( ( _val ) << 0 ) 299 ( ( ( _reg ) & IRQAMP_ITSTMPC_TSISEL_MASK ) >> IRQAMP_ITSTMPC_TSISEL_SHIFT ) 300 #define IRQAMP_ITSTMPC_TSISEL( _val ) \\ 301 ( ( _val ) << IRQAMP_ITSTMPC_TSISEL_SHIFT ) 299 302 300 303 /** @} */ … … 312 315 #define IRQAMP_ITSTMPAS_TASSERTION_MASK 0xffffffffU 313 316 #define IRQAMP_ITSTMPAS_TASSERTION_GET( _reg ) \\ 314 ( ( ( _reg ) >> 0 ) & 0xffffffffU ) 315 #define IRQAMP_ITSTMPAS_TASSERTION( _val ) ( ( _val ) << 0 ) 317 ( ( ( _reg ) & IRQAMP_ITSTMPAS_TASSERTION_MASK ) >> IRQAMP_ITSTMPAS_TASSERTION_SHIFT ) 318 #define IRQAMP_ITSTMPAS_TASSERTION( _val ) \\ 319 ( ( _val ) << IRQAMP_ITSTMPAS_TASSERTION_SHIFT ) 316 320 317 321 /** @} */ … … 329 333 #define IRQAMP_ITSTMPAC_TACKNOWLEDGE_MASK 0xffffffffU 330 334 #define IRQAMP_ITSTMPAC_TACKNOWLEDGE_GET( _reg ) \\ 331 ( ( ( _reg ) >> 0 ) & 0xffffffffU ) 332 #define IRQAMP_ITSTMPAC_TACKNOWLEDGE( _val ) ( ( _val ) << 0 ) 335 ( ( ( _reg ) & IRQAMP_ITSTMPAC_TACKNOWLEDGE_MASK ) >> IRQAMP_ITSTMPAC_TACKNOWLEDGE_SHIFT ) 336 #define IRQAMP_ITSTMPAC_TACKNOWLEDGE( _val ) \\ 337 ( ( _val ) << IRQAMP_ITSTMPAC_TACKNOWLEDGE_SHIFT ) 333 338 334 339 /** @} */ … … 383 388 #define IRQAMP_ILEVEL_IL_15_1_MASK 0xfffeU 384 389 #define IRQAMP_ILEVEL_IL_15_1_GET( _reg ) \\ 385 ( ( ( _reg ) >> 1 ) & 0x7fffU ) 386 #define IRQAMP_ILEVEL_IL_15_1( _val ) ( ( _val ) << 1 ) 390 ( ( ( _reg ) & IRQAMP_ILEVEL_IL_15_1_MASK ) >> IRQAMP_ILEVEL_IL_15_1_SHIFT ) 391 #define IRQAMP_ILEVEL_IL_15_1( _val ) \\ 392 ( ( _val ) << IRQAMP_ILEVEL_IL_15_1_SHIFT ) 387 393 388 394 /** @} */
Note: See TracChangeset
for help on using the changeset viewer.