github usbarmory/tamago v1.25.2

latest releases: v1.26.5, latest, v1.26.4...
9 months ago

This release introduces improved CPU idle management support functions for amd64, extending the pattern enabled by the previous release on single-core to multi-core CPUs:

runtime.Idle = func(pollUntil int64) {
    if pollUntil == 0 {
        return
    }

    cpu.SetAlarm(pollUntil)
    cpu.WaitInterrupt()
    cpu.SetAlarm(0)
}

Major changes for tamago package API:

  • amd64, arm, riscv64: (*CPU).DefaultIdleGovernor new function to export default CPU idle time management
  • amd64: (*CPU).ClearInterrupts new function to signal end-of-interrupt safely under SMP (e4346ed)
  • amd64: (*CPU).EnableInterrupts function deprecated in favor of (*CPU).ClearInterrupts (e4346ed)

Major changes for tamago package internals:

  • amd64: interrupts are now enabled on supplemental cores (APs)
  • amd64: IRQ handling implementation improved to prevent SMP race conditions
  • amd64: tight loops on register wait are now avoided also under SMP (c4bd784)
  • amd64: fix page tables setup for correct operation under WSL and Google Cloud KVMs (#53)

Full Changelog: v1.25.1...v1.25.2

This release requires GOOS=tamago support in the Go distribution, it requires at least tamago-go1.25.2.

Don't miss a new tamago release

NewReleases is sending notifications on new releases.