• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Commit MetaInfo

Révision88fad28eafefd057a5b797aa00256acd4a594e42 (tree)
l'heure2022-07-10 18:59:56
Auteurphabrics <phabrics@phab...>
Commiterphabrics

Message de Log

Reorganized the host hierarchy to better suit the different types of hosts.

Change Summary

  • modified: configure.ac (diff)
  • modified: host/Makefile.am (diff)
  • add: host/display/Makefile.am (diff)
  • add: host/eth/Makefile.am (diff)
  • delete: host/posix/Makefile.am
  • delete: host/{ => display}/display-keyboard.c
  • delete: host/{ => display}/display-mouse.c
  • delete: host/{ => display}/display.c
  • delete: host/{ => display}/display.h
  • delete: host/{ => display}/gtk/Makefile.am
  • delete: host/{ => display}/gtk/gtk-display.h
  • delete: host/{ => display}/gtk/gtk-keyboard.c
  • delete: host/{ => display}/gtk/gtk-mouse.c
  • delete: host/{ => display}/gtk/gtk-screen.c
  • delete: host/{ => display}/keymap-def.h
  • delete: host/{ => display}/keymap-make.pl
  • delete: host/{ => display}/rfb/Makefile.am
  • delete: host/{ => display}/rfb/rfb-display.c
  • delete: host/{ => eth}/bsd/Makefile.am
  • delete: host/{ => eth}/bsd/bsd-bpf.c
  • delete: host/{ => eth}/eth-if.h
  • delete: host/{ => eth}/eth-impl.c
  • delete: host/{ => eth}/openvpn/Makefile.am
  • delete: host/{ => eth}/openvpn/openvpn-link.c
  • delete: host/{ => eth}/openvpn/openvpn-server.c
  • delete: host/{ => eth}/openvpn/openvpn-tap.c
  • delete: host/{ => eth}/tun/Makefile.am
  • delete: host/{ => eth}/tun/tun-tap.c
  • delete: host/{posix => }/posix-disk.c
  • delete: host/{posix => }/posix-memory.c
  • delete: host/{posix => }/posix-serial.c
  • delete: host/{posix => }/posix-tape.c
  • add: machine/sun4/SUN4-75-gtk-bw2 (diff)
  • add: machine/sun4/SUN4-75-gtk-cg3 (diff)
  • add: machine/sun4/SUN4-75-rfb-bw2 (diff)
  • add: machine/sun4/SUN4-75-rfb-cg3 (diff)
  • add: machine/sun4/SUN4-75-tty (diff)
  • modified: tme-preopen.txt (diff)
  • modified: tme/tme-plugins.txt (diff)

Modification

