./emulators/gxemul, Framework for full-system computer architecture emulation

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.7.0nb2, Package name: gxemul-0.7.0nb2, Maintainer: pkgsrc-users

GXemul is a framework for full-system computer architecture emulation.
Several processor architectures and machine types have been implemented.
It is working well enough to allow unmodified "guest" operating systems to
run inside the emulator, as if they were running on real hardware.

The emulator emulates (networks of) real machines. The machines may consist
of ARM, MIPS, Motorola 88K, PowerPC, and SuperH processors, and various
surrounding hardware components such as framebuffers, busses, interrupt
controllers, ethernet controllers, disk controllers, and serial port
controllers.

GXemul, including the dynamic translation system, is implemented in portable
C++, which means that the emulator will (at least in theory) run on
practically any modern host architecture and unix-like operating system, for
which a C++ compiler is available.

The documentation lists the machines and specific guest operating systems
that can be regarded as "working" in GXemul. The guest operating system
that works best in GXemul is NetBSD/pmax.


Required to build:
[pkgtools/x11-links] [pkgtools/cwrappers]

Package options: x11

Master sites:

Filesize: 5844.747 KB

Version history: (Expand)


CVS history: (Expand)


   2024-10-27 21:01:43 by Jonathan A. Kollasch | Files touched by this commit (6)
Log message:
gxemul: add patches following upstream trunk to fix build on Linux
   2021-10-26 12:24:17 by Nia Alarie | Files touched by this commit (266)
Log message:
emulators: Replace RMD160 checksums with BLAKE2s checksums

All checksums have been double-checked against existing RMD160 and
SHA512 hashes

The following distfiles could not be fetched (mostly distfiles fetched
conditionally...):

