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

Missing SERVC instruction runtime checks #460

Closed
Fish-Git opened this issue Dec 31, 2021 · 1 comment
Closed

Missing SERVC instruction runtime checks #460

Fish-Git opened this issue Dec 31, 2021 · 1 comment
Assignees
Labels
BUG The issue describes likely incorrect product functionality that likely needs corrected.

Comments

@Fish-Git
Copy link
Member

Fish-Git commented Dec 31, 2021

Josef "Jeff" Sipek (@jeffpc) reported in a separate rbowler/spinhawk GitHub Issue (#109) about a possible bug in the SERVC (B220) instruction. (*)

Jeff's original complaint was that the instruction did not accept addresses >= 4GB, which he believed was wrong. Ironically however, while it turns out that his original belief was indeed wrong, evidence was uncovered that, apparently, our existing SERVC code is indeed incorrectly coded and not properly detecting and reporting certain errors (one of which is the >= 2GB case):

  • Correctly ignoring instruction bits that should be ignored
  • Privileged instruction check
  • Check for addressing exceptions
  • Specification exceptions:
    • SCCB size less than 8
    • SCCB unaligned
    • SCCB overlaps prefix or lowcore
    • SCCB address higher than 2GB
  • Return codes for
    • Invalid command
    • SCCB too short (but at least 8)
    • SCCB page boundary violation

This SDL Hyperion Hercules GitHub Issue is being created to document the fact that Hercules's SERVC instruction code apparently does indeed contain bugs that need to be addressed (fixed).

 
(*) The B220 SERVC instruction is an instruction that is not listed in Principles of Operation or your yellow/pink/blue/white reference card.

@Fish-Git Fish-Git added the BUG The issue describes likely incorrect product functionality that likely needs corrected. label Dec 31, 2021
Fish-Git added a commit that referenced this issue Jan 2, 2022
Closes #460 "Missing SERVC instruction runtime checks"
@Fish-Git
Copy link
Member Author

Fish-Git commented Jan 2, 2022

Closed by commit 285c636.

@Fish-Git Fish-Git closed this as completed Jan 2, 2022
@Fish-Git Fish-Git self-assigned this Jan 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BUG The issue describes likely incorrect product functionality that likely needs corrected.
Projects
None yet
Development

No branches or pull requests

1 participant