Skip to content
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

Use of archdep fields in non-archdep structs #96

Closed
Fish-Git opened this issue May 8, 2018 · 2 comments
Closed

Use of archdep fields in non-archdep structs #96

Fish-Git opened this issue May 8, 2018 · 2 comments
Labels
Discussion Developers are invited to discuss a design change or solution to a coding problem.

Comments

@Fish-Git
Copy link
Member

Fish-Git commented May 8, 2018

I just noticed that our system-wide non-archdep structures REGS, SYSBLK and DEVBLK each contain one or more archdep fields (RADR for example), which is a big no-no.

Architecture dependent fields vary in width depending on which architecure is currently being compiled (RADR for example is defined as U32 for 370 and 390 but as U64 for z/Arch), and global system-wide structures common to all architectures must be non-architecture dependent.

Each field in REGS, SYSBLK and DEVBLK should always have a known fixed width able to accomodate any/all of our supported build architectures. Architecture dependent functions accessing such fields should do so in an architecture dependent manner if needed, using our existing archdep macros designed specifically for such things (such using the 'GR' macro for accessing the general purpose registers array).

I haven't analyzed the impact of this bug yet but I suspect we've just been lucky so far (which doesn't exactly make me feel very good). I am creating this issue because I believe it would probably be best to change the use of RADR to U64 instead to prevent any surprises, but would like others' opinions regarding this issue before I do anything (although I might perform some experiments).

Feedback regarding this issue would be appreciated.

Thanks.

@Fish-Git Fish-Git added QUESTION... A question was asked but has not been answered yet, -OR- additional feedback is requested. Researching... The issue is being looked into or additional information is being gathered/located. labels May 8, 2018
@Fish-Git Fish-Git self-assigned this May 8, 2018
@Fish-Git Fish-Git changed the title Use of architecture dependent fields in non-architecture dependent structures Use of archdep fields in non-archdep structures May 8, 2018
@Fish-Git Fish-Git changed the title Use of archdep fields in non-archdep structures Use of archdep fields in non-archdep structs May 8, 2018
@Fish-Git
Copy link
Member Author

Fish-Git commented May 9, 2018

(This rabbit hole is DEEP!)   :-(

@Fish-Git Fish-Git added the Discussion Developers are invited to discuss a design change or solution to a coding problem. label Jul 30, 2018
@Fish-Git Fish-Git added HELP! Help is needed from someone more experienced or I'm simply overloaded with too much work right now! and removed QUESTION... A question was asked but has not been answered yet, -OR- additional feedback is requested. labels Aug 22, 2018
@Fish-Git Fish-Git removed their assignment Aug 31, 2018
@Fish-Git Fish-Git removed the Researching... The issue is being looked into or additional information is being gathered/located. label Aug 31, 2018
@Fish-Git
Copy link
Member Author

I'm going to close this issue as "Unresolved" for now. If I need to re-open it at some point in the future I will do so then.

@Fish-Git Fish-Git removed the HELP! Help is needed from someone more experienced or I'm simply overloaded with too much work right now! label Sep 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discussion Developers are invited to discuss a design change or solution to a coding problem.
Projects
None yet
Development

No branches or pull requests

1 participant