./emulators/compat30/distinfo compat30-alpha-3.1.tar.bz2
./emulators/compat30/distinfo compat30-arm-3.1.tar.bz2
./emulators/compat30/distinfo compat30-m68k-3.1.tar.bz2
./emulators/compat30/distinfo compat30-mipseb-3.1.tar.bz2
./emulators/compat30/distinfo compat30-mipsel-3.1.tar.bz2
./emulators/compat30/distinfo compat30-powerpc-3.1.tar.bz2
./emulators/compat30/distinfo compat30-sh3eb-3.1.tar.bz2
./emulators/compat30/distinfo compat30-sh3el-3.1.tar.bz2
./emulators/compat30/distinfo compat30-sparc-3.1.tar.bz2
./emulators/compat30/distinfo compat30-sparc64-3.1.tar.bz2
./emulators/compat30/distinfo compat30-vax-3.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-alpha-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-arm-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-m68k-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-mipseb-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-mipsel-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-powerpc-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-sparc-5.1.tar.bz2
./emulators/compat51-x11/distinfo compat51-x11-sparc64-5.1.tar.bz2
./emulators/xbeeb/distinfo BASIC2.rom
./emulators/xbeeb/distinfo OS-1.2.rom
./emulators/compat61/distinfo 20150430/compat61-alpha-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-arm-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-m68k-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-mips64eb-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-mips64el-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-mipseb-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-mipsel-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-powerpc-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-sparc-6.1.tar.bz2
./emulators/compat61/distinfo 20150430/compat61-sparc64-6.1.tar.bz2
./emulators/compat16/distinfo compat16-alpha-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-arm-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-m68k-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-mipseb-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-mipsel-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-powerpc-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-sparc-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-sparc64-1.6.2.tar.bz2
./emulators/compat16/distinfo compat16-vax-1.6.2.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-alpha-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-arm-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-m68k-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-mipseb-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-mipsel-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-powerpc-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-sh3eb-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-sh3el-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-sparc-4.0.tar.bz2
./emulators/compat40/distinfo 20071230/compat40-sparc64-4.0.tar.bz2
./emulators/compat20/distinfo compat20-alpha-2.1.tar.bz2
./emulators/compat20/distinfo compat20-arm-2.1.tar.bz2
./emulators/compat20/distinfo compat20-m68k-2.1.tar.bz2
./emulators/compat20/distinfo compat20-mipseb-2.1.tar.bz2
./emulators/compat20/distinfo compat20-mipsel-2.1.tar.bz2
./emulators/compat20/distinfo compat20-powerpc-2.1.tar.bz2
./emulators/compat20/distinfo compat20-sh3eb-2.1.tar.bz2
./emulators/compat20/distinfo compat20-sh3el-2.1.tar.bz2
./emulators/compat20/distinfo compat20-sparc-2.1.tar.bz2
./emulators/compat20/distinfo compat20-sparc64-2.1.tar.bz2
./emulators/compat20/distinfo compat20-vax-2.1.tar.bz2
./emulators/compat50-x11/distinfo compat50-x11-sparc64-5.0.tar.bz2
./emulators/compat12/distinfo compat12-m68k-1.2.1.tar.bz2
./emulators/compat12/distinfo compat12-ns32k-1.2.tar.bz2
./emulators/compat12/distinfo compat12-sparc-1.2.1.tar.bz2
./emulators/compat15/distinfo compat15-alpha-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-arm-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-m68k-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-mipsel-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-ns32k-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-powerpc-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-sparc-1.5.3.tar.bz2
./emulators/compat15/distinfo compat15-sparc64-1.5.2.tar.bz2
./emulators/compat15/distinfo compat15-vax-1.5.3.tar.bz2
./emulators/compat50/distinfo compat50-alpha-5.0.tar.bz2
./emulators/compat50/distinfo compat50-arm-5.0.tar.bz2
./emulators/compat50/distinfo compat50-m68k-5.0.tar.bz2
./emulators/compat50/distinfo compat50-mipseb-5.0.tar.bz2
./emulators/compat50/distinfo compat50-mipsel-5.0.tar.bz2
./emulators/compat50/distinfo compat50-powerpc-5.0.tar.bz2
./emulators/compat50/distinfo compat50-sparc-5.0.tar.bz2
./emulators/compat50/distinfo compat50-sparc64-5.0.tar.bz2
./emulators/compat16-extras/distinfo compat16-extras-sparc-1.6.2.tar.bz2
./emulators/compat40-extras/distinfo 20071230/compat40-extras-sparc-4.0.tar.bz2
./emulators/compat15-extras/distinfo compat15-extras-sparc-1.5.3.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-alpha-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-arm-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-m68k-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-mipseb-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-mipsel-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-powerpc-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-sparc-6.0.tar.bz2
./emulators/compat60/distinfo 20150428/compat60-sparc64-6.0.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-alpha-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-arm-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-m68k-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-mips64eb-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-mips64el-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-mipseb-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-mipsel-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-powerpc-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-sparc-6.1.tar.bz2
./emulators/compat61-x11/distinfo 20150430/compat61-x11-sparc64-6.1.tar.bz2
./emulators/osf1_lib/distinfo netscape-4.7-3.alpha.rpm
./emulators/compat20-extras/distinfo compat20-extras-sparc-2.1.tar.bz2
./emulators/compat30-extras/distinfo compat30-extras-sparc-3.1.tar.bz2
./emulators/compat30-extras/distinfo compat30-extras-vax-3.1.tar.bz2
./emulators/compat14/distinfo compat14-alpha-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-arm-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-m68k-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-mipsel-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-ns32k-1.4.2.tar.bz2
./emulators/compat14/distinfo compat14-powerpc-1.4.3.tar.bz2
./emulators/compat14/distinfo compat14-sparc-1.4.3.1.tar.bz2
./emulators/compat14/distinfo compat14-vax-1.4.3.tar.bz2
./emulators/compat51/distinfo compat51-alpha-5.1.tar.bz2
./emulators/compat51/distinfo compat51-arm-5.1.tar.bz2
./emulators/compat51/distinfo compat51-m68k-5.1.tar.bz2
./emulators/compat51/distinfo compat51-mipseb-5.1.tar.bz2
./emulators/compat51/distinfo compat51-mipsel-5.1.tar.bz2
./emulators/compat51/distinfo compat51-powerpc-5.1.tar.bz2
./emulators/compat51/distinfo compat51-sparc-5.1.tar.bz2
./emulators/compat51/distinfo compat51-sparc64-5.1.tar.bz2
./emulators/compat13/distinfo compat13-alpha-1.3.3.tar.bz2
./emulators/compat13/distinfo compat13-arm-1.3.2.tar.bz2
./emulators/compat13/distinfo compat13-m68k-1.3.3.tar.bz2
./emulators/compat13/distinfo compat13-mipsel-1.3.3.tar.bz2
./emulators/compat13/distinfo compat13-ns32k-1.3.3.tar.bz2
./emulators/compat13/distinfo compat13-sparc-1.3.3.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-alpha-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-arm-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-armeb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-armv6hf-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-armv7hf-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-earm-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-earmv7hfeb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-m68k-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-mips64eb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-mips64el-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-mipseb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-mipsel-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-powerpc-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-sh3eb-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-sh3el-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-sparc-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-sparc64-8.0.tar.bz2
./emulators/compat80/distinfo 20191014/compat80-vax-8.0.tar.bz2
   2021-10-07 15:49:53 by Nia Alarie | Files touched by this commit (289)
Log message:
emulators: Remove SHA1 hashes for distfiles
   2021-04-24 09:31:36 by Frederic Cambus | Files touched by this commit (3) | Package updated
Log message:
gxemul: update to 0.7.0.

ChangeLog:

20210228	Switching back from C++ to plain C.
		Implementing a helper method for registering device addresses
		as symbols (so that it can be used from several machines).
20210307	Subtle colorized output when stdin/stdout are connected to a
		tty, to make it quicker to interpret text output. Enabled with
		-G or by setting the CLICOLOR environment variable. Can be
		disabled with -A.
20210309	Beginning to separate debug messages into subsystems, that have
		individual verbosity levels.
		Making -K work more consistently (enter the debugger at the
		end of a run). -V implies -K.
		Making -T work better for M88K (breaking into the debugger
		directly on bad memory accesses, if -K is used).
20210310	All MIPS machines now register their devices as symbols (based
		in kseg1, i.e. 0xffffffffa0000000).
