v1.0.0
Version 1.0.0
Linux successfully booted.
What's Changed
- Add disk image by @Alignof in #36
- Revert "Add disk image" by @Alignof in #37
- Mount disk image by @Alignof in #38
- Refactor VirtIO implementation by @Alignof in #39
- Implement plic pass through by @Alignof in #41
- Implement PLIC emulation by @Alignof in #42
- Implement VirtIO emulation by @Alignof in #43
- Disable virtio emulation by @Alignof in #44
- Support IOMMU by @Alignof in #45
- Fix/pci memmap by @Alignof in #46
- Ver 1.0.0 by @Alignof in #48
Full Changelog: v0.4.0...v1.0.0
Boot log
[ 0.000000] Linux version 6.9.0 (takana@archlinux) (riscv64-unknown-linux-gnu-gcc (g2ee5e430018) 12.2.0, GNU ld (GNU Binutils) 2.39) #1 SMP Mon Jul 8 20:24:52 JST 2024
[ 0.000000] random: crng init done
[ 0.000000] Machine model: riscv-virtio,qemu
[ 0.000000] SBI specification v2.0 detected
[ 0.000000] SBI implementation ID=0x4 Version=0x400
[ 0.000000] SBI TIME extension detected
[ 0.000000] SBI IPI extension detected
[ 0.000000] SBI RFENCE extension detected
[ 0.000000] SBI DBCN extension detected
[ 0.000000] efi: UEFI not found.
[ 0.000000] INITRD: 0x88000000+0x0ff68000 is not a memory region - disabling initrd
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000090000000-0x000000009fffffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000090000000-0x000000009fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000090000000-0x000000009fffffff]
[ 0.000000] riscv: base ISA extensions acdfhim
[ 0.000000] riscv: ELF capabilities acdfim
[ 0.000000] percpu: Embedded 22 pages/cpu s49400 r8192 d32520 u90112
[ 0.000000] Kernel command line: root=/dev/vda rw console=ttyS0
[ 0.000000] Dentry cache hash table entries: 32768 (order: 6, 262144 bytes, linear)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 64512
[ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] fixmap : 0xff1bfffffea00000 - 0xff1bffffff000000 (6144 kB)
[ 0.000000] pci io : 0xff1bffffff000000 - 0xff1c000000000000 ( 16 MB)
[ 0.000000] vmemmap : 0xff1c000000000000 - 0xff20000000000000 (1024 TB)
[ 0.000000] vmalloc : 0xff20000000000000 - 0xff60000000000000 (16384 TB)
[ 0.000000] modules : 0xffffffff01587000 - 0xffffffff80000000 (2026 MB)
[ 0.000000] lowmem : 0xff60000000000000 - 0xff60000010000000 ( 256 MB)
[ 0.000000] kernel : 0xffffffff80000000 - 0xffffffffffffffff (2047 MB)
[ 0.000000] Memory: 218596K/262144K available (9600K kernel code, 4955K rwdata, 4096K rodata, 2249K init, 499K bss, 43548K reserved, 0K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] rcu: Hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=1.
[ 0.000000] rcu: RCU debug extended QS entry/exit.
[ 0.000000] Tracing variant of Tasks RCU enabled.
[ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1
[ 0.000000] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1.
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] riscv-intc: 64 local interrupts mapped
[ 0.000000] riscv: providing IPIs using SBI IPI extension
[ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[ 0.000000] clocksource: riscv_clocksource: mask: 0xffffffffffffffff max_cycles: 0x24e6a1710, max_idle_ns: 440795202120 ns
[ 0.000098] sched_clock: 64 bits at 10MHz, resolution 100ns, wraps every 4398046511100ns
[ 0.000251] riscv-timer: Timer interrupt in S-mode is available via sstc extension
[ 0.010865] Console: colour dummy device 80x25
[ 0.012775] Calibrating delay loop (skipped), value calculated using timer frequency.. 20.00 BogoMIPS (lpj=40000)
[ 0.012941] pid_max: default: 32768 minimum: 301
[ 0.014329] LSM: initializing lsm=capability
[ 0.016377] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.016417] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.052169] riscv: ELF compat mode supported
[ 0.052944] ASID allocator using 16 bits (65536 entries)
[ 0.054472] rcu: Hierarchical SRCU implementation.
[ 0.054520] rcu: Max phase no-delay instances is 1000.
[ 0.059274] EFI services will not be available.
[ 0.061540] smp: Bringing up secondary CPUs ...
[ 0.062814] smp: Brought up 1 node, 1 CPU
[ 0.075678] devtmpfs: initialized
[ 0.086079] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.086277] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.088605] pinctrl core: initialized pinctrl subsystem
[ 0.095311] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.104536] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[ 0.105012] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.105374] audit: initializing netlink subsys (disabled)
[ 0.109495] thermal_sys: Registered thermal governor 'step_wise'
[ 0.110399] audit: type=2000 audit(0.096:1): state=initialized audit_enabled=0 res=1
[ 0.111093] cpuidle: using governor menu
[ 0.135530] cpu0: Ratio of byte access time to unaligned word access is 7.56, unaligned accesses are fast
[ 0.156970] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.157023] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.162348] ACPI: Interpreter disabled.
[ 0.162917] iommu: Default domain type: Translated
[ 0.162968] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.165582] SCSI subsystem initialized
[ 0.167816] usbcore: registered new interface driver usbfs
[ 0.168088] usbcore: registered new interface driver hub
[ 0.168327] usbcore: registered new device driver usb
[ 0.170051] Advanced Linux Sound Architecture Driver Initialized.
[ 0.183055] vgaarb: loaded
[ 0.187096] clocksource: Switched to clocksource riscv_clocksource
[ 0.190502] pnp: PnP ACPI: disabled
[ 0.214299] NET: Registered PF_INET protocol family
[ 0.215303] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.220563] tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 4096 bytes, linear)
[ 0.220667] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.220735] TCP established hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.220892] TCP bind hash table entries: 2048 (order: 5, 131072 bytes, linear)
[ 0.221194] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.222383] UDP hash table entries: 256 (order: 2, 24576 bytes, linear)
[ 0.222672] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes, linear)
[ 0.223894] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.227775] RPC: Registered named UNIX socket transport module.
[ 0.227842] RPC: Registered udp transport module.
[ 0.227857] RPC: Registered tcp transport module.
[ 0.227869] RPC: Registered tcp-with-tls transport module.
[ 0.227882] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.228045] PCI: CLS 0 bytes, default 64
[ 0.236108] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[ 0.240770] NFS: Registering the id_resolver key type
[ 0.241769] Key type id_resolver registered
[ 0.241808] Key type id_legacy registered
[ 0.242232] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.242342] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.243123] 9p: Installing v9fs 9p2000 file system support
[ 0.244818] NET: Registered PF_ALG protocol family
[ 0.245163] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.245299] io scheduler mq-deadline registered
[ 0.245368] io scheduler kyber registered
[ 0.245477] io scheduler bfq registered
[ 0.252150] riscv-plic c000000.plic: mapped 95 interrupts with 1 handlers for 2 contexts.
[ 0.256083] pci-host-generic 30000000.pci: host bridge /soc/pci@30000000 ranges:
[ 0.256758] pci-host-generic 30000000.pci: IO 0x0003000000..0x000300ffff -> 0x0000000000
[ 0.257203] pci-host-generic 30000000.pci: MEM 0x0040000000..0x007fffffff -> 0x0040000000
[ 0.257272] pci-host-generic 30000000.pci: MEM 0x0400000000..0x07ffffffff -> 0x0400000000
[ 0.257928] pci-host-generic 30000000.pci: Memory resource size exceeds max for 32 bits
[ 0.258567] pci-host-generic 30000000.pci: ECAM at [mem 0x30000000-0x3fffffff] for [bus 00-ff]
[ 0.260105] pci-host-generic 30000000.pci: PCI host bridge to bus 0000:00
[ 0.260372] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.260461] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 0.260511] pci_bus 0000:00: root bus resource [mem 0x40000000-0x7fffffff]
[ 0.260529] pci_bus 0000:00: root bus resource [mem 0x400000000-0x7ffffffff]
[ 0.262002] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000 conventional PCI endpoint
[ 0.265808] pci 0000:00:01.0: [1af4:1042] type 00 class 0x010000 conventional PCI endpoint
[ 0.266019] pci 0000:00:01.0: BAR 1 [mem 0x00000000-0x00000fff]
[ 0.266178] pci 0000:00:01.0: BAR 4 [mem 0x00000000-0x00003fff 64bit pref]
[ 0.266868] pci 0000:00:02.0: [1b36:0014] type 00 class 0x080600 PCIe Root Complex Integrated Endpoint
[ 0.267263] pci 0000:00:02.0: BAR 0 [mem 0x40000000-0x40000fff 64bit]
[ 0.271178] pci 0000:00:01.0: BAR 4 [mem 0x400000000-0x400003fff 64bit pref]: assigned
[ 0.271442] pci 0000:00:01.0: BAR 1 [mem 0x40000000-0x40000fff]: assigned
[ 0.271496] pci 0000:00:02.0: BAR 0 [mem 0x400004000-0x400004fff 64bit]: assigned
[ 0.277840] SBI CPPC extension NOT detected!!
[ 0.285176] OF: /soc/pci@30000000: no iommu-map translation for id 0x8 on (null)
[ 0.287871] virtio-pci 0000:00:01.0: enabling device (0000 -> 0002)
[ 0.394463] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.406680] printk: legacy console [ttyS0] disabled
[ 0.410435] 10000000.serial: ttyS0 at MMIO 0x10000000 (irq = 13, base_baud = 230400) is a 16550A
[ 0.411998] printk: legacy console [ttyS0] enabled
[ 0.446282] SuperH (H)SCI(F) driver initialized
[ 0.462969] loop: module loaded
[ 0.464606] virtio_blk virtio0: 1/0/0 default/read/poll queues
[ 0.469163] virtio_blk virtio0: [vda] 2097152 512-byte logical blocks (1.07 GB/1.00 GiB)
[ 0.495650] e1000e: Intel(R) PRO/1000 Network Driver
[ 0.495925] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 0.499400] usbcore: registered new interface driver uas
[ 0.499785] usbcore: registered new interface driver usb-storage
[ 0.500978] mousedev: PS/2 mouse device common for all mice
[ 0.504514] goldfish_rtc 101000.rtc: registered as rtc0
[ 0.505313] goldfish_rtc 101000.rtc: setting system clock to 2024-09-29T05:55:37 UTC (1727589337)
[ 0.509856] suspend: HSM suspend not available
[ 0.510845] sdhci: Secure Digital Host Controller Interface driver
[ 0.511091] sdhci: Copyright(c) Pierre Ossman
[ 0.511563] Synopsys Designware Multimedia Card Interface Driver
[ 0.512248] sdhci-pltfm: SDHCI platform and OF driver helper
[ 0.513438] usbcore: registered new interface driver usbhid
[ 0.513738] usbhid: USB HID core driver
[ 0.518903] NET: Registered PF_INET6 protocol family
[ 0.526387] Segment Routing with IPv6
[ 0.526791] In-situ OAM (IOAM) with IPv6
[ 0.527393] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[ 0.531454] NET: Registered PF_PACKET protocol family
[ 0.532923] 9pnet: Installing 9P2000 support
[ 0.533402] Key type dns_resolver registered
[ 0.573960] debug_vm_pgtable: [debug_vm_pgtable ]: Validating architecture page table helpers
[ 0.583507] Legacy PMU implementation is available
[ 0.585018] clk: Disabling unused clocks
[ 0.585409] PM: genpd: Disabling unused power domains
[ 0.585715] ALSA device list:
[ 0.585924] No soundcards found.
[ 1.090951] EXT4-fs (vda): recovery complete
[ 1.092302] EXT4-fs (vda): mounted filesystem 31499121-730e-4798-b85b-a8e3f2a323f8 r/w with ordered data mode. Quota mode: disabled.
[ 1.093424] VFS: Mounted root (ext4 filesystem) on device 254:0.
[ 1.185213] devtmpfs: mounted
[ 1.227951] Freeing unused kernel image (initmem) memory: 2248K
[ 1.229094] Run /sbin/init as init process
mount: mounting none on /sys failed: No such file or directory
mdev: /sys/dev: No such file or directory
Please press Enter to activate this console.
~ #