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

Support for GOARCH=mips64 #8

Merged
merged 45 commits into from
Jul 11, 2024
Merged

Commits on Jun 23, 2024

  1. First steps for mips support

    clktmr committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    6a290ce View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    161c832 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ea7e39f View commit details
    Browse the repository at this point in the history
  4. First draft for interrupt handler

    Saving, restoring context and switching to the ISR goroutine (cpu0.gh)
    seems to work so far.  Only syscalls and interrupts are handled so far.
    See TODOs for next steps.
    clktmr committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    79cc533 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2eca26e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0b8255e View commit details
    Browse the repository at this point in the history
  7. Use SW interrupts for signaling newwork()

    The COMPARE register was only used because of a bug in MAME which
    doesn't exist anymore in newer versions.  Moreover this implementation
    could result in a deadlock because the scheduler also sets this
    register.
    clktmr committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    a323fd7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    5a1361c View commit details
    Browse the repository at this point in the history
  9. Support user interrupt vectors

    clktmr committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    55a6a27 View commit details
    Browse the repository at this point in the history
  10. Fix hardware interrupt handler

    Don't call the scheduler and enable exceptions in the user handler, it
    might call the scheduler.
    clktmr committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    0eeeba5 View commit details
    Browse the repository at this point in the history
  11. Refactor inthandler in preparation for nested IRQ

    This commit breaks external interrupt handling.  Will be fixed in the
    next one.
    clktmr committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    08c9559 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    4cd51f9 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    f412453 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    f76a49c View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    f20c02f View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    ec1102e View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    499c820 View commit details
    Browse the repository at this point in the history
  18. Fix CP0 hazards of ERET

    clktmr committed Jun 23, 2024
    Configuration menu
    Copy the full SHA
    0ba3098 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    0735c4b View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    ddb7e84 View commit details
    Browse the repository at this point in the history

Commits on Jun 30, 2024

  1. Configuration menu
    Copy the full SHA
    c5f2c6c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a0871ec View commit details
    Browse the repository at this point in the history
  3. Remove incorrect uncached memory accesses

    Before clearing the memory via uncached access, all cache must be
    invalidated before.  Otherwise a cache writeback could happen after
    clearing the memory.
    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    522c4b2 View commit details
    Browse the repository at this point in the history
  4. Use Go register notation

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    90d1c56 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    7e70a6a View commit details
    Browse the repository at this point in the history
  6. Cleanup asm_mips64.h

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    b456b3f View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    d91b545 View commit details
    Browse the repository at this point in the history
  8. Cleanup tasker implementation

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    580244a View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    85aec39 View commit details
    Browse the repository at this point in the history
  10. Consistent naming

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    0fcfaab View commit details
    Browse the repository at this point in the history
  11. Rework nested exceptions

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    ff68f75 View commit details
    Browse the repository at this point in the history
  12. Handle fast syscalls properly

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    92ecc79 View commit details
    Browse the repository at this point in the history
  13. Improve documentation

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    0e93ef9 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    2daae17 View commit details
    Browse the repository at this point in the history
  15. Remove unreachable code

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    7dbbef0 View commit details
    Browse the repository at this point in the history
  16. Allow nesting only for external interrupts

    The implementation of softwareInterruptHandler can't support nesting, as
    it must call the scheduler.
    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    77e5f9a View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    10ee6a2 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    8ae3c51 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    6187830 View commit details
    Browse the repository at this point in the history
  20. Fix FPU context save in external interrupt

    Regarding the TODO comment: Yes, newwork is set by another CPU.  Doesn't
    matter at the moment, since only one core is supported.
    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    c06b29b View commit details
    Browse the repository at this point in the history
  21. Make function declarations arch dependent

    This allows other archs to implement these in Go instead of assembly.
    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    dfc55b5 View commit details
    Browse the repository at this point in the history
  22. Implement cachemaint syscall

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    5de02c6 View commit details
    Browse the repository at this point in the history
  23. Implement irqctl syscall

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    e85dca9 View commit details
    Browse the repository at this point in the history
  24. Resolve minor review findings

    clktmr committed Jun 30, 2024
    Configuration menu
    Copy the full SHA
    b0dc0af View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    a1f914a View commit details
    Browse the repository at this point in the history