Documentation
¶
Overview ¶
Package microvm provides hardware initialization, automatically on import, for the QEMU microvm machine configured with a single x86_64 core.
This package is only meant to be used with `GOOS=tamago GOARCH=amd64` as supported by the TamaGo framework for bare metal Go, see https://github.com/usbarmory/tamago.
Index ¶
Constants ¶
View Source
const ( // Communication port COM1 = 0x3f8 // Intel I/O Programmable Interrupt Controllers LAPIC_BASE = 0xfee00000 IOAPIC0_BASE = 0xfec00000 IOAPIC1_BASE = 0xfec10000 // VirtIO Memory-mapped I/O VIRTIO_MMIO_BASE = 0xfeb00000 // VirtIO Networking VIRTIO_NET0_BASE = VIRTIO_MMIO_BASE + 0x2e00 VIRTIO_NET0_IRQ = 47 )
Peripheral registers
Variables ¶
View Source
var ( // AMD64 core AMD64 = &amd64.CPU{} // Local APIC LAPIC = &apic.LAPIC{ Base: LAPIC_BASE, } // I/O APIC - GSI 0-23 IOAPIC0 = &apic.IOAPIC{ Index: 0, Base: IOAPIC0_BASE, GSIBase: 0, } // I/O APIC - GSI 24-47 IOAPIC1 = &apic.IOAPIC{ Index: 1, Base: IOAPIC1_BASE, GSIBase: 24, } // Real-Time Clock RTC = &rtc.RTC{} // Serial port UART0 = &uart.UART{ Index: 1, Base: COM1, } )
Peripheral instances
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.