New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Gekko: Migrate register structs over to Common::BitField #10064
Conversation
Also fixes a typo in the struct name, since it was referring to SPR1 instead of SDR1. Given this isn't used anywhere yet, it's a painless change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewed 1 of 1 files at r1, 1 of 1 files at r2, 2 of 2 files at r3, 1 of 1 files at r4, 1 of 1 files at r5, 1 of 1 files at r6, 1 of 1 files at r7, 1 of 1 files at r8, 1 of 1 files at r9, 1 of 1 files at r10, 1 of 1 files at r11, 1 of 1 files at r12, 1 of 1 files at r13, 1 of 1 files at r14, 1 of 1 files at r15, 1 of 1 files at r16, 1 of 1 files at r17, all commit messages.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on @lioncash)
Provides the same behavior, while also preventing undesirable type conversions and promotions on bitfield members in certain cases.
e.g.
The intuitive (and completely expected most of the time) reading of this would be to think that
value_1undergoes no type promotions or conversions, since everything is unsigned, however, this line:Actually results in
value_1being converted to anint, incremented, and then assigned to data, implicitly converting it back to au32UGQRwas already using this as well, so this keeps the register layouts consistent as well.