diff --git a/proto/tests.py b/proto/tests.py index 4b3956bc..5dd6ebc6 100755 --- a/proto/tests.py +++ b/proto/tests.py @@ -273,7 +273,8 @@ def test_genc_ref(): for f in ['issue103/top', 'bug-gen-c-02/mbox_regs', 'bug-gen-c-02/fip_urv_regs', 'issue67/repeatInRepeat', 'issue67/repeatInRepeatC', - 'bug-same-label/same_label']: + 'bug-same-label/same_label', + 'features/blkprefix3', 'features/blkprefix4']: h_file = srcdir + f + '.h' cheby_file = srcdir + f + '.cheby' t = parse_ok(cheby_file) diff --git a/testfiles/features/blkprefix3.h b/testfiles/features/blkprefix3.h new file mode 100644 index 00000000..346e8884 --- /dev/null +++ b/testfiles/features/blkprefix3.h @@ -0,0 +1,51 @@ +#ifndef __CHEBY__BLKPREFIX3__H__ +#define __CHEBY__BLKPREFIX3__H__ + +#include + +#define BLKPREFIX3_SIZE 12 /* 0xc */ + +/* (comment missing) */ +#define BLKPREFIX3_B1 0x0UL +#define BLKPREFIX3_B1_SIZE 8 /* 0x8 */ + +/* (comment missing) */ +#define BLKPREFIX3_B1_R2 0x0UL +#define BLKPREFIX3_B1_R2_F1_MASK 0x7UL +#define BLKPREFIX3_B1_R2_F1_SHIFT 0 +#define BLKPREFIX3_B1_R2_F2 0x10UL + +/* (comment missing) */ +#define BLKPREFIX3_B1_R3 0x4UL +#define BLKPREFIX3_B1_R3_F1_MASK 0x7UL +#define BLKPREFIX3_B1_R3_F1_SHIFT 0 +#define BLKPREFIX3_B1_R3_F2 0x10UL + +/* (comment missing) */ +#define BLKPREFIX3_B2 0x8UL +#define BLKPREFIX3_B2_SIZE 4 /* 0x4 */ + +/* (comment missing) */ +#define BLKPREFIX3_B2_R3 0x8UL +#define BLKPREFIX3_B2_R3_F1_MASK 0x7UL +#define BLKPREFIX3_B2_R3_F1_SHIFT 0 + +#ifndef __ASSEMBLER__ +struct blkprefix3 { + /* [0x0]: BLOCK (comment missing) */ + /* [0x0]: REG (rw) (comment missing) */ + uint32_t r2; + + /* [0x4]: BLOCK (comment missing) */ + /* [0x0]: REG (rw) (comment missing) */ + uint32_t r3; + + /* [0x8]: BLOCK (comment missing) */ + struct b2 { + /* [0x0]: REG (rw) (comment missing) */ + uint32_t r3; + } b2; +}; +#endif /* !__ASSEMBLER__*/ + +#endif /* __CHEBY__BLKPREFIX3__H__ */ diff --git a/testfiles/features/blkprefix4.h b/testfiles/features/blkprefix4.h new file mode 100644 index 00000000..0b30e731 --- /dev/null +++ b/testfiles/features/blkprefix4.h @@ -0,0 +1,48 @@ +#ifndef __CHEBY__BLKPREFIX4__H__ +#define __CHEBY__BLKPREFIX4__H__ + +#include + + +#include "blkprefix4_1.h" +#define BLKPREFIX4_SIZE 64 /* 0x40 */ + +/* (comment missing) */ +#define BLKPREFIX4_R5 0x0UL + +/* (comment missing) */ +#define BLKPREFIX4_SUB1 0x20UL +#define ADDR_MASK_BLKPREFIX4_SUB1 0x10UL +#define BLKPREFIX4_SUB1_SIZE 16 /* 0x10 */ + +/* (comment missing) */ +#define BLKPREFIX4_SUB2 0x30UL +#define ADDR_MASK_BLKPREFIX4_SUB2 0x10UL +#define BLKPREFIX4_SUB2_SIZE 16 /* 0x10 */ + +#ifndef __ASSEMBLER__ +struct blkprefix4 { + /* [0x0]: REG (rw) (comment missing) */ + uint32_t r5; + + /* padding to: 32 Bytes */ + uint32_t __padding_0[7]; + + /* [0x20]: BLOCK (comment missing) */ + struct blk { + /* [0x0]: SUBMAP (comment missing) */ + struct blkprefix4_1 sub1; + + /* padding to: 16 Bytes */ + uint32_t __padding_0[1]; + + /* [0x10]: SUBMAP (comment missing) */ + struct blkprefix4_1 sub2; + + /* padding to: 64 Bytes */ + uint32_t __padding_1[1]; + } blk; +}; +#endif /* !__ASSEMBLER__*/ + +#endif /* __CHEBY__BLKPREFIX4__H__ */