On 12/8/25 21:59, Dave Voutila wrote:
Jesper Wallin <[email protected]> writes:

On Sun, Dec 07, 2025 at 01:29:02PM +0000, Jan Schreiber wrote:
to 4.12.2025 klo 0.16 Dave Voutila ([email protected]) kirjoitti:

Boots with APU2 7.8 stable:  hw.model=AMD GX-412TC SOC
and with Thinkpad L450 less than month current: hw.model=Intel(R)
Core(TM) i5-5200U CPU @ 2.20GHz

Best regards,
Hannu Vuolasaho
Since I also have a Ryzen CPU I tried with MMIO_NOTYET 1 (which didn't work,
see x86_vm.c).
With that change the arch iso boots into the installer and I can login as
root.

I did not dare to go down the arch install path.

Hi,

I can confirm that your patch makes booting a full Arch system possible.
This is on 7.8-current (#141: Sun Dec  7 23:11:25 MST 2025) and the VM
runs the most recent version of Arch, as of today.
Enabling mmio emulation on vmd is a use-at-your-own-risk situation at
the moment. It's incomplete and will expose you to data corruption and
potentially security issues.

The patch send out by me should probably not be used anyway.
It removes the ifs instead of just enabling the code paths.
This is on a Lenovo ThinkPad X395 with:
hw.model=AMD Ryzen 7 PRO 3700U w/ Radeon Vega Mobile Gfx

The output from booting:
--8<--
vmd: started arch (vm 2) successfully, tty /dev/ttyp5
vm/arch: vmd: cpu mode LONG detected
vmd: got bytes: [ 8b 07 e9 27 34 7f 00 83 e8 01 48 89 fe 48 c7 ]
vm/arch: vmd: prefixes {g1: 0x00, g2: 0x00, g3: 0x00, g4: 0x00, rex: 0x00 }
vm/arch: vmd: found opcode MOV (operand encoding RM) (MORE)
vm/arch: vmd: found ModRM 0x07 (MORE)
vm/arch: insn_decode: final instruction length is 2
vm/arch: instruction { MOV, enc=RM, len=2, mod=0x07, (reg=RAX, 
addr=0xffffcecb000453c0) sib=0x00 }
vm/arch: insn_decode: modrm: {mod: 0, regop: 0, rm: 7}
vm/arch: vmd: RAX 0xffffcecb000453c0
vm/arch: vmd: RCX 0xfed803c3
vm/arch: vmd: RDX 0xfffff
vm/arch: vmd: RBX 0xffffcecb000453c0
vm/arch: vmd: RSP 0xffffcecb0000bdd8
vm/arch: vmd: RBP 0xffff8b6c8007f280
vm/arch: vmd: RSI 0xfed803c0
vm/arch: vmd: RDI 0xffffcecb000453c0
vm/arch: vmd:  R8 0x0
vm/arch: vmd:  R9 0xfed80
vm/arch: vmd: R10 0xfed80
vm/arch: vmd: R11 0xfed81000
vm/arch: vmd: R12 0xffffcecb0000be00
vm/arch: vmd: R13 0xffffffffa6eb6710
vm/arch: vmd: R14 0xffffcecb0000bf48
vm/arch: vmd: R15 0x0
vm/arch: vmd: RIP 0xffffffffa4d9a952
vm/arch: vmd: RFLAGS 0x292
vm/arch: vmd: ES { sel: 0x0000, lim: 0xffffffff, ar: 0x00000000, base: 0x0 }
vm/arch: vmd: CS { sel: 0x0010, lim: 0xffffffff, ar: 0x0000209b, base: 0x0 }
vm/arch: vmd: GS { sel: 0x0018, lim: 0xffffffff, ar: 0x0000c093, base: 0x0 }
vm/arch: vmd: DS { sel: 0x0000, lim: 0xffffffff, ar: 0x00000000, base: 0x0 }
vm/arch: vmd: FS { sel: 0x0000, lim: 0xffffffff, ar: 0x00000000, base: 0x0 }
vm/arch: vmd: GS { sel: 0x0000, lim: 0xffffffff, ar: 0x00000000, base: 
0xffff8b6de0909000 }
vm/arch: vmd: LDTR { sel: 0x0000, lim: 0x0000ffff, ar: 0x00000000, base: 0x0 }
vm/arch: vmd: TR { sel: 0x0040, lim: 0x00004087, ar: 0x00000089, base: 
0xfffffe6dd1cda000 }
--8<--


Jesper Wallin

Reply via email to