From: Laurent Vivier <laurent@vivier.eu> To: linux-kernel@vger.kernel.org Cc: linux-m68k@lists.linux-m68k.org, Geert Uytterhoeven <geert@linux-m68k.org>, linux-rtc@vger.kernel.org, Alessandro Zummo <a.zummo@towertech.it>, Alexandre Belloni <alexandre.belloni@bootlin.com>, Laurent Vivier <laurent@vivier.eu> Subject: [PATCH 0/2] m68k: Add Virtual M68k Machine Date: Tue, 23 Mar 2021 23:14:28 +0100 [thread overview] Message-ID: <20210323221430.3735147-1-laurent@vivier.eu> (raw) The most powerful m68k machine emulated by QEMU is a Quadra 800, but this machine is very limited: only 1 GiB of memory and only some specific interfaces, with no DMA. The Virtual M68k Machine is based on Goldfish interfaces defined by Google for Android simulator. It uses Goldfish-rtc (timer and RTC), Goldfish-pic (PIC) and Goldfish-tty (for early tty). The machine is created with 128 virtio-mmio buses, and they can be used to add serial console, GPU, disk, NIC, HID, hwrng, 9PFS... The virtual m68k machine has been merged in QEMU and will be available with the release 6.0. This series introduces the support of this new machine in the linux kernel. If you want to try: - Configure and build latest QEMU with (or download qemu 6.0 binary): .../configure --target-list=3Dm68k-softmmu --enable-virglrenderer make - Configure and build linux with: make virt_defconfig make vmlinux A pre-installed qcow2 disk image is available at: http://vivier.eu/debian-10.0.qcow2 You can run the machine with something like: qemu-system-m68k -M virt \ -m 3G \ -chardev stdio,signal=3Doff,mux=3Don,id=3Dchar0 \ -mon chardev=3Dchar0,mode=3Dreadline \ -kernel vmlinux \ -append "console=3Dhvc0 root=3D/dev/vda2" \ -blockdev node-name=3Dsystem,driver=3Dfile,filename=3Ddebian-10.0.qcow2 \ -blockdev node-name=3Ddrive0,driver=3Dqcow2,file=3Dsystem \ -device virtio-blk-device,drive=3Ddrive0 \ -serial chardev:char0 \ -device virtio-net-device,netdev=3Dhostnet0 \ -netdev bridge,id=3Dhostnet0,br=3Dvirbr0,helper=3D/usr/libexec/qemu-bridge-= helper \ -device virtio-serial-device \ -device virtio-gpu-device \ -device virtconsole,chardev=3Dchar0 \ -device virtio-keyboard-device \ -device virtio-mouse-device You can watch a presentation about the machine on the Planet m68k channel: https://youtu.be/s_ve0bCC9q4 [Demo at 38:00] Thanks, Laurent Laurent Vivier (2): rtc: goldfish: remove dependency to OF m68k: introduce a virtual m68k machine arch/m68k/Kbuild | 1 + arch/m68k/Kconfig.machine | 17 +++ arch/m68k/configs/virt_defconfig | 93 ++++++++++++++++ arch/m68k/include/asm/irq.h | 3 +- arch/m68k/include/asm/pgtable_mm.h | 7 ++ arch/m68k/include/asm/setup.h | 44 ++++++-- arch/m68k/include/asm/virt.h | 26 +++++ arch/m68k/include/uapi/asm/bootinfo-virt.h | 18 ++++ arch/m68k/include/uapi/asm/bootinfo.h | 1 + arch/m68k/kernel/Makefile | 1 + arch/m68k/kernel/head.S | 30 ++++++ arch/m68k/kernel/setup_mm.c | 9 ++ arch/m68k/mm/kmap.c | 20 ++-- arch/m68k/virt/Makefile | 6 ++ arch/m68k/virt/config.c | 118 +++++++++++++++++++++ arch/m68k/virt/ints.c | 110 +++++++++++++++++++ arch/m68k/virt/platform.c | 80 ++++++++++++++ arch/m68k/virt/timer.c | 91 ++++++++++++++++ drivers/rtc/Kconfig | 2 +- 19 files changed, 659 insertions(+), 18 deletions(-) create mode 100644 arch/m68k/configs/virt_defconfig create mode 100644 arch/m68k/include/asm/virt.h create mode 100644 arch/m68k/include/uapi/asm/bootinfo-virt.h create mode 100644 arch/m68k/virt/Makefile create mode 100644 arch/m68k/virt/config.c create mode 100644 arch/m68k/virt/ints.c create mode 100644 arch/m68k/virt/platform.c create mode 100644 arch/m68k/virt/timer.c --=20 2.30.2
next reply other threads:[~2021-03-23 22:16 UTC|newest] Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-03-23 22:14 Laurent Vivier [this message] 2021-03-23 22:14 ` [PATCH 1/2] rtc: goldfish: remove dependency to OF Laurent Vivier 2021-03-23 22:14 ` [PATCH 2/2] m68k: introduce a virtual m68k machine Laurent Vivier 2021-04-27 17:20 ` Laurent Vivier 2021-04-28 12:07 ` Geert Uytterhoeven 2021-04-28 12:15 ` Laurent Vivier 2021-09-30 20:56 ` John Paul Adrian Glaubitz 2021-09-30 21:01 ` Laurent Vivier 2021-10-01 1:08 ` Finn Thain 2021-04-28 12:04 ` Geert Uytterhoeven 2021-04-28 23:06 ` Josh Juran 2021-04-29 7:23 ` Geert Uytterhoeven 2021-09-30 21:11 ` Laurent Vivier 2021-09-30 21:14 ` John Paul Adrian Glaubitz 2021-04-16 20:26 ` [PATCH 0/2] m68k: Add Virtual M68k Machine Alexandre Belloni 2021-04-16 20:34 ` Alexandre Belloni
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210323221430.3735147-1-laurent@vivier.eu \ --to=laurent@vivier.eu \ --cc=a.zummo@towertech.it \ --cc=alexandre.belloni@bootlin.com \ --cc=geert@linux-m68k.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-m68k@lists.linux-m68k.org \ --cc=linux-rtc@vger.kernel.org \ --subject='Re: [PATCH 0/2] m68k: Add Virtual M68k Machine' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).