Now that issue #154 has been fixed, when Basilisk II is configured to
use "tun" for networking, the generated tunN interface can be bridged,
enabling AppleTalk frames to be forwarded without the Linux host
needing to be able to route AppleTalk.
This commit updates the README to discuss this possibility and briefly
outline how it can be achieved. A number of spelling corrections and
other minor clarifications are made in the same area.
Previously, when "ether tun" configuration was used on a Linux host,
packets were sent with Ethernet/MAC address 00:00:00:00:00:00. Under
CentOS 7 at least, this did not appear to cause any issues where the
tun interface on the host was configured with an IP address, but when
an attempt was made to bridge the tun interface, it was no longer
possible to establish IP communication between the emulated machine
and either the Linux host or a Windows NT Server 4 VM.
This fix causes an Ethernet/MAC address to be generated in the same
way when using TUN/TAP as is done for ethertap.
c18d6fa removed a space from BasiliskII/src/Unix/configure.ac, which
caused "configure" to fail to properly determine the correct set of
libraries to link against when using X11, which caused linking to
fail. This fix restores the missing space.
Previously, "checking whether TUN/TAP is supported..." in "configure"
failed to detect TUN/TAP support due to compile errors due to "struct
sockaddr" not being defined. This fix causes sys/socket.h to be
#included if it exists.
1. Change --break input option format. Too much typing by taking decimal address. Change to hexadecimal input.
2. Allow ROM break point to continue to execution. The original ROM break point just replace instruction in ROM break point address with emul_op M68K_EMUL_BREAK. This just halts emulation right at the break point. The patch is less invasive than the original approach. It allows emulation to continue to run by pressing 'x' to exit from cxmon.
3. Add option --loadbreak which load break point from file before emulation start.
Signed-off-by: Ricky Zhang <rickyzhang@gmail.com>
To enter break point, you need to run a m68k program in Macintosh guest OS. The program
executes a new emul_op instruction 0x7138. The program will be provided
in cxmon/utils folder in a separate commit. Once emulation is suspended,
you can enter below new cxmon command to manipluate break points:
ba [address] Add a break point
br [breakpoints#] Remove a break point. If # is 0, remove all break points.
bd [breakpoints#] Disable a break point. If # is 0, disable all break points.
be [breakpoints#] Enable a break point. If # is 0, enable all break points.
bi List all break points
bs "file" Save all break points to a file
bl "file" Load break points from a file
Once emulation PC reach break point address, it automatically suspends
and traps into cxmon.
Signed-off-by: Ricky Zhang <rickyzhang@gmail.com>
ucontext_t is what POSIX requires; glibc no longer provides struct
ucontext as of 2.26: https://sourceware.org/glibc/wiki/Release/2.26
(Most architectures were already using ucontext_t, so this also makes
things more consistent; only arm and mips change.)