20210311	Making -T work better for MIPS, PPC, ARM, and SuperH.
20210314	Adding a -L command line option for enabling tap networking
		without using configuration files.
		-x is now needed if one wants separate xterm windows for serial
		I/O when using configuration files with a single machine.
20210316	debugmsg subsystems can now be registered at runtime; this is
		so far done from the Lance Ethernet device.
		Adding a 'verbosity' debugger command for inspecting and
		setting the verbosity level for individual subsystems.
20210318	Fixing an annoying 'backspace' bug in the debugger command
		line handling, where the response sometimes could become
		"unknown command ''".
		Implementing CTRL-W (erase word) in the debugger.
		Implementing CTRL-T (SIGINFO-like status line) in the debugger.
20210320	Removing the UNSTABLE_DEVEL configure define; it was not used
		much, and the debugmsg verbosity levels can be used in its
		place.
		Fixing a bug for MIPS R2000/R3000 when writing to coprocessor 0
		"entrylo" register (if the lowest 8 bits were 0, the code took
		the non-R2000/R3000 code path).
20210321	Adding an empty i960 CPU skeleton [again].
		Moving 'arch' from struct machine to struct cpu; in the future,
		perhaps this would allow a machine to have heterogenous CPU
		sets (such as the Dreamcast with both SuperH and ARM).
		Removing "slow_serial_interrupts_hack_for_linux" (-U) command
		line option, since it is not used for most guest OSes, and
		occupied a command line option char.
20210323	Breaking out the mb89352 SCSI Protocol Controller from the
		luna88k device, and beginning to implement it. Works well
		enough for OpenBSD's "boot" to read the disk and load the
		kernel, but not well enough for the kernel to like it.
20210324	Adding support for 00 99 01 07 variant of luna88k a.out.
20210325	The mb89352 SCSI controller uses its own subsystem for debug
		messages.
20210327	Adding an empty RISC-V CPU skeleton [again].
		Implementing enough of the mb89352 to allow OpenBSD/luna88k
		to boot with SCSI (both the boot loader and the kernel)!
20210401	Applying a patch from George Matsumura to make things build
		better on Linux: __attribute__((__packed__));  in bootblock.h.
20210405	Adding hardcoded boot_unit=0 and boot_partition=0 NVRAM
		variables to the LUNA-88K machine, allowing OpenBSD/luna88k
		to boot from disk without asking for root and swap partitions.
		Adding 'R' (upper-case) disk image prefix, as a shorthand for
		creating temporary overlays.
20210407	Code for idling the host processor has been moved out from
		individual CPU implementations to the main emul loop.
		Implementing an X11 mouse pointer grab mechanism. Grab is
		activated by clicking in a framebuffer window, and released
		using left CTRL + ALT. When grab is active, the host mouse
		cursor is hidden and the window caption changes to indicate
		that grab is active.
20210408	Implementing an unusual 88K "not_maxneg_nor_zero" bcnd
		condition.
20210409	Moving the LUNA88K framebuffer to its own device file.
		Beginning to implement the LUNA88K front panel LCD.
		Also fixing a bug where the rightmost pixel (or 8 pixels in
		the case of monochrome) were not drawn.
20210410	Also check for X11R7 in the configure script, in addition
		to X11R6.
20210417	Porting over i960CA disassembly from the C++ framework.
20210418	More i960 stuff, including re-adding the (so far dummy)
		Cyclone VH machine.
		Assuming availabilty of __func__ (C99 standard).
20210422	Enabling idle detection for OpenBSD/luna88k, which uses a
		bcnd.n instruction. A hack, but it seems to work.
		Fixing a bug where console input could randomly be lost when
		idling, if there were multiple emulated serial ports.
   2021-04-17 09:36:53 by Ryo ONODERA | Files touched by this commit (3)
Log message:
gxemul: Update to 0.6.3.1

Changelog:
20210215        Implementing the fadd.dss 88K instruction, and working a bit
                more on the exception cases in the xmem instruction.
20210220        Implementing mouse emulation support for the LUNA88K machine.
                Updating OpenBSD/sgi install instructions (6.5 -> 6.8),
                and including a screenshot of X11 running.
20210221        Handle return values from interrupted select() when checking
                for available console input. (Found when using CTRL-C on Linux
                to enter the debugger command line, and noticed that it was
                spuriously broken.)
20210222        Basic multiprocessor bootup of OpenBSD/luna88k now works, but
                it is slightly unstable.
   2021-02-22 15:03:35 by Ryo ONODERA | Files touched by this commit (18) | Package removed
Log message:
gxemul: Update to 0.6.3 really
   2021-02-20 15:24:58 by Nick Hudson | Files touched by this commit (1)
Log message:
Update to 0.6.3

* All pkgsrc patches are included by upstream.

Changelog:

OpenBSD/luna88k can now run in the emulator (with root-on-nfs), and there
is now tap device support for networking contributed by Jason Thorpe.
   2021-01-16 17:49:36 by Nick Hudson | Files touched by this commit (3)
Log message:
Provide the correct ASID and VA for the unaligned exception.  This patch
has been applied upstream.

Bump PKGREVISION