github.com/usbarmory/tamago
v1.27.0
#886 most downloaded on Go modules
usbarmory/tamago
What this package is like to depend on
Last release 3 days ago
21 Aug 2026
Ships fairly regularly
a new release about every 9 days
Some releases are documented
notes for 9 of 17 stable releases
Nothing withdrawn
no release was ever pulled
4 years old
354 releases · first in 2022
101 releases in the last 12 months
see the full history below
Release timeline
354 releases · Mar 2022 to Aug 2026Releases
latest 60 of 354-
v1.27.021 Aug 2026Release notes
Open source →This release aligns the tamago library to the new runtime API introduced in tamago-go1.27.0.
Major changes for tamago package API:
- arm:
DefaultExceptionHandlernow takes no argument (d7f37cc) - microchip/flexcom:
(*FLEXCOM).InitUSARTdeprecated in favor of(*USART).Init(031bf03) - microchip/flexcom:
(*FLEXCOM).InitTWIdeprecated in favor of(*TWI).Init(031bf03)
Major changes for tamago internal packages:
Full Changelog: v1.26.6...v1.27.0
This release requires
GOOS=tamagosupport in the Go distribution with tamago-go1.27.0 or later releases. - arm:
-
v1.26.7-0.20260821130556-031bf035142a21 Aug 2026 pre-releaseNothing published for this version
-
v1.26.614 Aug 2026Release notes
Open source →This release features:
- support for a new architecture and related SoC: LoongArch 64-bit on Loongson 3A5000/3A6000 + LS7A
- major improvements to Microchip LAN969x support
- transition of Ethernet PHY drivers to its own phy package
Major changes for tamago package API on loong64 platforms:
- loong64: new package for LoongArch 64-bit support (#73)
- loong64:
(*CPU).Idle,(*CPU).IdleTimenew functions for CPU usage metrics (#96) - soc/loongson/ls3a5000: new package for Loongson 3A5000/3A6000 support (#73)
- board/qemu/virt: new package for QEMU virt machine support (#73)
Major changes for tamago package API to improve Microchip support:
- arm:
(*CPU).ServiceInterruptsfunction moved to CPU instance (2692cd4) - arm:
(*CPU).Idle,(*CPU).IdleTimenew functions for CPU usage metrics (#96) - microchip/lan9696evb: negotiate 100/1000 Mbps Ethernet speed (#86)
- microchip/devcpu: improve network frame handling implementation (#82)
- microchip/fan: new driver for lan969x fan controller (#91, 793d137)
- microchip/flexcom: use blocking mode for first
(*FLEXCOM).Read(#75) - microchip/flexcom: fix incorrect byte count in
(*FLEXCOM).Write(#79) - microchip/flexcom:
(*FLEXCOM).EnableInterruptnow disables interrupts with nil argument (#80) - microchip/flexcom: enable single-data FIFO and improve
(*FLEXCOM).Rx(#80) - microchip/flexcom:
(*FLEXCOM).InitUSART,(*FLEXCOM).USARTnew function and field for USART mode (#94) - microchip/flexcom:
(*FLEXCOM).InitTWI,(*FLEXCOM).TWInew function and field for TWI mode (#94) - microchip/gpio: move to
(*Pin)abstraction and add(*Pin).High,(*Pin).Lowfunctions (#85, #87) - microchip/temp: new driver for lan969x temperature sensor (#77)
- microchip/miim:
(*MIIM).MDIO22,(*MIIM).MDIO45now report transaction errors (#86) - microchip/miim:
(*MIIM).ReadPHYRegister,(*MIIM).WritePhyRegisternow report transaction errors (#86) - microchip/spgio: new driver for lan969x serial GPIO (#93)
- microchip/wdt: new driver for lan969x watchdog (#84)
Major changes for tamago package API on amd64 platforms:
- arm64:
(*CPU).InitMMUallow mapping across multiple boundaries (#76) - cloud_hypervisor/vm: adjust
goos.Exitimplementation to 1-byteshutdown_pio_addresswrite (8462b1f) - cloud_hypervisor/vm: increase
goos.RamSizeto 2560 MiB (8462b1f) - firecracker/microvm: increase
goos.RamSizeto 2560 MiB (8462b1f) - qemu/microvm: increase
goos.RamSizeto 2560 MiB (8462b1f) - intel/uart:
(*UART).EnableInterruptnew function to enable IRQ support (d9059b0) - intel/uart:
(*UART).Rxnow takes block argument for conditional data wait (d9059b0) - aifoundry/uart: fix incorrect byte count in
(*Shakti).Read,(*Shakti).Write(dc1edde) - aifoundry/uart: fix incorrect byte count in
(*Synopsys).Read,(*Synopsys).Write(dc1edde)
Major changes for tamago package API Ethernet PHY support:
- bits: add 16-bit register support (ea8c3a6)
- phy: generic MIIM interface for PHY operations (#88)
- ksz8081: new driver for Microchip KSZ8081 (#88)
- lan8804: new driver for Microchip LAN8804/LAN8814(#90, 6a236d3, #92)
- lan8840: new driver for Microchip LAN8840 (#88, #92)
- dp83825i: new driver for Texas Instruments DP83825i (#88)
- nxp/enet:
(*ENET).Timeoutnew field for MIIM operations timeout (#88) - nxp/enet:
(*ENET).MDIO22,(*ENET).MDIO45now return an error in case of timeout (#88) - nxp/enet:
(*ENET).ReadPHYRegister,(*ENET).WritePHYRegisternow returns an error in case of timeout (#88)
Major changes for tamago package API on arm/arm64 platforms:
- arm64:
(*CPU).Idle,(*CPU).IdleTimenew functions for CPU usage metrics (#96) - nuvoton/aic:
(*AIC).EnableInterruptrenamed from(*AIC).EnableIRQ(8fe9325) - nuvoton/aic:
(*AIC).DisableInterruptrenamed from(*AIC).DisableIRQ(8fe9325) - nuvoton/aic:
(*AIC).CurrentInterruptrenamed from(*AIC).CurrentIRQ(8fe9325) - nuvoton/aic:
(*AIC).ClearInterruptrenamed from(*AIC).EOI(8fe9325)
Major changes for tamago internal packages:
- dma: always defrag when freeing a DMA block (f7a60ad)
- dma: fix reservation check (18b653c)
- reg: improve implementation and fix (unused)
Get16andMovefunctions (#78, 2ba8fc2) - nxp/caam: improve CAAM checks (835eaad)
Full Changelog: v1.26.5...v1.26.6
This release requires
GOOS=tamagosupport in the Go distribution with tamago-go1.26.5 or later releases, it has been tested with tamago-go1.26.6. -
v1.26.6-0.20260810214514-e5e19b31ce2210 Aug 2026 pre-releaseNothing published for this version
-
v1.26.6-0.20260810093643-15dfcd58a45110 Aug 2026 pre-releaseNothing published for this version
-
v1.26.6-0.20260809113248-01f85c6e732f09 Aug 2026 pre-releaseNothing published for this version
-
v1.26.6-0.20260803075710-91e08435ca1a03 Aug 2026 pre-releaseNothing published for this version
-
v1.26.6-0.20260730124923-c88c6a38064630 Jul 2026 pre-releaseNothing published for this version
-
v1.26.6-0.20260720101947-d9059b05af5920 Jul 2026 pre-releaseNothing published for this version
-
v1.26.526 Jun 2026Release notes
Open source →This release features:
- an installation tool fix for an issue which resulted in errors at its first run
- support for
GOOS=tamago GOARCH=arm GOARM=5(e.g. ARMv5) - support for Nuvoton NUC980 SoC and NuMaker-IIoT-NUC980G2 evaluation board
- support for Google Compute Engine Virtual Ethernet (gVNIC)
Major changes for tamago toolchain installation tool:
- cmd/tamago: unset
GOOSwhen building toolchain (3e634b4)
Major changes for tamago package API:
- arm:
(*CPU).MIDRnew function to read Main ID register (#66) - arm:
(*CPU).ServiceInterruptsfunction moved to CPU instance (#66) - board/nuvoton/nuc980iiot: new package to support NuMaker-IIoT-NUC980G2 board (#66)
- kvm/gvnic: new driver for Google Compute Engine Virtual Ethernet (gVNIC) (#62)
- soc/nuvoton/aic: new driver for Nuvoton Advanced Interrupt Controller (#66)
- soc/nuvoton/etimer: new driver for Nuvoton Enhanced Timer (#66)
- soc/nuvoton/nuc980: new package to support Nuvoton NUC980 microprocessors
- soc/nuvoton/prng: new driver for Nuvoton pseudorandom number generator (#66)
- soc/nuvoton/uart: new driver for Nuvoton UART Interface Controller (#66)
Major changes for tamago package internals:
- arm: ARMv5 exception/interrupt handling (#66)
- arm: CPU features lookup is now conditional to ARMv6 or later architectures (#72)
- nxp/bee: fix deadlock due to naming collision with
(*BEE).Lock(bb8159e) - nxp/uart: fix incorrect byte count in
(*UART).Read,(*UART).Write(671275b) - sifive/uart: fix incorrect byte count in
(*UART).Read,(*UART).Write(671275b)
Full Changelog: v1.26.4...v1.26.5
This release requires
GOOS=tamagosupport in the Go distribution with tamago-go1.26.4 or later releases, it has been tested with tamago-go1.26.5. -
v1.26.5-0.20260626125550-ea10656381d326 Jun 2026 pre-releaseNothing published for this version
-
v1.26.5-0.20260626120227-bb8159e64f8226 Jun 2026 pre-releaseNothing published for this version
-
v1.26.5-0.20260612203441-e0997b40c93412 Jun 2026 pre-releaseNothing published for this version
-
v1.26.5-0.20260610134534-938b1c572e4710 Jun 2026 pre-releaseNothing published for this version
-
v1.26.5-0.20260610074550-3e634b46c53d10 Jun 2026 pre-releaseNothing published for this version
-
v1.26.5-0.20260609200049-671275bdb2fa09 Jun 2026 pre-releaseNothing published for this version
-
v1.26.405 Jun 2026Release notes
Open source →This release features:
- improved CPU idle management for
amd64, aimed at reducing CPU usage on multi-core (e.g. SMP) unikernels - improved AMD SEV-SNP support for vCPU creation
- improved amd64 SMP support for external AP initialization (e.g. UEFI, AMD SEV-SNP)
Major changes for tamago package API:
- amd64:
(*CPU).Wakenew function to wake up idle CPUs (6a9fc7e) - amd64:
(*CPU).GOMAXPROCSnew function for runtime system thread configuration (855a632, 6e32384) - goos:
runtime/goos.Wakenew optional function to wake up idle CPUs (6a9fc7e)
Major changes for tamago package API to add AMD SEV-SNP support under SMP:
- kvm/sev:
(*VMSA).Initnew function for VMSA initialization (7ab1167, f4b3053) - kvm/sev:
(*GHCB).HypervisorFeaturesnew function to get hypervisor feature support (220a094) - kvm/sev:
(*GHCB).CreateAPnew function for AP creation (7ab1167) - kvm/sev:
(*GHCB).RemoveAPnew function for AP removal (7ab1167) - kvm/sev:
(*GHCB).VMSAnew field for shared guest/psp VMSA buffers DMA region (7ab1167) - kvm/sev:
(*GHCB).CPUnew field for vCPU GPA access (8b31c87) - kvm/sev:
(*GHCB).Initfunction removed in favor of opportunistic vCPU-bound initialization (8b31c87) - kvm/sev:
SEVStatus.Featuresnew field to get SEV Guest feature selection (220a094)
Major changes for tamago package internals:
- amd64: handle user defined interrupts regardless of ISR presence (fb91823)
- amd64: segment registers no longer reloaded on IDT setup (04fb603)
Full Changelog: v1.26.3...v1.26.4
This release requires
GOOS=tamagosupport in the Go distribution with tamago-go1.26.4 or later releases, it has been tested with tamago-go1.26.4. - improved CPU idle management for
-
v1.26.4-0.20260605090601-3587cd62732605 Jun 2026 pre-releaseNothing published for this version
-
v1.26.4-0.20260604142034-8b31c875935404 Jun 2026 pre-releaseNothing published for this version
-
v1.26.4-0.20260518120104-29234f4e43de18 May 2026 pre-releaseNothing published for this version
-
v1.26.4-0.20260514084418-fb91823d1f7a14 May 2026 pre-releaseNothing published for this version
-
v1.26.309 May 2026Release notes
Open source →This release provides major improvements in interrupt and network support, aimed at improved performance and compatibility with UEFI, AMD SEV-SNP environments and the new go-net stack/device abstraction driver. Additionally Firecracker support and QEMU sifive_u support are aligned to recent updates.
Major changes for tamago package API to improve GICv2 interrupt support:
- arm:
(*CPU).Initdrops argument as vbar override can be linknamed asvecTableStart(c514b55) - arm/gic:
(*GIC).Initsecureargument removed and assumed true (c00208e) - arm/gic:
(*GIC).Initdropfiqenargument in favor of*(GIC).FIQEn(c00208e) - arm/gic:
(*GIC).EnableInterruptssecureargument removed and assumed true (c00208e) - arm/gic:
(*GIC).GetInterruptsecureargument removed and assumed true (c00208e) - arm/gic:
(*GIC).GetNonSecureInterruptnew function to acknowledge NS IRQ (c00208e) - arm/gic:
(*GIC).SetInterruptGroup,(*GIC).SetInterruptGroupsnew functions to set S/NS IRQ (c00208e)
Major changes for tamago package API to improve Microchip support:
- microchip/flexcom:
(*FLEXCOM).EnableInterruptnew function to enable IRQ support (c01f01e) - microchip/flexcom:
(*FLEXCOM).Rxnow takesblockargument for conditional data wait (c01f01e) - microchip/lan969x:
ClearInterruptnew function to signal end of interrupt servicing (fbbfda2)
Major changes for tamago package API to add go-net compatibility:
- nxp/spi: add NXP ECSPI driver (dd5192b)
- nxp/enet:
(*ENET).Receivereplaces(*ENET).Rxfor go-net generic NetworkDevice compatibility (d194fa3) - nxp/enet:
(*ENET).Transmitreplaces(*ENET).Txfor go-net generic NetworkDevice compatibility (d194fa3) - nxp/enet: removed polling support from
(*ENET).Startand(*ENET).RxHandlerfield (d194fa3)
Major changes for tamago package API:
- riscv64:
(*CPU).SetExceptionHandlerrestore function for TEE use (7afa079) - virtio:
(*VirtualQueue).NeedsNotifynew function to hint(*VirtualQueue).QueueNotify(6419be1) - virtio:
(*VirtualQueue).Popnow takes caller buffer rather than returning one (e7d4ff8) - virtio: add
EnableInterrupttoVirtIOinterface,(*MMIO).EnableInterruptdummy function (b5ad5a4)
Major changes for tamago package internals:
- amd64: do not overwrite VMM Communication ISR (75921b5)
- amd64: reload GDT if required before IDT load (b757d2d)
- amd64: keep original GDT/IDT if cpuinit override is detected (d0233f3)
- amd64: use fresh CR3 before initializing SMP (4b7af08)
- amd64: avoid atomic MMIO operations under SEV-SNP (63941dd)
- arm64: force 2048-byte alignment of vector base address register (3f7e6ce, 94b9c0c)
- nxp/enet: force 8-byte alignment on DMA buffer copy to fix arm64 alignment fault (2575b98)
- firecracker/microvm: disable PIC to address spurious #UD exception (firecracker-microvm/firecracker#5805, 814a9cb)
- sifive/uart: set tx/rx enable (29100db)
- virtio: fix regression in VirtIO queue logic error which resulted in packet buffer overhead (e7d4ff8)
Full Changelog: v1.26.2...v1.26.3
This release requires
GOOS=tamagosupport in the Go distribution with tamago-go1.26.2 or later releases, it has been tested with tamago-go1.26.3. - arm:
-
v1.26.3-0.20260509064216-29100dbf75d209 May 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260506151536-d0233f359cd306 May 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260505113242-f87a637f696605 May 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260504131753-dd5192b015b504 May 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260430131709-b757d2d7b0b730 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260426085542-c01f01e9c30026 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260423201513-c00208eec00c23 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260422182950-fbbfda28a29322 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260422103447-c514b55cb4c022 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260416163437-6419be1b37e416 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260415101622-d194fa3d6b5115 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260414131637-e7d4ff8486be14 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260410075404-7afa0797554b10 Apr 2026 pre-releaseNothing published for this version
-
v1.26.3-0.20260409140542-814a9cbc1ddf09 Apr 2026 pre-releaseNothing published for this version
-
v1.26.208 Apr 2026Release notes
Open source →This release brings support for new ARM64 and RISCV64 platforms: the Microchip LAN969x SoC series and AI Foundry ET Platform Minion cores.
Additionally, following tamago-go1.26.2 changes, the new
tinybuild tag now alllows TamaGo unikernel to run with lower memory requirements. See kotama for examples.Major changes for tamago package API to add AI Foundry parts support:
- board/aifoundry/erbium_emu: new package for AI Foundry Erbium emulator support (6dab823, a7bd600)
- board/aifoundry/sys_emu: new package for AI Foundry ET-SoC-1 emulator support (e99ec8d)
- soc/aifoundry/erbium: new package for AI Foundry Erbium support (6dab823, a7bd600)
- soc/aifoundry/etsoc1: new package for AI Foundry ET-SoC-1 support (e99ec8d)
Major changes for tamago package API to add Microchip part support:
- board/microchip/lan9696evb: new package for Microchip EVB-LAN9696-24port board support (e78e35e)
- soc/microchip/lan969x: new package for Microchip LAN969x SoC support (e78e35e)
Major changes for tamago package API riscv64 support:
- riscv64:
(*CPU).IDnew field for hardware thread ID reporting (1ad5e0c) - riscv64:
(*CPU).EnableInterruptsnew function for interrupt enabling (d7cf6ac) - riscv64:
(*CPU).DisableInterruptsnew function for interrupt disabling (d7cf6ac) - riscv64:
(*CPU).WaitInterruptsnew function for interrupt wait (d7cf6ac) - riscv64:
(*CPU).ServiceInterruptsnew function for interrupt servicing (d7cf6ac) - riscv64:
(*CPU).GetExceptionHandlerAddressnew function to returnmtvectarget (1ad5e0c) - riscv64:
(*CPU).SetExceptionHandlerAddressnew function to setmtvectarget (15b4385) - riscv64:
(*CPU).SystemExceptionHandlernew variable to replace(*CPU).SetExceptionHandler(1ad5e0c) - sifive/clint:
(*CLINT).IPI, new function for interrupt signaling (d7cf6ac) - sifive/clint:
(*CLINT).ClearIPI, new function for interrupt clearing (71e89d5) - sifive/uart: avoid scheduler starvation when no data is available to read (0116365)
Major changes for runtime API:
- runtime/goos: add memory allocation customization constants and
tinybuild tag support (605d179) - runtime/goos: support 64-bit pointers page allocation (7031b44, c57f7ab)
Major changes for tamago package internals:
- amd64:
(*CPU).InitSMPnow disables SMP with argument less or equal to 1 - amd64, arm, arm64: migrate IRQ handling to
os/signalsupport (216dedc) - dma: change
(*block).sliceimplementation to remove use of deprecated function (787cd08) - riscv64: add IRQ handling support through
os/signal(1ad5e0c) - virtio: fix VirtIO queue logic error which resulted in packet loss/re-transmission (dbe0c59)
Full Changelog: v1.26.1...v1.26.2
This release requires
GOOS=tamagosupport in the Go distribution with tamago-go1.26.2 or later releases. -
v1.26.2-0.20260331141532-e071f0e08e1831 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260327124803-f96c02ae088a27 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260327081805-41d96a60a4a127 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260326165808-58e3fa7be12e26 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260326110925-482fc4d8339e26 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260326104826-71e89d583d9726 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260326101441-7eb5781ba81926 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260325143446-15b43855888a25 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260325122420-d7cf6ac3bbaa25 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260325094643-de43b26e4e7a25 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260323230914-e99ec8d17e9323 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260319212123-787cd081e8f419 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260317120120-216dedc0cfb317 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260317082551-793366c9d07517 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260316094948-a2a0d93b437516 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260314155813-8415795ba90114 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260313174123-1b7706a275fc13 Mar 2026 pre-releaseNothing published for this version
-
v1.26.2-0.20260311085204-3d8fdd5a41f311 Mar 2026 pre-releaseNothing published for this version
-
v1.26.109 Mar 2026Release notes
Open source →This release adds documentation for the tamago command which downloads, compiles, and runs the
gocommand from the TamaGo distribution matching the tamago module version from the applicationgo.mod.Applications can now add
github.com/usbarmory/tamagotogo.mod, and then replace thegocommand with:go run github.com/usbarmory/tamago/cmd/tamago
or add the following line to
go.modgo usego tool tamagoas go command:tool github.com/usbarmory/tamago/cmd/tamagoMajor changes for tamago package API:
- riscv64:
(*CPU).Featuresnew function for extension fields reporting (e0ce8ce) - README: add documentation for go tool support (cb005ad)
Major changes for tamago package internals:
- soc/sifive/physicalfilter: fix API misalignment (c12e613)
- soc/bcm2835: fix API misalignment (1f408d5)
Full Changelog: v1.26.0...v1.26.1
This release requires
GOOS=tamagosupport in the Go distribution with tamago-go1.26.1 or later releases. - riscv64:
-
v1.26.1-0.20260304115807-e0ce8cef366604 Mar 2026 pre-releaseNothing published for this version
-
v1.26.1-0.20260223162024-ae4ae54674c423 Feb 2026 pre-releaseNothing published for this version
-
v1.26.1-0.20260220100404-446a9c31de8720 Feb 2026 pre-releaseNothing published for this version
-
v1.26.1-0.20260211190713-1f408d52cbaa11 Feb 2026 pre-releaseNothing published for this version