Releases: Alignof/hikami
Releases · Alignof/hikami
Ver 1.1.1
Ver 1.1.0
Successful emulation of the first extension. (Zicfiss)
What's Changed
- Enable
CDE
bit inhenvcfg
by @Alignof in #50 - Ziicfiss emulation by @Alignof in #51
- Fix rust toolchain version by @Alignof in #52
- Improve
ZICFISS_DATA
initialization by @Alignof in #53 - Enforce doc comments by @Alignof in #54
- Change hypervisor CSR struct format by @Alignof in #55
- Support for pci network device by @Alignof in #56
- Ver 1.1.0 by @Alignof in #57
Full Changelog: v1.0.0...v1.1.0
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.262...
Ver 0.4.0
What's Changed
- Add RTC device by @Alignof in #33
- Fix handling external interrupt by @Alignof in #34
- Ver 0.4.0 by @Alignof in #35
Full Changelog: v0.3.0...v0.4.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) #6 SMP Mon Aug 19 19:20:38 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] 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 s49336 r8192 d32584 u90112
[ 0.000000] Kernel command line:
[ 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 : 0xffffffff01571000 - 0xffffffff80000000 (2026 MB)
[ 0.000000] lowmem : 0xff60000000000000 - 0xff60000010000000 ( 256 MB)
[ 0.000000] kernel : 0xffffffff80000000 - 0xffffffffffffffff (2047 MB)
[ 0.000000] Memory: 234996K/262144K available (9295K kernel code, 4900K rwdata, 4096K rodata, 2234K init, 480K bss, 27148K 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.000097] sched_clock: 64 bits at 10MHz, resolution 100ns, wraps every 4398046511100ns
[ 0.000238] riscv-timer: Timer interrupt in S-mode is available via sstc extension
[ 0.010216] Console: colour dummy device 80x25
[ 0.010553] printk: legacy console [tty0] enabled
[ 0.013676] Calibrating delay loop (skipped), value calculated using timer frequency.. 20.00 BogoMIPS (lpj=40000)
[ 0.013881] pid_max: default: 32768 minimum: 301
[ 0.015262] LSM: initializing lsm=capability
[ 0.017413] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.017479] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.051694] riscv: ELF compat mode supported
[ 0.052390] ASID allocator using 16 bits (65536 entries)
[ 0.053779] rcu: Hierarchical SRCU implementation.
[ 0.053860] rcu: Max phase no-delay instances is 1000.
[ 0.058031] EFI services will not be available.
[ 0.060324] smp: Bringing up secondary CPUs ...
[ 0.061081] smp: Brought up 1 node, 1 CPU
[ 0.073085] devtmpfs: initialized
[ 0.083131] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.083373] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.085665] pinctrl core: initialized pinctrl subsystem
[ 0.091900] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.101640] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[ 0.102223] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.102600] audit: initializing netlink subsys (disabled)
[ 0.106354] thermal_sys: Registered thermal governor 'step_wise'
[ 0.106405] thermal_sys: Registered thermal governor 'user_space'
[ 0.107283] audit: type=2000 audit(0.096:1): state=initialized audit_enabled=0 res=1
[ 0.107935] cpuidle: using governor menu
[ 0.130444] cpu0: Ratio of byte access time to unaligned word access is 7.56, unaligned accesses are fast
[ 0.149863] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.149935] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.154584] ACPI: Interpreter disabled.
[ 0.155265] iommu: Default domain type: Translated
[ 0.155325] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.157667] SCSI subsystem initialized
[ 0.159791] usbcore: registered new interface driver usbfs
[ 0.160100] usbcore: registered new interface driver hub
[ 0.160277] usbcore: registered new device driver usb
[ 0.161990] Advanced Linux Sound Architecture Driver Initialized.
[ 0.174872] vgaarb: loaded
[ 0.178303] clocksource: Switched to clocksource riscv_clocksource
[ 0.182070] pnp: PnP ACPI: disabled
[ 0.205195] NET: Registered PF_INET protocol family
[ 0.206322] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.211419] tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 4096 bytes, linear)
[ 0.211549] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.211634] TCP established hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.211810] TCP bind hash table entries: 2048 (order: 5, 131072 bytes, linear)
[ 0.212136] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.213531] UDP hash table entries: 256 (order: 2, 24576 bytes, linear)
[ 0.213907] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes, linear)
[ 0.215424] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.219872] RPC: Registered named UNIX socket transport module.
[ 0.219998] RPC: Registered udp transport module.
[ 0.220032] RPC: Registered tcp transport module.
[ 0.220061] RPC: Registered tcp-with-tls transport module.
[ 0.220089] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.220279] PCI: CLS 0 bytes, default 64
[ 0.228004] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[ 0.232389] NFS: Registering the id_resolver key type
[ 0.233580] Key type id_resolver registered
[ 0.233646] Key type id_legacy registered
[ 0.233970] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.234090] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.234889] 9p: Installing v9fs 9p2000 file system support
[ 0.236556] NET: Registered PF_ALG protocol family
[ 0.236914] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.237077] io scheduler mq-deadline registered
[ 0.237163] io scheduler kyber registered
[ 0.237289] io scheduler bfq registered
[ 0.241422] riscv-plic c000000.plic: mapped 95 interrupts with 1 handlers for 2 contexts.
[ 0.244698] pci-host-generic 30000000.pci: host bridge /soc/pci@30000000 ranges:
[ 0.245635] pci-host-generic 30000000.pci: IO 0x0003000000..0x000300ffff -> 0x0000000000
[ 0.246114] pci-host-generic 30000000.pci: MEM 0x0040000000..0x007fffffff -> 0x0040000000
[ 0.246215] pci-host-generic 30000000.pci: MEM 0x0400000000..0x07ffffffff -> 0x0400000000
[ 0.246887] pci-host-generic 30000000.pci: Memory resource size exceeds max for 32 bits
[ 0.247469] pci-host-generic 30000000.pci: ECAM at [mem 0x30000000-0x3fffffff] for [bus 00-ff]
[ 0.249037] pci-host-generic 30000000.pci: PCI host bridge to bus 0000:00
[ 0.249425] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.249543] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 0.249609] pci_bus 0000:00: root bus resource [mem 0x40000000-0x7fffffff]
[ 0.249641] pci_bus 0000:00: root bus resource [mem 0x400000000-0x7ffffffff]
[ 0.251103] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000 conventional PCI endpoint
[ 0.361871] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.378549] 10000000.serial: ttyS0 at MMIO 0x10000000 (irq = 12, base_baud = 230400) is a 16550A
[ 0.380280] printk: legacy console [ttyS0] enabled
[ 0.429701] loop: module loaded
[ 0.436341] e1000e: Intel(R) PRO/1000 Network Driver
[ 0.436614] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 0.438810] usbcore: registered new interface driver uas
[ 0.439232] usbcore: registered new interface driver usb-storage
[ 0.440320] mousedev: PS/2 mouse device common for all mice
[ 0.444211] goldfish_rtc 1...
Ver 0.3.0
What's Changed
Full Changelog: v0.2.0...v0.3.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) #6 SMP Mon Aug 19 19:20:38 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] 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 s49336 r8192 d32584 u90112
[ 0.000000] Kernel command line:
[ 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 : 0xffffffff01571000 - 0xffffffff80000000 (2026 MB)
[ 0.000000] lowmem : 0xff60000000000000 - 0xff60000010000000 ( 256 MB)
[ 0.000000] kernel : 0xffffffff80000000 - 0xffffffffffffffff (2047 MB)
[ 0.000000] Memory: 234996K/262144K available (9295K kernel code, 4900K rwdata, 4096K rodata, 2234K init, 480K bss, 27148K 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.000092] sched_clock: 64 bits at 10MHz, resolution 100ns, wraps every 4398046511100ns
[ 0.000240] riscv-timer: Timer interrupt in S-mode is available via sstc extension
[ 0.010433] Console: colour dummy device 80x25
[ 0.010776] printk: legacy console [tty0] enabled
[ 0.013927] Calibrating delay loop (skipped), value calculated using timer frequency.. 20.00 BogoMIPS (lpj=40000)
[ 0.014135] pid_max: default: 32768 minimum: 301
[ 0.015536] LSM: initializing lsm=capability
[ 0.017856] Mount-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.017924] Mountpoint-cache hash table entries: 512 (order: 0, 4096 bytes, linear)
[ 0.052522] riscv: ELF compat mode supported
[ 0.053319] ASID allocator using 16 bits (65536 entries)
[ 0.054648] rcu: Hierarchical SRCU implementation.
[ 0.054730] rcu: Max phase no-delay instances is 1000.
[ 0.059436] EFI services will not be available.
[ 0.061163] smp: Bringing up secondary CPUs ...
[ 0.062429] smp: Brought up 1 node, 1 CPU
[ 0.074090] devtmpfs: initialized
[ 0.085008] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.085250] futex hash table entries: 256 (order: 2, 16384 bytes, linear)
[ 0.087533] pinctrl core: initialized pinctrl subsystem
[ 0.093626] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[ 0.102761] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[ 0.103280] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[ 0.103666] audit: initializing netlink subsys (disabled)
[ 0.107654] thermal_sys: Registered thermal governor 'step_wise'
[ 0.107715] thermal_sys: Registered thermal governor 'user_space'
[ 0.108610] audit: type=2000 audit(0.096:1): state=initialized audit_enabled=0 res=1
[ 0.109283] cpuidle: using governor menu
[ 0.134735] cpu0: Ratio of byte access time to unaligned word access is 7.50, unaligned accesses are fast
[ 0.154473] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.154551] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[ 0.159112] ACPI: Interpreter disabled.
[ 0.159694] iommu: Default domain type: Translated
[ 0.159751] iommu: DMA domain TLB invalidation policy: strict mode
[ 0.162086] SCSI subsystem initialized
[ 0.164219] usbcore: registered new interface driver usbfs
[ 0.164512] usbcore: registered new interface driver hub
[ 0.164688] usbcore: registered new device driver usb
[ 0.166421] Advanced Linux Sound Architecture Driver Initialized.
[ 0.179085] vgaarb: loaded
[ 0.182655] clocksource: Switched to clocksource riscv_clocksource
[ 0.186435] pnp: PnP ACPI: disabled
[ 0.209405] NET: Registered PF_INET protocol family
[ 0.210503] IP idents hash table entries: 4096 (order: 3, 32768 bytes, linear)
[ 0.215596] tcp_listen_portaddr_hash hash table entries: 128 (order: 0, 4096 bytes, linear)
[ 0.215724] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[ 0.215810] TCP established hash table entries: 2048 (order: 2, 16384 bytes, linear)
[ 0.215986] TCP bind hash table entries: 2048 (order: 5, 131072 bytes, linear)
[ 0.216312] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.217465] UDP hash table entries: 256 (order: 2, 24576 bytes, linear)
[ 0.217828] UDP-Lite hash table entries: 256 (order: 2, 24576 bytes, linear)
[ 0.219026] NET: Registered PF_UNIX/PF_LOCAL protocol family
[ 0.222667] RPC: Registered named UNIX socket transport module.
[ 0.222767] RPC: Registered udp transport module.
[ 0.222800] RPC: Registered tcp transport module.
[ 0.222829] RPC: Registered tcp-with-tls transport module.
[ 0.222857] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.223034] PCI: CLS 0 bytes, default 64
[ 0.230635] workingset: timestamp_bits=46 max_order=16 bucket_order=0
[ 0.235201] NFS: Registering the id_resolver key type
[ 0.236239] Key type id_resolver registered
[ 0.236302] Key type id_legacy registered
[ 0.236622] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 0.236745] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[ 0.237531] 9p: Installing v9fs 9p2000 file system support
[ 0.239328] NET: Registered PF_ALG protocol family
[ 0.239678] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 245)
[ 0.239834] io scheduler mq-deadline registered
[ 0.239921] io scheduler kyber registered
[ 0.240048] io scheduler bfq registered
[ 0.244159] riscv-plic c000000.plic: mapped 95 interrupts with 1 handlers for 2 contexts.
[ 0.247621] pci-host-generic 30000000.pci: host bridge /soc/pci@30000000 ranges:
[ 0.248383] pci-host-generic 30000000.pci: IO 0x0003000000..0x000300ffff -> 0x0000000000
[ 0.248873] pci-host-generic 30000000.pci: MEM 0x0040000000..0x007fffffff -> 0x0040000000
[ 0.248973] pci-host-generic 30000000.pci: MEM 0x0400000000..0x07ffffffff -> 0x0400000000
[ 0.249907] pci-host-generic 30000000.pci: Memory resource size exceeds max for 32 bits
[ 0.250498] pci-host-generic 30000000.pci: ECAM at [mem 0x30000000-0x3fffffff] for [bus 00-ff]
[ 0.252112] pci-host-generic 30000000.pci: PCI host bridge to bus 0000:00
[ 0.252393] pci_bus 0000:00: root bus resource [bus 00-ff]
[ 0.252509] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 0.252575] pci_bus 0000:00: root bus resource [mem 0x40000000-0x7fffffff]
[ 0.252608] pci_bus 0000:00: root bus resource [mem 0x400000000-0x7ffffffff]
[ 0.254163] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000 conventional PCI endpoint
[ 0.364463] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.381115] 10000000.serial: ttyS0 at MMIO 0x10000000 (irq = 12, base_baud = 230400) is a 16550A
[ 0.382957] printk: legacy console [ttyS0] enabled
[ 0.421811] loop: module loaded
[ 0.428437] e1000e: Intel(R) PRO/1000 Network Driver
[ 0.428633] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 0.430765] usbcore: registered new interface driver uas
[ 0.431124] usbcore: registered new interface driver usb-storage
[ 0.432214] mousedev: PS/2 mouse device common for all mice
[ 0.435545] Unable to handle kernel paging request at virtual address 000000008000a420
[ 0.436355] Oop...
Ver 0.2.0
What's Changed
- Fix entire architecture by @Alignof in #1
- Basic implementation by @Alignof in #2
- Ver 0.1.0 by @Alignof in #3
- Setup to support for hypervisor extension by @Alignof in #4
- Implement to setup page tables for G-stage translation by @Alignof in #5
- Fix memory layout of
Context
by @Alignof in #6 - Fix guest context management by @Alignof in #7
- Support for handle sbi ecall from VS-mode. by @Alignof in #10
- Fix rust toolchain version to 1.76.0 by @Alignof in #12
- Support for SBI ecall by @Alignof in #13
- WIP: Implement virtual instruction trap by @Alignof in #14
- Update memory layouts by @Alignof in #15
- Fix cargo clippy warnings by @Alignof in #16
- Add an information of guest image for debug by @Alignof in #17
- Add
GuestPhysicalAddress
andHostPhysicalAddress
by @Alignof in #19 - Remove constants and define memory layout in the linker script by @Alignof in #21
- Allocate dynamically with heap allocator instead of defining regions with constants by @Alignof in #22
- Remove
supervisor.rs
by @Alignof in #23 - Add
clint
toDevices
by @Alignof in #24 - Add PCI device by @Alignof in #25
- Fix the CI by @Alignof in #26
- Add missing doc comments by @Alignof in #27
- Remove
once_cell::unsync::Lazy
by @Alignof in #28 - Remove
UART_ADDR
constant by @Alignof in #29 - Ver 0.2.0 by @Alignof in #30
New Contributors
Full Changelog: https://github.com/Alignof/hikami/commits/v0.2.0