--- a/configure.ac
+++ b/configure.ac
@@ -740,9 +740,6 @@ AC_DEFINE(HAVE_AF_PACKET, [], [Define if you have AF_PACKET.])
740740 AC_MSG_RESULT(no)
741741 ])
742742
743-dnl Start the list of host support.
744-TME_HOSTS=
745-
746743 AC_ARG_VAR([TAP_CFLAGS], [C compiler flags for tap])
747744 old_CFLAGS="${CFLAGS}"
748745 CFLAGS="${CFLAGS} ${TAP_CFLAGS}"
@@ -783,7 +780,7 @@ AC_ARG_WITH(tme-host-displays,
783780
784781 AC_SUBST(TME_FB_XLAT_DST)
785782
786-tme_host_types="tun bsd openvpn posix gtk rfb"
783+tme_host_types="gtk rfb tun bsd openvpn"
787784
788785 for tme_host_type in ${tme_host_types}; do
789786 eval enable_${tme_host_type}=no
@@ -801,28 +798,43 @@ for tme_host_type in ${tme_host_types}; do
801798 eval enable_${tme_host_type}=yes
802799 done
803800
801+dnl Start the list of display host support.
802+TME_DISPLAY_HOSTS=
803+
804804 if test "x$have_gtk" = xyes; then
805805 if test "x${enable_gtk}" = xyes; then
806- TME_HOSTS="gtk ${TME_HOSTS}"
806+ TME_DISPLAY_HOSTS="gtk ${TME_DISPLAY_HOSTS}"
807807 fi
808808 TME_FB_XLAT_DST="d32b32s0p32olml_r0xffff0000_g0xff00ff00_b0xff0000ff d24b32s0p32olml_r0xff0000_g0xff00_b0xff"
809809 # TME_FB_XLAT_DST="d32b32s0p32olml_r0xffff0000_g0xff00ff00_b0xff0000ff d24b32s0p32olml_r0xff0000_g0xff00_b0xff d16b16s0p32olml_r0xf800_g0x07e0_b0x001f d8b8s0p32olml_r0xff_g0xff_b0xff d1b1s0p32olml_r0x1_g0x1_b0x1"
810810 fi
811811
812812 AS_IF([test "x${enable_rfb}" = xyes], [
813- PKG_CHECK_MODULES([RFB], [libvncserver], [TME_HOSTS="rfb ${TME_HOSTS}"], AC_DEFINE([HAVE_RFB], [0], [No RFB]))
813+ PKG_CHECK_MODULES([RFB], [libvncserver], [TME_DISPLAY_HOSTS="rfb ${TME_DISPLAY_HOSTS}"], AC_DEFINE([HAVE_RFB], [0], [No RFB]))
814814 ])
815815
816+if test "x${TME_DISPLAY_HOSTS}" != x; then
817+ TME_DISPLAY_HOSTS="${TME_DISPLAY_HOSTS}"
818+fi
819+
820+dnl The list of display host support is finished.
821+AC_SUBST(TME_DISPLAY_HOSTS)
822+
823+AC_MSG_RESULT($TME_DISPLAY_HOSTS)
824+
825+dnl Start the list of ethernet host support.
826+TME_ETH_HOSTS=
827+
816828 AM_CONDITIONAL([USE_TAP_WINDOWS], [test "x${enable_openvpn}" = xyes && test "x${have_tap_header}" = x && test "x${WIN32}" != x])
817829 AM_CONDITIONAL([USING_OPENVPN], [test "x${enable_openvpn}" = xyes && test "x${have_tap_header}" = xyes || test "x${WIN32}" != x])
818830 if test "x${enable_openvpn}" = xyes && test "x${have_tap_header}" = xyes || test "x${WIN32}" != x; then
819- TME_HOSTS="openvpn ${TME_HOSTS}"
831+ TME_ETH_HOSTS="openvpn ${TME_ETH_HOSTS}"
820832 AC_DEFINE([OPENVPN_VERSION_RESOURCE], [PRODUCT_VERSION_RESOURCE], [Version in windows resource format])
821833 fi
822834
823835 AC_CHECK_HEADERS([linux/if_tun.h net/if_tap.h net/tap/if_tap.h net/if_tun.h],
824836 [if test "x${enable_tun}" = xyes; then
825- TME_HOSTS="tun ${TME_HOSTS}"
837+ TME_ETH_HOSTS="tun ${TME_ETH_HOSTS}"
826838 fi])
827839
828840 AC_CHECK_HEADERS([linux/filter.h net/bpf.h])
@@ -842,21 +854,17 @@ found_BPFVERSION
842854 #endif
843855 ],
844856 [if test "x${enable_bsd}" = xyes; then
845- TME_HOSTS="bsd ${TME_HOSTS}"
857+ TME_ETH_HOSTS="bsd ${TME_ETH_HOSTS}"
846858 fi])
847859
848-if test "x${TME_HOSTS}" != x; then
849- TME_HOSTS="${TME_HOSTS}"
850-fi
851-
852-if test "x${enable_posix}" = xyes; then
853- TME_HOSTS="posix ${TME_HOSTS}"
860+if test "x${TME_ETH_HOSTS}" != x; then
861+ TME_ETH_HOSTS="${TME_ETH_HOSTS}"
854862 fi
855863
856-dnl The list of host support is finished.
857-AC_SUBST(TME_HOSTS)
864+dnl The list of ethernet host support is finished.
865+AC_SUBST(TME_ETH_HOSTS)
858866
859-AC_MSG_RESULT($TME_HOSTS)
867+AC_MSG_RESULT($TME_ETH_HOSTS)
860868
861869 AC_SYS_POSIX_TERMIOS
862870
@@ -1586,12 +1594,13 @@ AC_CONFIG_FILES([Makefile
15861594 machine/sun4/Makefile
15871595 machine/sun4u/Makefile
15881596 host/Makefile
1589- host/openvpn/Makefile
1590- host/posix/Makefile
1591- host/rfb/Makefile
1592- host/bsd/Makefile
1593- host/tun/Makefile
1594- host/gtk/Makefile
1597+ host/display/Makefile
1598+ host/display/gtk/Makefile
1599+ host/display/rfb/Makefile
1600+ host/eth/Makefile
1601+ host/eth/openvpn/Makefile
1602+ host/eth/bsd/Makefile
1603+ host/eth/tun/Makefile
15951604 bus/Makefile
15961605 bus/multibus/Makefile
15971606 bus/sbus/Makefile
--- a/host/Makefile.am
+++ b/host/Makefile.am
@@ -1,27 +1,19 @@
11 ## Process this file with automake to produce Makefile.in
2-# Makefile.am for The Machine Emulator host/:
2+# Makefile.am for The Machine Emulator host/posix:
33
44 AUTOMAKE_OPTIONS = 1.4 gnu
5-AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(top_srcdir)/lib -I. -D_TME_IMPL $(GTK_CFLAGS)
65
7-lib_LTLIBRARIES = libtme-host.la
8-libtme_host_la_SOURCES = eth-impl.c eth-if.h display-mouse.c display-keyboard.c display.c display.h
9-libtme_host_la_LDFLAGS = -version-info 0:0:0
10-libtme_host_la_LIBADD = $(top_builddir)/generic/libtme-generic.la $(GTK_LIBS)
6+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(top_srcdir)/lib -I. -D_TME_IMPL
117
12-EXTRA_DIST = keymap-make.pl keymap-def.h
8+pkglib_LTLIBRARIES = tme_host_posix.la
9+tme_host_posix_la_SOURCES = posix-memory.c \
10+ posix-disk.c \
11+ posix-tape.c \
12+ posix-serial.c
1313
14-BUILT_SOURCES = keymap.h
15-CLEANFILES = keymap.h
16-if USING_X
17-keymap.h: keymap-make.pl keymap-def.h
18- $(PERL) $< > $@ || cp $(srcdir)/keymap-def.h $@
19-else
20-keymap.h: keymap-def.h
21- cp $< $@
22-endif
14+tme_host_posix_la_LDFLAGS = -module -version-info 0:0:0
15+tme_host_posix_la_LIBADD = $(top_builddir)/generic/libtme-generic.la
2316
2417 include $(top_srcdir)/modules
2518
26-SUBDIRS = . @TME_HOSTS@
27-DIST_SUBDIRS = posix gtk bsd tun openvpn rfb
19+SUBDIRS = display eth
--- /dev/null
+++ b/host/display/Makefile.am
@@ -0,0 +1,27 @@
1+## Process this file with automake to produce Makefile.in
2+# Makefile.am for The Machine Emulator display/:
3+
4+AUTOMAKE_OPTIONS = 1.4 gnu
5+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(top_srcdir)/lib -I. -D_TME_IMPL $(GTK_CFLAGS)
6+
7+lib_LTLIBRARIES = libtme-display.la
8+libtme_display_la_SOURCES = display-mouse.c display-keyboard.c display.c display.h
9+libtme_display_la_LDFLAGS = -version-info 0:0:0
10+libtme_display_la_LIBADD = $(top_builddir)/generic/libtme-generic.la $(GTK_LIBS)
11+
12+EXTRA_DIST = keymap-make.pl keymap-def.h
13+
14+BUILT_SOURCES = keymap.h
15+CLEANFILES = keymap.h
16+if USING_X
17+keymap.h: keymap-make.pl keymap-def.h
18+ $(PERL) $< > $@ || cp $(srcdir)/keymap-def.h $@
19+else
20+keymap.h: keymap-def.h
21+ cp $< $@
22+endif
23+
24+include $(top_srcdir)/modules
25+
26+SUBDIRS = . @TME_DISPLAY_HOSTS@
27+DIST_SUBDIRS = gtk rfb
--- a/host/gtk/Makefile.am
+++ b/host/display/gtk/Makefile.am
@@ -8,6 +8,6 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(top_srcdir)/lib -I$(srcdir)/.. -I.
88 pkglib_LTLIBRARIES = tme_host_gtk.la
99 tme_host_gtk_la_SOURCES = gtk-mouse.c gtk-keyboard.c gtk-screen.c gtk-display.h
1010 tme_host_gtk_la_LDFLAGS = -module -version-info 0:0:0
11-tme_host_gtk_la_LIBADD = ../libtme-host.la $(GTK_LIBS)
11+tme_host_gtk_la_LIBADD = ../libtme-display.la $(GTK_LIBS)
1212
1313 include $(top_srcdir)/modules
--- a/host/rfb/Makefile.am
+++ b/host/display/rfb/Makefile.am
@@ -8,6 +8,6 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(top_srcdir)/lib -I$(srcdir)/.. -I.
88 pkglib_LTLIBRARIES = tme_host_rfb.la
99 tme_host_rfb_la_SOURCES = rfb-display.c
1010 tme_host_rfb_la_LDFLAGS = -module -version-info 0:0:0
11-tme_host_rfb_la_LIBADD = ../libtme-host.la $(RFB_LIBS)
11+tme_host_rfb_la_LIBADD = ../libtme-display.la $(RFB_LIBS)
1212
1313 include $(top_srcdir)/modules
--- /dev/null
+++ b/host/eth/Makefile.am
@@ -0,0 +1,15 @@
1+## Process this file with automake to produce Makefile.in
2+# Makefile.am for The Machine Emulator eth/:
3+
4+AUTOMAKE_OPTIONS = 1.4 gnu
5+AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(top_srcdir)/lib -I. -D_TME_IMPL
6+
7+lib_LTLIBRARIES = libtme-eth.la
8+libtme_eth_la_SOURCES = eth-impl.c eth-if.h
9+libtme_eth_la_LDFLAGS = -version-info 0:0:0
10+libtme_eth_la_LIBADD = $(top_builddir)/generic/libtme-generic.la
11+
12+include $(top_srcdir)/modules
13+
14+SUBDIRS = . @TME_ETH_HOSTS@
15+DIST_SUBDIRS = bsd tun openvpn
--- a/host/bsd/Makefile.am
+++ b/host/eth/bsd/Makefile.am
@@ -8,6 +8,6 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(top_srcdir)/lib -I$(srcdir)/.. -I.
88 pkglib_LTLIBRARIES = tme_host_bsd.la
99 tme_host_bsd_la_SOURCES = bsd-bpf.c
1010 tme_host_bsd_la_LDFLAGS = -module -version-info 0:0:0
11-tme_host_bsd_la_LIBADD = ../libtme-host.la
11+tme_host_bsd_la_LIBADD = ../libtme-eth.la
1212
1313 include $(top_srcdir)/modules
--- a/host/openvpn/Makefile.am
+++ b/host/eth/openvpn/Makefile.am
@@ -9,7 +9,7 @@ pkglib_LTLIBRARIES = tme_host_openvpn.la
99 tme_host_openvpn_la_SOURCES = \
1010 openvpn-link.c \
1111 openvpn-tap.c
12-tme_host_openvpn_la_LIBADD = ../libtme-host.la
12+tme_host_openvpn_la_LIBADD = ../libtme-eth.la
1313 tme_host_openvpn_la_LDFLAGS = -module -version-info 0:0:0
1414
1515 include $(top_srcdir)/modules
--- a/host/tun/Makefile.am
+++ b/host/eth/tun/Makefile.am
@@ -8,6 +8,6 @@ AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(srcdir)/.. -I$(top_srcdir)/lib -I.
88 pkglib_LTLIBRARIES = tme_host_tun.la
99 tme_host_tun_la_SOURCES = tun-tap.c
1010 tme_host_tun_la_LDFLAGS = -module -version-info 0:0:0
11-tme_host_tun_la_LIBADD = ../libtme-host.la $(NATLIBS)
11+tme_host_tun_la_LIBADD = ../libtme-eth.la $(NATLIBS)
1212
1313 include $(top_srcdir)/modules
--- a/host/posix/Makefile.am
+++ /dev/null
@@ -1,17 +0,0 @@
1-## Process this file with automake to produce Makefile.in
2-# Makefile.am for The Machine Emulator host/posix:
3-
4-AUTOMAKE_OPTIONS = 1.4 gnu
5-
6-AM_CPPFLAGS = -I$(top_srcdir) -I$(srcdir) -I$(top_srcdir)/lib -I. -D_TME_IMPL
7-
8-pkglib_LTLIBRARIES = tme_host_posix.la
9-tme_host_posix_la_SOURCES = posix-memory.c \
10- posix-disk.c \
11- posix-tape.c \
12- posix-serial.c
13-
14-tme_host_posix_la_LDFLAGS = -module -version-info 0:0:0
15-tme_host_posix_la_LIBADD = $(top_builddir)/generic/libtme-generic.la
16-
17-include $(top_srcdir)/modules
--- /dev/null
+++ b/machine/sun4/SUN4-75-gtk-bw2
@@ -0,0 +1,176 @@
1+# $Id: SUN4-75,v 1.3 2010/06/05 19:26:31 fredette Exp $
2+
3+## SUN4-75 - example tmesh commands to create a Sun 4/75 (SPARCstation 2)
4+## machine:
5+
6+## the basic Sun 4/75 "Calvin" board, CPU, and sbus:
7+##
8+board0: tme/machine/sun4 name Calvin
9+cpu0 at board0: tme/ic/cy7c601 fpu-type tms390-c602A fpu-compliance partial fpu-incomplete trap
10+sbus0: tme/generic/bus size 4GB slot-addr 0xf8000000 slot-size 32MB slot 0 slot 1 slot 2 slot 3
11+sbus0 controller at board0 sbus
12+
13+## the sun4c mainbus RAM, ROM, and devices:
14+##
15+## NOTE THAT THE ram0 SIZE MUST BE A MULTIPLE OF 16MB, which is
16+## the maximum bank size of the SS2, AND NO MORE THAN 64MB.
17+## Once ram0 has reached 64MB, uncomment the ram1 line for 96MB of
18+## total memory, and then the ram2 line for 128MB of total memory:
19+##
20+alias mainbus0 sbus0
21+ram0 at mainbus0 addr 0x0: tme/host/posix/memory ram 16MB
22+ram1 at mainbus0 addr 0x08000000: tme/host/posix/memory ram 32MB
23+ram2 at mainbus0 addr 0x0a000000: tme/host/posix/memory ram 32MB
24+rom0 at mainbus0 addr 0xf6000000: tme/host/posix/memory rom sun4-75-rev-2.9.bin
25+zs0 at mainbus0 addr 0xf1000000 ipl 12: tme/machine/sun4/zs
26+zs1 at mainbus0 addr 0xf0000000 ipl 12: tme/machine/sun4/zs
27+nvram0 at mainbus0 addr 0xf2000000: tme/host/posix/memory persistent my-sun4c-nvram.bin
28+clock0 at mainbus0 addr 0xf20007f8: tme/machine/sun4/clock type tme/ic/mk48t02
29+board0 timer at mainbus0 addr 0xf3000000
30+board0 memerr at mainbus0 addr 0xf4000000
31+board0 intreg at mainbus0 addr 0xf5000000
32+fdc0 at mainbus0 addr 0xf7200000 ipl 11: tme/machine/sun4/fdc type tme/ic/i82072
33+audioamd0 at mainbus0 addr 0xf7201000 ipl 13: tme/ic/am7930
34+board0 auxreg at mainbus0 addr 0xf7400003
35+
36+## the Sun type-4 keyboard and mouse:
37+##
38+kbd0 at zs1 channel A: tme/serial/keyboard type sun-type-4-us macros my-sun-macros.txt map sun-keyboards.txt rate 20
39+ms0 at zs1 channel B: tme/serial/mouse type mousesystems-5
40+
41+## IF YOU DO NOT ATTACH kbd0 at zs1 channel A, THEN YOU MUST ATTACH
42+## sink0 at zs1 channel A, otherwise the PROM's keyboard poll never
43+## finishes:
44+##
45+#sink0 at zs1 channel A: tme/serial/sink
46+
47+## ttya:
48+##
49+# comment the first line, and uncomment the following line if you
50+# aren't using the graphics-based display console. this will connect ttya
51+# to the master side of a pseudo-tty (in this case, /dev/ttyr0), which
52+# you can connect to using tip or some other serial communications
53+# program on the slave side (in this case, /dev/ptyr0):
54+#
55+sink1 at zs0 channel A: tme/serial/sink
56+#console0 at zs0 channel A: tme/host/posix/serial device /dev/ttyr0 break-carats
57+# OR enable POSIX pseudo-terminal master (if available) using the ptmx clone device:
58+# the tmesh console will display the slave device to connect to (e.g., /dev/pts/3)
59+#console0 at zs0 channel A: tme/host/posix/serial device /dev/ptmx break-carats
60+
61+## the SBus esp SCSI:
62+##
63+esp0 at sbus0 slot 0 offset 0x800000 ipl 3: tme/ic/lsi64854 revision "1+" channel scsi
64+esp0 dma at sbus0 slot 0 offset 0x400000
65+ncr0 at esp0 master: tme/ic/ncr53c9x variant esp100
66+scsibus0 at ncr0: tme/scsi/bus
67+
68+## the SBus LANCE Ethernet:
69+##
70+# uncomment the bpf0 line if you have read/write permission on one
71+# of your /dev/bpfN devices (on *BSD) OR have cap_net_raw+ep capability (on Linux)
72+# and you want actual network access:
73+#
74+le0 at sbus0 slot 0 offset 0xc00000 ipl 5 dma-offset 0xff000000: tme/ic/am7990
75+#bpf0 at le0: tme/host/bsd/bpf
76+# OR enable tap ethernet device, an alternative method for network access
77+# 2 ways to access a tap device: native or openvpn (respectively below)
78+# both require setuid or equivalent permissions, which should be set up at build time
79+#tap0 at le0: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
80+#tap0 at le0: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
81+
82+# An example of the link element that can be used to connect network elements across an IP network.
83+# Here, we set up a P2P network between two machines on different hosts. Each machine would have
84+# one side of the connection, by uncommenting one of the lines below to complement the other one.
85+#link0 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.1 --remote 192.168.0.2
86+#link1 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.2 --remote 192.168.0.1
87+
88+# Uncomment the following lines to get debug output for each respective element (or add your own)
89+#log bpf0 1
90+#log tap0 1
91+#log link0 1
92+
93+# You can enable "networking" multiple machines using the following lines,
94+# removing the " at le0" from the one of the previous 2 lines that is used
95+# to set up the tap device. This might not be needed if the tap devices is
96+# already connected to another element. This creates a master configuration
97+# that can be used with different slave configurations.
98+#tap1: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
99+#tap1: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
100+#tap1 at tap1
101+
102+# A master configuration can also include remote machines by connecting the tap
103+# or bpf device to a link. If the tap is connected, then you don't need to
104+# connect it to itself first, but the tap must be connected to something.
105+# Remember that each element can only connect to one other element, so the
106+# network configurations must be set up carefully.
107+#link2 at tap1: tme/host/openvpn/socket/link --dev tap --local 192.168.0.3 --remote 192.168.0.4
108+
109+# Slave configurations only need the follwing line to connect to the tap
110+# network via bpf. Note that the master requires this line, too...
111+#bpf1 at le0: tme/host/bsd/bpf interface tap0
112+
113+# A slave configuration can also include remote machines by connecting the bpf
114+# device to a link.
115+#link3: tme/host/openvpn/socket/link --dev tap --local 192.168.0.5 --remote 192.168.0.6
116+#bpf2 at link3: tme/host/bsd/bpf interface tap0
117+
118+## an SBus cgthree:
119+##
120+#cgthree0 at sbus0 slot 1 offset 0x0 ipl 7: tme/bus/sbus/cgthree
121+#cgthreerom0 at sbus0 slot 1 offset 0x0: tme/host/posix/memory rom "SUNW,501-1415.bin"
122+
123+## an SBus bwtwo:
124+##
125+# uncomment these lines if you want a bwtwo either in addition to, or
126+# instead of, the cgthree:
127+#
128+bwtwo0 at sbus0 slot 2 offset 0x0 ipl 7: tme/bus/sbus/bwtwo
129+bwtworom0 at sbus0 slot 2 offset 0x0: tme/host/posix/memory rom "SUNW,501-1561.bin"
130+
131+## the graphics-based display console:
132+##
133+# comment out these lines, and the bwtwo0 and cgthree0 declarations
134+# above, if you don't have GTK or VNC or you don't want a display console:
135+# You can have only one graphics-based display at a time:
136+# uncomment which display you want
137+# uncomment this line for a GTK-based graphics display
138+display0: tme/host/gtk/display
139+#display0: tme/host/rfb/display
140+#display0 at cgthree0
141+display0 at bwtwo0
142+display0 at kbd0
143+display0 at ms0
144+
145+## a SCSI disk:
146+##
147+#
148+sd0 at scsibus0: tme/scsi/disk id 3 type tme-scsi-1
149+disk0 at sd0: tme/host/posix/disk file my-sun4c-disk.img
150+
151+## a SCSI tape:
152+##
153+#st0 at scsibus0: tme/scsi/tape id 4 type tme-scsi-1
154+#tape0 at st0: tme/host/posix/tape
155+
156+## a CD-ROM drive:
157+##
158+cd0 at scsibus0: tme/scsi/cdrom id 6 type tme-scsi-1
159+cdrom0 at cd0: tme/host/posix/disk file NetBSD-9.2-sparc.iso read-only
160+
161+## set the idle type, so tmesh doesn't consume all of the host CPU:
162+##
163+# use the appropriate type for the guest operating system:
164+#
165+# NetBSD/sparc 1.6 through 4.99.19: netbsd32-type-0
166+# NetBSD/sparc 4.99.20 through this writing: netbsd32-type-1
167+# SunOS 4.1.x: sunos32-type-0
168+#
169+command cpu0 idle-type netbsd32-type-1
170+
171+## power up the machine:
172+##
173+# uncomment this line to automatically power up the machine when
174+# tmesh starts:
175+#
176+command board0 power up
--- /dev/null
+++ b/machine/sun4/SUN4-75-gtk-cg3
@@ -0,0 +1,176 @@
1+# $Id: SUN4-75,v 1.3 2010/06/05 19:26:31 fredette Exp $
2+
3+## SUN4-75 - example tmesh commands to create a Sun 4/75 (SPARCstation 2)
4+## machine:
5+
6+## the basic Sun 4/75 "Calvin" board, CPU, and sbus:
7+##
8+board0: tme/machine/sun4 name Calvin
9+cpu0 at board0: tme/ic/cy7c601 fpu-type tms390-c602A fpu-compliance partial fpu-incomplete trap
10+sbus0: tme/generic/bus size 4GB slot-addr 0xf8000000 slot-size 32MB slot 0 slot 1 slot 2 slot 3
11+sbus0 controller at board0 sbus
12+
13+## the sun4c mainbus RAM, ROM, and devices:
14+##
15+## NOTE THAT THE ram0 SIZE MUST BE A MULTIPLE OF 16MB, which is
16+## the maximum bank size of the SS2, AND NO MORE THAN 64MB.
17+## Once ram0 has reached 64MB, uncomment the ram1 line for 96MB of
18+## total memory, and then the ram2 line for 128MB of total memory:
19+##
20+alias mainbus0 sbus0
21+ram0 at mainbus0 addr 0x0: tme/host/posix/memory ram 16MB
22+ram1 at mainbus0 addr 0x08000000: tme/host/posix/memory ram 32MB
23+ram2 at mainbus0 addr 0x0a000000: tme/host/posix/memory ram 32MB
24+rom0 at mainbus0 addr 0xf6000000: tme/host/posix/memory rom sun4-75-rev-2.9.bin
25+zs0 at mainbus0 addr 0xf1000000 ipl 12: tme/machine/sun4/zs
26+zs1 at mainbus0 addr 0xf0000000 ipl 12: tme/machine/sun4/zs
27+nvram0 at mainbus0 addr 0xf2000000: tme/host/posix/memory persistent my-sun4c-nvram.bin
28+clock0 at mainbus0 addr 0xf20007f8: tme/machine/sun4/clock type tme/ic/mk48t02
29+board0 timer at mainbus0 addr 0xf3000000
30+board0 memerr at mainbus0 addr 0xf4000000
31+board0 intreg at mainbus0 addr 0xf5000000
32+fdc0 at mainbus0 addr 0xf7200000 ipl 11: tme/machine/sun4/fdc type tme/ic/i82072
33+audioamd0 at mainbus0 addr 0xf7201000 ipl 13: tme/ic/am7930
34+board0 auxreg at mainbus0 addr 0xf7400003
35+
36+## the Sun type-4 keyboard and mouse:
37+##
38+kbd0 at zs1 channel A: tme/serial/keyboard type sun-type-4-us macros my-sun-macros.txt map sun-keyboards.txt rate 20
39+ms0 at zs1 channel B: tme/serial/mouse type mousesystems-5
40+
41+## IF YOU DO NOT ATTACH kbd0 at zs1 channel A, THEN YOU MUST ATTACH
42+## sink0 at zs1 channel A, otherwise the PROM's keyboard poll never
43+## finishes:
44+##
45+#sink0 at zs1 channel A: tme/serial/sink
46+
47+## ttya:
48+##
49+# comment the first line, and uncomment the following line if you
50+# aren't using the graphics-based display console. this will connect ttya
51+# to the master side of a pseudo-tty (in this case, /dev/ttyr0), which
52+# you can connect to using tip or some other serial communications
53+# program on the slave side (in this case, /dev/ptyr0):
54+#
55+sink1 at zs0 channel A: tme/serial/sink
56+#console0 at zs0 channel A: tme/host/posix/serial device /dev/ttyr0 break-carats
57+# OR enable POSIX pseudo-terminal master (if available) using the ptmx clone device:
58+# the tmesh console will display the slave device to connect to (e.g., /dev/pts/3)
59+#console0 at zs0 channel A: tme/host/posix/serial device /dev/ptmx break-carats
60+
61+## the SBus esp SCSI:
62+##
63+esp0 at sbus0 slot 0 offset 0x800000 ipl 3: tme/ic/lsi64854 revision "1+" channel scsi
64+esp0 dma at sbus0 slot 0 offset 0x400000
65+ncr0 at esp0 master: tme/ic/ncr53c9x variant esp100
66+scsibus0 at ncr0: tme/scsi/bus
67+
68+## the SBus LANCE Ethernet:
69+##
70+# uncomment the bpf0 line if you have read/write permission on one
71+# of your /dev/bpfN devices (on *BSD) OR have cap_net_raw+ep capability (on Linux)
72+# and you want actual network access:
73+#
74+le0 at sbus0 slot 0 offset 0xc00000 ipl 5 dma-offset 0xff000000: tme/ic/am7990
75+#bpf0 at le0: tme/host/bsd/bpf
76+# OR enable tap ethernet device, an alternative method for network access
77+# 2 ways to access a tap device: native or openvpn (respectively below)
78+# both require setuid or equivalent permissions, which should be set up at build time
79+#tap0 at le0: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
80+#tap0 at le0: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
81+
82+# An example of the link element that can be used to connect network elements across an IP network.
83+# Here, we set up a P2P network between two machines on different hosts. Each machine would have
84+# one side of the connection, by uncommenting one of the lines below to complement the other one.
85+#link0 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.1 --remote 192.168.0.2
86+#link1 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.2 --remote 192.168.0.1
87+
88+# Uncomment the following lines to get debug output for each respective element (or add your own)
89+#log bpf0 1
90+#log tap0 1
91+#log link0 1
92+
93+# You can enable "networking" multiple machines using the following lines,
94+# removing the " at le0" from the one of the previous 2 lines that is used
95+# to set up the tap device. This might not be needed if the tap devices is
96+# already connected to another element. This creates a master configuration
97+# that can be used with different slave configurations.
98+#tap1: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
99+#tap1: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
100+#tap1 at tap1
101+
102+# A master configuration can also include remote machines by connecting the tap
103+# or bpf device to a link. If the tap is connected, then you don't need to
104+# connect it to itself first, but the tap must be connected to something.
105+# Remember that each element can only connect to one other element, so the
106+# network configurations must be set up carefully.
107+#link2 at tap1: tme/host/openvpn/socket/link --dev tap --local 192.168.0.3 --remote 192.168.0.4
108+
109+# Slave configurations only need the follwing line to connect to the tap
110+# network via bpf. Note that the master requires this line, too...
111+#bpf1 at le0: tme/host/bsd/bpf interface tap0
112+
113+# A slave configuration can also include remote machines by connecting the bpf
114+# device to a link.
115+#link3: tme/host/openvpn/socket/link --dev tap --local 192.168.0.5 --remote 192.168.0.6
116+#bpf2 at link3: tme/host/bsd/bpf interface tap0
117+
118+## an SBus cgthree:
119+##
120+cgthree0 at sbus0 slot 1 offset 0x0 ipl 7: tme/bus/sbus/cgthree
121+cgthreerom0 at sbus0 slot 1 offset 0x0: tme/host/posix/memory rom "SUNW,501-1415.bin"
122+
123+## an SBus bwtwo:
124+##
125+# uncomment these lines if you want a bwtwo either in addition to, or
126+# instead of, the cgthree:
127+#
128+#bwtwo0 at sbus0 slot 2 offset 0x0 ipl 7: tme/bus/sbus/bwtwo
129+#bwtworom0 at sbus0 slot 2 offset 0x0: tme/host/posix/memory rom "SUNW,501-1561.bin"
130+
131+## the graphics-based display console:
132+##
133+# comment out these lines, and the bwtwo0 and cgthree0 declarations
134+# above, if you don't have GTK or VNC or you don't want a display console:
135+# You can have only one graphics-based display at a time:
136+# uncomment which display you want
137+# uncomment this line for a GTK-based graphics display
138+display0: tme/host/gtk/display
139+#display0: tme/host/rfb/display
140+display0 at cgthree0
141+#display0 at bwtwo0
142+display0 at kbd0
143+display0 at ms0
144+
145+## a SCSI disk:
146+##
147+#
148+sd0 at scsibus0: tme/scsi/disk id 3 type tme-scsi-1
149+disk0 at sd0: tme/host/posix/disk file my-sun4c-disk.img
150+
151+## a SCSI tape:
152+##
153+#st0 at scsibus0: tme/scsi/tape id 4 type tme-scsi-1
154+#tape0 at st0: tme/host/posix/tape
155+
156+## a CD-ROM drive:
157+##
158+cd0 at scsibus0: tme/scsi/cdrom id 6 type tme-scsi-1
159+cdrom0 at cd0: tme/host/posix/disk file NetBSD-9.2-sparc.iso read-only
160+
161+## set the idle type, so tmesh doesn't consume all of the host CPU:
162+##
163+# use the appropriate type for the guest operating system:
164+#
165+# NetBSD/sparc 1.6 through 4.99.19: netbsd32-type-0
166+# NetBSD/sparc 4.99.20 through this writing: netbsd32-type-1
167+# SunOS 4.1.x: sunos32-type-0
168+#
169+command cpu0 idle-type netbsd32-type-1
170+
171+## power up the machine:
172+##
173+# uncomment this line to automatically power up the machine when
174+# tmesh starts:
175+#
176+command board0 power up
--- /dev/null
+++ b/machine/sun4/SUN4-75-rfb-bw2
@@ -0,0 +1,176 @@
1+# $Id: SUN4-75,v 1.3 2010/06/05 19:26:31 fredette Exp $
2+
3+## SUN4-75 - example tmesh commands to create a Sun 4/75 (SPARCstation 2)
4+## machine:
5+
6+## the basic Sun 4/75 "Calvin" board, CPU, and sbus:
7+##
8+board0: tme/machine/sun4 name Calvin
9+cpu0 at board0: tme/ic/cy7c601 fpu-type tms390-c602A fpu-compliance partial fpu-incomplete trap
10+sbus0: tme/generic/bus size 4GB slot-addr 0xf8000000 slot-size 32MB slot 0 slot 1 slot 2 slot 3
11+sbus0 controller at board0 sbus
12+
13+## the sun4c mainbus RAM, ROM, and devices:
14+##
15+## NOTE THAT THE ram0 SIZE MUST BE A MULTIPLE OF 16MB, which is
16+## the maximum bank size of the SS2, AND NO MORE THAN 64MB.
17+## Once ram0 has reached 64MB, uncomment the ram1 line for 96MB of
18+## total memory, and then the ram2 line for 128MB of total memory:
19+##
20+alias mainbus0 sbus0
21+ram0 at mainbus0 addr 0x0: tme/host/posix/memory ram 16MB
22+ram1 at mainbus0 addr 0x08000000: tme/host/posix/memory ram 32MB
23+ram2 at mainbus0 addr 0x0a000000: tme/host/posix/memory ram 32MB
24+rom0 at mainbus0 addr 0xf6000000: tme/host/posix/memory rom sun4-75-rev-2.9.bin
25+zs0 at mainbus0 addr 0xf1000000 ipl 12: tme/machine/sun4/zs
26+zs1 at mainbus0 addr 0xf0000000 ipl 12: tme/machine/sun4/zs
27+nvram0 at mainbus0 addr 0xf2000000: tme/host/posix/memory persistent my-sun4c-nvram.bin
28+clock0 at mainbus0 addr 0xf20007f8: tme/machine/sun4/clock type tme/ic/mk48t02
29+board0 timer at mainbus0 addr 0xf3000000
30+board0 memerr at mainbus0 addr 0xf4000000
31+board0 intreg at mainbus0 addr 0xf5000000
32+fdc0 at mainbus0 addr 0xf7200000 ipl 11: tme/machine/sun4/fdc type tme/ic/i82072
33+audioamd0 at mainbus0 addr 0xf7201000 ipl 13: tme/ic/am7930
34+board0 auxreg at mainbus0 addr 0xf7400003
35+
36+## the Sun type-4 keyboard and mouse:
37+##
38+kbd0 at zs1 channel A: tme/serial/keyboard type sun-type-4-us macros my-sun-macros.txt map sun-keyboards.txt rate 20
39+ms0 at zs1 channel B: tme/serial/mouse type mousesystems-5
40+
41+## IF YOU DO NOT ATTACH kbd0 at zs1 channel A, THEN YOU MUST ATTACH
42+## sink0 at zs1 channel A, otherwise the PROM's keyboard poll never
43+## finishes:
44+##
45+#sink0 at zs1 channel A: tme/serial/sink
46+
47+## ttya:
48+##
49+# comment the first line, and uncomment the following line if you
50+# aren't using the graphics-based display console. this will connect ttya
51+# to the master side of a pseudo-tty (in this case, /dev/ttyr0), which
52+# you can connect to using tip or some other serial communications
53+# program on the slave side (in this case, /dev/ptyr0):
54+#
55+sink1 at zs0 channel A: tme/serial/sink
56+#console0 at zs0 channel A: tme/host/posix/serial device /dev/ttyr0 break-carats
57+# OR enable POSIX pseudo-terminal master (if available) using the ptmx clone device:
58+# the tmesh console will display the slave device to connect to (e.g., /dev/pts/3)
59+#console0 at zs0 channel A: tme/host/posix/serial device /dev/ptmx break-carats
60+
61+## the SBus esp SCSI:
62+##
63+esp0 at sbus0 slot 0 offset 0x800000 ipl 3: tme/ic/lsi64854 revision "1+" channel scsi
64+esp0 dma at sbus0 slot 0 offset 0x400000
65+ncr0 at esp0 master: tme/ic/ncr53c9x variant esp100
66+scsibus0 at ncr0: tme/scsi/bus
67+
68+## the SBus LANCE Ethernet:
69+##
70+# uncomment the bpf0 line if you have read/write permission on one
71+# of your /dev/bpfN devices (on *BSD) OR have cap_net_raw+ep capability (on Linux)
72+# and you want actual network access:
73+#
74+le0 at sbus0 slot 0 offset 0xc00000 ipl 5 dma-offset 0xff000000: tme/ic/am7990
75+#bpf0 at le0: tme/host/bsd/bpf
76+# OR enable tap ethernet device, an alternative method for network access
77+# 2 ways to access a tap device: native or openvpn (respectively below)
78+# both require setuid or equivalent permissions, which should be set up at build time
79+#tap0 at le0: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
80+#tap0 at le0: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
81+
82+# An example of the link element that can be used to connect network elements across an IP network.
83+# Here, we set up a P2P network between two machines on different hosts. Each machine would have
84+# one side of the connection, by uncommenting one of the lines below to complement the other one.
85+#link0 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.1 --remote 192.168.0.2
86+#link1 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.2 --remote 192.168.0.1
87+
88+# Uncomment the following lines to get debug output for each respective element (or add your own)
89+#log bpf0 1
90+#log tap0 1
91+#log link0 1
92+
93+# You can enable "networking" multiple machines using the following lines,
94+# removing the " at le0" from the one of the previous 2 lines that is used
95+# to set up the tap device. This might not be needed if the tap devices is
96+# already connected to another element. This creates a master configuration
97+# that can be used with different slave configurations.
98+#tap1: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
99+#tap1: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
100+#tap1 at tap1
101+
102+# A master configuration can also include remote machines by connecting the tap
103+# or bpf device to a link. If the tap is connected, then you don't need to
104+# connect it to itself first, but the tap must be connected to something.
105+# Remember that each element can only connect to one other element, so the
106+# network configurations must be set up carefully.
107+#link2 at tap1: tme/host/openvpn/socket/link --dev tap --local 192.168.0.3 --remote 192.168.0.4
108+
109+# Slave configurations only need the follwing line to connect to the tap
110+# network via bpf. Note that the master requires this line, too...
111+#bpf1 at le0: tme/host/bsd/bpf interface tap0
112+
113+# A slave configuration can also include remote machines by connecting the bpf
114+# device to a link.
115+#link3: tme/host/openvpn/socket/link --dev tap --local 192.168.0.5 --remote 192.168.0.6
116+#bpf2 at link3: tme/host/bsd/bpf interface tap0
117+
118+## an SBus cgthree:
119+##
120+#cgthree0 at sbus0 slot 1 offset 0x0 ipl 7: tme/bus/sbus/cgthree
121+#cgthreerom0 at sbus0 slot 1 offset 0x0: tme/host/posix/memory rom "SUNW,501-1415.bin"
122+
123+## an SBus bwtwo:
124+##
125+# uncomment these lines if you want a bwtwo either in addition to, or
126+# instead of, the cgthree:
127+#
128+bwtwo0 at sbus0 slot 2 offset 0x0 ipl 7: tme/bus/sbus/bwtwo
129+bwtworom0 at sbus0 slot 2 offset 0x0: tme/host/posix/memory rom "SUNW,501-1561.bin"
130+
131+## the graphics-based display console:
132+##
133+# comment out these lines, and the bwtwo0 and cgthree0 declarations
134+# above, if you don't have GTK or VNC or you don't want a display console:
135+# You can have only one graphics-based display at a time:
136+# uncomment which display you want
137+# uncomment this line for a GTK-based graphics display
138+#display0: tme/host/gtk/display
139+display0: tme/host/rfb/display
140+#display0 at cgthree0
141+display0 at bwtwo0
142+display0 at kbd0
143+display0 at ms0
144+
145+## a SCSI disk:
146+##
147+#
148+sd0 at scsibus0: tme/scsi/disk id 3 type tme-scsi-1
149+disk0 at sd0: tme/host/posix/disk file my-sun4c-disk.img
150+
151+## a SCSI tape:
152+##
153+#st0 at scsibus0: tme/scsi/tape id 4 type tme-scsi-1
154+#tape0 at st0: tme/host/posix/tape
155+
156+## a CD-ROM drive:
157+##
158+cd0 at scsibus0: tme/scsi/cdrom id 6 type tme-scsi-1
159+cdrom0 at cd0: tme/host/posix/disk file NetBSD-9.2-sparc.iso read-only
160+
161+## set the idle type, so tmesh doesn't consume all of the host CPU:
162+##
163+# use the appropriate type for the guest operating system:
164+#
165+# NetBSD/sparc 1.6 through 4.99.19: netbsd32-type-0
166+# NetBSD/sparc 4.99.20 through this writing: netbsd32-type-1
167+# SunOS 4.1.x: sunos32-type-0
168+#
169+command cpu0 idle-type netbsd32-type-1
170+
171+## power up the machine:
172+##
173+# uncomment this line to automatically power up the machine when
174+# tmesh starts:
175+#
176+command board0 power up
--- /dev/null
+++ b/machine/sun4/SUN4-75-rfb-cg3
@@ -0,0 +1,151 @@
1+# $Id: SUN4-75,v 1.3 2010/06/05 19:26:31 fredette Exp $
2+
3+## SUN4-75 - example tmesh commands to create a Sun 4/75 (SPARCstation 2)
4+## machine:
5+
6+## the basic Sun 4/75 "Calvin" board, CPU, and sbus:
7+##
8+board0: tme/machine/sun4 name Calvin
9+cpu0 at board0: tme/ic/cy7c601 fpu-type tms390-c602A fpu-compliance partial fpu-incomplete trap
10+sbus0: tme/generic/bus size 4GB slot-addr 0xf8000000 slot-size 32MB slot 0 slot 1 slot 2 slot 3
11+sbus0 controller at board0 sbus
12+
13+## the sun4c mainbus RAM, ROM, and devices:
14+##
15+## NOTE THAT THE ram0 SIZE MUST BE A MULTIPLE OF 16MB, which is
16+## the maximum bank size of the SS2, AND NO MORE THAN 64MB.
17+## Once ram0 has reached 64MB, uncomment the ram1 line for 96MB of
18+## total memory, and then the ram2 line for 128MB of total memory:
19+##
20+alias mainbus0 sbus0
21+ram0 at mainbus0 addr 0x0: tme/host/posix/memory ram 16MB
22+ram1 at mainbus0 addr 0x08000000: tme/host/posix/memory ram 32MB
23+ram2 at mainbus0 addr 0x0a000000: tme/host/posix/memory ram 32MB
24+rom0 at mainbus0 addr 0xf6000000: tme/host/posix/memory rom sun4-75-rev-2.9.bin
25+zs0 at mainbus0 addr 0xf1000000 ipl 12: tme/machine/sun4/zs
26+zs1 at mainbus0 addr 0xf0000000 ipl 12: tme/machine/sun4/zs
27+nvram0 at mainbus0 addr 0xf2000000: tme/host/posix/memory persistent my-sun4c-nvram.bin
28+clock0 at mainbus0 addr 0xf20007f8: tme/machine/sun4/clock type tme/ic/mk48t02
29+board0 timer at mainbus0 addr 0xf3000000
30+board0 memerr at mainbus0 addr 0xf4000000
31+board0 intreg at mainbus0 addr 0xf5000000
32+fdc0 at mainbus0 addr 0xf7200000 ipl 11: tme/machine/sun4/fdc type tme/ic/i82072
33+audioamd0 at mainbus0 addr 0xf7201000 ipl 13: tme/ic/am7930
34+board0 auxreg at mainbus0 addr 0xf7400003
35+
36+## the SBus esp SCSI:
37+##
38+esp0 at sbus0 slot 0 offset 0x800000 ipl 3: tme/ic/lsi64854 revision "1+" channel scsi
39+esp0 dma at sbus0 slot 0 offset 0x400000
40+ncr0 at esp0 master: tme/ic/ncr53c9x variant esp100
41+scsibus0 at ncr0: tme/scsi/bus
42+
43+## the SBus LANCE Ethernet:
44+##
45+# uncomment the bpf0 line if you have read/write permission on one
46+# of your /dev/bpfN devices (on *BSD) OR have cap_net_raw+ep capability (on Linux)
47+# and you want actual network access:
48+#
49+le0 at sbus0 slot 0 offset 0xc00000 ipl 5 dma-offset 0xff000000: tme/ic/am7990
50+#bpf0 at le0: tme/host/bsd/bpf
51+# OR enable tap ethernet device, an alternative method for network access
52+# 2 ways to access a tap device: native or openvpn (respectively below)
53+# both require setuid or equivalent permissions, which should be set up at build time
54+#tap0 at le0: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
55+#tap0 at le0: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
56+
57+# An example of the link element that can be used to connect network elements across an IP network.
58+# Here, we set up a P2P network between two machines on different hosts. Each machine would have
59+# one side of the connection, by uncommenting one of the lines below to complement the other one.
60+#link0 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.1 --remote 192.168.0.2
61+#link1 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.2 --remote 192.168.0.1
62+
63+# Uncomment the following lines to get debug output for each respective element (or add your own)
64+#log bpf0 1
65+#log tap0 1
66+#log link0 1
67+
68+# You can enable "networking" multiple machines using the following lines,
69+# removing the " at le0" from the one of the previous 2 lines that is used
70+# to set up the tap device. This might not be needed if the tap devices is
71+# already connected to another element. This creates a master configuration
72+# that can be used with different slave configurations.
73+#tap1: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
74+#tap1: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
75+#tap1 at tap1
76+
77+# A master configuration can also include remote machines by connecting the tap
78+# or bpf device to a link. If the tap is connected, then you don't need to
79+# connect it to itself first, but the tap must be connected to something.
80+# Remember that each element can only connect to one other element, so the
81+# network configurations must be set up carefully.
82+#link2 at tap1: tme/host/openvpn/socket/link --dev tap --local 192.168.0.3 --remote 192.168.0.4
83+
84+# Slave configurations only need the follwing line to connect to the tap
85+# network via bpf. Note that the master requires this line, too...
86+#bpf1 at le0: tme/host/bsd/bpf interface tap0
87+
88+# A slave configuration can also include remote machines by connecting the bpf
89+# device to a link.
90+#link3: tme/host/openvpn/socket/link --dev tap --local 192.168.0.5 --remote 192.168.0.6
91+#bpf2 at link3: tme/host/bsd/bpf interface tap0
92+
93+## an SBus cgthree:
94+##
95+cgthree0 at sbus0 slot 1 offset 0x0 ipl 7: tme/bus/sbus/cgthree
96+cgthreerom0 at sbus0 slot 1 offset 0x0: tme/host/posix/memory rom "SUNW,501-1415.bin"
97+
98+## an SBus bwtwo:
99+##
100+# uncomment these lines if you want a bwtwo either in addition to, or
101+# instead of, the cgthree:
102+#
103+#bwtwo0 at sbus0 slot 2 offset 0x0 ipl 7: tme/bus/sbus/bwtwo
104+#bwtworom0 at sbus0 slot 2 offset 0x0: tme/host/posix/memory rom "SUNW,501-1561.bin"
105+
106+## the graphics-based display console:
107+##
108+# comment out these lines, and the bwtwo0 and cgthree0 declarations
109+# above, if you don't have GTK or VNC or you don't want a display console:
110+# You can have only one graphics-based display at a time:
111+# uncomment which display you want
112+# uncomment this line for a GTK-based graphics display
113+#display0: tme/host/gtk/display
114+display0: tme/host/rfb/display
115+display0 at cgthree0
116+#display0 at bwtwo0
117+display0 at kbd0
118+display0 at ms0
119+
120+## a SCSI disk:
121+##
122+#
123+sd0 at scsibus0: tme/scsi/disk id 3 type tme-scsi-1
124+disk0 at sd0: tme/host/posix/disk file my-sun4c-disk.img
125+
126+## a SCSI tape:
127+##
128+#st0 at scsibus0: tme/scsi/tape id 4 type tme-scsi-1
129+#tape0 at st0: tme/host/posix/tape
130+
131+## a CD-ROM drive:
132+##
133+cd0 at scsibus0: tme/scsi/cdrom id 6 type tme-scsi-1
134+cdrom0 at cd0: tme/host/posix/disk file NetBSD-9.2-sparc.iso read-only
135+
136+## set the idle type, so tmesh doesn't consume all of the host CPU:
137+##
138+# use the appropriate type for the guest operating system:
139+#
140+# NetBSD/sparc 1.6 through 4.99.19: netbsd32-type-0
141+# NetBSD/sparc 4.99.20 through this writing: netbsd32-type-1
142+# SunOS 4.1.x: sunos32-type-0
143+#
144+command cpu0 idle-type netbsd32-type-1
145+
146+## power up the machine:
147+##
148+# uncomment this line to automatically power up the machine when
149+# tmesh starts:
150+#
151+command board0 power up
--- /dev/null
+++ b/machine/sun4/SUN4-75-tty
@@ -0,0 +1,153 @@
1+# $Id: SUN4-75,v 1.3 2010/06/05 19:26:31 fredette Exp $
2+
3+## SUN4-75 - example tmesh commands to create a Sun 4/75 (SPARCstation 2)
4+## machine:
5+
6+## the basic Sun 4/75 "Calvin" board, CPU, and sbus:
7+##
8+board0: tme/machine/sun4 name Calvin
9+cpu0 at board0: tme/ic/cy7c601 fpu-type tms390-c602A fpu-compliance partial fpu-incomplete trap
10+sbus0: tme/generic/bus size 4GB slot-addr 0xf8000000 slot-size 32MB slot 0 slot 1 slot 2 slot 3
11+sbus0 controller at board0 sbus
12+
13+## the sun4c mainbus RAM, ROM, and devices:
14+##
15+## NOTE THAT THE ram0 SIZE MUST BE A MULTIPLE OF 16MB, which is
16+## the maximum bank size of the SS2, AND NO MORE THAN 64MB.
17+## Once ram0 has reached 64MB, uncomment the ram1 line for 96MB of
18+## total memory, and then the ram2 line for 128MB of total memory:
19+##
20+alias mainbus0 sbus0
21+ram0 at mainbus0 addr 0x0: tme/host/posix/memory ram 16MB
22+ram1 at mainbus0 addr 0x08000000: tme/host/posix/memory ram 32MB
23+ram2 at mainbus0 addr 0x0a000000: tme/host/posix/memory ram 32MB
24+rom0 at mainbus0 addr 0xf6000000: tme/host/posix/memory rom sun4-75-rev-2.9.bin
25+zs0 at mainbus0 addr 0xf1000000 ipl 12: tme/machine/sun4/zs
26+zs1 at mainbus0 addr 0xf0000000 ipl 12: tme/machine/sun4/zs
27+nvram0 at mainbus0 addr 0xf2000000: tme/host/posix/memory persistent my-sun4c-nvram.bin
28+clock0 at mainbus0 addr 0xf20007f8: tme/machine/sun4/clock type tme/ic/mk48t02
29+board0 timer at mainbus0 addr 0xf3000000
30+board0 memerr at mainbus0 addr 0xf4000000
31+board0 intreg at mainbus0 addr 0xf5000000
32+fdc0 at mainbus0 addr 0xf7200000 ipl 11: tme/machine/sun4/fdc type tme/ic/i82072
33+audioamd0 at mainbus0 addr 0xf7201000 ipl 13: tme/ic/am7930
34+board0 auxreg at mainbus0 addr 0xf7400003
35+
36+source sun4-ptmx
37+
38+## the SBus esp SCSI:
39+##
40+esp0 at sbus0 slot 0 offset 0x800000 ipl 3: tme/ic/lsi64854 revision "1+" channel scsi
41+esp0 dma at sbus0 slot 0 offset 0x400000
42+ncr0 at esp0 master: tme/ic/ncr53c9x variant esp100
43+scsibus0 at ncr0: tme/scsi/bus
44+
45+## the SBus LANCE Ethernet:
46+##
47+# uncomment the bpf0 line if you have read/write permission on one
48+# of your /dev/bpfN devices (on *BSD) OR have cap_net_raw+ep capability (on Linux)
49+# and you want actual network access:
50+#
51+le0 at sbus0 slot 0 offset 0xc00000 ipl 5 dma-offset 0xff000000: tme/ic/am7990
52+#bpf0 at le0: tme/host/bsd/bpf
53+# OR enable tap ethernet device, an alternative method for network access
54+# 2 ways to access a tap device: native or openvpn (respectively below)
55+# both require setuid or equivalent permissions, which should be set up at build time
56+#tap0 at le0: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
57+#tap0 at le0: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
58+
59+# An example of the link element that can be used to connect network elements across an IP network.
60+# Here, we set up a P2P network between two machines on different hosts. Each machine would have
61+# one side of the connection, by uncommenting one of the lines below to complement the other one.
62+#link0 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.1 --remote 192.168.0.2
63+#link1 at le0: tme/host/openvpn/socket/link --dev tap --local 192.168.0.2 --remote 192.168.0.1
64+
65+# Uncomment the following lines to get debug output for each respective element (or add your own)
66+#log bpf0 1
67+#log tap0 1
68+#log link0 1
69+
70+# You can enable "networking" multiple machines using the following lines,
71+# removing the " at le0" from the one of the previous 2 lines that is used
72+# to set up the tap device. This might not be needed if the tap devices is
73+# already connected to another element. This creates a master configuration
74+# that can be used with different slave configurations.
75+#tap1: tme/host/tun/tap inet 10.0.77.1 netmask 255.255.255.0 bcast 10.0.77.255
76+#tap1: tme/host/openvpn/tap --dev tap --ifconfig 10.0.77.1 255.255.255.0 --tun-ipv6 --ifconfig-ipv6 "2001:db8::1/64" "2001:db8::2"
77+#tap1 at tap1
78+
79+# A master configuration can also include remote machines by connecting the tap
80+# or bpf device to a link. If the tap is connected, then you don't need to
81+# connect it to itself first, but the tap must be connected to something.
82+# Remember that each element can only connect to one other element, so the
83+# network configurations must be set up carefully.
84+#link2 at tap1: tme/host/openvpn/socket/link --dev tap --local 192.168.0.3 --remote 192.168.0.4
85+
86+# Slave configurations only need the follwing line to connect to the tap
87+# network via bpf. Note that the master requires this line, too...
88+#bpf1 at le0: tme/host/bsd/bpf interface tap0
89+
90+# A slave configuration can also include remote machines by connecting the bpf
91+# device to a link.
92+#link3: tme/host/openvpn/socket/link --dev tap --local 192.168.0.5 --remote 192.168.0.6
93+#bpf2 at link3: tme/host/bsd/bpf interface tap0
94+
95+## an SBus cgthree:
96+##
97+#cgthree0 at sbus0 slot 1 offset 0x0 ipl 7: tme/bus/sbus/cgthree
98+#cgthreerom0 at sbus0 slot 1 offset 0x0: tme/host/posix/memory rom "SUNW,501-1415.bin"
99+
100+## an SBus bwtwo:
101+##
102+# uncomment these lines if you want a bwtwo either in addition to, or
103+# instead of, the cgthree:
104+#
105+#bwtwo0 at sbus0 slot 2 offset 0x0 ipl 7: tme/bus/sbus/bwtwo
106+#bwtworom0 at sbus0 slot 2 offset 0x0: tme/host/posix/memory rom "SUNW,501-1561.bin"
107+
108+## the graphics-based display console:
109+##
110+# comment out these lines, and the bwtwo0 and cgthree0 declarations
111+# above, if you don't have GTK or VNC or you don't want a display console:
112+# You can have only one graphics-based display at a time:
113+# uncomment which display you want
114+# uncomment this line for a GTK-based graphics display
115+#display0: tme/host/gtk/display
116+#display0: tme/host/rfb/display
117+#display0 at cgthree0
118+#display0 at bwtwo0
119+#display0 at kbd0
120+#display0 at ms0
121+
122+## a SCSI disk:
123+##
124+#
125+sd0 at scsibus0: tme/scsi/disk id 3 type tme-scsi-1
126+disk0 at sd0: tme/host/posix/disk file my-sun4c-disk.img
127+
128+## a SCSI tape:
129+##
130+#st0 at scsibus0: tme/scsi/tape id 4 type tme-scsi-1
131+#tape0 at st0: tme/host/posix/tape
132+
133+## a CD-ROM drive:
134+##
135+cd0 at scsibus0: tme/scsi/cdrom id 6 type tme-scsi-1
136+cdrom0 at cd0: tme/host/posix/disk file NetBSD-9.2-sparc.iso read-only
137+
138+## set the idle type, so tmesh doesn't consume all of the host CPU:
139+##
140+# use the appropriate type for the guest operating system:
141+#
142+# NetBSD/sparc 1.6 through 4.99.19: netbsd32-type-0
143+# NetBSD/sparc 4.99.20 through this writing: netbsd32-type-1
144+# SunOS 4.1.x: sunos32-type-0
145+#
146+command cpu0 idle-type netbsd32-type-1
147+
148+## power up the machine:
149+##
150+# uncomment this line to automatically power up the machine when
151+# tmesh starts:
152+#
153+command board0 power up
--- a/tme-preopen.txt
+++ b/tme-preopen.txt
@@ -21,12 +21,12 @@ LDADD = \
2121 -dlopen ../machine/sun2/tme_machine_sun2.la \
2222 -dlopen ../machine/sun3/tme_machine_sun3.la \
2323 -dlopen ../machine/sun4/tme_machine_sun4.la \
24- -dlopen ../host/posix/tme_host_posix.la \
25- -dlopen ../host/bsd/tme_host_bsd.la \
26- -dlopen ../host/tun/tme_host_tun.la \
27- -dlopen ../host/openvpn/tme_host_openvpn.la \
28- -dlopen ../host/rfb/tme_host_rfb.la \
29- -dlopen ../host/gtk/tme_host_gtk.la \
24+ -dlopen ../host/display/rfb/tme_host_rfb.la \
25+ -dlopen ../host/display/gtk/tme_host_gtk.la \
26+ -dlopen ../host/eth/bsd/tme_host_bsd.la \
27+ -dlopen ../host/eth/tun/tme_host_tun.la \
28+ -dlopen ../host/eth/openvpn/tme_host_openvpn.la \
29+ -dlopen ../host/tme_host_posix.la \
3030 -dlopen ../bus/multibus/tme_bus_multibus.la \
3131 -dlopen ../bus/sbus/tme_bus_sbus.la \
3232 -dlopen ../serial/tme_serial_kb.la \
--- a/tme/tme-plugins.txt
+++ b/tme/tme-plugins.txt
@@ -42,17 +42,17 @@ tme_machine_sun4_fdc tme_machine_sun4 fdc
4242 tme_machine_sun4_oclock tme_machine_sun4 oclock
4343 tme_machine_sun4_clock tme_machine_sun4 clock
4444 tme_machine_sun4_zs tme_machine_sun4 zs
45-tme_host_posix_disk tme_host_posix disk
46-tme_host_posix_memory tme_host_posix memory
47-tme_host_posix_serial tme_host_posix serial
48-tme_host_posix_tape tme_host_posix tape
45+tme_host_rfb_display tme_host_rfb display
46+tme_host_gtk_display tme_host_gtk display
4947 tme_host_bsd_bpf tme_host_bsd bpf
5048 tme_host_tun_tap tme_host_tun tap
5149 tme_host_openvpn_socket_link tme_host_openvpn socket_link
5250 tme_host_openvpn_socket_server tme_host_openvpn_socket server
5351 tme_host_openvpn_tun_tap tme_host_openvpn tun_tap
54-tme_host_rfb_display tme_host_rfb display
55-tme_host_gtk_display tme_host_gtk display
52+tme_host_posix_disk tme_host_posix disk
53+tme_host_posix_memory tme_host_posix memory
54+tme_host_posix_serial tme_host_posix serial
55+tme_host_posix_tape tme_host_posix tape
5656 tme_bus_multibus_3c400 tme_bus_multibus 3c400
5757 tme_bus_multibus_sun_mie tme_bus_multibus sun_mie
5858 tme_bus_multibus_sun_sc tme_bus_multibus sun_sc